KR20080076933A - 투명 인쇄를 위한 컴퓨터-구현 방법, 컴퓨터 판독가능 매체및 인쇄를 위한 시스템 - Google Patents

투명 인쇄를 위한 컴퓨터-구현 방법, 컴퓨터 판독가능 매체및 인쇄를 위한 시스템 Download PDF

Info

Publication number
KR20080076933A
KR20080076933A KR1020087014026A KR20087014026A KR20080076933A KR 20080076933 A KR20080076933 A KR 20080076933A KR 1020087014026 A KR1020087014026 A KR 1020087014026A KR 20087014026 A KR20087014026 A KR 20087014026A KR 20080076933 A KR20080076933 A KR 20080076933A
Authority
KR
South Korea
Prior art keywords
content
transparent
opaque
bitmap
determining
Prior art date
Application number
KR1020087014026A
Other languages
English (en)
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 KR20080076933A publication Critical patent/KR20080076933A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K15/00Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers
    • G06K15/02Arrangements for producing a permanent visual presentation of the output data, e.g. computer output printers using printers
    • 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
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/40Picture signal circuits

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Editing Of Facsimile Originals (AREA)
  • Image Processing (AREA)
  • Record Information Processing For Printing (AREA)
  • Processing Or Creating Images (AREA)

Abstract

문서 내에 포함된 투명 내용물과 불투명 내용물은 인쇄될 때 다르게 취급된다. 문서 내의 투명 내용물은 인쇄 전에 래스터화되고 시스템-관리 비트맵에 저장된다. 래스터라이제이션이 투명 내용물의 시각적 충실도를 유지하는 데 효과적이지만, 과도하게 수행된 경우 큰 스풀 파일 및 낮은 성능을 가져올 수 있다. 출력 장치의 성능을 최적화하는 것을 돕기 위해, 인쇄 전에 문서 내의 투명 내용물은 래스터화되고 문서 내의 불투명 벡터 내용물은 메타파일로 가공된다. 메타파일은 프린터 및 비트맵으로 리플레이되어, 불투명 내용물이 비트맵 내에 포함된 래스터화된 투명 레이어들과 블렌딩될 수 있도록 한다. 다음, 비트맵은 프린터에 그려진다.
투명 객체, 불투명 객체, 인쇄, 프린터, 래스터라이제이션, 비트맵, 출력 장치

Description

투명 인쇄를 위한 컴퓨터-구현 방법, 컴퓨터 판독가능 매체 및 인쇄를 위한 시스템{TRANSPARENCY PRINTING}
프린터 기술은 온-스크린 그래픽(on-screen graphics) 기술만큼 급속히 향상되지 않았다. 따라서, 화면에서 렌더링될 수 있는 것과 인쇄될 수 있는 것 간에는 차이가 있다. 설상가상으로, 문서가 인쇄되는 방식이 프린터마다 다르다. 예를 들어, 몇몇 프린터들은 투명한 것(transparencies)들을 잘 인쇄하지 못할 수 있다. 출력 장치들 사이의 이러한 차이는, 불가능하지는 않더라도, 장치 독립성(device independence)을 어렵게 한다. 또한, 프린터의 생명 주기는 개인용 컴퓨터(PC) 보다 훨씬 길다. PC의 2-3년과 비교해서 프린터의 생명 주기는 7-10년일 수 있다. 따라서, 소프트웨어 제조회사들은 아직도 사용되는 구식 프린터들을 위한 지원을 제공하도록 요구된다.
<발명의 개요>
이 발명의 개요는 아래의 상세한 설명에서 더 상세히 설명되는 개념들의 선택을 간략한 형태로 소개하기 위해 제공된다. 이 발명의 개요는 청구되는 본 발명의 주요 특징 또는 본질적 특징들을 식별하기 위한 것이 아니며, 또한 청구되는 본 발명의 범위를 결정하는 데 있어 보조로서 사용되도록 하기 위한 것이 아니다.
문서 내에 포함된 투명 내용물(transparent content) 및 불투명 내용 물(opaque content)은 인쇄를 위해 다르게 취급된다. 문서 내의 투명 내용물은 인쇄 전에 래스터화(rasterized)되고 비트맵에 저장된다. 래스터화가 투명 내용물의 시각적 충실도(visual fidelity)를 유지하는 데 효과적이지만, 과도하게 수행되는 경우 큰 스풀 파일(spool file) 및 낮은 성능(poor performance)을 가져올 수 있다. 출력 장치들의 성능을 최적화하는 것을 돕기 위해, 인쇄 전에 문서 내의 투명 내용물은 래스터화되고 문서 내의 불투명 벡터 내용물은 메타파일로 가공(drawn into)된다. 메타파일은 프린터와 비트맵으로 리플레이(replayed)되어, 불투명 내용물이 비트맵 내에 포함된 래스터화된 투명 레이어와 함께 블렌딩(blended) 수 있도록 한다. 다음, 비트맵은 프린터에 그려진다.
도 1은 컴퓨터를 위한 예시적인 컴퓨팅 아키텍처를 도시한다.
도 2는 투명 및 불투명 내용물을 포함하는 문서를 인쇄하기 위한 인쇄 경로 데이터 흐름에 대한 개관을 도시한다.
도 3은 투명 및 불투명 객체들을 포함하는 예시적인 문서를 도시한다.
도 4는 계층화된 불투명 및 투명 객체들을 인쇄하기 위한 프로세스를 도시한다.
도 5는 오버랩(overlap)되는 투명 및 불투명 영역들을 블렌딩하는 것을 도시한다.
도 6은 본 발명의 양상에 따라, 문서의 출력을 위한 해상도를 선택하는 것을 도시한다.
이제, 동일한 숫자들이 동일한 구성요소들을 나타내는 도면들을 참조하여, 본 발명의 다양한 양상들이 설명될 것이다. 구체적으로, 도 1 및 이에 대응하는 논의는 본 발명의 실시예들이 구현될 수 있는 적합한 컴퓨팅 환경에 대한 간략하고 일반적인 설명을 제공하기 위한 것이다.
일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 컴포넌트, 데이터 구조, 및 다른 유형의 구조들을 포함한다. 핸드-헬드 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 또는 프로그램가능한 전자 제품, 미니 컴퓨터, 메인프레임 컴퓨터 등을 포함하는 다른 컴퓨터 시스템 구성들 또한 사용될 수 있다. 분산된 컴퓨팅 환경들은 또한, 통신 네트워크를 통해 링크되어 있는 원격 프로세싱 장치들에 의해 태스크가 수행될 때 사용될 수 있다. 분산된 컴퓨팅 환경에서, 프로그램 모듈들은 로컬 및 원격 메모리 저장 장치 둘 다에 위치할 수 있다.
본 명세서 및 청구항에 걸쳐, 문맥이 명백히 달리 나타내지 않는 한, 다음의 용어들은 여기에 명시적으로 관련된 의미들을 갖는다.
"알파 채널(Alpha Channel)"이라는 용어는, ARGB(alpha, red, green, blue) 비트맵에서, 각 픽셀이 자신의 적색, 녹색, 및 청색 채널에 더해 자신의 투명성을 나타내는 채널을 갖는다는 사실을 나타낸다.
"비트맵"이라는 용어는 래스터 이미지이다(아래 '래스터'참조).
"디바이스 컨텍스트(DC; Device Context)"라는 용어는 그래픽 객체들의 집 합, 그들의 관련된 특성(attribute)들, 및 그들의 출력에 영향을 주는 그래픽 모드를 정의하는 구조를 나타낸다.
"EMF(Enhanced Metafile)"라는 용어는 애플리케이션들에서 빈번히 사용되는 MICROSOFT WINDOWS의 원시 벡터 그래픽 포맷(native vector graphics format)이다.
"hDC"라는 용어는 디바이스 컨텍스트에 대한 핸들(handle to a device object)을 나타낸다.
"불투명"이라는 용어는 뒤에 있는 객체들을 보이지 않게 하는 가시적 객체의 속성(property)을 나타낸다.
"통과(Pass-through)"라는 용어는 프린터 드라이버를 바이패스하는, 데이터를 프린터로 직접 전송하기 위한 방법을 나타낸다.
"페이지 기술 언어(PDL;Page Description Language)"라는 용어는 문서들을 프린터 명령어들로 변환하기 위해 프린터 내에 존재하는 언어이다.
"평면 맵(Planar Map)"이라는 용어는 인쇄 영역(print area)을 구역들(regions)로 나누고, 구역 내에 객체들의 경계(edge) 및 교차점(intersection)을 그리는 기술이다.
"래스터(Raster)"라는 용어는 픽셀-기반 그래픽을 나타낸다. 원래의 픽셀 크기(pixel dimension) 이상으로 확장되는 경우, 픽셀들 사이의 색상 또는 공간을 결정하기 위해 보간(interpolation)이 이루어진다.
"스크린 도어(Screen Door)"라는 용어는, 스크린 도어를 통해 보는 것과 유사하게, 투명성을 시뮬레이트(simulate)하는 데 사용되는 점묘 기술(stippling technique)이다.
"반투명성(Translucency)(또는 반-투명성(Semi-Transparency))이라는 용어는 부분적인 투명성을 나타낸다.
"투명성"이라는 용어는 뒤에 있는 객체들을 보이게 하는 가시적 객체의 속성을 나타낸다. 본 명세서에 사용된바, 반투명성 및 투명성이라는 용어는 호환가능하게(interchangeably) 사용될 수 있다.
"벡터"라는 용어는, 기하학적 구조(geometry)에 의해 정의되는 그래픽을 나타낸다. 이들 그래픽은 품질(quality)에서의 손실 없이 어떠한 크기로도 크기 조정(scaled)될 수 있다.
이제 도 1을 참조하면, 다양한 실시예들에서 사용되는 컴퓨터(2)를 위한 예시적인 컴퓨터 아키텍처가 설명된다. 도 1에 도시된 컴퓨터 아키텍처는 중앙 처리 장치(5)("CPU"), 랜덤 액세스 메모리(9)("RAM") 및 판독 전용 메모리("ROM")(11)를 포함하는 시스템 메모리(7), 및 메모리를 CPU(5)로 연결하는 시스템 버스(12)를 포함하는 통상적인 데스크톱 또는 랩톱 컴퓨터를 도시한다. 시동 중과 같은 때에, 컴퓨터 내의 구성요소들 사이의 정보 전송을 돕는 기본 루틴을 포함하는 기본 입/출력 시스템은 ROM(11)에 저장되어 있다. 컴퓨터(2)는 운영 체제(16), 애플리케이션 프로그램, 및 기타 프로그램 모듈을 저장하기 위한 대용량 저장 장치(14)를 더 포함하며, 이는 아래에서 더욱 상세히 설명된다.
대용량 저장 장치(14)는 버스(12)에 연결된 대용량 저장소 컨트롤러(도시되지 않음)를 통해 CPU(5)에 연결된다. 대용량 저장 장치(14) 및 그와 관련된 컴퓨 터 판독가능 매체는 컴퓨터(2)를 위한 비휘발성 저장소를 제공한다. 본 명세서에 포함된 컴퓨터 판독가능 매체에 대한 설명이 하드 디스크 또는 CD-ROM 드라이브와 같은 대용량 저장 장치를 나타내지만, 컴퓨터 판독가능 매체는 컴퓨터(2)에 의해 액세스될 수 있는 임의의 사용가능한 매체일 수 있다.
예시로서, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있지만, 이에 제한되지는 않는다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 기타 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술에 구현된 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EPROM, EEPROM, 플래시 메모리 또는 기타 고상 메모리 기술(solid state memory technology), CD-ROM, DVD(digital versatile disk), 또는 다른 광학 저장소, 자기 카세트, 자기 테이프, 자기 디스크 저장소 또는 기타 자기 저장 장치들, 또는 컴퓨터(2)에 의해 액세스될 수 있고 원하는 데이터를 저장하는 데 사용될 수 있는 기타 임의의 매체를 포함하지만, 이에 제한되지는 않는다.
본 발명의 다양한 실시예들에 따라, 컴퓨터(2)는 인터넷과 같은 네트워크(18)를 통한, 원격 컴퓨터로의 논리적 접속을 사용하여 네트워크화된 환경에서 동작할 수 있다. 컴퓨터(2)는 버스(12)에 연결된 네트워크 인터페이스 유닛(network interface unit)(20)을 통해 네트워크(18)에 연결될 수 있다. 네트워크 인터페이스 유닛(20)은 또한 다른 유형의 네트워크들 및 원격 컴퓨터 시스템들에 접속하기 위해 사용될 수 있다. 컴퓨터(2)는 또한 키보드, 마우스, 또는 전자 스타일러스(electronic stylus)(도 1에 도시되지 않음)를 포함하는 다수의 장치들 로부터 프로세싱 입력을 수신하기 위한 입/출력 컨트롤러(22)를 포함할 수 있다. 유사하게, 입/출력 컨트롤러(22)는 디스플레이 화면, 프린터(28), 또는 기타 유형의 출력 장치들에 출력을 제공할 수 있다.
위에서 간략히 언급된 바와 같이, 워싱턴주 레드몬드의 MICROSOFT CORPORATION의 WINDOWS XP 운영 체제와 같은, 네트워크화된 개인용 컴퓨터의 동작을 제어하는 데 적합한 운영 체제(16)를 포함하는 컴퓨터(2)의 대용량 저장 장치(14) 및 RAM(9)에 다수의 프로그램 모듈 및 데이터 파일들이 저장될 수 있다. 대용량 저장 장치(14) 및 RAM(9)은 또한 하나 이상의 프로그램 모듈을 저장할 수 있다. 구체적으로, 대용량 저장 장치(14) 및 RAM(9)은 워드 프로세싱(word processing) 애플리케이션 프로그램(10)을 저장할 수 있다. 애플리케이션 프로그램(10)은 문서(24)와 같은 전자 문서들을 생성, 편집 및 인쇄하기 위한 기능을 제공하는 데 동작한다. 일 실시예에 따라, 애플리케이션 프로그램(10)은 MICROSOFT CORPORATION의 MICROSOFT WORD 워드 프로세싱 애플리케이션 프로그램을 포함한다. 또 다른 실시예에 따라, 애플리케이션 프로그램(10)은 MICROSOFT CORPORATION의 MICROSOFT POWERPOINT 프레젠테이션 프로그램을 포함한다. 다른 프로그램들 또한 사용될 수 있다. 예를 들어, 전자 출판(desktop publishing) 프로그램, 프레젠테이션 프로그램, 웹 브라우저, 및 투명 객체들을 포함하는 문서들을 인쇄하는 기타 임의의 유형의 프로그램이 사용될 수 있다.
문서의 편집과 관련하여, 애플리케이션 프로그램(10)은 문서(24)를 포함하는 투명, 반-투명, 및 불투명 객체들을 인쇄하기 위한 기능을 제공한다. 애플리케이 션 프로그램(10)은 문서(24)를 인쇄하는 데 돕도록 인쇄 관리자(print manager)(26)를 이용할 수 있다. 아래에서 더욱 상세히 설명되는 바와 같이, 인쇄 관리자(26)는 문서 내의 투명 내용물 및 불투명 내용물을 식별하고; 투명 내용물을 래스터화하고; 이 래스터라이제이션을 시스템-관리(system-managed) 비트맵(30)에 저장하고; 불투명 벡터 내용물을 메타파일(32)로 가공한다. 다음, 메타파일(32)은 프린터(28) 및 비트맵(30)에 리플레이되어, 불투명 내용물이 비트맵 내에 포함된 래스터화된 투명 레이어와 함께 블렌딩될 수 있도록 한다. 비트맵 또한 프린터(28)에 그려진다.
도 2는 투명 및 불투명 내용물을 포함하는 문서를 인쇄하기 위한 인쇄 경로 데이터 흐름에 대한 개관을 도시한다. 문서 내에 포함되는 투명 객체들 및 불투명 객체들은, 그들의 특징(nature) 및 출력 장치에 따라 다르게 취급된다. 다음은 문서 내에 포함된 인쇄가능한 객체들의 유형에 대한 일반적인 논의이다. 이 논의는 예시로서 제공된 것이며 제한하기 위한 것이 아니다. 예를 들어, 다수의 다른 유형의 인쇄가능한 객체들이 있을 수 있으며 그들은 다른 방식으로 취급될 수 있다.
문서 내에 포함된 벡터 객체(210)들과 같은 불투명 객체들은 인쇄 전에 통상적으로 메타파일(230)로 전송된다. 벡터 객체들은 텍스트, 선(line), 벡터 형상, 단색 채우기(solid fills), 소정의 그레이디언트 채우기(some gradient fills) 등과 같은 항목들을 포함한다. 불투명 객체들은 투명 내용물에 의해 가려지는지(obscured)에 따라 래스터화될 수 있다. 일 실시예에 따라, 투명 내용물에 의해 불투명 객체가 가려지면, 적어도 가려진 영역이 래스터화되고 변경 비트맵(240)으 로 전송된다.
투명 객체들은 변경 비트맵(240)으로 래스터화된다. 투명 객체들(220)은 이미지, 래스터 효과, 텍스처 채우기(texture fills), 소정의 그레이디언트 채우기 등과 같은 항목들을 포함한다.
일반적으로, 솔리드 텍스트(solid text)는 불투명 객체(210)로 취급되며 메타파일(230)에 기록되고(written to), 텍스트가 투명 객체에 의해 가려지지 않았으면 전체 비트맵(250)에 리플레이된다. 텍스트가 가려졌으면, 투명 영역은 래스터화 및 알파 브렌딩(alpha blended)되고 변경 비트맵(240) 내에 놓인다.
이미지들은 일반적으로 래스터 내용물이지만 비트맵 내에서 브렌딩(blended)될 필요가 없으면 그들은 메타파일(230)을 통해 인쇄된다. 일반적으로, 솔리드 벡터 형상(solid vector shapes)(210)은 투명 객체들에 의해 가려지지 않은 경우 메타파일에 기록된다. 그레이디언트 채우기는 메타파일 또는 비트맵을 통해 인쇄될 수 있다. 일 실시예에 따라, 그레이디언트 채우기는 메타파일을 통해 인쇄되었을 때보다 비트맵을 통해 인쇄되었을 때 품질이 더 좋은 것으로 알려졌기 때문에 비트맵을 통해 인쇄된다.
반투명 채우기(semitransparent fills) 및 복잡한 선 스타일(line style)들을 포함하는 형상들이 래스터화된다. 채우기는 반투명이기 때문에 래스터화된다. 일 실시예에 따라, 객체가 하나 이상의 반투명 객체들에 의해 가려지면, 아래에 벡터 형상들이 있더라도 전체 투명 영역이 래스터화된다. 마찬가지로, 래스터 효과들(예를 들어, 소프트 쉐도우(soft shadow), 소프트 에지(soft edges), 블 러(blur))이 래스터 객체들로서 인쇄된다.
문서 내의 임의의 객체는 투명 또는 반투명일 수 있다. 만약 객체에 어떤 반-투명 영역들이 있다면 그 영역들은 래스터화되고 변경 비트맵(240)으로 인쇄된다. 텍스처 채우기는 타일링(tiled)된 래스터 이미지이므로 이들은 변경 비트맵(240)으로 인쇄된다. 패턴 채우기 및 패턴 선들은 텍스처 비트맵으로 렌더링(rendered)되고 적절한 크기로 인쇄되도록 크기 조정된다. 표(table)에 적용된 효과들은 래스터화되지만 표 텍스트 및 선들은 메타파일을 통해 그려지도록 표는 세분된다.
다음, 메타파일(230) 및 변경 비트맵(240)은 전체 비트맵(250)에 기록된다. 변경 비트맵(240)은 문서의 인쇄 출력의 래스터화된 영역들을 일시적으로 저장하기 위해 사용된다. 변경 비트맵의 해상도는 여러 다른 해상도로 설정될 수 있다. 예를 들어, 해상도는 하프 프린터 해상도(half printer resolution), 풀 프린터 해상도(full printer resolution), 또는 다른 어떤 결정된 해상도일 수 있다. 예를 들어, 해상도는 구성가능한 매개변수일 수 있고 출력 장치의 능력(capabilities)에 따라 설정될 수 있다. 전체 비트맵(250)을 메모리에 저장하는 것은 시스템에 상당한 요건(significant demand)을 부담시키며, 특히 큰 용지 크기들에 대해 그렇다. 예를 들어, 11"x 17" 용지 크기는 11x17x300x300x4 바이트/픽셀 = 약 64 mb를 사용한다. 이 메모리 요건(requirement)은, 전체 비트맵을 타일(tile) 또는 대역(band)으로 나누어 임의의 주어진 시간에 비트맵의 일부만이 저장되도록 함으로써 감소될 수 있다. 예를 들어, 네 개의 대역이 사용되면, 주어진 시간에서의 메 모리 요건은 그 시간에 64mb가 아니라 16mb일 것이다.
일 실시예에 따르면, 변경 비트맵(240)이 전체 비트맵(250)에 기록될 때, 메타파일(230)은 전체 비트맵에 리플레이된 후 소멸(destroy)된다. 메타파일의 해상도는 또한 일반적으로 출력 장치(프린터)의 능력에 좌우된다.
전체 비트맵(250)은 프린터(260)에 인쇄될 것이 무엇인지에 대한 누적 기록(cumulative record)이다. 전체 비트맵에 기록하는 것을 마지막으로 반복(final iteration)하는 것에 이어, 전체 비트맵은 인쇄를 위해 프린터(260)에 전송된다. 비트맵의 '변경된(dirty)' 영역들(투명 픽셀들을 포함함)은 프린터에 블릿(blitted)되고, 메타파일은 비트맵과 프린터에 리플레이된다. 인쇄 프로세스의 시간을 단축(speed up)시키기 위해 전체 비트맵은 또한 압축될 수 있다. 일 실시예에 따르면, 전체 비트맵은 JPEG 압축을 사용하여 압축된다. 다른 압축 방법들 또한 사용될 수 있다.
인쇄 장치들이 서로 다른 능력들을 가지므로, 이들의 능력을 활용하여 더 보기 좋은 출력을 생산할 수 있다. 예를 들어, 알파 블렌딩이 지원된다면, 프린터는 투명 내용물을 그의 원시 포맷으로 보존하면서, 투명 내용물을 고충실도(high fidelity) 내용물과 블렌딩할 수 있다. 출력 장치의 임의의 다른 능력은 또한 어떤 객체를 래스터화할지 및 어떤 객체를 메타파일에 기록할지를 결정할 때 고려될 수 있다.
도 3은 투명 및 불투명 객체들을 포함하는 예시적인 문서를 도시한다. 도시된 바와 같이, 문서(300)는 불투명 객체들(305, 310 및 320) 및 투명 객체(315)를 포함한다. 투명 객체(315)는 불투명 객체(305) 및 텍스트(310) 위에 위치한다. 문서(300)가 인쇄될 때, 투명 객체(315)에 의해 오버랩되지 않은 객체(320) 및 객체(305, 310 및 315)의 부분이 메타파일에 기록된다. 투명 객체(315) 및 그가 오버랩하는 객체들의 부분은 래스터화되고 비트맵에 저장된다. 도 3은 아래에 설명되는 프로세스에 의해 예시로서 참조될 것이다.
이제 도 4-6을 참조하여, 투명 및 불투명 객체들을 포함하는 문서를 인쇄하기 위한 프로세스가 설명된다. 여기에 설명된 실시예들이 인쇄 관리자(26) 및 워드 프로세싱 애플리케이션 프로그램(10)의 맥락으로 제시되지만, 투명 객체들을 인쇄하는 다른 유형의 애플리케이션 프로그램들이 사용될 수 있다. 예를 들어, 여기에 설명된 실시예들은 프레젠테이션 애플리케이션 프로그램, 스프레드시트 애플리케이션 프로그램, 또는 드로잉(drawing) 또는 컴퓨터-보조 설계(computer-aided design) 애플리케이션 프로그램 등 내에서 이용될 수 있다.
여기에 제시된 루틴에 대한 논의를 읽을 때, 다양한 실시예들의 논리적 동작들은 (1)컴퓨팅 시스템에서 실행되는 컴퓨터-구현 동작 또는 프로그램 모듈의 시퀀스로서 및/또는 (2)컴퓨팅 시스템 내의 상호 연결된 기계 논리 회로 또는 회로 모듈로서 구현된다는 것을 이해해야 한다. 본 구현(implementation)은 본 발명을 구현하는 컴퓨팅 시스템의 성능 요건(performance requirements)들에 좌우되는 선택의 문제이다. 따라서, 여기에 도시되고 설명된 실시예들을 이루는 논리적 동작들은 다양하게 동작(operation), 구조적 장치(structural device), 동작(act) 또는 모듈로 불린다. 이들 작업, 구조적 장치, 동작 및 모듈은 소프트웨어, 펌웨어, 특 수 목적 디지털 논리, 및 이들의 임의의 조합으로 구현될 수 있다.
도 4는 중첩된(layered) 불투명 및 투명 객체들을 인쇄하기 위한 프로세스를 설명한다. 문서 내에 있는 객체들이 충접되는 데에는 여러 다른 방식들이 있다. 예를 들어, 불투명 객체들이 불투명 객체들 위에 놓일 수 있고; 투명 객체들이 불투명 객체 위해 놓일 수 있고; 투명 객체들이 텍스트 위에 놓일 수 있고; 텍스트가 투명 객체들 위에 놓이는 등이 될 수 있다. 다른 중첩 조합들 또한 문서 내에 포함될 수 있다.
시작 동작 후에, 프로세스는 결정 블록(410)으로 진행하여, 중첩된 불투명 객체들이 있는지에 대한 판정이 이루어진다. 중첩된 불투명 객체들에 대한 예는 도 3에서 볼 수 있다. 도 3에 있는 한 예는 객체(305)가 객체(320) 위에 중첩된 것이다. 도시된 바와 같이, 원(320)의 영역이 객체(305) 밑에 있어 보이지 않는다. 이 경우에, 불투명 객체들은 메타파일(415)로 전송된다.
판정 동작(420)으로 이동하여, 불투명 객체가 투명 객체 위에 놓였는지에 대한 판정이 이루어진다. 불투명 객체가 투명 객체 위에 놓인 경우, 불투명 객체는 투명한 것 위에 그려지고 메타파일에 놓인다(425).
판정 동작(430)으로 이동하여, 투명 객체가 불투명 객체 위에 놓였는지에 대한 판정이 이루어진다. 투명 객체가 불투명 객체 위에 놓인 경우, 블렌딩이 수행된다(435)(도 5 및 관련된 논의 참조). 불투명 객체 위에 놓인 투명 객체에 대한 예는 도 3에서 볼 수 있다. 도 3을 참조하면, 반-투명 원(315)이 불투명 객체(305) 및 텍스트(310) 둘 다의 부분 위에 놓여있다. 원(315) 아래에 있는 객 체(305)의 부분 및 텍스트(310)의 부분은 객체(315)가 반-투명이기 때문에 여전히 보인다. 일 실시예에 따라, 오버랩되는 영역이 블렌딩되고 비트맵으로 인쇄된다.
판정 동작(440)으로 이동하여, 투명 객체가 텍스트 위에 놓였는지에 대한 판정이 이루어진다. 투명 객체가 텍스트 위에 놓인 경우, 프로세스는 동작(445)으로 이동되어 가능하면 텍스트가 보존(preserve)된다. 도 3의 예는 반-투명 원(315) 아래에 위치한 텍스트(310)를 나타낸다. 이 경우에, 투명 형상(315) 및 그 아래의 모든 것은 블렌딩되고 비트맵을 통해 인쇄된다. 형상(315) 밖의 텍스트는 가려지지 않아(not obstructed) 메타파일로 인쇄된다. 텍스트 위에 다중의 투명 레이어가 있는 경우, 오버랩 영역 내의 각 픽셀에 대해 모든 레이어들의 색들이 블렌딩된다.
동작(450)으로 이동하여, 메타파일 및 비트맵이 프린터로 플레이(played)된다. 메타파일은 프린터 및 비트맵으로 리플레이되어, 불투명 내용물이 비트맵 내에 포함된 래스터화된 투명 레이어들과 블렌딩된다. 다음, 비트맵은 프린터에 그려진다.
다음, 프로세스는 종료 동작으로 이동하고 다른 동작들을 프로세스하는 것으로 복귀한다.
도 5는 오버랩되는 투명 및 불투명 영역들을 브렌딩하는 것을 도시한다. 시작 동작 후에, 프로세스는 동작(510)으로 진행하여, 오버랩되는 영역(들)의 경계(boundaries)들이 식별된다. 오버랩되는 영역은 투명 내용물 및 불투명 내용물을 포함한다. 예를 들어, 도 3을 참조하면, 반-투명 원(315)이 불투명 직사각 형(305)의 부분뿐 아니라 불투명 텍스트(310)의 부분을 오버랩한다. 이 경우에서, 오버랩되는 영역은 원(315) 아래 위치한 불투명 내용물을 포함한다. 일 실시예에 따라, 오버랩되는 영역의 경계들은 알파 정보(alpha information)를 이용하여 식별될 수 있다. 동작(520)으로 이동하여, 위에 놓인(overlying) 투명 픽셀들은 아래에 놓인(underlying) 픽셀들과 블렌딩된다. 동작(530)으로 진행하여, 오버랩되는 영역이 비트맵으로 인쇄된다. 다음, 프로세스는 종료 동작으로 이동하고 다른 동작들을 프로세스하는 것으로 복귀한다.
도 6은 문서의 출력에 대한 해상도를 선택하는 것을 도시한다. 시작 동작 후에, 프로세스는 동작(610)으로 진행하여, 출력 장치가 자신의 입력 해상도에 대한 질의를 받는다.
판정 동작(620)으로 진행하여, 입력 해상도가 디폴트 해상도보다 낮은지에 대한 판정이 이루어진다. 디폴트 해상도는 서로 다른 해상도로 설정될 수 있는데, 하프 프린터 해상도; 전체 프린터 해상도, 또는 어떤 다른 결정된 해상도를 포함한다. 예를 들어, 디폴트 해상도가 600ppi이면, 입력 해상도가 600ppi보다 낮은지에 대한 판정이 된다. 일 실시예에 따르면, 해상도가 디폴트 해상도보다 낮은 경우, 선택된 해상도는 디폴트 해상도를 유지한다. 입력 해상도가 디폴트 해상도보다 낮지 않은 경우, 프로세스는 동작(630)으로 진행한다.
동작(630)에서, 모듈러스 연산자(modulus operator)는 입력 해상도를 디폴트 해상도로 나눈다. 판정 동작(640)으로 이동하여, 결과가 0인지에 대한 판정이 이루어진다. 결과가 0이면, 디폴트 해상도는 유지되고 프로세스는 종료 블록으로 진 행하여 다른 동작들을 프로세스하는 것으로 복귀한다. 결과가 0이 아니면, 프로세스는 동작(650)으로 진행하여, 다음의 식: Default Resolution + (InputResolution MOD Default Resolution(300)/ceiling(InputResolution/(Default Resolution)을 이용하여 해상도가 설정된다. 이 식은 디폴트 해상도보다 큰 장치 입력 해상도의 최소 배율(factor)을 산출(yield)한다.
동작(660)으로 이동하여, 출력 해상도가 설정될 수 있다. 사용자가 출력 해상도를 지정하지 않으면, 적절한 디폴트가 결정된다. 일반적으로, 대부분의 프린터들은 300ppi의 배수인 입력 해상도(즉, 300, 600, 1200, 2400 등)를 갖는다. 일반적으로, 장치의 최상의 품질은 보통, 프린터의 입력 해상도의 배율 또는 배수인 해상도에서 얻어진다. 따라서, 출력 해상도는 입력 해상도의 배율로 설정된다.
다음, 프로세스는 종료 블록으로 이동하고 다른 동작들을 프로세스하는 것으로 복귀한다.
상기 설명, 예시 및 데이터는 본 발명의 구성의 제조 및 사용에 대한 완전한 설명을 제공한다. 본 발명의 많은 실시예들이 본 발명의 정신 및 범위를 벗어나지 않고 이루어질 수 있으므로, 본 발명은 이후에 첨부된 청구의 범위 내에 포함된다.

Claims (20)

  1. 투명 인쇄(transparency printing)를 위한 컴퓨터-구현 방법으로서,
    투명 내용물(transparent content) 및 불투명 내용물(opaque content)을 포함하는 문서에 액세스하는 단계;
    비트맵으로 래스터화(rasterize)할 래스터 내용물을 결정하는 단계 - 상기 래스터 내용물은 적어도 상기 투명 내용물의 일부 및 상기 불투명 내용물의 일부를 포함함-;
    상기 래스터 내용물을 상기 비트맵으로 래스터화하는 단계;
    남아있는 내용물을 메타파일(metafile)로 인쇄하는 단계; 및
    상기 메타파일을 출력 장치 및 상기 비트맵으로 플레이(play)하여, 상기 메타파일 내에 포함된 상기 남아있는 내용물이 상기 비트맵 내에 포함된 상기 래스터 내용물과 블렌딩(blended)되는 단계
    를 포함하는, 투명 인쇄를 위한 컴퓨터-구현 방법.
  2. 제1항에 있어서,
    상기 래스터화할 래스터 내용물을 결정하는 단계는 상기 문서 내의 상기 투명 내용물과 상기 불투명 내용물의 중첩(layering)을 판정하는 단계를 포함하는, 투명 인쇄를 위한 컴퓨터-구현 방법.
  3. 제2항에 있어서,
    상기 문서 내의 상기 투명 내용물과 상기 불투명 내용물의 중첩을 판정하는 단계는, 투명 내용물이 불투명 내용물 위에 있는 경우를 판정하는 단계, 및 투명 내용물이 상기 불투명 내용물 위에 있는 경우, 상기 내용물의 적어도 일부를 래스터 내용물인 것으로 결정하는 단계를 포함하는, 투명 인쇄를 위한 컴퓨터-구현 방법.
  4. 제3항에 있어서,
    상기 투명 내용물이 상기 불투명 내용물 위에 있는 경우를 판정하는 단계는, 상기 투명 내용물이 상기 불투명 내용물을 오버랩(overlap)하는 영역(area)을 포함하는 오버랩 영역(overlapping region)을 판정하는 단계를 포함하는, 투명 인쇄를 위한 컴퓨터-구현 방법.
  5. 제4항에 있어서,
    상기 래스터 내용물을 상기 비트맵으로 래스터화하는 단계는, 위에 놓인(overlying) 투명 픽셀들을 아래에 놓인(underlying) 픽셀들과 블렌딩하고, 상기 오버랩 영역을 상기 비트맵으로 인쇄하는 단계를 포함하는, 투명 인쇄를 위한 컴퓨터-구현 방법.
  6. 제1항에 있어서,
    중첩된 상기 문서를 액세스하는 단계를 더 포함하는 투명 인쇄를 위한 컴퓨터-구현 방법.
  7. 제3항에 있어서, 상기 문서 내의 상기 투명 내용물과 상기 불투명 내용물의 중첩을 판정하는 단계는, 투명 내용물이 텍스트 위에 있는 경우를 판정하는 단계; 및 가능한 경우 상기 텍스트를 보존(preserving)하는 단계를 포함하는, 투명 인쇄를 위한 컴퓨터-구현 방법.
  8. 제1항에 있어서,
    상기 출력 장치의 입력 해상도(input resolution)를 결정하고, 응답으로 상기 메타파일 및 비트맵과 관련되는 해상도를 조정하는 단계를 더 포함하는, 투명 인쇄를 위한 컴퓨터-구현 방법.
  9. 투명 내용물 및 불투명 내용물을 포함하는 문서를 인쇄하기 위한 컴퓨터 실행가능 명령어들을 갖는 컴퓨터 판독가능 매체로서,
    비트맵으로 래스터화할 내용물을 결정하는 단계 -상기 내용물은 상기 투명 내용물 및 상기 투명 내용물에 의해 가려진 상기 불투명 내용물의 대부분을 포함함-;
    상기 내용물을 상기 비트맵으로 래스터화하는 단계;
    남아있는 내용물을 메타파일로 인쇄하는 단계; 및
    상기 메타파일을 출력 장치 및 상기 비트맵으로 플레이하여, 상기 메타파일 내에 포함된 상기 남아있는 내용물이 상기 비트맵으로 래스터화된 상기 내용물과 브렌딩되도록 하는 단계
    를 포함하는, 컴퓨터 판독가능 매체.
  10. 제9항에 있어서,
    상기 비트맵으로 래스터화할 내용물을 결정하는 단계는, 상기 문서 내의 상기 투명 내용물과 상기 불투명 내용물의 중첩을 결정하는 단계를 포함하는, 컴퓨터 판독가능 매체.
  11. 제10항에 있어서,
    상기 문서 내의 상기 투명 내용물과 상기 불투명 내용물의 중첩을 판정하는 단계는, 상기 투명 내용물이 상기 불투명 내용물을 오버랩하는 영역(area)의 오버랩 영역(overlapping region)을 결정하는 단계를 포함하는, 컴퓨터 판독가능 매체.
  12. 제11항에 있어서,
    상기 내용물을 상기 비트맵으로 래스터화하는 단계는, 위에 놓인 투명 픽셀들을 아래에 놓인 픽셀들과 블렌딩하고, 상기 오버랩 영역을 상기 비트맵으로 인쇄하는 단계를 포함하는, 컴퓨터 판독가능 매체.
  13. 제11항에 있어서,
    문서 내의 상기 투명 내용물과 상기 불투명 내용물의 중첩을 판정하는 단계는, 투명 내용물이 텍스트 위에 있는 경우를 판정하는 단계; 및 필요한 경우, 상기 텍스트를 상기 메타파일에 기록하는 단계를 포함하는, 컴퓨터 판독가능 매체.
  14. 제9항에 있어서,
    입력 해상도(input resolution)에 대해 출력 장치에 질의하는 단계; 상기 입력 해상도를 디폴트 해상도와 비교하는 단계; 상기 비교에 대한 응답으로 해상도를 설정하는 단계를 더 포함하는, 컴퓨터 판독가능 매체.
  15. 인쇄를 위한 시스템으로서,
    투명 객체들 및 불투명 객체들을 포함하는 문서를 출력하도록 구성된 애플리케이션; 및
    상기 애플리케이션에 연결된 인쇄 관리자(print manager)를 포함하고,
    상기 인쇄 관리자는,
    비트맵으로 래스터화할 불투명 내용물의 부분을 결정하는 단계;
    상기 불투명 내용물 및 투명 내용물을 상기 비트맵으로 래스터화하는 단계;
    남아있는 상기 불투명 내용물의 부분을 메타파일로 인쇄하는 단계; 및
    상기 메타파일을 출력 장치 및 상기 비트맵으로 플레이하여, 상기 메타파일 내에 포함된 상기 남아있는 내용물이 상기 비트맵으로 래스터화된 상기 내용물과 블렌딩되도록 하는 단계
    를 포함하는 동작을 수행하도록 구성된, 인쇄를 위한 시스템.
  16. 제15항에 있어서,
    상기 비트맵으로 래스터화할 상기 불투명 내용물의 부분을 결정하는 단계는, 상기 문서 내의 상기 투명 내용물과 상기 불투명 내용물의 중첩을 판정하는 단계를 포함하는, 인쇄를 위한 시스템.
  17. 제16항에 있어서,
    상기 문서 내의 상기 투명 내용물과 상기 불투명 내용물의 중첩을 판정하는 단계는, 상기 투명 내용물이 상기 불투명 내용물을 오버랩하는 영역(area)의 오버랩 영역(region)을 판정하는 단계를 더 포함하는, 인쇄를 위한 시스템.
  18. 제17항에 있어서,
    상기 비트맵으로 내용물을 래스터화하는 단계는, 위에 놓인 투명 픽셀들을 아래에 놓인 픽셀들과 브렌딩하고, 상기 오버랩 영역을 상기 비트맵으로 인쇄하는 단계를 포함하는, 인쇄를 위한 시스템.
  19. 제17항에 있어서,
    상기 문서 내의 상기 투명 내용물과 상기 불투명 내용물의 중첩을 판정하는 단계는, 투명 내용물이 텍스트 위에 있는 경우를 판정하는 단계; 및 가능한 경우, 상기 텍스트를 상기 메타파일에 기록하는 단계를 포함하는, 인쇄를 위한 시스템.
  20. 제15항에 있어서,
    입력 해상도에 대해 출력 장치에 질의하는 단계; 상기 입력 해상도를 디폴트 해상도와 비교하는 단계; 및 상기 비교에 대한 응답으로 해상도를 설정하는 단계를더 포함하는, 인쇄를 위한 시스템.
KR1020087014026A 2005-12-13 2006-12-05 투명 인쇄를 위한 컴퓨터-구현 방법, 컴퓨터 판독가능 매체및 인쇄를 위한 시스템 KR20080076933A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/301,499 US20070133019A1 (en) 2005-12-13 2005-12-13 Transparency printing
US11/301,499 2005-12-13

Publications (1)

Publication Number Publication Date
KR20080076933A true KR20080076933A (ko) 2008-08-20

Family

ID=38138953

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087014026A KR20080076933A (ko) 2005-12-13 2006-12-05 투명 인쇄를 위한 컴퓨터-구현 방법, 컴퓨터 판독가능 매체및 인쇄를 위한 시스템

Country Status (5)

Country Link
US (1) US20070133019A1 (ko)
KR (1) KR20080076933A (ko)
CN (1) CN101326484A (ko)
TW (1) TW200725384A (ko)
WO (1) WO2007070293A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100545831C (zh) * 2006-09-27 2009-09-30 北京大学 一种透明页面的光栅化处理方法及装置
JP5333866B2 (ja) * 2010-08-31 2013-11-06 ブラザー工業株式会社 画像読取装置、画像形成装置、及び、画像読取方法
JP2013012115A (ja) * 2011-06-30 2013-01-17 Canon Inc 情報処理装置、方法およびプログラム
JP5849485B2 (ja) * 2011-07-15 2016-01-27 株式会社リコー 印刷制御プログラム、情報処理装置及び記録媒体
CN103543965A (zh) * 2012-07-09 2014-01-29 北大方正集团有限公司 一种文件处理方法及装置
JP2016058879A (ja) * 2014-09-09 2016-04-21 キヤノン株式会社 画像処理装置及び画像処理方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AUPM704394A0 (en) * 1994-07-25 1994-08-18 Canon Information Systems Research Australia Pty Ltd Optimization method for the efficient production of images
US6377354B1 (en) * 1998-09-21 2002-04-23 Microsoft Corporation System and method for printing a document having merged text and graphics contained therein
US6421460B1 (en) * 1999-05-06 2002-07-16 Adobe Systems Incorporated Blending colors in the presence of transparency
EP1109093A1 (en) * 1999-12-14 2001-06-20 Sun Microsystems, Inc. Method and apparatus for printing transparent graphics
US6606105B1 (en) * 1999-12-22 2003-08-12 Adobe Systems Incorporated Layer enhancements in digital illustration system
US6956667B2 (en) * 1999-12-24 2005-10-18 Agfa Gevaert N. V. Page composing method using stored page elements and apparatus for using the same
US6493110B1 (en) * 2000-04-05 2002-12-10 Gregory B. Roberts System and method for bar code rendering and recognition
US7126578B1 (en) * 2001-05-17 2006-10-24 Adobe Systems Incorporated Combining raster and vector data in the presence of transparency
EP1271409B1 (en) * 2001-06-28 2016-12-14 Oracle America, Inc. Method and System for Generating a digital image including a transparent object
JP2003091737A (ja) * 2001-07-13 2003-03-28 Sony Computer Entertainment Inc 描画処理装置、描画処理プログラムを記録した記録媒体、描画処理プログラム、描画処理方法
US7136075B1 (en) * 2003-08-26 2006-11-14 Adobe Systems Incorporated Compositing in the presence of different transparencies

Also Published As

Publication number Publication date
WO2007070293A1 (en) 2007-06-21
TW200725384A (en) 2007-07-01
CN101326484A (zh) 2008-12-17
US20070133019A1 (en) 2007-06-14

Similar Documents

Publication Publication Date Title
US8629886B2 (en) Layer combination in a surface composition system
CA2510776C (en) Common charting using shapes
US7750922B2 (en) Transparency group computation on a graphics processing unit
US9342322B2 (en) System and method for layering using tile-based renderers
US9406159B2 (en) Print-ready document editing using intermediate format
US10553001B2 (en) Master page overlay
US7692652B2 (en) Selectively transforming overlapping illustration artwork
JP2006215819A (ja) 文書処理装置及び文書処理方法並びにプログラム
US20070171222A1 (en) Application-independent method for capturing three-dimensional model data and structure for viewing and manipulation
US20060262137A1 (en) Method and apparatus for image processing
KR20080076933A (ko) 투명 인쇄를 위한 컴퓨터-구현 방법, 컴퓨터 판독가능 매체및 인쇄를 위한 시스템
JP3950937B2 (ja) インターフェースの方法、複合文書生成方法、及び複合文書表示方法
AU2010241218B2 (en) Method, apparatus and system for associating an intermediate fill with a plurality of objects
CN117456052A (zh) 基于canvas的图形编辑方法及装置
JP4143613B2 (ja) 描画方法、描画装置
US10424084B2 (en) Digital content rendering that supports alpha is shape (AIS) as part of knockout groups
JP3883078B2 (ja) グラフィックイメージ生成方法
US20170147537A1 (en) Method, apparatus and system for reproducing a document defined in a page description language
JP4447931B2 (ja) 画像処理装置および画像処理方法およびコンピュータが読み取り可能なプログラムを格納した記憶媒体およびプログラム
AU2012258408A1 (en) Path tracing method
Hoddie et al. Drawing Graphics with Poco
US20020001103A1 (en) Method and device for rearranging an electronic document
JP2000076472A (ja) プログラム記憶媒体
JP2006338352A (ja) 帳票作成方法
AU2009201502A1 (en) Rendering compositing objects

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid