KR100935267B1 - 혼합된 래스터 컨텐트 이미지 형성 방법, 혼합된 래스터 컨텐트 파일 생성 방법, 혼합된 래스터 컨텐트 파일을 합성 이미지로 렌더링하기 위한 방법, 컴퓨터 판독가능 매체, 이미지 렌더링 방법 및 합성 이미지 렌더링 방법 - Google Patents

혼합된 래스터 컨텐트 이미지 형성 방법, 혼합된 래스터 컨텐트 파일 생성 방법, 혼합된 래스터 컨텐트 파일을 합성 이미지로 렌더링하기 위한 방법, 컴퓨터 판독가능 매체, 이미지 렌더링 방법 및 합성 이미지 렌더링 방법 Download PDF

Info

Publication number
KR100935267B1
KR100935267B1 KR1020030019791A KR20030019791A KR100935267B1 KR 100935267 B1 KR100935267 B1 KR 100935267B1 KR 1020030019791 A KR1020030019791 A KR 1020030019791A KR 20030019791 A KR20030019791 A KR 20030019791A KR 100935267 B1 KR100935267 B1 KR 100935267B1
Authority
KR
South Korea
Prior art keywords
layer
image
foreground
pixel
selector
Prior art date
Application number
KR1020030019791A
Other languages
English (en)
Other versions
KR20030085472A (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 KR20030085472A publication Critical patent/KR20030085472A/ko
Application granted granted Critical
Publication of KR100935267B1 publication Critical patent/KR100935267B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/40Document-oriented image-based pattern recognition
    • G06V30/41Analysis of document content
    • G06V30/413Classification of content, e.g. text, photographs or tables
    • 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/41Bandwidth or redundancy reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Artificial Intelligence (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • General Engineering & Computer Science (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
  • Holo Graphy (AREA)
  • Image Processing (AREA)
  • Analysing Materials By The Use Of Radiation (AREA)
  • Record Information Processing For Printing (AREA)
  • Communication Control (AREA)
  • Medicines That Contain Protein Lipid Enzymes And Other Medicines (AREA)

Abstract

혼합된 래스터 컨텐트 파일을 생성하여 이용하는 시스템 및 프로세스가 기재된다. MRC 파일은 합성 이미지로부터 처리되기 보다는 어플리케이션으로부터 직접 생성되어 단일 이미지를 각 페이지에 대한 백그라운드, 포그라운드 및 선택자 마스크로 분리한다. 또한, 각 페이지에 대한 백그라운드, 포그라운드 및 선택자 레이어에 관련 부분만이 포함되는 개선된 MRC 구조가 기재된다.
MRC, 백라운드 레이어, 포그라운드 레이어, 선택자 레이어, 컨텐트 파일

Description

혼합된 래스터 컨텐트 이미지 형성 방법, 혼합된 래스터 컨텐트 파일 생성 방법, 혼합된 래스터 컨텐트 파일을 합성 이미지로 렌더링하기 위한 방법, 컴퓨터 판독가능 매체, 이미지 렌더링 방법 및 합성 이미지 렌더링 방법{MIXED RASTER CONTENT FILES}
도 1은 본 발명의 다양한 양태를 구현하는데 이용될 수 있는 일반용 디지털 컴퓨팅 환경의 개략도.
도 2는 혼합된 래스터 컨텐트 파일을 생성하기 위한 종래 프로세스를 도시한 도.
도 3은 종래 혼합된 래스터 컨텐트 파일을 도시한 도.
도 4는 본 발명의 양태에 따라 혼합된 래스터 컨텐트 파일을 생성하기 위한 프로세스를 도시한 도.
도 5는 본 발명의 양태에 따라 혼합된 래스터 컨텐트 파일의 예를 도시한 도.
도 6은 본 발명의 양태에 따라 혼합된 래스터 컨텐트 파일의 다른 예를 도시한 도.
도 7a 및 7b는 본 발명의 양태에 따라 혼합된 래스터 컨텐트 파일을 생성하기 위한 여러 프로세스를 도시한 도.
도 8a 및 8b는 도 7a에 대한 다른 프로세스 단계를 도시한 도.
도 9a 및 9b는 본 발명의 양태에 따라 혼합된 래스터 컨텐트 파일로부터 합성 이미지를 렌더링하는 다양한 프로세스를 도시한 도.
도 10은 본 발명의 양태에 따라 혼합된 래스터 컨텐트 파일을 생성하는 다른 프로세스 예를 도시한 도.
도 11은 본 발명의 양태에 따라 이미지를 병합하기 위한 프로세스 예를 도시한 도.
도 12는 본 발명의 양태에 따라 이미지를 병합하기 위한 다양한 과정(outcome)을 도시한 도.
도 13은 본 발명의 양태에 따라 이미지들간의 근접도(proximity)를 설정하기 위한 프로세스 예를 도시한 도.
도 14는 본 발명의 양태에 따라 2개의 이미지 및 그 병합에 의해 소비되는 공간의 다양한 표현을 도시한 도.
도 15a, 15b, 및 15c는 본 발명의 양태에 따라 조합된 이미지 내에서 소비된 공간을 카운팅하는 다양한 표현을 도시한 도.
<도면의 주요 부분에 대한 간단한 설명>
500 : 이미지 생성기
501 : 그래픽 렌더러
502 : 선택자 레이어
503 : 포그라운드 레이어
504 : 백그라운드 레이어
505 : 선택적 압축
본 발명의 양태는 파일을 생성하고 이용하는 것에 관한 것이다. 특히, 본 발명은 혼합된 래스터 컨텐트 파일을 생성하고 이용하는 것에 관한 것이다.
인터넷의 성장과 함께 변형불가능 파일의 이용이 증가되어 왔다. 문서를 발행하기 위한 일 표준 파일 포맷은 아도비 아크로뱃 파일 포맷(일반적으로는 확장자 .PDF와 연관됨)이다. 다른 파일 포맷은 JPEG 및 비트맵 파일을 포함한다. 이들 문서들의 장점은, 사용자가 문서들의 변형을 거의 걱정하지 않고 이들 파일 포맷을 이용하여 인터넷 상에서 정보를 교환할 수 있다는 점이다.
통상 이용되는 다른 파일 포맷은 MRC 또는 혼합된 래스터 컨텐트 파일이다. 이러한 파일 포맷은 하나의 이미지를 3개의 동일한 크기의 이미지로 분리하여, 이들을 서로 다른 해상도 및 일부 경우에 서로 다른 압축율 또는 기술로 저장한다. 도 2는 MRC 파일의 생성을 위한 전형적인 프로세스를 도시하고 있다. 이미지 생성기(301)는 소스 이미지(302)를 출력한다. 소스 이미지(302)는 300dpi의 이미지 해상도를 가지고 있다. 소스 이미지(302)는 분리 프로세스(303)에 의해 3개의 분리 이미지(304-306)로 분리된다. 3개의 분리 이미지는 블랙/화이트(B/W) 마스크 이미지(304), 포그라운드 이미지(305), 및 백그라운드 이미지(306)를 포함한다. 3개의 이미지(304-306)는 소스 이미지(302)와 동일한 차원(x, y)을 가지고 있다. 도 2에 도시된 바와 같이, 3개의 이미지(304-306)의 해상도는 각각 300dpi, 300dpi, 및 100dpi로 각각 도시되어 있다. 3개의 이미지들은 서로 다른 압축 기술에 따라 압축 프로세스(307)에 의해 다양한 정도로 선택적으로 압축될 수 있다.
소스 이미지(302)를 다양한 다른 파일(304-306)로 분해할 수 있는 장점에도 불구하고, MRC 파일은 종래 기술분야에 주지된 바와 같이 긴 분해 프로세스(분리 프로세스(303))를 가진다는 단점이 있다. 분리 프로세스(303)는 모든 이미지 컴포넌트를 분석하여 각 파일(304-306)내에 포함될 어스펙트들을 분리하려고 시도한다. 장시간의 지연없이 MRC 파일을 생성할 필요가 있다.
또한, 합성 파일(304-306)은 거의 컨텐트를 가지고 있지 않으면서도 클 수 있다. 도 3은 종래 MRC 파일의 샘플을 도시하고 있다. 파일은 백그라운드 레이어(401), 선택자 레이어 또는 블랙/화이트 즉 B/W 마스크 레이어(402), 및 포그라운드 레이어(403)를 포함하는 3개의 레이어들을 포함한다. 예시의 목적상, 합성 이미지(411)는 3개의 레이어들(401-403)이 조합된 경우의 결과적인 이미지로서 도시되어 있다. 본 기술분야에 주지된 바와 같이, 백그라운드 레이어는 화소당 24비트(24bpp)의 화소당 컬러 깊이를 가지고 있고, 선택자 레이어는 1bpp의 화소당 컬러 깊이를 가지고 있으며, 포그라운드 레이어는 24bpp의 컬러 깊이를 가지고 있다.
각 레이어는 하나의 이미지를 포함한다. 각 이미지는 동일한 차원(x, y)을 가지고 있다(도 2 및 3에 도시된 바와 같음). 예를 들면, 백그라운드 레이어(401)는 그 중앙에 컨텐트(404)를 가지는 하나의 이미지를 포함한다. 선택자 레이어(402)는 3개의 컨텐트 셋트(405-407)를 가지는 하나의 이미지를 포함한다. 컨텐트(405)는 "Black Text"이고, 블랙 텍스트를 표현하고자 한 것이다. 컨텐트(406)는 "Color Text A"이고, 합성 이미지(411)에서 컬러 A를 가지고 있는 텍스트이지만, 선택자 레이어(402)에는 블랙 텍스트로서 나타난다. 이것은 선택자 레이어(402)가 1bpp 컬러 깊이만을 가지고 있기 때문이다. 마찬가지로, 컨텐트(407)는 "Color Text B"이고, 합성 이미지(411)에서 컬러 B를 가지는 텍스트이지만, 선택자 레이어(402)에서는 블랙 텍스트로 나타난다. 포그라운드 레이어(403)는 블랙(408), 컬러 A(409), 및 컬러 B(410)를 포함하는 3개의 컬러 파렛트 셋트를 포함한다. 도 3의 MRC 파일에 있어서의 우려할 만한 것은 상당량의 미사용 공간이다. 미사용 공간은 각 레이어의 기본 이미지 크기를 증가시킨다. 이러한 미사용 공간은 인코딩, 디코딩, 및 합성 스테이지에 대해 요구되는 시간을 증가시킨다. 또한, 컨텐트와 미사용 공간의 조합은 종종 열악한 레이어 압축으로 나타나게 된다. 따라서, 합성 파일(304-306)들에서 미사용 공간을 최소화할 필요가 있다.
본 발명의 양태는 상기 설명한 하나 이상의 필요 사항을 충족시키는 MRC 파일의 생성 및 이용에 관한 것이다. 일부 양태에서, MRC 파일들은 분리 프로세스에 의해 처리될 필요도 없이 프린트 드라이버에 의해 생성된다. 다른 실시예에서, MRC 파일의 각 레이어는 각 레이어를 커버하는 단일 이미지보다 더 효율적인 압축을 허용하는 하나 이상의 이미지(또는 서브 이미지)들을 포함할 수 있다. 이들 다양한 양태들은 분리되거나 조합되어 이용될 수 있다.
본 발명의 이들 및 다른 특징들은 이하의 다양한 실시예에 대한 상세한 설명으로부터 명백하게 될 것이다.
본 발명의 양호한 실시예에 대한 상세한 설명뿐만 아니라 상기 발명의 요약도 예로서 포함되고 본 발명을 제한하려는 것이 아닌 첨부된 도면을 참조하여 읽는다면 더 잘 이해될 것이다.
이하의 설명은 혼합된 래스터 컨텐트 파일에 관한 것이다. 개시된 개념 및 접근법은 다른 파일 타입에도 적용될 수 있다는 것은 자명하다. 또한, 다양한 프로세스들이 개시된다. 이들 프로세스들은 이용될 수 있는 예들로서 제공되고, 개선된 혼합된 래스터 컨텐트 파일을 생성하거나 사용하는데 이용되는 다양한 프로세스의 유일한 표현으로서 간주해서는 안 된다. 또한, 선택자 레이어의 화소 컬러는 통상 블랙 및 화이트로서 지칭된다. 선택자 레이어는 화소 컬러 깊이 당 1비트를 가지고 있고 따라서 온 또는 오프(즉 컬러 상태 1 및 컬러 상태 0)로서의 화소들만을 가질 수 있다. 명명을 단순화하기 위해 블랙 및 화이트가 이용된다. 그러나, 임의의 컬러들(예를 들면, 자홍색 및 청록색) 또는 "온 및 오프" 등이 그 대신에 이용될 수 있다.
도 1은 본 발명의 다양한 양태를 구현하는데 이용될 수 있는 종래 일반용 디지털 컴퓨팅 환경의 개략도를 예시하고 있다. 도 1에서, 컴퓨터(100)는 처리 유닛(110), 시스템 메모리(120), 및 시스템 메모리를 포함하는 다양한 시스템 컴포넌트를 처리 유닛(110)에 결합시키는 시스템 버스(130)를 포함한다. 시스템 버스(130)는 메모리 버스 또는 메모리 컨트롤러, 주변장치 버스, 및 임의의 다양한 버스 아키텍쳐를 이용하는 로컬 버스를 포함하는 수 개 타입의 버스 구조 중 임의 의 하나일 수 있다. 시스템 메모리(120)는 판독 전용 메모리(ROM, 140) 및 랜덤 액세스 메모리(RAM, 150)를 포함한다.
기동시와 같이 컴퓨터(100) 내의 소자들간의 정보 전달을 도와주는 기본 루틴을 포함하는 기본 입출력 시스템(160, BIOS)이 ROM(140)에 저장된다. 컴퓨터(100)는 또한 하드디스크(도시되지 않음)로부터 판독하고 기록하기 위한 하드 디스크 드라이버(170), 제거가능한 자기 디스크(190)에 기록하고 판독하기 위한 자기 디스크 드라이브(180), CD ROM이나 다른 광학 매체와 같은 제거가능한 광학 디스크(192)에 기록하고 판독하기 위한 광학 디스크 드라이브(191)를 포함한다. 하드 디스크 드라이브(170), 자기 디스크 드라이브(180) 및 광학 디스크 드라이브(191)는 하드 디스크 드라이브 인터페이스(192), 자기 디스크 드라이브 인터페이스(193), 및 광학 디스크 드라이브 인터페이스(194)에 의해 시스템 버스(130)에 각각 접속된다. 드라이브 및 그 관련 컴퓨터 판독가능 매체는 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 및 퍼스널 컴퓨터(100)를 위한 다른 데이터의 비휘발성 저장을 제공한다. 본 기술분야의 숙련자라면, 자기 카세트, 플래시 메모리 카드, 디지털 비디오 디스크, 베르누이(Bernoulli) 카트리지, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM) 등과 같이 컴퓨터에 의해 액세스 가능한 데이터를 저장할 수 있는 다른 타입의 컴퓨터 판독 가능 매체가 예로 든 운영체제에서 이용될 수 있다는 것을 잘 알고 있을 것이다.
운영체제(195), 하나 이상의 어플리케이션 프로그램(196), 다른 프로그램 모듈(197) 및 프로그램 데이터(198)를 포함하는 다수의 프로그램 모듈들이 하드 디스 크(170), 자기 디스크(190), ROM(140) 또는 RAM(150)에 저장될 수 있다. 사용자는 키보드(101) 및 포인팅 디바이스(102)와 같은 입력 장치를 통해 컴퓨터(100)에 명령과 정보를 입력할 수 있다. 다른 입력 장치(도시되지 않음)는 마이크로폰, 조이스틱, 게임 패드, 위성 디시(dish), 스캐너 등을 포함할 수 있다. 이들 및 다른 입력 장치들은 시스템 버스에 결합되는 직렬 포트 인터페이스(106)를 통해 처리 유닛(110)에 종종 접속되고, 병렬 포트, 게임 포트 또는 범용 직렬 버스(USB)와 같은 다른 인터페이스에 의해 접속될 수 있다. 또한, 이들 장치들은 적절한 인터페이스(도시되지 않음)를 통해 시스템 버스(130)에 직접 결합될 수도 있다. 모니터(107) 또는 다른 타입의 표시 장치가 비디오 어댑터(108)와 같은 인터페이스를 통해 시스템 버스(130)에 접속된다. 퍼스널 컴퓨터는 모니터뿐만 아니라 스피커 및 프린터와 같은 다른 주변 출력 장치(도시되지 않음)를 포함한다. 일부 실시예들에서, 펜 디지타이저(165) 및 동반하는 펜 또는 스타일러스는 수서 입력을 디지털적으로 캡쳐링하기 위해 제공된다. 펜 디지타이저(165)와 직렬 인터페이스 포트(106) 간의 접속이 도시되어 있지만, 실제 펜 디지타이저(165)는 본 기술 분야에 주지된 바와 같이 병렬 포트 또는 다른 인터페이스 및 시스템 버스(130)를 통해 처리 유닛(110)에 직접 결합될 수 있다. 또한, 디지타이저(165)는 모니터(107)와 분리되어 도시되어 있지만, 디지타이저(165)의 사용가능한 입력 영역이 모니터(107)의 표시 영역과 동시에 존재할 수도 있다. 또한, 디지타이저(165)는 모니터(107)에 통합될 수도 있고, 또는 모니터(107)에 올려지거나 또는 부착된 분리 장치로서 존재할 수도 있다.
컴퓨터(100)는 원격 컴퓨터(109)와 같은 하나 이상의 원격 컴퓨터로의 논리적 접속을 이용하여 네트워킹된 환경에서 동작할 수 있다. 원격 컴퓨터(109)는 서버, 라우터, 네트워크 PC, 피어(peer) 디바이스, 또는 따른 공통 네트워크 노드가 될 수 있고, 도 1에는 단지 메모리 저장 장치(111)만이 예시되어 있지만 컴퓨터(100)와 관련하여 상기 설명된 다수 또는 모든 구성요소들을 포함한다. 도 1에 도시된 논리적 접속은 로컬 영역 네트워크(LAN, 112) 및 광역 네트워크(WAN, 113)를 포함한다. 그러한 네트워킹 환경은 사무실, 전사적 컴퓨터 네트워크, 인트라넷 및 인터넷에서 흔한 것이다.
LAN 네트워킹 환경에서 이용되는 경우, 컴퓨터(100)는 네트워크 인터페이스 또는 어댑터(114)를 통해 로컬 네트워크(112)에 접속된다. WAN 네트워킹 환경에서 이용되는 경우, 퍼스널 컴퓨터(100)는 통상 모뎀(115) 또는 인터넷과 같이 와이드 영역 네트워크(113)를 통한 통신을 확립하기 위한 다른 수단을 포함한다. 내부 또는 외부에 존재할 수 있는 모뎀(115)은 직렬 포트 인터페이스(106)를 통해 시스템 버스(130)에 접속된다. 네트워킹된 환경에서, 퍼스널 컴퓨터(100)와 관련하여 도시된 프로그램 모듈 또는 그 일부는 원격 메모리 저장 장치에 저장될 수 있다.
도시된 네트워크 접속은 예로 든 것이고 컴퓨터들간의 통신 링크를 확립하기 위한 다른 기술들이 이용될 수 있다는 것은 자명하다. TCP/IP, Ethernet, FTP, HTTP 등과 같은 주지의 여러 프로토콜 중 임의의 것이 존재한다고 가정되고, 시스템은 클라이언트-서버 구성으로 동작되어 사용자가 웹 기반 서버로부터 웹 페이지를 검색할 수 있도록 허용한다. 다양한 종래 웹 브라우저들 중 임의의 하나가 웹 페이지 상의 데이터를 표시하고 조정하는데 이용될 수 있다.
도 4는 본 발명의 양태에 따른 혼합된 래스터 컨텐트 파일을 생성하기 위한 프로세스를 도시하고 있다. 이미지 생성기(500)(예를 들면, 페인팅 프로그램, 워드 프로세스 프로그램, 웹 출판 시스템 등)는 도 2의 프로세스(303)를 통해 변환될(즉, 분리될) 필요가 있는 합성 이미지를 출력하지 않고 MRC 파일의 컨텐트(3개의 레이어; 선택자 레이어(502), 포그라운드 레이어(503) 및 백그라운드 레이어(504))를 출력한다. 이러한 출력은 그래픽 렌더링 엔진(501)(예를 들면, 워싱톤 레드몬드의 마이크로소프트사로부터 이용가능한 GDI API)으로의 호출을 포함할 수 있다. 다른 그래픽 렌더러(501)들도 이용될 수 있다. 다르게는, 렌더링은 이미지 생성기(500) 내에서 완벽하게 발생할 수도 있다. 마지막으로, MRC 파일은 선택적 압축 엔진(505)에 의해 선택적으로 압축될 수 있다. 압축은 파선으로 도시된 바와 같이 선택적이다.
도 5는 본 발명의 양태에 따른 혼합된 래스터 컨텐트 파일의 예를 도시하고 있다. MRC 파일은 3개의 레이어, 즉 백그라운드 레이어(601), 선택자 레이어(602), 및 포그라운드 레이어(603)를 포함한다. 합성 이미지(604)는 설명의 목적상 도시되어 있다. 백그라운드 레이어는 컨텐트(605)를 포함한다. 백그라운드 컨텐트(605)는 합성 이미지(604)의 크기의 이미지로 표현될 수 있다. 다르게는, 백그라운드 컨텐트는 합성 이미지(604)의 크기보다 작게 제한된 사각형을 가지는 이미지에 의해 표현될 수도 있다. 선택자 레이어(602)는 "color text A"로 표현된 컨텐트(606)를 포함하고, 이들은 폰트 컬러 A를 가지는 텍스트로 표현되지만 선택자 레이어(602)는 컨텐트(606)를 블랙 텍스트로서 표현한다. 포그라운드 레이어(603)는 블랙 텍스트(607), 컬러 A로 된 컬러링된 사각형(608), 및 폰트 컬러 B로 된 "color text B"로서의 컨텐트(609)를 포함한다. 컬러링된 사각형(608)은 다수의 예들에서 제거될 수도 있다. 예를 들면, 텍스트가 균일한 컬러를 가지고 있고 선택 및 백그라운드 레이어의 조합에 의해 표현될 수 있다면 그렇다. 컨텐트(607-609)는 합성 이미지(604)의 단일 이미지 크기로서 표현될 수 있다(상기 동일한 크기 설명과 유사함). 다르게는, 컨텐트(607-609)는 2개 이상의 이미지(또는 서브 이미지)에 의해 표현될 수도 있다. 이미지들은 각 컨텐트(607-609)를 둘러싼 경계 영역에 의해 표현되는 경계 영역(본 기술분야에 주지된 바와 같이 사각형 또는 다른 형태)에 의해 정의될 수 있다.
도 5에 도시된 바와 같이, 선택 레이어(602)는 포그라운드 이미지가 백그라운드 이미지에 중첩될 때 이용된다. 여기에서, 컨텐트를 선택 레이어로부터 포그라운드 레이어로 푸시하는 것은 렌더링 태스크를 더 빠르게 한다. 왜냐하면, 포그라운드와 백그라운드 컨텐트의 중첩이 없는 경우에 선택 또는 알파 블렌딩(blending)을 체크하여 수행할 필요가 없기 때문이다. 다른 양태는 균일한 컬러 텍스트 및 일정 라인 드로잉(drawing)이 선택자 레이어내의 바이너리 이미지 더하기 포그라운드 레이어 내의 컬러 이미지로서 저장되는 대신에, 포그라운드 레이어 내의 적절한 컬러 파렛트를 가진 바이너리 이미지로서 저장될 수도 있다는 점이다. 선택자 레이어로부터 컨텐트를 포그라운드 레이어로 푸싱하는 것은 압축 및 렌더링 성능을 개선할 것이라고 사료된다.
포그라운드 레이어를 가지지 않고 선택자 및 백그라운드 레이어가 제공되는 다른 조합이 도 5에 도시되어 있다. 이 경우에, 선택자 레이어에는 비-화이트 화소가 있지만 포그라운드 레이어에는 대응하는 화소가 전혀 없는 경우, 합성 이미지 상의 화소의 컬러는 선택자 레이어의 컬러이다. 이러한 조합은 일반적이며, 백그라운드, 선택자 및 포그라운드 레이어 조합보다 렌더링 성능 및 압축에 더 효율적일 수 있다.
포그라운드 레이어는 높은 컬러 깊이(예를 들면, 24 bpp)를 가질 수 있다. 하나의 실시예에서, 포그라운드 레이어의 모든 이미지는 동일한 컬러 깊이를 가지고 있다. 다르게는, 포그라운드의 이미지는 하나 이상의 컬러 깊이를 가질 수 있다. 예를 들면, 컨텐트(607)는 1bpp의 컬러 깊이를 가지고 있는데 반해, 컨텐트(608, 609)는 24 bpp의 다른 컬러 깊이를 가지고 있다. 영역에 연관될 실제 컬러가 높은 컬러 깊이에 보다 덜 기초하여 정의가능한 상황이 존재한다. 그래서, 또 다른 실시예에서, 컨텐트(608)는 8 bpp의 컬러 깊이를 가지고 있지만, 컨텐트(609)는 1bpp 및 8bpp와는 다른 컬러 깊이(2bpp, 4bpp, 16bpp, 24bpp, 32bpp 등을 포함하고, 이들로 제한되는 것은 아님)를 가질 수 있다. 컬러 범위를 정의하는데 필요한 정도로 컬러 깊이를 이용하는 것은(전체 레이어에 대해 미리 설정되기보다는), 화소당 컬러 비트를 지정하는 불필요한 컬러를 제거함으로써 더 크고/크거나 더 효율적인 압축 및/또는 더 빠른 압축 및 렌더링 성능을 허용한다.
하나의 레이어에서 각 이미지 또는 이미지 집합에 기초하여 컬러 깊이를 정의하는 능력은 백그라운드 레이어에도 적용가능하다.
도 6은 MRC 파일의 다른 표현을 도시하고 있다. 여기에서, 백그라운드 이미지(610)는 "color text C"(611) 및 "black text"(612)와 조합되어 합성 이미지(613)를 형성한다. 각 이미지(610, 611, 612)는 합성 이미지의 크기보다 작은 크기를 가지고 있다. 이러한 다른 예에서, 이미지(610, 611, 612)의 전체 합이 합성 이미지의 크기보다 작다.
도 7a는 본 발명의 양태에 따라 혼합된 래스터 컨텐트 파일을 생성하기 위한 프로세스 예를 도시하고 있다. 프로세스는 이미지 생성 어플리케이션으로부터 단계 701에서 시작된다. 우선, 텍스트 및 라인 드로잉(drawing)이 단계 702에서 처리된다. 텍스트 및/또는 라인 드로잉(drawing)이 존재한다면, 그것들은 단계 703에서 선택자 레이어에 부가된다. 단계 704에서 라인 또는 텍스트의 컬러는 포그라운드를 위한 컬러 영역을 생성하는데 이용된다. 컬러 영역은 단계 702로부터 텍스트 및/또는 라인의 컬러를 적절하게 지정하도록 포그라운드 레이어의 영역을 정의하는데 필요한 대로 사각형 또는 임의의 다른 형태가 될 수 있다. 다음으로, 이미지 파일 내에 있는 그림들이 단계 705에서 처리되어 단계 706에서 백그라운드 레이어에 부가된다.
도 7a의 예는 장치 드라이버에 전송되었던 것과 같이 어플리케이션으로부터 직접 또는 스풀링된 메타파일로부터 이미지를 처리하는 능력을 도시하고 있다. 이에 반해, MRC 파일을 생성하는 종래의 접근법은 합성 이미지를 그대로 두고 분리 프로세스(303)를 통해 이것을 다양한 컴포넌트로 분리하는 것이다. 분리 프로세스(303)는 에러가 발생하기 쉽고 이미지 분해 프로세스를 핸들링하는데 상당한 리소스를 소비한다. 그러나, 도 7a의 예는 다양한 컴포넌트들이 여전히 분리 어드레싱가능하면서 도 7a의 예가 다양한 이미지 컴포넌트들을 핸들링함으로써 분리 프로세스없이 MRC 파일을 생성하는 능력을 제공한다.
도 7b는 MRC 파일을 생성하기 위한 다른 프로세스를 도시하고 있다. 여기에서, 그래픽 렌더러가 단계 701에서 MRC 생성 프로세스를 시작한 경우, 그래픽 호출은 단계 708에서 관련 이미지 영역으로 리스팅된다. 리스트는 각 이미지 영역에 대해 이하 중 하나 이상을 포함할 수 있다.
· 경계 영역;
· 그래픽 출력 형태; 및
· 사용되는 컬러.
다음으로, 단계 709에서, 이미지가 텍스트 또는 라인 드로잉(drawing)이라면, 이미지 영역은 단계 703에서 선택자 레이어에 부가된다. 그렇지 않으면, 단계 710에서, 이미지 영역이 포그라운드/백그라운드 레이어에 부가된다. 임의의 타입의 이미지가 포그라운드/백그라운드 레이어에 부가되어, 포그라운드/백그라운드 레이어가 양호한 문서 표현이 되도록 한다.
도 8a 및 8b는 도 7a의 단계 704에 대한 다양한 옵션을 도시하고 있다. 도 8a에서, 텍스트 및 라인의 폰트 또는 브러쉬 컬러가 각각 단계 801에서 정해져 단계 803으로 패싱된다. 또한, 단계 802에서, 경계 영역 또는 영역들(텍스트 및/또는 라인의 경계를 정의하는 사각형 또는 다른 형태가 될 수 있음)이 결정되어, 단계 803으로 패싱된다. 단계 801 및 802는 임의의 순서로 발생할 수 있거나, 동시에 핸들링될 수 있다. 단계 802에서 결정된 영역들이 완전히 채워질 필요는 없다는 것도 자명하다. 예를 들면, 원의 라인 드로잉은 토러스(torus)의 형태로 경계 영역을 가질 수 있다. 단계 803에서, 단계 802에 의해 결정된 영역 또는 영역들은 포그라운드 레이어 상에 채워진 영역으로서 페인팅된다.
도 8b는 단계 704에 대한 다른 대안을 도시하고 있다. 우선, 선택자 레이어(804) 내의 각 화소가 스캐닝된다. 화소가 단계 805에서 결정된 바와 같이 블랙이라면, 백그라운드 화소의 컬러는 단계 806에서 대응하는 포그라운드 화소의 컬러를 채우는데 이용된다. 스캐닝 단계 804는 전체 선택자 레이어의 각 화소를 커버할 수 있다.
다르게는, 선택자 레이어가 컨텐트를 포함하는 이미지들로 쪼개질 수 있으므로, 단계 804는 선택자 레이어의 이미지들만을 스캐닝할 수 있다. 이미지들에 의해 소비되지 않는 선택자 레이어의 영역은 컨텐트를 포함하지 않으므로, 이들 영역들은 단계 804에 의해 스캐닝되지 않을 것이다.
본 발명의 다른 양태에서, MRC 파일의 배열이 변형된다. 도 9a는 도 6의 혼합된 래스터 컨텐트 파일로부터 합성 이미지를 렌더링하는 프로세스 예를 도시하고 있다. 단계 901에서, 시스템은 다양한 MRC 레이어들로부터 합성 이미지를 구축하기 시작한다. 합성 이미지내의 모든 화소들에 대해, 단계 902에서 화소가 선택자 레이어 내에 있는지 여부가 결정된다. 예라면, 시스템은 단계 905에서 선택자 레이어의 화소가 화이트인지 여부를 결정한다. 화소가 화이트라면, 시스템은 단계 906에서 백그라운드 레이어에 화소가 있는지 여부를 체크한다. 백그라운드 레이어에 화소가 없다면, 단계 909에서 디폴트 백그라운드 컬러가 이용되고, 그렇지 않다면, 백그라운드 레이어의 대응하는 화소로부터의 컬러가 단계 910에서 이용된다.
단계 905에서 선택자 레이어의 화소가 화이트가 아니라면, 시스템은 단계 907에서 포그라운드 레이어에 화소가 있는지 여부를 체크한다. 포그라운드 레이어에 화소가 없다면, 선택자 레이어의 화소 컬러가 단계 908에서 이용된다. 단계 907에서 포그라운드 레이어에 화소가 있다면, 포그라운드 레이어의 대응하는 화소로부터의 컬러가 단계 904에서 이용된다.
단계 902에서 선택자 레이어에 화소가 없다면, 시스템은 단계 903에서 포그라운드 레이어에 화소가 있는지 여부를 결정한다. 포그라운드 레이어에 화소가 있다면, 시스템은 단계 904에서 포그라운드 레이어에서 대응하는 화소로부터 컬러를 이용한다. 그렇지 않으면, 시스템은 단계 906에서 백그라운드 레이어에 화소가 있는지 여부를 결정하고, 상기 설명한 바와 같이 진행된다.
단계 902에서 선택자 레이어에 화소가 없다고 결정되면, 시스템은 단계 903에서 포그라운드 레이어에 대응하는 화소가 있는지 여부를 결정한다. 아니오라면, 백그라운드 레이어의 대응하는 화소로부터의 컬러가 이용된다(단계 906). 백그라운드 이미지에 대응하는 화소가 없다면, 디폴트 화소 컬러가 이용될 수 있다(예를 들면, 화이트 또는 그레이 또는 심지어 투명하게 지정될 수도 있음). 단계 903의 결과가 예이면, 포그라운드 레이어에서 대응하는 화소로부터의 컬러가 이용된다(단계 904).
도 9b는 다중 레이어를 합성 이미지로 조합하기 위한 프로세스를 도시하고 있다. 단계 901에서 시작하여, 시스템은 레이어의 컨텐트에 대한 경계 사각형 또는 다른 형태를 획득한다. 다음으로, 시스템은 4개의 리스트를 계산한다. 제1 리스트(NOL_FGBG)는 포그라운드가 선택 영역과 중첩되지 않는 영역 및 백그라운드가 포그라운드 영역과 중첩되지 않는 영역을 표현한다. 제2 리스트(SEL)는 선택이 포그라운드 영역과 중첩되지 않는 영역을 표현한다. 제3 리스트(SELFG)는 선택 및 포그라운드 영역만이 중첩되는 영역을 표현한다. 제4 리스트(BGFGSEL)는 백그라운드, 선택자 및 포그라운드 레이어가 모두 중첩되는 영역을 표현한다.
다음으로, 단계 913에서, 합성 이미지는 디폴트 백그라운드 컬러로 채워진다. 각 리스트는 단계 914-917에서 처리된다. 단계 914에서, 포그라운드 영역이 존재하는 경우에, 제1 리스트(NOL_FGBG)의 각 영역은 포그라운드 이미지로 채워진다. 그렇지 않으면, 영역은 백그라운드 이미지로 채워진다.
단계 915에서, 선택자 레이어의 화소가 화이트인 경우, 제2 리스트(SEL)의 각 영역에 대해 합성 이미지에 어떠한 변형도 만들어지지 않는다. 그렇지 않으면, 선택자 레이어의 화소로부터의 컬러 값이 이용된다.
단계 916에서, 선택자 레이어의 화소가 화이트인 경우, 제3 리스트(SELFG)의 각 영역에 대해 합성 이미지에 어떠한 변형도 가해지지 않는다. 그렇지 않으면, 포그라운드 레이어의 화소 컬러가 이용된다.
단계 917에서, 선택자 레이어의 화소가 화이트인 경우, 제4 리스트(BGFGSEL)의 각 영역에 대해, 백그라운드의 컬러가 이용된다. 그렇지 않으면, 포그라운드의 화소 컬러가 이용된다.
도 10은 혼합된 래스터 컨텐트 파일을 생성하는 다른 프로세스 예를 도시하고 있다. 도 10에 도시된 바와 같은 프로세스는 도 6의 MRC 파일을 형성한다. 프로세스는 단계 1001에서 시작되어 프로세스가 개시된다. 하나의 실시예에서, 단계 1000은 MRC 파일을 프린트하라는 명령의 수신일 수 있다. 단계 1000은 어플리케이션의 일부, 어플리케이션에 의해 호출되는 그래픽 툴박스의 일부가 되거나 MRC 파일의 생성을 개시하는 다른 방법들의 호스트가 될 수 있으므로, 단계 1000이 파선 박스로 도시되어 있다.
단순화를 위해, 이하는 프린트 드라이버에서 MRC 파일을 생성하는 것에 연관하여 설명된다. 이하는 이미지 조작에 대한 다양한 호출들을 노출하는, 마이크로소프트사로부터 입수가능한 윈도우즈 운영체제에서 이용가능한 GDI API로의 참조를 포함한다. 리눅스 및 애플-기반 시스템을 포함하는 운영체제는 다양한 호출에 대한 변동을 가질 것이라는 것은 자명하다. 따라서, 모든 운영체제 및 프린트 드라이버가 본 공개의 범주에 들도록 하므로, GDI 호출에 대한 참조는 비제한적인 것으로 받아들여져야 하고, 단지 설명의 목적상일 뿐이다.
GDI를 이용하여 프린트 드라이브를 구축하는데, 다수의 호출이 이용될 수 있다. 이하는 컨텐트를 여러 가지 레이어로 분리하는 것을 도와주는 다수의 호출을 기재한다. 호출들은 DrvXXX GDI API로서 통상 기재될 수 있다. 구체적으로는, 이들은 이하를 포함한다.
· DrvCopyBits
· DrvBitBlt
· DrvStretchBlt
· DrvStrokePath
· DrvFillPath
· DrvStrokeAndFillPath
· DrvLineTo
· DrvTextOut
· DrvAlphaBlend
· DrvGradientFill
· DrvPlgBlt
· DrvStretchBltROP
· DrvTransparentBlt
이들 호출들은 이하와 같이 포그라운드 생성 방법 및 백그라운드 생성 방법으로 분리된다.
o 포그라운드 생성 방법
삭제
ㆍ DrvStrokePath
ㆍ DrvLineTo
ㆍ DrvTextOut
ㆍ DrvBitBlt
o 백그라운드 생성 방법
ㆍ DrvCopyBits
ㆍ DrvBitBlt
ㆍ DrvStretchBlt
ㆍ DrvAlphaBlend
ㆍ DrvGradientFill
ㆍ DrvPlgBlt
ㆍ DrvStretchBltROP
ㆍ DrvTransparentBlt
ㆍ DrvFillPath
ㆍ DrvStrokeAndFillPath
그래픽 렌더러는 시간에 따라 변경된다는 것은 자명하다. 따라서, 상기 리스트는 예로서 주어지는 것이다. 다른 호출들은 본 기술 분야의 숙련자들에게 이용되거나 주지의 것이고 상기 제공한 그래픽 호출의 범위내로 간주됨이 자명하다.
프린팅 프로세스는 설명의 목적상 2개의 스테이지로 분리될 수 있다. 이들 2개의 스테이지들은 도 10의 좌측 및 우측 절반으로 표현된다. 제1 스테이지에서, 단계 1001에서 2개의 비트맵 버퍼가 생성된다. 2개의 비트맵은 선택자 레이어와 조합 백그라운드/포그라운드 레이어이다. 조합 레이어는 BGFG_SURFACE로서 지칭될 수 있고, 선택자 레이어는 SEL_SURFACE로서 지칭된다. 양쪽 비트맵이 전체 페이지를 커버한다. 단계 1002에서, 시스템은 수신된 호출 중 하나가 포그라운드 생성 DrvXXXX 호출인지 여부를 결정한다. 다르게는, BitBlt 호출과 반대되는 FillPath 및 StrokeandFillPath 호출은, 브러쉬가 솔리드 컬러이고 다양한 래스터 동작을 이용하는 경우에 이용될 수 있다. 예라면, 그 후 단계 1004에서, BGFG_SURFACE 및 SEL_SURFACE 상의 대응하는 EngXXXX 호출(GDI API의 일부)을 분리하여 이용함으로써 양쪽 BGFG_SURFACE 및 SEL_SURFACE에 대해 렌더링한다. 호출이 백그라운드 생성 DrvXXXX 호출이었다면(결정 단계 1002로부터 "아니오"로서 표현됨), 단계 1006에서, GDI 툴박스로부터 대응하는 EngXXX 호출을 이용하여 BGFG_SURFACE에 대해 렌더링한다.
또한, 각 DrvXXX 호출에 대해, 이하의 정보 중 적어도 일부를 포함하는 데이터 노드가 생성된다.
ㆍ DrvXXX 호출에 의해 영향을 받을 수 있는 경계 사각형 또는 영역
ㆍ DrvTextOut 호출에 대한 텍스트 및 라인 드로링의 컬러 값
ㆍ DrvXXX 호출의 타입을 식별하는 ID
뿐만 아니라, 각 노드는 제2 스테이지에서의 처리를 위해 백그라운드 요소 리스트(BGE_LIST) 또는 포그라운드 요소 리스트(FGE_LIST)에 부가된다. 프로세스 단계 1003 및 1005는 노드가 각 리스트로 푸싱될 수 있음을 도시하고 있다. 그러나, 이들 단계들의 위치가 단계 1004 및 1006의 이전 또는 이후 단계에 발생할 수 있으므로, 단계 1003 및 1005가 파선 박스로 도시되어 있다.
BGFG_SURFACE는 백그라운드 및 포그라운드 이미지에 이용되는 최고의 해상도와 동일한 해상도일 수 있다. 다르게는, BGFG_SURFACE의 해상도는 최종 이미지로서의 페이지 해상도와 동일한 해상도로 설정될 수 있다.
모든 DrvXXX 호출들이 처리된 후에 제2 스테이지가 시작된다. 이 스테이지에서, 3개의 레이어들을 위한 이미지들이 생성된다. 단계 1007에서, 프로세스는 백그라운드/포그라운드 리스트 내의 이미지들이 중첩하는지 여부를 결정한다. 예라면, 이미지들이 처리되어 MRC 프로세스(또는 프로세스들)에 의해 조합되는 이미지들에 부가된다. 이미지들이 중첩하지 않는다면, 프로세스는 단계 1009에서 이미지들을 선택 리스트로 푸시하려고 시도한다. 선택 이미지가 필요한 곳을 결정하기 위해, FGE_LIST내의 모든 이미지로 BGE_LIST 내의 각 이미지에 대한 교차 테스트가 수행된다. 포그라운드 요소와 백그라운드 요소가 교차하는 모든 영역(사각형 또는 기타)은 선택 이미지에 의해 어드레싱된다.
하나의 실시예에서, 프로세스는 가능한 한 많은 선택 레이어의 이미지들을 포그라운드 레이어로 배치하려고 시도한다. 다른 실시예에서, 프로세스는 모든 이미지의 면적 합을 최소로 유지하여 압축 크기를 감소시키고 압축, 압축해제 및 렌더링 단계에서의 성능을 향상시키려고 시도한다. 다른 실시예에서, 프로세스는 모든 레이어들에서 가장 작은 전체 이미지 개수를 가지도록 시도한다. 이들 실시예들은 조합되거나 분리되어 이용될 수 있다. 이들은 설명의 목적상 함께 설명된다.
단계 1010에서, 프로세스는 레이어 당 아이템이나 이미지의 개수를 감소시키려고 시도한다. 예를 들면, 동일한 컬러의 2개의 비 중첩 텍스트 이미지들이 조합될 수 있다.
단계 1010에서, 프로세스는 레이어들의 요소 개수를 줄이려고 시도한다. 여기에서, 동일한 레이어의 요소는 더 큰 요소들을 만들도록 함께 조합되어 큰 요소들이 된다. 이러한 단계는 리스트에 새로운 아이템을 유입시킨다는 것에 유의해야 한다. 이하는 요소를 조합하기 위한 다양한 접근법들을 리스팅한다. 하나 이상이 레이어들의 요소들을 그룹화하는 방법을 결정하는데 이용될 수 있다.
ㆍ 조합된 요소는 이하에 리스트된 다른 양태에 장점을 가져오지 않는 한, 다른 레이어들의 요소와 새로운 중첩을 발생시키는 것을 회피해야 한다.
ㆍ 조합된 요소의 면적은 개별적인 요소들의 합보다 훨씬 커서는 안된다. 임계값(예를 들면, 30%-40%)이 설정되어 비교되어 조합된 요소들이 너무 크게 되는 경우를 결정한다.
ㆍ 렌더링-특정 호출은 한정자(qualifier)를 가질 수 있다(예를 들면, DrvTextOut에 의해 생성된 포그라운드 요소들은 서로 다른 BPP 값들을 가지므로 다른 DrvXXX 호출에 의해 생성되는 dythemfd과 조합되어서는 안된다. 또한, DrvTextOut에 의해 생성된 포그라운드 요소 내에서는, 동일한 컬러의 요소들만이 조합될 수 있다).
페이지를 분해하는 방법을 결정한 후에는, 3개의 리스트들이 존재한다.
ㆍ BGE_LIST;
ㆍ SLE_LIST; 및
ㆍ FGE_LIST.
각 리스트는 페이지로부터 잘라내는 영역(예를 들면, 사각형 또는 다른 형태)을 기술하는 노드 리스트를 포함한다. 다른 실시예에서, 리스트들은 리스트내의 이미지가 최종 이미지 상으로 스케일링되는 방법을 기술하는 스케일 인자를 포함할 수 있다. 스케일 인자는 동일한 레이어 내라도 할지라도 다른 해상도로 각 요소 이미지를 저장하는 능력을 허용한다.
마지막으로, 여러 레이어들이 단계 1011에서 렌더링된다. 선택 이미지들과 교차하지 않는 백그라운드 요소 리스트 내의 각 요소에 대해, 이미지는 BGFG_SURFACE로부터 영역을 잘라냄으로써 형성되어 백그라운드 레이어에 배치될 수 있다. 선택 이미지와 교차하지 않는 포그라운드 요소 리스트내의 각 요소에 대해, 이미지는 SEL_SURFACE로부터 영역을 잘라냄으로써 형성되어 포그라운드 레이어에 부가될 수 있다. 선택 이미지들과 교차하는 백그라운드 및 포그라운드 리스트 내의 요소들에 대해, SEL_SURFACE 및 BGFG_SURFACE 양쪽을 이용하여 각 레이어에 이미지들이 생성된다.
예를 들면, 도 9b의 교차/화소별 비교 옵션을 참조하면, 선택 이미지와 교차하는 백그라운드 요소에 대해, 백그라운드 이미지는 BGFG_SURFACE로부터 영역을 잘라냄으로써 구축될 수 있다. 다음으로, 백그라운드 이미지내의 각 화소에 대해, 프로세스는 SEL_SURFACE 내의 대응하는 화소를 체크한다. SEL_SURFACE 내의 화소가 블랙이라면, 백그라운드 이미지의 화소값이 SEL_SURFACE내의 그 대응하는 화소가 화이트인 근처 백그라운드 화소로 대체된다. 선택 이미지와 교차하는 포그라운드 요소에 대해, 포그라운드 이미지는 BGFG_SURFACE로부터 영역을 잘라냄으로써 구축될 수 있다. 다음으로, 포그라운드 이미지의 각 화소에 대해, 프로세스는 SEL_SURFACE의 대응하는 화소를 체크한다. SEL_SURFACE의 화소가 화이트라면, 백그라운드 이미지의 화소값은 SEL_SURFACE의 그 대응하는 화소가 블랙인 근처 포그라운드 화소로 대체된다. 이미지들을 선택자 어레이로 푸시하고/하거나 레이어 당 이미지들의 개수를 감소시키는 장점은 결과적인 레이어들이 더 높은 효율로 압축될 수 있다는 점이다.
상기 언급한 바와 같이, 다양한 압축 기술이 다양한 이미지들을 압축하는데 이용될 수 있다. 예를 들면, 1bpp인 각 이미지에 대해, G4 압축을 이용하여 압축할 수 있다. 24bpp인 각 이미지에 대해, 본 기술분야에 주지된 바와 같이 JPEG를 이용하여 압축할 수 있다.
도 11은 이미지를 병합시키기 위한 프로세스를 도시하고 있다. 이미지들은 모두 함께 처리되거나 그룹들(여기에서는 "청크(chunk)")로 분리될 수 있다. 청크들내의 이미지들은 이미지 타입에 의해 그룹화될 수 있다. 다르게는, 청크들은 이들이 생성된 순서에 의해 그룹화될 수 있다. 청크들은 이미지들의 개수에 대해 소정의 최대치를 가질 수도 있고, 그렇지 않을 수도 있다.
도 11에서, 청크 1은 N개의 이미지들을 가지고 있다. 이미지들은 서로 근접도의 순서로 배열된다. 근접도는 도 13과 관련하여 이하에 설명된다. 근접도는 이미지들간의 물리적 거리로서 볼 수 있거나, 또는 병합의 목적상 이미지들의 서로의 근접도일 수도 있다. 2개의 이미지들이 중첩되면, 그 근접도 값은 "0"가 되어, 가장 낮은 근접도 값을 가지고 있고 병합되어야 된다는 것을 의미한다. 병합되어서는 안되는 이미지들은 1 이상의 근접도 값을 가지도록 설정될 수 있다. 임의의 근접도 단위가 이용될 수 있다는 것은 자명하다.
청크 1의 모든 이미지들이 서로 비교되고, 각 이미지 쌍들이 근접도 값의 측면에서 랭크된다. 도 11에서 N=5이면, 이미지 쌍들은 이하와 같다.
이미지 1, 이미지 2
이미지 1, 이미지 3
이미지 1, 이미지 4
이미지 1, 이미지 5
이미지 2, 이미지 3
이미지 2, 이미지 4
이미지 2, 이미지 5
이미지 3, 이미지 4
이미지 3, 이미지 5
이미지 4, 이미지 5
각 쌍에 대한 근접도가 결정되고, 청크 1에 대해 도 11에서 도면의 좌측에 도시된 바와 같이 쌍들이 순서화된다.
단계 1101에서, 제1 이미지 쌍에 대해, 프로세스는 임계값이 소정 임계값보다 작은 지 여부를 결정한다. 예라면, 이미지들은 단계 1102에서 병합되고, 나머지 이미지들에 대한 근접도가 재계산된다. 단계 1101에서 근접도가 임계값보다 크면, 단계 1104에서 병합이 중지될 수 있다. 예를 들면, 임계값은 낮은 근접도 값(이미지들이 병합되어야 하는 것을 의미함)과 높은 근접도 값(이미지들이 병합되어서는 안 된다는 것을 의미함) 사이의 임의의 값으로 설정될 수 있다. 임계값의 범위는 0.4-0.6이 될 수 있다. 유의할 점은, 임계값은 이미지 타입, 이미지 타입의 비율 및 다른 인자에 따라 상기 범위보다 높거나 낮을 수 있다는 점이다.
상기 설명한 바와 같이, 프로세스는 서로 근사한 이미지들을 함께 병합하려고 시도한다. 다른 장점은 MRC 오퍼레이션이 처리할 필요가 있는 결과적인 이미지들의 개수를 줄인다는 것이 달성될 수 있다는 것이다. 이 경우에, 이미지들이 단계 1101에서 이용된 임계값 미만의 근접도를 가지지 않더라도, 처리될 필요가 있는 이미지의 개수를 최소화하기 위해 청크당 이미지의 원하는 개수가 지정될 수 있다. 단계 1103은 청크내의 이미지의 개수가 청크내의 원하는 이미지의 개수보다 작은지 여부에 대한 결정을 나타낸다. 예를 들면, 원하는 이미지 개수는 4가 될 수 있다. 그래서, 임의의 2개의 이미지들간의 근접도 값이 높더라도, 이미지들은 여전히 병합되어(단계 1102) 결과적인 이미지 개수를 감소시키고, 결과적인 이미지 쌍의 근접도가 단계 1105에서 재계산된다.
도 12는 이미지 쌍을 통해 단계적으로 진행되는 병합 기능 및 결과적인 이미지들의 예를 도시하고 있다. 단일 이미지들은 각각 이미지 영역 1-N(1201-1205)으로 표현된다. 병합 프로세스(1206)는 이미지들(1201-1205) 사이에서 이동된다. 임의의 2개의 이미지들의 병합은 결과적인 이미지(이미지 영역 A, 단일 이미지이며 백그라운드 이미지로서 다뤄짐)가 임의의 MRC 이미지들로 나타나지 않는 단순한 병합 프로세스(프로세스(1207))일 수 있다. 다르게는, 결과적인 병합은 프로세스(1208)에 도시된 바와 같이 MRC와의 복잡한 병합일 수도 있다. MRC 병합(1208)으로부터 2가지 타입의 병합 결과가 있다. 제1(1211)은 백그라운드 및 선택자 레이어들이 생성되는 이미지 영역 C이다. 제3(1212)은 백그라운드, 선택자 및 포그라운드 레이어들이 생성되는 이미지 영역 D이다. 단일(백그라운드) 이미지, 백그라운드 및 선택자를 가지는 MRC, 및 백그라운드, 선택자 및 포그라운드 레이어를 가지는 MRC의 이러한 순서화는 어느 병합이 수행될지를 결정하기 위한 우선순위이다. 즉, 백그라운드, 선택자 및 포그라운드 레이어를 가지는 MRC 파일보다는 단일 백그라운드 레이어를 가지는 MRC 파일을 생성하는 것이 우선한다.
도 13은 임의의 2개의 이미지 영역들에 대한 근접도를 결정하기 위한 프로세스를 도시하고 있다. 단계 1303에서 이미지 영역 A(1301) 및 B(1302)의 중첩이 체크된다. 이미지들이 중첩되면, 근접도는 단계 1307에서 0으로 설정된다. 그렇지 않으면, 프로세스는 단계 1304에서 양쪽 이미지들이 현재 MRC 이미지들인지 여부를 결정한다. 양쪽 이미지들이 MRC 이미지들인 경우, 이미지들의 근접도는 0과 높은 값(여기에서 높은 값은 1임) 사이의 값으로 설정된다(단계 1308). 이 중간값은 모든 상황에 대해 고정값이 될 수도 있다(예를 들면, 0.5). 다르게는, 값이 비율로서 설정될 수 있다. 하나의 예에서, 비율은 이미지 영역들을 조합하는 효율의 비율일 수 있다. 환언하면, 비율은 조합된 이미지들의 전체 면적으로 나눈 병합 이미지의 미사용 공간이 될 수 있다. 이러한 비율은 단계 1308에서 수학식으로 도시되어 있다.
도 14는 미사용 공간을 결정하는 예를 도시하고 있다. 도 14에서, 텍스트 이미지 A(1401)는 텍스트 이미지 B(1402)와 조합을 위한 것으로 간주된다. 이러한 예에서, 참조부호 1401 및 1402의 경계 영역은 사각형으로 도시되어 있다. 2개 영역들(1401, 1402)의 조합된 이미지 영역은 점선으로 경계지어 도시된 미사용 공간(1403)을 낳는다. 다른 실시예에서, 미사용 공간은 사각형 그리드에 기초할 수 있고, 결과적으로 1401 및 1402를 포함한 전체 영역 내에, 점선으로 둘러싸인 영역(1403) 및 외곽 영역들(1404, 1405)을 낳는다. 제1 예에서, 미사용 공간은 영역(1403)을 포함한다. 제2 예에서, 미사용 공간은 미사용 영역(1403, 1404, 및 1405)을 포함한다.
도 13을 다시 참조하면, 양쪽 이미지들이 모두 현재 MRC 이미지들이 아니라면, 프로세스는 단계 1305에서 양쪽 이미지들이 텍스트/라인 이미지인지 여부를 결정한다. 예이고, 이미지들이 동일한 컬러라면(단계 1306), 근접도는 단계 1308에서 상기 설명한 바와 같이 설정된다.
텍스트/라인 이미지들이 동일한 컬러가 아니라면, 근접도가 단계 1309에 도시된 바와 같이 하이(예를 들면, 1)로 설정되도록 MRC가 이용될 필요가 있다. 다르게는, 근접도는 단계1310에 도시된 바와 같이 하이로 설정되고, 여기에서 근접도는 조합된 이미지들의 전체 면적으로 나눈 2개 이미지들의 병합에 의해 생성된 새로운 MRC 영역에 계수를 곱한 값으로 설정된다.
단계 1305의 결과가 아니오이면, 근접도가 단계 1310에서 설정된다. 다르게는, 단계 1309와 같이 근접도를 설정할 수도 있다.
일단 병합된 파일이 생성되면, 조합된 이미지들에서 원래 이미지들에 의해 소비되는 공간량이 기억될 수 있다. 병합된 이미지에 대한 공간을 카운팅하는 다른 방법들이 있다. 도 15a는 각각이 크기가 3개 유닛인 3개의 이미지들(1-3)을 도시하고 있다. 임의의 공간 지정은 센티미터 제곱, 밀리미터 제곱, 인치 제곱, 화소 등을 포함하여 이용될 수 있다는 것은 자명하다. 이미지 1은 이미지 3과 중첩하고, 이미지 2는 이미지 3과 중첩한다. 도 15b에서, 참조부호 1501은 이미지 1과 이미지 3의 조합을 도시하고 있다. 조합된 이미지 1+3과 이미지 2와의 병합 이후에, 결과적인 조합은 참조부호 1502로 표현된다. 참조부호 1502에서, 실제로 이용되는 유닛들의 개수는 7이다. 그러나, 이 개수는 이미지 1 및 이미지 3의 조합(1503)을 고려하고 이미지 2(1504)의 크기를 부가함으로써 근사될 수 있고, 결국은 8개 유닛들의 근사 크기가 된다.
도 15c는 또 다른 표현을 도시하고 있다. 여기에서, 이미지 1 및 이미지 2가 우선 조합되어 이미지(1505)가 된다. 이미지 3을 부가하여 결국 이미지(1506)이 되고, 이미지 2의 중앙 유닛 및 이미지 3의 맨 아래 유닛이 각각 카운트되지 않고 조합되므로 크기는 다시 7개 유닛들이 된다. 다르게는, 조합된 이미지에서 사용된 공간의 이러한 크기값은 이미지 1 및 이미지 2의 이미지(1507)와 이미지 3(1508)을 포함하여, 전체 9개 유닛들이 된다. 또 다른 실시예에서, 병합된 이미지의 크기는 조합된 이미지의 전체 크기로 상한이 정해질 수 있다.
본 발명을 실시하는 시스템 및 방법 예들이 예로서 도시되었지만, 물론 본 발명은 이들로 제한되지 않는다는 것을 잘 알고 있을 것이다. 본 기술분야의 숙련자라면 상기 설명을 감안하여 변형을 만들 수 있다. 예를 들면, 상기 언급한 실시예들의 각 구성요소들은 단독으로 활용되거나 다른 실시예들의 구성요소들과 조합하여 활용될 수도 있다. 본 발명은 첨부된 특허청구범위를 이용하여 정의되지만, 이들 특허청구범위는 본 발명이 본 명세서상에 기재된 임의의 조합 또는 서브 조합의 요소들 및 단계들을 포함하도록 한다는 점에서 예시적이다. 따라서, 다양한 조합들 또는 서브 조합들에서 상세한 설명, 특허청구 범위 및 도면을 포함하는 명세서로부터 하나 이상의 구성요소들을 통합하는, 본 발명을 정의하기 위한 임의의 개 수의 다른 조합들이 있을 수 있다. 본 기술분야의 숙련자라면 본 명세서에 비추어, 본 발명의 양태의 다른 조합들은 단독 또는 여기에 정의된 구성요소 또는 단계들과 조합하여, 본 발명의 변형 또는 대체로서 또는 본 발명의 일부로서 활용될 수 있다는 것을 잘 알고 있을 것이다. 여기에 포함된 본 발명의 상세한 설명은 모든 그러한 변형과 대체를 포함한다는 것은 자명하다.
본 발명에 따르면, MRC 파일에 있어서의 미사용 공간을 최소화할 수 있다.

Claims (23)

  1. 삭제
  2. 혼합된 래스터 컨텐트(mixed raster content : MRC) 이미지를 형성하는 방법에 있어서,
    어플리케이션으로부터 파일을 MRC 이미지로서 생성하라는 명령을 수신하는 단계;
    프린트 드라이버를 이용하여 상기 MRC 이미지를 생성하는 단계;
    선택자 레이어를 생성하는 단계;
    조합된 포그라운드/백그라운드 레이어(foreground/background layer)를 생성하는 단계; 및
    아이템 리스트를 생성하는 단계 - 상기 리스트는 포그라운드 레이어와, 백그라운드 레이어 및 선택자 레이어에 대한 아이템 리스트를 포함함 -
    를 포함하는 혼합된 래스터 컨텐트 이미지 형성 방법.
  3. 제2항에 있어서,
    상기 리스트를 처리하는 단계; 및
    백그라운드 레이어 및 포그라운드 레이어를 생성하는 단계
    를 더 포함하는 혼합된 래스터 컨텐트 이미지 형성 방법.
  4. 혼합된 래스터 컨텐트 파일을 생성하기 위한 방법에 있어서,
    텍스트 또는 라인 드로잉(drawing)을 처리하는 단계;
    상기 텍스트 또는 라인 드로잉을 선택자 레이어에 부가하는 단계;
    포그라운드, 선택자 및 백그라운드 이미지의 셋트를 형성하도록 이미지의 리스트를 처리하는 단계;
    상기 텍스트의 폰트의 컬러 또는 상기 라인의 컬러를 이용하여 상기 폰트의 상기 컬러 또는 상기 라인의 상기 컬러의 영역을 포그라운드 레이어에 부가하는 단계; 및
    그림을 백그라운드 레이어에 부가하는 단계
    를 포함하는 혼합된 래스터 컨텐트 파일을 생성하기 위한 방법.
  5. 혼합된 래스터 컨텐트 파일을 합성 이미지로 렌더링하기 위한 방법에 있어서,
    화소가 선택자 레이어에 있는지 판정하는 단계;
    상기 화소가 화이트인지 판정하는 단계;
    상기 화소가 포그라운드 레이어에 있는지 판정하는 단계; 및
    상기 판정하는 단계들에서, 상기 화소가 상기 선택자 레이어에 있고, 상기 화소가 상기 선택자 레이어에서 화이트가 아니며, 상기 화소가 상기 포그라운드 레이어에 있는 것으로 판정된 경우에, 상기 포그라운드 레이어로부터의 상기 화소의 컬러를 이용하여 상기 조합 이미지 내의 대응하는 화소를 페인팅하는 단계
    를 포함하는 혼합된 래스터 컨텐트 파일을 합성 이미지로 렌더링하기 위한 방법.
  6. 제5항에 있어서,
    상기 선택자 레이어에 화소가 없는 것으로 판정된 경우, 대응하는 화소가 상기 포그라운드 레이어에 존재하는지 여부를 판정하는 단계; 및
    상기 화소가 상기 포그라운드 레이어에 존재하는 것으로 판정된 경우, 상기 포그라운드 레이어로부터의 상기 대응하는 화소의 컬러를 이용하여 상기 합성 이미지 내의 대응하는 화소를 페인팅하고, 상기 화소가 상기 포그라운드 레이어에 존재하지 않는 것으로 판정된 경우, 백그라운드 레이어의 대응하는 화소의 컬러를 이용하는 단계
    를 더 포함하는 혼합된 래스터 컨텐트 파일을 합성 이미지로 렌더링하기 위한 방법.
  7. 혼합된 래스터 컨텐트 데이터 구조를 구비하는 컴퓨터 판독가능 매체에 있어서, 상기 혼합된 래스터 컨텐트 데이터 구조는
    백그라운드 레이어;
    포그라운드 레이어; 및
    선택자 레이어
    를 포함하고,
    상기 선택자 레이어는 2개 이상의 이미지를 포함하는 컴퓨터 판독가능 매체.
  8. 합성 이미지로서 렌더링될 수 있는 혼합된 래스터 컨텐트 데이터 구조를 구비하는 컴퓨터 판독가능 매체에 있어서, 상기 혼합된 래스터 컨텐트 데이터 구조는,
    백그라운드 레이어;
    포그라운드 레이어; 및
    선택자 레이어
    를 포함하고,
    상기 선택자 레이어는 상기 합성 이미지보다 작은 이미지를 포함하는 컴퓨터 판독가능 매체.
  9. 혼합된 래스터 컨텐트 데이터 구조를 구비하는 컴퓨터 판독가능 매체에 있어서, 상기 혼합된 래스터 컨텐트 데이터 구조는
    백그라운드 레이어;
    포그라운드 레이어; 및
    선택자 레이어
    를 포함하고,
    상기 포그라운드 레이어는 컬러 파렛트(palettes)를 갖는 하나 이상의 이미지를 포함하는 컴퓨터 판독가능 매체.
  10. 제9항에 있어서, 상기 하나 이상의 이미지는 서로 다른 컬러 깊이를 가지는 2개 이상의 이미지를 포함하는 컴퓨터 판독가능 매체.
  11. 혼합된 래스터 컨텐트(MRC) 이미지를 형성할 수 있는 프로그램이 저장된 컴퓨터 판독가능 매체에 있어서, 상기 프로그램은,
    어플리케이션으로부터 파일을 MRC 이미지로서 생성하라는 명령을 수신하는 단계; 및
    프린트 드라이버를 이용하여 상기 MRC 이미지를 생성하는 단계
    를 포함하는 컴퓨터 판독가능 매체.
  12. 제11항에 있어서, 상기 프로그램은,
    선택자 레이어를 생성하는 단계;
    조합된 포그라운드/백그라운드 레이어를 렌더링하는 단계; 및
    아이템 리스트를 생성하도록 상기 파일의 컨텐트를 처리하는 단계 - 상기 리스트는 포그라운드 레이어에 대한 아이템 리스트 및 백그라운드 레이어에 대한 아이템 리스트를 포함함 -
    를 더 포함하는 컴퓨터 판독가능 매체.
  13. 제12항에 있어서, 상기 프로그램은,
    상기 리스트를 처리하는 단계; 및
    백그라운드 레이어 및 포그라운드 레이어를 생성하는 단계
    를 더 포함하는 컴퓨터 판독가능 매체.
  14. 혼합된 래스터 컨텐트 파일을 생성하는 프로그램이 저장된 컴퓨터 판독가능 매체에 있어서, 상기 프로그램은,
    텍스트 또는 라인 드로잉을 처리하는 단계;
    상기 텍스트 또는 라인 드로잉을 선택자 레이어에 부가하는 단계;
    상기 텍스트의 폰트의 컬러 또는 상기 라인의 컬러를 이용하여 상기 폰트의 상기 컬러 또는 상기 라인의 상기 컬러의 영역을 포그라운드 레이어에 부가하는 단계; 및
    그림을 백그라운드 레이어에 부가하는 단계
    를 포함하는 컴퓨터 판독가능 매체.
  15. 혼합된 래스터 컨텐트 파일을 합성 이미지로 렌더링하는 프로그램이 저장된 컴퓨터 판독가능 매체에 있어서, 상기 프로그램은,
    화소가 선택자 레이어에 있는지 판정하는 단계;
    상기 화소가 화이트인지 판정하는 단계;
    상기 화소가 포그라운드 레이어에 있는지 판정하는 단계; 및
    상기 판정하는 단계들에서, 상기 화소가 상기 선택자 레이어에 있고, 상기 화소가 상기 선택자 레이어에서 화이트가 아니며, 상기 화소가 상기 포그라운드 레이어에 있는 것으로 판정된 경우에, 상기 포그라운드 레이어로부터의 상기 화소의 컬러를 이용하여 상기 합성 이미지 내의 대응하는 화소를 페인팅하는 단계
    를 포함하는 컴퓨터 판독가능 매체.
  16. 제15항에 있어서, 상기 프로그램은,
    상기 선택자 레이어에 화소가 없는 것으로 판정된 경우, 대응하는 화소가 상기 포그라운드 레이어에 존재하는지 판정하는 단계; 및
    상기 화소가 상기 포그라운드 레이어에 존재하는 것으로 판정된 경우, 상기 포그라운드 레이어로부터의 상기 대응하는 화소의 컬러를 이용하여 상기 합성 이미지 내의 대응하는 화소를 페인팅하고, 상기 화소가 상기 포그라운드 레이어에 존재하지 않는 것으로 판정된 경우, 백그라운드 레이어의 대응하는 화소의 컬러를 이용하는 단계
    를 더 포함하는 컴퓨터 판독가능 매체.
  17. 혼합된 래스터 컨텐트 타입의 데이터 구조가 저장된 컴퓨터 판독가능 매체에 있어서, 상기 데이터 구조는,
    화소 당 1비트의 컬러 깊이를 가지는 선택자 레이어-소정의 컬러가 상기 선택자 레이어와 연관되고, 상기 선택자 레이어가 컬러 텍스트를 표현함-를 포함하는 컴퓨터 판독가능 매체.
  18. 이미지를 렌더링하는 방법에 있어서,
    각 이미지에 대한 경계 영역을 결정하는 단계;
    적어도 2개의 리스트를 생성하는 단계-상기 적어도 2개의 리스트 중, 제1 리스트는 이미지들간 중첩이 없는 영역을 반영하고, 제2 리스트는 중첩을 가지는 영역을 반영함-;
    각 영역에 의해 미중첩 영역을 렌더링하는 단계; 및
    중첩 영역을 화소별로 렌더링하는 단계
    를 포함하는 이미지 렌더링 방법.
  19. 합성 이미지를 렌더링하는 방법에 있어서,
    각 이미지에 대한 경계 영역을 결정하는 단계; 및
    4개의 리스트를 생성하는 단계-상기 4개의 리스트 중, 제1 리스트는 이미지들간 중첩이 없는 영역을 반영하고, 제2 리스트는 선택자 레이어 영역이 포그라운드 레이어 영역과 중첩되지 않는 영역을 반영하며, 제3 리스트는 선택자와 포그라운드 레이어 영역만이 중첩되는 영역을 반영하고, 제4 리스트는 백그라운드, 선택자 및 포그라운드 레이어 영역이 중첩되는 영역을 반영함-
    를 포함하는 합성 이미지 렌더링 방법.
  20. 제19항에 있어서,
    상기 포그라운드 레이어 영역이 상기 제1 리스트에 존재하는 경우에, 상기 제1 리스트로부터의 상기 포그라운드 레이어 영역으로 상기 합성 이미지를 채우고, 상기 포그라운드 레이어 영역이 상기 제1 리스트에 존재하지 않는 경우, 백그라운드 레이어 영역으로 상기 합성 이미지를 채우는 단계를 더 포함하는 합성 이미지 렌더링 방법.
  21. 제19항에 있어서,
    상기 제2 리스트가 비-화이트(non-white) 선택자 레이어 영역을 포함하는 경우, 상기 제2 리스트로부터의 상기 선택자 레이어 영역으로 상기 합성 이미지를 채우는 단계를 더 포함하는 합성 이미지 렌더링 방법.
  22. 제19항에 있어서,
    상기 제3 리스트가 비-화이트 선택자 레이어 영역을 포함하는 경우, 상기 제3 리스트로부터의 상기 선택자 레이어 영역으로 상기 합성 이미지를 채우고, 상기 제3 리스트가 비-화이트 선택자 레이어 영역을 포함하지 않는 경우, 상기 포그라운드 레이어 영역으로 상기 합성 이미지를 채우는 단계를 더 포함하는 합성 이미지 렌더링 방법.
  23. 제19항에 있어서,
    상기 선택자 레이어가 비-화이트인 경우, 상기 포그라운드 레이어 영역으로 상기 합성 이미지를 채우고, 상기 선택자 레이어가 화이트인 경우, 상기 백그라운드 레이어 영역으로 상기 합성 이미지를 채우는 단계를 더 포함하는 합성 이미지 렌더링 방법.
KR1020030019791A 2002-04-30 2003-03-29 혼합된 래스터 컨텐트 이미지 형성 방법, 혼합된 래스터 컨텐트 파일 생성 방법, 혼합된 래스터 컨텐트 파일을 합성 이미지로 렌더링하기 위한 방법, 컴퓨터 판독가능 매체, 이미지 렌더링 방법 및 합성 이미지 렌더링 방법 KR100935267B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/134,636 US7110137B2 (en) 2002-04-30 2002-04-30 Mixed raster content files
US10/134,636 2002-04-30

Publications (2)

Publication Number Publication Date
KR20030085472A KR20030085472A (ko) 2003-11-05
KR100935267B1 true KR100935267B1 (ko) 2010-01-06

Family

ID=22464255

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030019791A KR100935267B1 (ko) 2002-04-30 2003-03-29 혼합된 래스터 컨텐트 이미지 형성 방법, 혼합된 래스터 컨텐트 파일 생성 방법, 혼합된 래스터 컨텐트 파일을 합성 이미지로 렌더링하기 위한 방법, 컴퓨터 판독가능 매체, 이미지 렌더링 방법 및 합성 이미지 렌더링 방법

Country Status (20)

Country Link
US (2) US7110137B2 (ko)
EP (1) EP1359545B1 (ko)
JP (1) JP4299034B2 (ko)
KR (1) KR100935267B1 (ko)
CN (1) CN1293464C (ko)
AT (1) ATE328335T1 (ko)
AU (1) AU2003203331B2 (ko)
BR (1) BR0301147A (ko)
CA (1) CA2423528C (ko)
DE (1) DE60305573T2 (ko)
DK (1) DK1359545T3 (ko)
ES (1) ES2265532T3 (ko)
HK (1) HK1058849A1 (ko)
MX (1) MXPA03002793A (ko)
MY (1) MY144550A (ko)
NO (1) NO329337B1 (ko)
PL (1) PL359440A1 (ko)
RU (1) RU2360288C2 (ko)
TW (1) TWI322387B (ko)
ZA (1) ZA200302351B (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022191595A1 (ko) * 2021-03-10 2022-09-15 삼성전자 주식회사 이미지의 알파 값을 이용하여 이미지를 출력하는 전자 장치 및 그 제어 방법

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8064090B2 (en) * 2002-08-28 2011-11-22 Xmpie (Israel) Ltd. System and method for processing variable print documents
EP1546917B1 (en) * 2002-08-28 2015-11-18 Xmpie (Israel) Ltd. Apparatus and method for processing variable print documents
KR100910974B1 (ko) * 2002-10-02 2009-08-05 엘지전자 주식회사 고밀도 광디스크의 그래픽 데이터 관리방법
US20040123247A1 (en) * 2002-12-20 2004-06-24 Optimost Llc Method and apparatus for dynamically altering electronic content
JP2004260273A (ja) * 2003-02-24 2004-09-16 Oki Data Corp 画像形成装置
US20050222687A1 (en) * 2004-04-02 2005-10-06 Gordana Vunjak-Novakovic Cartilage implant assembly and method for implantation
KR100538224B1 (ko) * 2003-06-09 2005-12-21 삼성전자주식회사 잉크 젯 프린터의 스캔 및 인쇄 방법 및 장치
JP4125208B2 (ja) * 2003-09-29 2008-07-30 キヤノン株式会社 画像処理装置及び画像処理方法
JP4049136B2 (ja) * 2004-08-10 2008-02-20 ブラザー工業株式会社 画像処理装置及びプログラム
GB2421106A (en) * 2004-12-07 2006-06-14 Hewlett Packard Development Co A method and apparatus for preparing variable-data documents for publishing
EP1670257B1 (en) * 2004-12-10 2018-09-26 Ricoh Company, Ltd. Compressing a mutlivalue image with control of memory space requirement
US7880925B2 (en) * 2005-08-02 2011-02-01 Kabushiki Kaisha Toshiba Apparatus and method for generating an image file with a color layer and a monochrome layer
JP4606298B2 (ja) * 2005-10-18 2011-01-05 シャープ株式会社 画像処理装置、画像処理方法、および画像処理プログラム
US7730398B2 (en) 2005-10-25 2010-06-01 Research In Motion Limited Image stitching for mobile electronic devices
US7995075B2 (en) * 2006-03-02 2011-08-09 Mediatek Inc. Display data extraction methods, devices and computer systems utilizing the same
JP4764231B2 (ja) 2006-03-31 2011-08-31 キヤノン株式会社 画像処理装置、制御方法、コンピュータプログラム
CN100538620C (zh) * 2006-04-29 2009-09-09 光宝科技股份有限公司 打印方法及打印对象控制装置
CN100545831C (zh) * 2006-09-27 2009-09-30 北京大学 一种透明页面的光栅化处理方法及装置
CN100576238C (zh) * 2006-09-30 2009-12-30 北京大学 一种光栅图像处理方法和装置
KR101282030B1 (ko) * 2007-01-26 2013-07-04 삼성전자주식회사 데이터의 보안 전송을 위한 화상형성장치 및 그 전송방법
JP4914318B2 (ja) * 2007-09-14 2012-04-11 株式会社リコー 画像処理装置、画像処理システム、画像処理方法、プログラム、および記録媒体
US8218887B2 (en) 2007-09-28 2012-07-10 Abbyy Software, Ltd. Enhanced method of multilayer compression of PDF (image) files using OCR systems
US8619083B2 (en) * 2009-01-06 2013-12-31 Microsoft Corporation Multi-layer image composition with intermediate blending resolutions
US8339670B2 (en) * 2009-03-30 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for rendering data based on graphic-list partitioning
US8411319B2 (en) * 2009-03-30 2013-04-02 Sharp Laboratories Of America, Inc. Methods and systems for concurrent rendering of graphic-list elements
US20100245918A1 (en) * 2009-03-30 2010-09-30 Nguyen Uoc H Methods and Systems for Rendering Data
US20100245889A1 (en) * 2009-03-30 2010-09-30 Nguyen Uoc H Methods and Systems for Rendering Data
US8339671B2 (en) * 2009-03-30 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for rendering data by partitioning a graphics list
US8339653B2 (en) * 2009-03-30 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for rendering data based on overlap characteristics
US8339672B2 (en) * 2009-03-30 2012-12-25 Sharp Laboratories Of America, Inc. Methods and systems for rendering data using graphic-list partitions and associated rendering processors
AU2009202377A1 (en) * 2009-06-15 2011-01-06 Canon Kabushiki Kaisha Combining overlapping objects
JP2011040970A (ja) * 2009-08-10 2011-02-24 Canon Inc データ処理装置、および、データ処理方法
JP5434555B2 (ja) * 2009-12-14 2014-03-05 富士ゼロックス株式会社 画像情報処理装置及びプログラム
US20120092480A1 (en) * 2010-05-28 2012-04-19 Putman Matthew C Unique digital imaging method employing known background
US20120127198A1 (en) * 2010-11-22 2012-05-24 Microsoft Corporation Selection of foreground characteristics based on background
KR101868637B1 (ko) * 2012-02-16 2018-06-18 삼성전자주식회사 이미지 파일의 인코딩 및 디코딩 방법, 기계로 읽을 수 있는 저장 매체 및 멀티미디어 장치
TWI505203B (zh) * 2012-11-02 2015-10-21 Avisonic Technology Corp 產生車用影像的影像處理方法及影像處理裝置
JP5886265B2 (ja) * 2013-11-28 2016-03-16 シャープ株式会社 携帯端末装置、プログラム、及び記録媒体
US10268698B2 (en) 2014-11-21 2019-04-23 Adobe Inc. Synchronizing different representations of content
CN106157341B (zh) * 2015-03-30 2019-05-14 阿里巴巴集团控股有限公司 生成合成图片的方法及装置
DE102016204044A1 (de) * 2016-03-11 2017-09-14 Bayerische Motoren Werke Aktiengesellschaft Verfahren und head-up-display zum perspektivischen transformieren und anzeigen eines bildinhalts sowie fahrzeug
CN108376416A (zh) * 2018-01-16 2018-08-07 天津大学 一种图像生成方法以及装置
CN108924557B (zh) * 2018-06-11 2022-02-08 海信视像科技股份有限公司 图像处理方法、装置、电子设备及存储介质
US11704843B2 (en) * 2021-03-03 2023-07-18 Adobe Inc. Advanced application of color gradients to text

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000175052A (ja) * 1998-12-07 2000-06-23 Xerox Corp ピクセルマップ表現の処理方法及び装置
JP2001136361A (ja) * 1999-11-01 2001-05-18 Canon Inc 画像通信装置およびその方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5778092A (en) * 1996-12-20 1998-07-07 Xerox Corporation Method and apparatus for compressing color or gray scale documents
US6400844B1 (en) * 1998-12-02 2002-06-04 Xerox Corporation Method and apparatus for segmenting data to create mixed raster content planes
US6324305B1 (en) * 1998-12-22 2001-11-27 Xerox Corporation Method and apparatus for segmenting a composite image into mixed raster content planes
US6373981B1 (en) * 1998-12-21 2002-04-16 Xerox Corporation Method and apparatus for segmenting data to create mixed raster content planes
JP2000175053A (ja) * 1998-12-07 2000-06-23 Xerox Corp 文書の圧縮ピクセルマップ表現を表す混合ラスタコンテントプレ―ンの処理方法
US6608928B1 (en) * 1999-11-03 2003-08-19 Xerox Corporation Generic pre-processing of mixed raster content planes
US6633670B1 (en) * 2000-03-31 2003-10-14 Sharp Laboratories Of America, Inc. Mask generation for multi-layer image decomposition
US6701012B1 (en) * 2000-07-24 2004-03-02 Sharp Laboratories Of America, Inc. Out-of-layer pixel generation for a decomposed-image layer
US6941014B2 (en) * 2000-12-15 2005-09-06 Xerox Corporation Method and apparatus for segmenting an image using a combination of image segmentation techniques
US7027647B2 (en) * 2001-12-31 2006-04-11 Hewlett-Packard Development Company, L.P. Coder matched layer separation for compression of compound documents
US6941024B2 (en) * 2002-01-14 2005-09-06 Hewlett-Packard Development Company, L.P. Coder matched layer separation and interpolation for compression of compound documents

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000175052A (ja) * 1998-12-07 2000-06-23 Xerox Corp ピクセルマップ表現の処理方法及び装置
JP2001136361A (ja) * 1999-11-01 2001-05-18 Canon Inc 画像通信装置およびその方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022191595A1 (ko) * 2021-03-10 2022-09-15 삼성전자 주식회사 이미지의 알파 값을 이용하여 이미지를 출력하는 전자 장치 및 그 제어 방법

Also Published As

Publication number Publication date
JP2003331298A (ja) 2003-11-21
CN1455332A (zh) 2003-11-12
HK1058849A1 (en) 2004-06-04
DE60305573D1 (de) 2006-07-06
ZA200302351B (en) 2004-03-10
PL359440A1 (en) 2003-11-03
MY144550A (en) 2011-09-30
ES2265532T3 (es) 2007-02-16
DK1359545T3 (da) 2006-09-25
EP1359545A1 (en) 2003-11-05
BR0301147A (pt) 2004-08-17
NO20031441D0 (no) 2003-03-28
DE60305573T2 (de) 2006-11-02
ATE328335T1 (de) 2006-06-15
US20030202212A1 (en) 2003-10-30
CN1293464C (zh) 2007-01-03
TWI322387B (en) 2010-03-21
MXPA03002793A (es) 2005-02-14
US7110137B2 (en) 2006-09-19
US20070013951A1 (en) 2007-01-18
AU2003203331B2 (en) 2008-10-30
EP1359545B1 (en) 2006-05-31
JP4299034B2 (ja) 2009-07-22
CA2423528A1 (en) 2003-10-30
NO20031441L (no) 2003-10-31
RU2360288C2 (ru) 2009-06-27
TW200306500A (en) 2003-11-16
KR20030085472A (ko) 2003-11-05
NO329337B1 (no) 2010-09-27
AU2003203331A1 (en) 2003-11-20
CA2423528C (en) 2011-03-22

Similar Documents

Publication Publication Date Title
KR100935267B1 (ko) 혼합된 래스터 컨텐트 이미지 형성 방법, 혼합된 래스터 컨텐트 파일 생성 방법, 혼합된 래스터 컨텐트 파일을 합성 이미지로 렌더링하기 위한 방법, 컴퓨터 판독가능 매체, 이미지 렌더링 방법 및 합성 이미지 렌더링 방법
US20080273218A1 (en) Image Processing Apparatus, Control Method Thereof, and Program
US8237727B2 (en) Image processing apparatus and method
US7697772B2 (en) Apparatus, method and computer program product for performing image compression of image data
JP4463476B2 (ja) 複数領域2レイヤフォーマットを用いた複合文書画像圧縮
US20090016647A1 (en) Image processing apparatus and control method thereof
EP1955257A2 (en) System to print artwork containing transparency
US20100067023A1 (en) Image processing apparatus, image processing method and program
EP2109304A1 (en) Color management method, module, and program product, and printer ussing said method
JP4338856B2 (ja) 編集コマンドを提供する方法およびシステム
US6992789B2 (en) Method, system, and program for managing a multi-page document
JP4747780B2 (ja) 画像処理装置、画像処理方法、及び画像処理プログラム
JP2007245723A (ja) ドキュメント・レンダリング・システム、方法およびプログラム
CN1333519A (zh) 用于生成光栅对象的方法、系统、程序和数据结构
US7286142B2 (en) System and method for optimising halftoning printer performance
US8749813B2 (en) Methods, devices and systems for encoding graphical primitives
JP2010171971A (ja) 画像形成装置、そのシステム及びその制御方法
JP4375199B2 (ja) 画像処理装置およびプログラム
US10839562B2 (en) Methods and systems for enabling object attribute driven super resolution encoding
US20060012609A1 (en) Methods and system for processing image data
JP2006040161A (ja) 画像処理装置及びプログラム
JP2003036445A (ja) 画像処理装置
JP2007019886A (ja) 画像処理装置、方法及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
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: 20121119

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131115

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141117

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151118

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161123

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171117

Year of fee payment: 9

LAPS Lapse due to unpaid annual fee