KR100937542B1 - 세그먼트된 계층화 이미지 시스템 - Google Patents

세그먼트된 계층화 이미지 시스템 Download PDF

Info

Publication number
KR100937542B1
KR100937542B1 KR1020030018634A KR20030018634A KR100937542B1 KR 100937542 B1 KR100937542 B1 KR 100937542B1 KR 1020030018634 A KR1020030018634 A KR 1020030018634A KR 20030018634 A KR20030018634 A KR 20030018634A KR 100937542 B1 KR100937542 B1 KR 100937542B1
Authority
KR
South Korea
Prior art keywords
mask
image
foreground
background
document
Prior art date
Application number
KR1020030018634A
Other languages
English (en)
Other versions
KR20030084591A (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
Priority claimed from US10/133,558 external-priority patent/US7164797B2/en
Priority claimed from US10/133,939 external-priority patent/US7392472B2/en
Priority claimed from US10/133,842 external-priority patent/US7263227B2/en
Priority claimed from US10/180,771 external-priority patent/US7110596B2/en
Priority claimed from US10/180,169 external-priority patent/US7120297B2/en
Priority claimed from US10/180,649 external-priority patent/US7024039B2/en
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20030084591A publication Critical patent/KR20030084591A/ko
Application granted granted Critical
Publication of KR100937542B1 publication Critical patent/KR100937542B1/ko

Links

Images

Classifications

    • 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
    • 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
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/187Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a scalable video layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/30Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability
    • H04N19/33Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using hierarchical techniques, e.g. scalability in the spatial domain

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)
  • Compression Of Band Width Or Redundancy In Fax (AREA)
  • Image Processing (AREA)

Abstract

문서 이미지를 인코딩 및 디코딩하는 시스템 및 방법이 개시된다. 문서 이미지는 마스크에 따라 다수의 층으로 분할된다. 다수의 층은 비-바이너리 형태이다. 각각의 층은 전체 문서 이미지의 보다 나은 압축을 위해서 별도로 처리 및 압축될 수 있다. 마스크는 문서 이미지로부터 발생된다. 문서 이미지의 마스크 및 다수의 층의 결합된 크기에 대한 압축 추정치를 줄이기 위해서 마스크가 생성된다. 그 후, 마스크는 문서 이미지를 다수의 층으로 세그먼트하기 위해 사용된다. 마스크는 문서 이미지의 화소를 각각의 층으로 결정 및 할당한다. 마스크 및 다수의 층은 문서 이미지 전체의 압축을 개선하며 그렇게 하는 속도를 개선하기 위해 개별적으로 처리 및 인코딩된다. 다수의 층은 비-바이너리 이미지며 예를 들어 포그라운드 이미지 및 백그라운드 이미지를 포함할 수 있다.
Figure R1020030018634
문서 이미지, 인코딩, 디코딩, 마스크, 층 분할, 이미지 압축, 압축 추정치, 포그라운드 이미지, 백그라운드 이미지

Description

세그먼트된 계층화 이미지 시스템{SEGMENTED LAYERED IMAGE SYSTEM}
도 1은 본 발명의 일 태양에 따른 세그먼트된 계층화 이미지 인코딩 시스템의 블록도.
도 2는 웨이블릿(wavelet) 계산의 하나의 전형적인 단계를 도시한 도면.
도 3은 일부 화소가 누락된 웨이블릿 계산의 예시적인 단계를 도시한 도면.
도 4는 마스크된 웨이블릿 계산의 예시적인 단계를 도시하는 도면.
도 5는 본 발명의 일 태양에 따른 세그먼트된 계층화 이미지 디코딩 시스템의 블록도.
도 6은 본 발명의 일 태양에 따른 샘플 문서 이미지를 도시한 도면.
도 7은 본 발명의 일 태양에 따른 세그먼트된 계층화 이미지 인코딩 시스템의 블록도.
도 8은 본 발명의 일 태양에 따른 적층형 이미지 디코딩 시스템의 블록도.
도 9는 본 발명의 일 태양에 따른 문서를 인코딩하는 방법에 대한 순서도.
도 10은 본 발명의 일 태양에 따라 문서를 인코딩하는 방법에 대한 순서도.
도 11은 본 발명에 따라 구성된 시스템을 위한 예시된 동작 환경의 개략적인 블록도.
도 12는 본 발명에 따른 예시된 통신 환경에 대한 개략적 블록도.
<도면의 주요부분에 대한 부호의 설명>
102: 마스크 분리기
104: 포그라운드 백그라운드 세그멘터
106: 마스크 인코더
108: 포그라운드 인코더
110: 백그라운드 인코더
112: 결합 비트
본 발명은 문서 이미지 처리에 관한 것으로써, 특히 문서 이미지를 식별 및 압축하기 위한 시스템 및 방법에 관한 것이다.
본 출원은 발명의 명칭이 "동작 검출기"(ACTIVITY DETECTOR)인 2002년 4월 25일자 미국 특허출원 제10/133,842호와, 발명의 명칭이 "클러스터링"(CLUSTERING)인 동일자 미국 특허출원 제10/133,558호와, 발명의 명칭이 "레이아웃 분석"(LAYOUT ANALYSIS)인 동일자 미국 특허출원 제10/133,939호의 일부 연속출원이다. 본 출원은 또한 발명의 명칭이 "마스크를 이용한 문서 이미지 압축 시스템 및 방법"(SYSTEM AND METHOD FACILITATING DOCUMENT IMAGE COMPRESSION UTILIZING A MASK)[대리인 관리번호: MS188868.1]인 본원과 동시 계류중인 미국 특허출원 제 호에 관련되며, 이 출원은 그 전체가 본원에 참조문헌으로서 포함되어 있다. 본 출원은 또한 발명의 명칭이 "블록 리터칭"(BLOCK RETOUCHING)[대리인 관리번호: MS188870.1]인 본원과 동시 계류중인 미국 특허출원 제 호에 관련되며, 이 동시계류중인 출원은 그 전체가 본원에 참조문헌으로서 포함되어 있다.
컴퓨터를 통해 얻을 수 있는 정보의 양은 넓게 확산된 컴퓨터 망, 인터넷 및 디지털 저장 수단으로 인해서 현저히 증가되어 왔다. 이처럼 정보량의 증가로 인해서 정보를 빨리 전송하며 정보를 효율적으로 저장할 필요성이 있었다. 데이터 압축은 정보의 효율적인 전송 및 저장을 용이하게 하는 기술이다.
데이터 압축은 정보 표시에 필요한 영역의 량을 줄이는 것으로써, 많은 정보 유형에 대해서 사용될 수 있다. 이미지, 텍스트, 오디오 및 비디오를 포함하는 디지털 정보의 압축에 대한 요구가 점점 더 증가하고 있다. 전형적으로, 데이터 압축은 표준 컴퓨터 시스템으로 이용된다. 그러나, 셀룰러/디지털 전화는 물론이고 디지털 및 위성 텔레비젼과 같은 것의 데이터를 압축하는데 있어서 다른 기술을 이용할 수 있으며 이 기술은 상기와 같은 것에 제한되는 것은 아니다.
대량의 정보를 조정, 전송 및 처리할 필요성이 증가함에 따라, 이러한 데이터를 압축할 필요성 역시 증가한다. 저장 장치의 용량이 상당히 증가했음에도 불구하고, 정보에 대한 요구가 용량의 진보를 앞질러 갔다. 예를 들어, 비압축 이미지는 5 메가바이트의 영역을 필요로 할 수 있는 반면에 동일 이미지는 압축되어 예를 들면, 무손실 압축의 경우에 2.5 메가바이트만의 영역을 필요로 하거나 또는 손실 압축의 경우에 500 킬로바이트의 영역을 필요로 할 수 있다. 따라서, 데이터 압축은 더 많은 양의 정보를 송신하는 것을 용이하게 한다. 광대역, DSL, 케이블 모뎀 인터넷 등과 같은 전송 속도의 증가에도 불구하고, 비압축 정보로 인해서 전송이 쉽게 제한된다. 예를 들어, DSL 라인에서의 비압축 이미지의 전송에 10분이 걸릴 수 있다. 그러나, 동일 이미지가 압축될 때 약 1분내에 전송될 수 있어서 데이터 처리량에서 열배의 이득을 제공할 수 있다.
일반적으로, 무손실(lossless) 및 손실(lossy)인 두가지 유형의 압축이 있다. 무손실 압축에서는 압축후 정확히 원래의 데이터가 복원되며, 손실 압축에서는 압축 후에 복원된 데이터가 원래의 데이터와 다르게 되도록 한다. 어느 정도의 데이터 보전(integrity) 절충이 허용되므로 손실 압축이 무손실 압축보다 더 양호한 압축비를 제공한다는 점에서 2개의 압축 모드 사이에서 트레이드오프(tradeoff)를 취할 수 있다. 무손실 압축은 예를 들어, 정확히 데이터를 재구성하는 것이 실패할 때 텍스트의 품질 및 판독성에 심각한 영향을 미치게 되는 중요(critical) 텍스트를 압축할 때 사용될 수 있다. 손실 압축은 어느 정도의 왜곡이나 잡음이 사람의 감각에 허용되거나 또는 감지되지 않는 이미지 또는 중요하지 않은 텍스트에 사용될 수 있다. 데이터 압축은 특히 문서의 디지털 표시(디지털 문서)에 적용될 수 있다. 전형적으로, 디지털 문서는 텍스트, 이미지 및/또는 텍스트, 및 이미지를 포함한다. 현재의 디지털 데이터에 대해서 더 적은 저장 영역을 사용하는 것에 더해서, 품질을 별로 저하시키지 않고서도 가능한 콤팩트한 저장에 의해 현재의 문서의 하드카피의 디지털화를 장려하여 종이없는 사무실을 더욱 더 가능하게 한다. 이러한 종이없는 사무실을 향한 노력은 많은 기업의 목표인데, 그 이유는 종이없는 사무실은 정보를 더 쉽게 액세스할 수 있으며, 환경 비용을 줄이며, 저장 비용 등 을 줄이는 것과 같은 이익을 제공하기 때문이다. 또한, 압축을 통해서 디지털 문서의 파일 크기를 줄이므로 인터넷 대역폭을 더 효율적으로 사용할 수 있어서 더 많은 정보를 더 빨리 전송하여 망 혼잡을 줄일 수 있다. 필요한 정보 저장을 감소시키며, 종이없는 효율적인 사무실을 지향하며, 인터넷 대역폭의 효율을 증가시키는 것은 압축 기술과 연관된 많은 중요한 장점 중 일부일 뿐이다.
디지털 문서의 압축은 더욱 매력적으로 디지털 문서를 이용하기 위한 어떤 목적을 충족시켜야 한다. 첫째, 압축은 짧은 시간안에 많은 양의 정보를 압축 및 압축해제시킬 수 있어야 한다. 둘째로, 압축은 디지털 문서를 정확히 재생시킬 수 있어야 한다. 또한, 디지털 문서의 데이터 압축은 문서의 의도된 목적 또는 궁극적인 용도를 이용할 수 있어야 한다. 일부 디지털 문서는 하드 카피를 서류화(file)하거나 또는 제공하기 위해 사용된다. 다른 문서는 수정 및/또는 편집될 수 있다. 종래의 많은 데이터 압축 방법론에서는 텍스트 및/또는 이미지가 보여질 때 이들의 리-플로잉을 제어할 수 없어서, 압축 기술을 가능하게 하는 효율적이고 효과적인 수단을 인식된 문자에 제공하지 못하여 이들을 워드 프로세서, 개인 휴대 정보 단말기(PDAs), 셀룰러 폰 등에 리-플로우할 수 없었다. 그러므로, 하드 카피 오피스 문서가 디지털 형태로 스캔되면, 현재의 압축 기술은 디지털화된 문서를 갱신, 수정 또는 일반적으로 변경하는 것이 불가능하지는 않아도 어렵게 된다.
가끔, 압축 방식(compression scheme)은, 압축을 증가시키기 위해서 바이너리 및 비-바이너리 텍스트 또는 이미지와 같은 특정한 형태의 문서에 맞춰지게 된 다. 그러나, 하나의 문서 형태로 맞춤된 압축 방식은 전형적으로는 다른 형태의 문서에서는 잘 실행되지 않는다. 예를 들어, 텍스트 기반 문서에 맞춤된 압축 방식은 일반적으로, 이미지 문서에서는 잘 작동되지 않는다. 이러한 문제에 대한 한가지 해법은 인코드될 할 문서 또는 이미지의 형태에 맞춤된 압축 방식을 선택하는 것이다. 그러나, 이러한 해법은 단일 문서에서 하나 이상의 형태의 정보를 갖는 디지털 문서에서는 불가능할 수 있다. 예를 들어, 하나의 디지털 문서는, 신문 기사에서 일반적으로 볼 수 있는 바와 같은, 텍스트 정보와 함께 하이-컬러(hi-color) 이미지를 가질 수 있다. 이러한 문제를 극복하기 위한 한가지 방법은 하나의 문서를 분석하여 이것을 여러 영역으로 세그먼트하는 것이다. 이러한 여러 영역은 분석되어 그러한 영역내에 포함된 정보의 형태를 결정할 수 있다. 하나의 압축 방식은 정보의 형태에 기초하여 각 영역마다 선택될 수 있다. 그러나, 이러한 방법은 실행하는데 매우 어려울 수 있으며 압축을 곤란하게 하는 다양한 크기 및 형상을 갖는 영역을 필요로 한다. 또 다른 방법은 하나의 문서를 백그라운드와 일정한 컬러 이미지로 분리하는 것이다. 이러한 방법은 서로 다른 압축 방식이 백그라운드 및 일정한 컬러 이미지에 대해서 사용될 수 있으므로 유용할 수 있다. 그러나, 일정한 컬러 이미지는 화소 값이 강제적으로 일정한 컬러가 되게 함으로써 정보의 손실을 유발할 수 있다.
또한, 디지털 문서의 데이터 압축은 문서의 소정의 목적을 이용할 수 있어야 한다. 일부 디지털 문서는 하드 카피를 서류화하여 제공하는데 사용된다. 다른 문서는 수정 및/또는 편집될 수 있다. 현재의 데이터 압축은 텍스트 및/또는 이미 지가 보여질 때 이를 조정할 수 없고, 압축 기술을 가능하게 하는 효율적이며 효과적인 수단을 인식된 문자에 제공하지 못하여 이들을 워드 프로세서, 개인 휴대 정보 단말기(PDAs), 셀룰러 폰 등에 리-플로우하는 것이 불가능하게 된다. 그러므로, 하드 카피 오피스 문서가 디지털 형태로 스캔되면, 현재의 압축 기술은 디지털화된 문서를 갱신, 수정 또는 일반적으로 변경하는 것이 불가능하지는 않지만 어렵게 된다.
다음은 본 발명의 일부 태양에 대한 기본적인 이해를 제공하기 위한 본 발명의 개요이다. 이러한 개요는 본 발명의 핵심/중요 컴포넌트를 식별하거나 또는 본 발명의 범위를 한정하고자 의도된 것이 아니다. 그 유일한 목적은 후술되는 상세한 설명에 대한 서두로서 본 발명의 일부 개념을 간단하게 제시하는 것이다.
본 발명은 문서 이미지를 인코딩 및 디코딩하는 시스템 및 방법에 관한 것이다. 문서 이미지는 마스크에 따라 다수의 층으로 분할되며, 여기서 다수의 층은 비-바이너리 형태로 표시된다. 그 후, 각각의 층은 문서 이미지 전체의 압축을 보다 용이하게 하기 위해 개별적으로 처리 및 압축될 수 있다.
본 발명의 일 태양에 의하면, 하나의 문서 이미지로부터 하나의 마스크가 생성될 수 있다. 이러한 마스크는 문서 이미지의 마스크 및 다수의 층의 결합된 크기에 대한 압축 추정치를 감소시키기 위해서 생성된다. 그 후, 이 마스크는 문서 이미지를 다수의 층으로 세그먼트하기 위해 사용된다. 이 마스크는 문서 이미지의 화소를 판단하거나 또는 각각의 층으로 할당한다. 이 마스크 및 다수의 층은 문서 이미지 전체의 압축을 개선하며 그 속도를 개선하기 위해 개별적으로 처리 및 인코딩된다. 이러한 다수의 층은 비-바이너리 이미지며, 예를 들어 포그라운드 및 백그라운드 이미지를 포함할 수 있다.
본 발명의 다른 태양에 따르면, 문서 이미지는 다수의 층으로 분할되며, 이 다수의 층은 백그라운드 이미지, 포그라운드 이미지 및 마스크를 포함한다. 이 마스크는 바이너리 이미지로서 이 문서 이미지를 포그라운드 이미지 및 백그라운드 이미지로 세그먼트하는데 사용된다. 일반적으로, 이 마스크는 마스크, 포그라운드 이미지 및 백그라운드 이미지의 결합된 크기의 추정치를 감소시키기 위해서 생성될 수 있다. 하나의 층을 단일 컬러로 한정시키는 일부 종래의 시스템과는 달리, 포그라운드 이미지 및 백그라운드 이미지는 임의의 적당한 컬러 영역을 사용할 수 있으며 단일 또는 일정한 컬러로 제한되지는 않는다. 마스크, 포그라운드 이미지 및 백그라운드 이미지에 대한 부가적인 처리가 수행될 수 있다. 마스크, 포그라운드 이미지 및 백그라운드 이미지가 단일 비트스트림으로 인코드 및 결합된다. 인코딩을 위해서 임의의 수의 적당한 압축 방식이 사용될 수 있다. 디코딩시, 압축된 비트스트림은 마스크 비트스트림, 포그라운드 비트스트림 및 백그라운드 비트스트림으로 분리된다. 마스크 비트스트림, 포그라운드 비트스트림 및 백그라운드 비트스트림은 마스크, 포그라운드 이미지 및 백그라운드 이미지로 디코드된다. 마스크, 포그라운드 이미지 및 백그라운드 이미지의 부가적인 처리가 수행될 수 있다. 포그라운드 이미지 및 백그라운드 이미지는 마스크에 따라 하나의 재결합된 문서 이미지로 결합된다.
본 발명의 또 다른 태양에 따르면, 마스크 분리기는 문서 이미지를 수신하여 문서 이미지로부터 마스크를 생성한다. 이 마스크는 바이너리 포맷으로 표시된다. 포그라운드 백그라운드 분리기는 마스크 및 문서 이미지를 수신하여 문서 이미지를 포그라운드 이미지 및 백그라운드 이미지로 분할한다. 마스크 인코더는 마스크를 마스크 비트스트림으로 인코딩한다. 포그라운드 인코더는 포그라운드 이미지를 포그라운드 비트스트림으로 인코딩한다. 백그라운드 인코더는 백그라운드를 백그라운드 비트스트림으로 인코딩한다. 결합기 성분은 마스크 비트스트림, 포그라운드 비트스트림 및 백그라운드 비트스트림을 결합된 비트스트림으로 결합시킨다.
전술된 및 관련된 목적을 달성하기 위해, 본 발명의 특정 예시적인 특징들이 다음의 상세한 설명 및 첨부된 도면에 따라 설명된다. 이러한 특징들은 본 발명이 실시될 수 있는 여러 방법을 표시하며, 이들 모두는 본 발명에 의해 커버되는 것임을 알 수 있다. 본 발명의 다른 장점들 및 신규의 특징들은 도면을 참조하여 본 발명의 하기의 상세한 설명으로 명확해 진다.
본 발명은 도면을 참조하여 설명되는데, 여기서 동일 참조 번호는 전체 도면에 걸쳐서 동일 컴포넌트를 지칭하는 데에 사용된다. 하기의 상세한 설명에서는, 본 발명을 완전히 이해할 수 있도록 여러 특정 세부 사항들이 설명된다. 그러나, 본 발명은 이들 특정 세부 사항이 없이도 실시될 수 있음이 명백하다. 다른 예에서, 본 발명의 설명을 용이하게 설명하기 위해 공지된 구성 및 장치가 블록도로 도시된다.
이 응용예에서 사용될 때, "컴포넌트(component)"라는 용어는, 하드웨어, 하드웨어 및 소프트웨어의 결합, 소프트웨어, 또는 소프트웨어에서 실행되는, 컴퓨터와 관련된 실체를 말하는 데에 사용된다. 예를 들어, 하나의 컴포넌트는 하나의 프로세서에서 실행되는 공정(process), 프로세서, 객체, 실행자(executable), 실행 쓰레드(thread), 프로그램, 및 컴퓨터가 될 수 있으며, 이에 제한되지는 않는다. 예를 들어, 서버에서 실행되는 하나의 애플리케이션 및 그 서버는 하나의 컴포넌트가 될 수 있다. 하나 이상의 컴포넌트는 프로세스 및/또는 실행 쓰레드내에 상주할 수 있으며 컴포넌트는 하나의 컴퓨터로 제한 및/또는 2개 또는 그 이상의 컴퓨터 사이에서 분산될 수 있다.
또한, "문서 이미지(document image)"는 하나 이상의 컬러(들)(예를 들면, 바이너리 형태(블랙/화이트), 그레이-스케일 및/또는 컬러 문서(들))를 포함하는 문서(들)의 디지털 표시를 말한다. 또한, 문서 이미지는, 텍스트 및 이미지가 잠재적으로 부과된 것으로써, 이미지(들), 텍스트 및/또는 이미지를 갖는 텍스트를 가질 수 있다. 문서 이미지는 바이너리, RGB, YUV 및/또는 다른 문서(들)의 표시를 포함할 수 있다. RGB 문서 이미지는 적색, 녹색 및 청색 요소로 표시된다. YUV 문서 이미지는 Y로 표시되는 휘도 컴포넌트 및 U 및 V로 표시되는 색도 컴포넌트를 이용하여 표시된다. 사람의 눈이 U 및 V 왜곡에 덜 민감하며 따라서 U 및 V가 인수 2에 의해 서브샘플되며, Y가 R, G 및 B 사이의 상관관계를 지배하므로, YUV 표시가 일반적으로 압축에 더 적합하다. 텍스트 클러스터링 목적을 위해, Y 표시에 특히 관심이 있는데, 그 이유는 텍스트가 휘도 변화로부터 도출될 때 판독 이 훨씬 쉽기 때문이다. 색도 변화, 예를 들면 주어진 휘도에서 적색으로부터 녹색으로의 색도 변화로부터 결과되는 텍스트는, 훨씬 더 읽기 어렵다. 그러므로 컬러 문서는 YUV 문서로 변환될 수 있는데, 이는 문서 정보를 많이 손실하지 않고도 바이너리화될 수 있다. 하나의 문서 이미지는 일반적으로 "화소"라고 하는 화상 요소를 포함한다. 하나의 문서 이미지는 임의의 형상 및 크기의 단일 또는 다수의 페이지 문서(들)에 기초할 수 있다.
도 1은 본 발명의 일 태양에 따른 세그먼트된 계층화 이미지 인코딩 시스템(100)의 상위 레벨의 블록도이다. 시스템(100)은 텍스트, 육필, 도면 등을 식별 및 압축하며, 이 시스템은 임의의 적당한 형상 또는 크기의 단일 또는 다수의 페이지 문서에서 동작할 수 있다. 이 시스템(100)은 마스크 분리기(102), 포그라운드 백그라운드 분리기(104), 마스크 인코더(106), 포그라운드 인코더(108), 백그라운드 인코더(110) 및 결합 컴포넌트(112)를 포함한다. 마스크 분리기(102)는 문서 이미지(예를 들면, 문서의 디지털 표시)를 수신하여 마스크를 생성한다. 문서 이미지는 하나 이상의 페이지를 가질 수 있으며, 전형적으로는 하나의 문서로부터 스캔된다. 이 문서 이미지는 임의의 해상도를 가질 수 있는데, 이는 일반적으로 인치당 도트(dpi)로서 표시된다. 예를 들어, 팩스 문서(faxed documents)는 전형적으로 약 150-200 dpi의 해상도를 이용한다. 또한, 이 문서 이미지는 임의의 화소 크기 또는 문서 크기, 예를 들어, 640 화소 x 480 화소 및/또는 A4 크기를 가질 수 있다.
마스크 분리기(102)에 의해 생성된 마스크는 이 문서 이미지를 2개의 층, 포 그라운드 이미지 및 백그라운드 이미지로 세그먼트하기 위해 채용될 수 있다. 본 발명의 다른 태양은 이미지를 2개 이상의 층으로 분할할 수 있음을 알 수 있다. 마스크 이미지로 일컫는 마스크는 바이너리 이미지로써, 여기서 화소 값이 그 각각의 화소가 포그라운드 이미지 또는 백그라운드 이미지에 속하는지 여부를 판단한다. 마스크 분리기(102)는 마스크를 생성하여 결합된 포그라운드 이미지 및 백그라운드 이미지의 크기가 감소된다. 이러한 개념은 다수의 마스크 및 다수의 포그라운드로 확장될 수 있으며 또한 본 발명에 부합된다는 것을 알 수 있다.
마스크를 생성하는데에는 여러 방법이 사용될 수 있다. 압축을 위해서, 서로 다른 화소 값 보다는 동일 화소 값을 압축되는 것이 더 좋다. 예를 들어, 다른 컬러 및 강도의 영역보다는 청색 영역이 압축되는 데 더 좋다. 전술된 바와 같이, 마스크, 포그라운드 이미지 및 백그라운드 이미지의 결합된 크기를 감소시키기 위해서 마스크가 생성된다.
사용가능한 한가지 방법은, 가능한 마스크의 수퍼세트(superset)를 발생하며 최상의 수퍼세트의 마스크를 선택하는 것이다. N개의 화소를 갖는 문서에는, 2N개의 가능한 마스크가 존재한다. 따라서, 모든 가능한 마스크를 분석하며 어떤 마스크가 가장 작은 전체 결합된 이미지를 생성하는지를 판단하는 것이 가능하다. 그러나, 모든 가능한 마스크를 분석하는 것은 계산상 비용이 들 수 있으며, 시간이 소요되어 일반적으로 실용적이지 않다.
또 다른 방법은 문서를 영역들로 서브세그먼트하며, 각각의 영역을 분석하여 화소들을 할당하며, 적어도 부분적으로 에너지(예를 들면, 에너지 분산)에 기초하여 영역을 합병하는 것이 가능하다. (획득될 압축의 추정치인) 에너지 분산은 거리의 제곱의 합에 기초한 측정치이다. 예를 들어, 2 x 2 화소 또는 4 x 4 화소인 작은 문서 영역이 에너지 분산을 위해서 분석될 수 있다. 작은 영역들을 포그라운드 및 백그라운드 영역으로 세그먼트하여서, 그 작은 영역의 에너지 분산을 줄이거나 최소화할 수 있다. 가능한 모든 마스크는, 분석된 영역이 그러한 분석이 실행가능하도록 충분히 작으므로 어떤 마스크를 사용하는 지를 판단하는데 사용될 수 있다. 예를 들어, 4개의 화소 영역은 그러한 영역에 대해서 단지 16개의 가능한 마스크 치환을 가질 뿐이다. 그 후, 작은 영역은 마스크를 생성하기 위해 전체적으로 함께 합병되는데(예를 들면, 쌍으로) 이는 마스크, 포그라운드 이미지 및 백그라운드 이미지의 결합된 크기를 줄인다.
포그라운드 백그라운드 세그멘터(104)는 마스크 분리기(102) 및 문서 이미지로부터 마스크를 수용한다. 포그라운드 백그라운드 세그멘터(104)는 마스크를 사용하여 문서 이미지를 포그라운드 이미지 및 백그라운드 이미지로 분할한다. 각각의 문서 이미지의 화소에 대해서, 대응하는 마스크 화소가 참조된다. 이 화소는 마스크의 대응하는 화소에 기초하여 포그라운드 이미지 또는 백그라운드 이미지에 할당된다. 예를 들어, 대응하는 마스크의 화소가 "1"이면, 화소는 포그라운드 이미지에 지정된다. 역으로, 대응하는 마스크 화소가 "0" 이면, 화소는 백그라운드 이미지에 지정된다. 그러나, "0" 또는 "1"이 포그라운드 또는 백그라운드를 표시하는 것은 사용자 정의될 수 있다(예를 들면, "1"은 백그라운드로 지정되며 "0"는 포그라운드로 지정됨).
또한, 포그라운드 이미지 및 백그라운드 이미지는 서로 디스조인트(disjoint)의 관계이다. 그러나, 부가적인 마스크 처리는, 때때로 중첩될 수 있는, 상이한 포그라운드 및 백그라운드 마스크를 생성하거나, 마스크 경계를 따라 아티팩트(artifact)을 감소시키거나 또는 특정 화소를 전체적으로 무시하여 압축을 증가시키기 위해서 수행될 수 있다. 그 후, 포그라운드 마스크는 이러한 문서 이미지로부터 포그라운드 마스크를 세그먼트하기 위해 사용되며 백그라운드 마스크는 문서 이미지로부터 백그라운드 이미지를 세그먼트하기 위해 사용된다. 이 경우, 포그라운드 이미지 및 백그라운드 이미지는 서로 디스조인트가 아니고 약간 중첩되는데, 그러한 중첩은 압축을 줄일 수 있지만 에지 효과를 감소시킬 수 있다. 포그라운드 마스크 및 백그라운드 마스크가 문서 이미지를 세그먼트하기 위해 사용된다 할지라도, 포그라운드 마스크 및 백그라운드 마스크는 문서 이미지가 분할된 후에는 필요하지 않다.
백그라운드 이미지 및 포그라운드 이미지는 화소가 다른 이미지에 지정된 홀 또는 비어있는 영역을 갖는다. 이들 빈 영역은 돈케어 화소로도 일컬어 질 수 있다. 대조적으로, 비어있지 않은 영역은 케어 화소라고 일컬어 질 수 있다. 비어있는 영역은 포그라운드 및 백그라운드 이미지의 전체 압축 크기를 줄이기 위해서 임의의 적당한 방식으로 처리될 수 있다. 한가지 방법은 돈케어 화소 값으로 이러한 비어있는 공간을 채우는 것이다. 돈케어 화소 값은 압축을 증가시키고, 따라서 이미지의 크기를 줄이기 위해서 선택될 수 있다. 예를 들어, 예시적인 백그라운드 이미지는 화이트가 될 수 있지만 텍스트가 배치된 돈케어 화소를 가질 수 있다. 예를 들어, 돈케어 화소는 압축을 향상시키기 위해 화이트로 채워질 수 있다. 또 다른 방법은 비어있는 영역을 채우지 않고, 예를 들어 마스크된 웨이블릿 압축과 같은, 비어있는 영역을 이용하는 압축 방식을 이용하는 것이다. 본 발명에 부합되는 다른 방법들이 이용될 수 있다.
또한, 부가적인 처리가 포그라운드 이미지 및 백그라운드 이미지에 대해 수행될 수 있다. 백그라운드 및 포그라운드 이미지는 더 낮은 해상도로 축소될 수 있으며, 따라서 각각의 압축된 크기를 감소시킨다. 예를 들어, 백그라운드 및 포그라운드 이미지는 300 dpi에서 100 dpi로 축소될 수 있다. 또한, 일정한 컬러 연결 컴포넌트가 백그라운드 및 포그라운드 이미지에서 식별될 수 있다. 일정한 컬러 연결 컴포넌트는 대체로 동일한 컬러 값을 갖는 다수의 연결된 화소이다. 일정한 컬러 연결 컴포넌트는 시드 화소를 배치하고 이에 연결된 대체로 같은 컬러 화소를 판단하기 위한 알고리즘을 이용함으로써 식별될 수 있다. 임계값 또는 최소 화소가 설정될 수 있어서 일정한 컬러 연결 컴포넌트가 최소 수의 화소를 갖게 된다. 이러한 식별된 일정한 컬러 연결 컴포넌트는 문서 이미지의 압축을 증가시킬 수 있다.
마스크 인코더(106)는 마스크 분리기(102)로부터 마스크를 수용하며 압축된 비트 또는 마스크로부터 비트의 압축된 마스크 비트 스트림을 생성하기 위해 마스크를 인코딩한다. 임의의 적당한 압축 방식은 마스크 인코더(106)용으로 사용될 수 있다. 마스크는 바이너리 형태이며 전형적으로 텍스트 정보를 포함한다. 따라 서, 압축 방식은 바이너리 텍스트 정보를 양호하게 압축한 것을 선택해야 한다. 바이-레벨 압축 방식이 마스크를 인코딩하기 위해 사용될 수 있다.
마스크를 인코딩하는데 사용될 수 있는 압축 방식은 CCITT(국제 전화 및 전신에 대한 자문 위원회)이다. CCITT는, 표준 그룹이며 팩스/모뎀 통신을 위한 무손실 압축 기술의 이름인 ITU-T 국제 원격 통신 조합-원격 통신 섹터(1994년에 변경된 이름)로서 현재 알려져 있다. 이러한 유형의 압축은 바이너리 이미지로 양호하게 작동한다. 전형적인 압축비는 종래의 버전 V.42bis에서는 4:1이며, 신규 버전 V.44 2000에서는 6:1인데, 이는 Lempel-Ziv-Jeff-Heath(LZJH) 압축 알고리즘에 기초해 있다. 다른 적당한 압축 방법 또는 방식은 본 발명에 따라 마스크를 인코딩하기 위해 사용될 수 있음을 알수 있다.
포그라운드 인코더(108)는 포그라운드 백그라운드 세그멘터(104)로부터 포그라운드 이미지를 수신하며 포그라운드 이미지를 포그라운드 비트스트림으로 인코딩한다. 백그라운드 인코더(110)는 포그라운드 백그라운드 세그멘터(104)로부터 백그라운드 이미지를 수신하며 백그라운드 이미지를 백그라운드 비트스트림으로 인코딩한다. 임의의 적당한 압축 방식은 포그라운드 인코더(108) 및 백그라운드 인코더(110)를 위해 사용될 수 있다. 예를 들어, 진행 파장 인코딩(PWC), 프로그레시브 변환 코딩(PTC), JPEG, JPEG 2000, 및 마스크된 웨이블릿 압축 방식은 포그라운드 이미지 또는 백그라운드 이미지 영역을 인코딩하는데 사용될 수 있다. 일부 압축 방식(예를 들면, 마스크된 웨이블릿)에 대해서, 포그라운드 인코더(108) 및 백그라운드 인코더(110)는 포그라운드 이미지 및 백그라운드 이미지를 인코딩하기 위 해 마스크를 필요로 할 수 있다.
결합기 컴포넌트(112)는 마스크 인코더(106), 포그라운드 인코더(108) 및 백그라운드 인코더(110)로부터 압축된 비트를 수신하여 이 비트를 출력 스트림 또는 출력 파일로 결합시킨다. 이 결합기 컴포넌트(112)는, 문서 이미지를 재구성하기 위해 디코더에 의해 사용될 수 있는 인코딩 유형, 딕셔너리 등과 같은 정보를 식별 또는 제공하는 출력 파일 내의 헤더 정보를 포함할 수 있다.
설명을 위한 목적으로, 인코딩 시스템은 전술된 여러 컴포넌트를 통해서 전체 이미지를 한번에 처리하는 것으로 기술되었다. 그러나, 메모리 사용을 줄이기 위해서 중첩 스캔 영역이 사용될 수 있음을 알 수 있다. 예를 들어, 문서 이미지의 512 라인의 제1 스트립이 시스템에 의해 처리될 수 있다. 그 후, 10개의 라인과 같은 중첩량만큼 제1 스트립을 중첩하는 제2 스트립이 이 시스템에 의해 처리된다. 후속되는 스트립은 전체 문서 이미지가 처리되었을 때까지 처리되며, 이 중첩양은 스트립들 간의 변동을 경감시키는 것을 용이하게 한다.
전술된 바와 같이, 포그라운드 이미지 및 백그라운드 이미지는 비어있는 또는 돈케어(don't care) 영역을 갖는다. 비어있는 영역은 여러 방법으로 처리될 수 있다. 한가지 방법은 데이터로 비어있는 영역을 채우고 그 후 표준(regular) 압축 기술을 사용하는 것이다. 이 이미지의 비어있는 영역을 채우는 간단한 프로세스는 이 이미지에 대한 평균 화소 값으로 이러한 비어있는 영역을 채우는 것이다. 그러나, 이러한 프로세스는 마스크 경계에서 심한 불연속을 생성하며, 주어진 피크 신호 대 잡음 비(PSNR)에 대해 요구되는 비트 속도를 증가시키며 마스크 또는 비어있 는 영역 경계 근방에서 현저한 링잉(ringing)을 발생할 수 있다. 또 다른 프로세스는 가장 근접한 비-마스크된(또는 두케어 영역(do care region)) 화소의 컬러로 각각의 화소를 채색하는 것이다. 표준 형상 알고리즘(morphology algorithm)은 그 프로세스가 마스크 하부의 보로노이로 채워진(Voronoi-filled) 비어있는 영역으로 유도되는 모든 화소상에서 단지 2개의 경로(passes)로 수행되게 한다. 그 후, 포그라운드 또는 백그라운드 이미지가 재구성될 때, 재구성된 이미지는 저역 통과된 후 공지된 화소가 그 정확한 값으로 복원된다. 저역 통과 필터 차단 주파수가 너무 낮으면, 날카로운 에지가 발생되어 요구되는 비트 속도를 증가시키며 경계 근방에서 현저한 링잉(ringing)을 야기시킨다.
비어있는 영역을 처리하는 또 다른 방법은 볼록한 세트로의 돌출부를 이용하는 것이다. 예를 들어, 2개의 볼록한 세트, 즉, 가시 화소에서 입력에 정합되는 이미지 세트와, 제로로 설정된 특정 웨이블릿 계수(예를 들면, 특정 해상도 레벨 이상의 고주파 계수)를 갖는 이미지의 세트를 고려한다. 이러한 2개의 세트로의 돌출부를 교번시킴으로써, 하나의 이미지를 찾을 수 있는데 이 이미지는 가시 화소에 일치하며 많은 제로 웨이블릿 계수로 인해서 양호하게 압축된다.
비어있는 영역의 문제를 처리하기 위한 또 다른 방법은 불규칙한 그리드(grid)에 대해 확실히 설계되는 포그라운드 인코더(108) 및 백그라운드 인코더(110)에 대한 웨이블릿 변환을 채용하는 것이다. 이러한 웨이블릿 분해는 예를 들면, 컴퓨터 비전 및 컴퓨터 그래픽에서 기하학적 데이터의 압축과 관련하여 채용된다. 이러한 웨이블릿은 불규칙한 마스크 패턴에 적응된다.
사용될 수 있는 웨이블릿 변환 압축 방식은 마스크된 웨이블릿 변환이다. 마스크된 웨이블릿 변환은 포그라운드 인코더(108) 및 백그라운드 인코더(110)를 위해 사용될 수 있는데 여기서 웨이블릿 함수는 마스크의 함수로서 경우에 따라 변경된다. 마스크는, 마스크된 웨이블릿 변환 압축 방식을 이용하기 위해, 도 1에 도시되지는 않았지만, 포그라운드 인코더(108) 및 백그라운드 인코더에 제공된다. 예를 들어, 종래의 표준 웨이블릿 함수는 예측을 위해 k 값을 사용할 수 있다. 그러나, 마스크 및 비어있는 영역을 이용하여, 표준 웨이블릿 함수는 값이 없는 화소(예를 들면, 돈케어 영역의 돈케어 화소 또는 비어있는 영역)를 처리할 수 없다. 대조적으로, 변경가능한 웨이블릿 함수는 포그라운드 및 백그라운드 이미지의 가시 영역 또는 사용가능한 값만을 채용한다. 따라서, 마스크된 웨이블릿 변환은 비어있는 영역을 돈케어 화소로 채울 필요가 없게 된다.
도 2는 "리프팅(lifting)"을 이용하는 종래의 웨이블릿 계산의 한 단계를 도시하는 도면이다. 이 도면은, 큐빅 웨이블릿에 대해서, 위치(3)에서의 예측 단계 및 위치(6)에서의 대응하는 갱신 단계를 도시한다(다른 위치는 편의상 도면에서 생략된다). 각각의 화살표 다음의 계수는 각각의 단계를 수행하기 위해 선형 조합을 계산하는 방법을 표시한다. 예를 들어, 위치(3)의 "상세(detail)" 값(고역 통과 필터로부터 야기됨)은 다음 식을 계산함으로써 계산된다. 즉,
Figure 112003010478096-pat00001
갱신 단계는 다음 식을 통해서 계산된다. 즉,
Figure 112003010478096-pat00002
도 3은 어떤 화소 값이 누락될 때 발생되는 문제를 도시한다. 도면에서, 위치(1, 2, 5, 8 및 9)에는 값이 필요하지 않게 된다. 명백히, 종래의 큐빅 웨이블릿 계산은 동작하지 않는데, 그 이유는 결과가 누락 값에 의존하기 때문이다. 누락 값을 어떤 상수(제로, 또는 전체 이미지에 대한 평균치)로 설정하는 것은 심한 불연속을 유도할 수 있는데, 이는 불량한 압축 및/또는 바람직하지 않은 결과로 변환된다. 대조적으로, 마스크된 웨이블릿 압축 방식은 마스크의 함수로서 경우에 따라 웨이블릿 함수를 변경시킨다. 예를 들어, 리프팅의 예측 단계 동안, k 값이 예측에 사용가능하면, k-1 차수의 다항식이 보간에 사용된다. 단 3개만의 값이 사용될 때, 3차 다항식 대신에 이차방정식이 채용된다. 단 하나뿐인 값이 사용가능했다면, 상수 다항식이 사용될 수 있으며, 웨이블릿은 Haar 웨이블릿이 될 수 있다. 신호가 k-1 차의 다항식이며 k 화소가 마스크되지 않으면, 예측은 완벽하게 정확하다.
마스크된 웨이블릿 변환 압축 방식은 우수 위치의 계수로부터 기수 위치의 모든 계수에 대한 예측의 계산을 이용한다. 기수 계수 및 그 예측 사이의 차이는 웨이블릿 계수로서, 이는 기수 위치에서 일부 제로를 갖는 고역 통과 필터로서 보여질 수 있다. 따라서, 신호 s는 위치에 대한 중심이며, 지수가 매겨진다. 간략 하기 위해, 상기 방식(scheme)은 도 4에 도시된 바와 같이, 7-탭 필터에 대해서 기술된다. 도 4는 리프팅 단계를 도시하는 것으로서 여기서 s0 는 s-3, s-1, s1, s3의 함수로서 예측되며 나머지(residual) d가 계산된다.
필터 a는 표준 매트릭스 표시법에 따라 0 내지 i까지 지수가 매겨진다. 웨이블릿 계수 d는 다음 식에 의해 제공된다. 즉,
Figure 112003010478096-pat00003
여기서, k는 필터에서 탭 수이다(k = 7 인 경우). 고역 통과 필터의 모멘트 M은 다음과 같이 기술된다(si = in 설정):
Figure 112003010478096-pat00004
표준 신호가 j차의 저차 다항식(테일러 식을 이용함)에 의해 근사될 수 있다고 가정하면, a는 제1 j + 1 모멘트를 제로로 설정하기 위해 선택된다. 그 후. 웨이블릿 변환은 많은 제로를 가지며 양호하게 압축된다. 따라서, k = 7이면, a는 4개의 자유도(degree of freedom)를 가지며 처음 4개의 모멘트는 제로로 설정된다. 이러한 결과는 다음 시스템에서 확인된다. 즉,
Figure 112003010478096-pat00005
이 시스템은 wa = c와 같은 매트릭스 표시법으로 기재될 수 있다. 이 시스템에 대한 해는 이미 공지된 큐빅 웨이블릿, 즉 a = [1/16, -9/16, -9/16, 1/16]에서 사용된 계수이다.
이 시스템은, 도 1의 마스크와 같이, 마스크가 존재하는 경우에 일반화된다. 다시 말해서, 일부 계수 s2i-k/2는 누락되는데, 이는 매트릭스 m을 도입함으로써 모델화될 수 있다. 즉,
Figure 112003010478096-pat00006
여기서 mi∈{0,1}, 따라서 wma = c이다. m의 효과는 도 5의 시스템에서 컬럼을 제거하는 것이다. 유감스럽게도, 이 시스템에서, ai는 mi = 0일 때 불충분하게 결정되며, 그렇지 않으면 과도하게 결정된다. 그 이유는 가시 화소에 대응하는 ai에 부과되는 배니싱 모멘트(vanishing moment)가 너무 많이 있기 때문이다. 이것은, j개의 계수가 존재하여 mi ≠0 가 되면, 처음 j개의 모멘트만이 0가 되도록 함으로써 고정될 수 있다. 이것은 도 5의 시스템의 처음 j개의 식만을 유지하는 것에 대응 한다. 불충분하게 결정된 계수 ai에 대해서(ai가 mi = 0에 의해 증배될 때), 임의의 컨스트레인트(constraint) ai = 0가 부가되며, 그러한 것은 단일 시스템에서 수행될 수 있다. 즉,
Figure 112003010478096-pat00007
여기서 I는 항등 매트릭스이며,
Figure 112003010478096-pat00008
여기서,
Figure 112003010478096-pat00009
pi의 컨스트레인트는 식 5의 시스템 내의 라인이 m의 각각의 0에 대한 식 5의 시스템에 대한 바닥 계수로부터 제거되는 것을 보장한다. 다시 말해서, 0이 아닌 j개의 계수 mi가 존재하면, i = [0,...j-1]에 대해서는 pi = 1이며, 그렇지 않으면 pi = 0 이다. 이 시스템은 항상 mi∈{0,1}의 값에 대해서 고유의 해를 가짐을 쉽게 확인될 수 있다. 모든 가능한 m 값에 대한 해는 시스템 식 9에 의해 제공되며 아래의 표 1의 큐빅 웨이블릿에 대해서 요약되는데, 이는 본 시스템에 대한 크 기가 4일 때 m의 여러 값들에 대한 식 9의 해이다.
(m0,m1,m2,m3) a0 a1 a2 a3
0000 0 0 0 0
0001 0 0 0 -1
0010 0 0 -1 0
0011 0 0 -3/2 1/2
0100 0 -1 0 0
0101 0 -3/4 0 -1/4
0110 0 -1/2 -1/2 0
0111 0 -3/8 -3/4 1/8
1000 -1 0 0 0
1001 -1/2 0 0 -1/2
1010 -1/4 0 -3/4 0
1011 -1/8 0 -9/8 1/4
1100 1/2 -3/2 0 0
1101 1/4 -9/8 0 -1/8
1110 1/8 -3/4 -3/8 0
1111 1/16 -9/16 -9/16 1/16
다음에, 신호 s는 상기의 예측치로부터 갱신된다. 갱신 단계에서, 신호가 (-1)i로 승산된 후에, 저역 통과 필터의 제1 모멘트가 사라지는 것이 바람직하다. 다시 말해서, 표준 신호(예를 들면, 저차수 다항식으로서 기재될 수 있는)가 최고 주파수 신호 (-1)i로 승산되면, 저역 통과 필터는 제로를 출력할 것이다. 이러한 조건은, 입력이 si = in 대신에 si = (-1)iin 형태가 되는 것을 제외하고는, 전술된 바와 같이 0-모멘트 컨스트레인트로서 쉽게 계산된다. 예측 단계에서와 유사한 표시법을 사용하여, 갱신 단계는 다음 식에 대응한다. 즉,
Figure 112003010478096-pat00010
여기서 k는 (k = 7인 경우에) 필터내의 탭 수이다. 저역 통과 필터의 모멘트는 다음과 같이 기재될 수 있다. 즉,
Figure 112003010478096-pat00011
그러나, 각각의 d에 대해서, 식은 (si = (-1)iin이라고 가정하면) 국부적으로 다음과 같이 기재될 수 있다. 즉,
Figure 112003010478096-pat00012
왜냐하면 j 및 k/2는 기수이다. 개별 ai가 제로 모멘트를 발생하기 위해 설정되므로, 다음이 성립된다. 즉,
Figure 112003010478096-pat00013
이는 dj = -2jn이 적용된다. 따라서,
Figure 112003010478096-pat00014
표준 신호는 물론이고 웨이블릿을 압축하기 위해, 가능한 많은 모멘트가 가 능한 한 제로와 같아야 한다. 4개의 자유도가 있으므로, 처음 4개의 모멘트는 제로로 설정될 수 있다. 다음 시스템에서 이 결과를 확인하는 것이 가능하다. 즉,
Figure 112003010478096-pat00015
이는 매트릭스 표시법에서 wb = c'으로 기재될 수 있다. 이 시스템에 대한 해는 공지된 큐빅 웨이블릿에서 사용된 계수로서, b = [-1/32, 9/32, 9/32, -1/32]이다.
이제, 일부 계수 si가 누락된다고 가정한다. 먼저, 모든 누락 값이 우수 위치에만 놓인다고 가정한다. 이 시스템은 다음을 확인하기 위해 전과 같은 유사한 방식으로 해결될 수 있다. 즉,
Figure 112003010478096-pat00016
m 및 p 매트릭스는 so에 중심을 둔 위치에 의존함을 알 수 있다. 각각의 위치는 마스크의 상이한 부분을 나타내며, 따라서 그 자체의 m 및 p를 갖는다. 식 16에 대한 해는 아래의 표 2에 제공되는데, 이는 시스템의 크기가 4 일 때 다양한 m 값에 대한 식 16의 해를 표시한다. 식 16을 유도하기 위해, 기수 위치가 마스크 되지 않는다고 가정된다. 일부 기수 위치가 마스크되지만, 마스크된 값의 수가 n보다 작으면, dj = -2jn 이며 식 16이 적용된다. 그렇지 않으면, 갱신 단계에서 n -번째 모멘트를 취소하기 위해 예측 단계에서 2개 많은 마스크된 화소가 존재한다(웨이블릿 계수는 작지만, 제로은 아니다). 역 웨이블릿 변환은 리프팅 형식론 덕분에, 각각의 단계를 국부적으로 원래로 돌림으로써 쉽게 계산된다.
(m0,m1,m2,m3) b0 b1 b2 b3
0000 0 0 0 0
0001 0 0 0 1/2
0010 0 0 1/2 0
0011 0 0 3/4 -1/4
0100 0 1/2 0 0
0101 0 3/8 0 1/8
0110 0 1/4 1/4 0
0111 0 3/16 3/8 -1/16
1000 1/2 0 0 0
1001 1/4 0 0 1/4
1010 1/8 0 3/8 0
1011 1/16 0 9/16 -1/8
1100 -1/4 3/4 0 0
1101 -1/8 9/16 0 1/16
1110 -1/16 3/8 3/16 0
1111 -1/32 9/32 9/32 -1/32
따라서, 마스크된 웨이블릿 변환은 비어있는 영역을 파일하지 않고도 포그라운드 이미지 및 백그라운드 이미지를 인코딩하기 위해 채용될 수 있다. 그러나, 실행을 변동시키는 것은 전술된 바와 같이 비어있는 영역을 돈케어 값으로 채우는 다른 인코딩 방법 또는 압축 방식을 채용할 수 있음을 알 수 있다.
도 5는 본 발명의 한가지 특징에 따른 세그먼트된 계층화 이미지 디코딩 시스템의 블록도이다. 이 시스템은 압축된 비트스트림을 수신하며 압축된 비스스트림으로부터 재결합된 이미지를 발생한다. 이 시스템은 분리기 컴포넌트(502), 포 그라운드 디코더(504), 백그라운드 디코더(506), 마스크 디코더(508), 및 결합기(510)를 포함한다.
분리기 컴포넌트(502)는 압축된 비트를 수신하며 이 비트를 분리하여 포그라운드 비트스트림, 백그라운드 비트스트림 및 마스크 비트스트림을 형성한다. 분리기 컴포넌트(502)는 헤더 정보를 이용하여 비트스트림을 분리할 수 있다. 포그라운드 디코더(504)는 포그라운드 비트스트림을 압축해제하여 포그라운드 이미지를 생성한다. 백그라운드 디코더(506)는 백그라운드 비트스트림을 압축해제하여 백그라운드 이미지를 생성한다. 포그라운드 디코더(504) 및 백그라운드 디코더(506)는 예를 들어, 진행 파형 또는 프로그레시브 변환과 같은 임의의 수의 압축해제 방식을 이용할 수 있다.
마스크 디코더(508)는 마스크 비트스트림을 압축해제하여 마스크 또는 마스크 이미지를 생성하게 된다. 마스크 디코더(508)는 또한 레이아웃 및/또는 리-플로우 정보를 수신할 수 있다. 또한, 마스크 디코더(508)는 텍스트 정보를 재구성하기 위해 사용되는 딕셔너리(dictionary)를 획득할 수 있다. 마스크 디코더(508)는 전형적으로, 바이-레벨 압축해제 방식을 이용한다. 일부 압축 방식(예를 들면, 마스크된 웨이블릿)에서, 포그라운드 디코더(504) 및 백그라운드 디코더(5506)는 포그라운드 이미지 및 백그라운드 이미지를 획득하기 위해 마스크 디코더(508)로부터 압축해제된 마스크를 요구할 수 있다.
결합기(510)는 포그라운드 이미지, 백그라운드 이미지 및 마스크를 재결합된 문서 이미지로 결합시킨다. 재결합된 이미지는 원래의 문서 이미지와 같거나 근사 한다. 또한, 재결합된 이미지는 소정의 디스플레이에 따라 다양한 형상 및/또는 크기를 갖는다. 예를 들어, 편지 크기의 문서의 스캔은 훨씬 작은 스크린을 갖는 휴대용 장치에서 다르게 디스플레이될 수 있다. 결합기(510)는 마스크에 기초한 포그라운드 및 백그라운드 이미지로부터 재결합된 문서 이미지에 대한 화소를 발생한다. 재결합된 문서 이미지의 각 화소는 마스크의 대응하는 화소를 참조하고 그에 따라 재결합된 문서의 화소가 포그라운드 이미지 또는 백그라운드 이미지로부터 나오는지를 결정함으로써 결정된다. 예를 들어, 마스크 화소 값 1은 재결합된 문서의 화소가 포그라운드 이미지의 대응하는 화소로부터 나오는 것을 표시할 수 있다.
도 6은 본 발명의 일 태양에 따른 샘플 문서 이미지를 도시한다. 도 6은 예시적인 것으로서 단지 본 발명을 더 상세히 설명하기 위한 것이다. 문서 이미지(601)는 다양한 컬러 및/또는 형상으로 도시된다. 문서 이미지(601)는 텍스트 정보(602) 및 이미지 정보(604, 603) 및 백그라운드(605)를 포함하는 전형적인 문서 이미지가다. 도 6에 도시된 패턴은 여러 형상 또는 컬러를 도시한다. 따라서, 텍스트 정보(602)는 이미지 정보(603, 604) 또는 백그라운드(605)와는 다른 컬러가 될 수 있다. 도 1의 시스템을 이용하는 것과 같이 본 발명에 따르면, 문서 이미지(601)는 3개의 컴포넌트, 마스크(610), 포그라운드 이미지(611) 및 백그라운드 이미지(612)로 분할된다. 본 발명의 다른 특징은 2개 또는 3개의 층 이상으로 문서 이미지를 분할할 수 있다.
마스크(610)는 바이너리 이미지(binary image)이며, 따라서 블랙 및 화이트 영역으로만 도시된다. 마스크(610)는 문서 이미지(601)의 화소가 포그라운드 이미지(611) 또는 백그라운드 이미지(612)로 되는지 여부를 판단한다. 포그라운드 이미지(611) 및 백그라운드 이미지(612) 중 어느 화소가 재구성된 문서에 있는지를 판단함으로써 재구성된 문서 이미지를 생성하기 위해 마스크(610)가 채용된다. 재구성된 문서는 문서 이미지(601)와 같거나 또는 근사한다.
도 6에서 볼 수 있듯이, 포그라운드 이미지(611)는 마스크(610)에 표시된 바와 같이 문서 이미지(601)의 일부분을 포함한다. 마스크(610)의 블랙 화소는 문서 이미지(601)의 화소를 포그라운드 이미지(611)에 할당한다. 포그라운드 이미지(603)의 다른 부분은 돈케어 화소(615)로 채워질 수 있다. 전술된 바와 같이, 돈케어 화소(615)는 압축을 증가시키지만 재구성된 이미지에는 존재하지 않는다. 유사하게는, 백그라운드 이미지(612)는 마스크(610)에 표시된 바와 같이 문서 이미지(601) 부분을 포함한다. 이러한 마스크(610)의 화이트 화소는 문서 이미지(601)의 화소를 백그라운드 화상(612)에 할당한다. 백그라운드 이미지(604)의 다른 부분은 도 6에 도시된 바와 같이 돈케어 화소(606)로 채워질 수 있다. 돈케어 화소(606)는 압축 목적으로 존재하며 재구성된 이미지에 포함되지는 않는다. 텍스트 정보(602)의 아웃라인은 예시를 위해서 백그라운드 이미지(612)에서 도시된다. 그러나, 텍스트 정보(602)는 백그라운드(605)를 매칭하는 돈케어 화소로 채워질 수 있어서 텍스트 정보(602)가 백그라운드 이미지(612)에서 보이지 않음을 알 수 있다.
전술한 바와 같이, 도 6은 본 발명에 따른 많은 가능한 문서 이미지 중 한 예에 불과하다. 이미지의 많은 변형이 가능하며 이들도 본 발명에 부합되는 것이다.
도 7은 본 발명에 따라 세그먼트된 계층화 이미지 인코딩 시스템의 블록도이다. 이 시스템은 이미지에서 텍스트, 육필, 도면 등과 같은 정보를 식별할 수 있으며 이 문서를 압축한다. 이 시스템은 임의의 적당한 형상 또는 크기의 단일 또는 다중 페이지 문서에서 동작한다.
컬러 공간 변환기(702)는 문서 이미지의 컬러 공간을 변환하기 위해 문서 이미지에서 동작한다. 컬러 공간은 문서 이미지에서 컬러가 어떻게 표시되는 지를 일컫는다. 컬러 공간은 일반적으로, 매 화소마다 컬러를 제공하는 다수의 컴포넌트를 갖는다. 예를 들어, 하나의 이미지는 각각의 화소가 각각의 RGB 컴포넌트 각각에 대한 값을 갖는 RGB (적색, 녹색 및 청색) 컬러 공간으로 표시될 수 있다. 또한, 투과성 컴포넌트가 화소의 투과성을 표시하도록 포함될 수 있다. 화소의 전체 컬러는 이러한 컴포넌트들의 결합에 의해 획득된다. 예를 들어, 화이트는 (컴포넌트당 8 비트라고 가정할 때) 255, 255 및 255의 RGB 값에 의해 획득될 수 있으며 청색은 0, 0 및 200의 RGB 값에 의해 획득될 수 있다. RGB 컬러 공간은 때때로 이미지 표시 및/또는 문서 스캐닝을 위해 사용된다. 그러나, RGB 컬러 공간은 압축을 방해할 수 있다.
문서 내의 컬러는 일반적으로, 교정 및/또는 상호관련된다. RGB 컬러 공간에 대해서, 컴포넌트는 (채널에 의해) 개별적으로 압축되는 것으로서 동일 정보가 여러 번 코드되는 결과를 가져온다. 문서 이미지의 압축은 문서의 컬러 공간을 더 압축가능한 컬러 공간으로 변환함으로써 개선될 수 있다.
한가지 가능한 컬러 공간 변환은 문서 이미지를 RGB 컬러 공간으로부터 YUV 컬러 공간으로 변환하는 것이다. Y, U 및 V 컴포넌트는 각각 휘도, 색도 및 색도 청색 컴포넌트이다. YUV는 원래는 텔레비젼 시청을 위해서 개발되었다. 이러한 변환은 압축성이 아니라, 시청 선호도를 기초로 하여 개발되었다. 따라서, 문서 이미지는 다음 식을 이용하여 RGB 컬러이미지로부터 YUV 컬러이미지로 변환될 수 있다.
Figure 112003010478096-pat00017
Figure 112003010478096-pat00018
Figure 112003010478096-pat00019
YUV 컬러 공간은 RGB 컬러 공간에 비해서 더 양호한 압축을 제공하는데, 그 이유는 YUV 컬러 공간이 컴포넌트들 간의 상호관계를 이용하여 동일 정보가 다수의 횟수로 코드되지 않기 때문이다. 대부분의 상관 정보는 Y 컴포넌트에 포함된다. 식 17은 YUV 컴포넌트가 대응하는 RGB 컴포넌트보다 작은 값에 의해 표시될 수 있음을 도시한다. 그러나, 전술된 바와 같이, YUV 컬러 공간은 압축가능성을 위해서가 아니고, 더 양호한 가시성(viewability)을 위해서 설계된 것이다. 문서 이미지는 예를 들면, 도 17을 수정함으로써, 디스플레이와 같은 임의의 적당한 목적을 위해서 RGB 컬러 공간으로 다시 변환될 수 있음을 알 수 있다.
또 다른 컬러 공간 변환은 문서 이미지를 RGB 컬러 공간으로부터 YCoCg 컬러 공간으로 변환하는 것이다. YCoCg 표시는 Y로 표시된 휘도, Co로 표시된 색도-오랜지, 및 Cg로 표시된 색도-그린을 이용한다. RGB 컴포넌트는 변환을 이용하여 YCoC g (예를 들면, 전술된 종래의 Y U V를 대신하여)에 맵핑(mapping)될 수 있다.
Figure 112003010478096-pat00020
중요한 것으로써, YCoCg 컬러 공간 맵핑의 장점은 RGB로부터 YCoCg 변환 및 YCoCg로부터 RGB로의 역 변환이 정수 연산을 이용하여 수행될 수 있다는 것이다. 또한, 역 변환은 승산없이 수행될 수 있다. YCoCg 컬러 공간 표시는 통상의 YUV 보다 상당히 더 양호한 압축 성능을 가져오는데, 그 이유는 YCoCg 컬러 공간 표시가 현재의 디지털 이미지 데이터상에서 주요 컴포넌트 분석으로부터 획득되는 대체로 최적의 공간에 더 양호하게 근사하기 때문이다. 진보된 YCoCg 컬러 공간은 보기 위한 목적이 아니라, 압축을 위해서 설계된다. 또한, 상기 식 또는 식 18의 변환이 정수 연산을 이용하므로, 문서 이미지는 계산상 효율적인 방식으로 YCoCg 컬러 공간으로 변환될 수 있다.
컬러 공간 변환기(702)는 임의의 컬러 공간으로부터 임의의 컬러 공간으로 문서 이미지를 변환할 수 있다. 예를 들어, 컬러 공간 변환기(702)는 YUV 컬러 공간으로부터 YCoCg 컬러 공간으로 문서 이미지를 변환할 수 있다. 또한, 문서 이미지가 이미 바람직한 컬러 공간에 놓였으면, 변환이 수행되지 않는다.
마스크 분리기(704)는 컬러 공간 컴포넌트(702)로부터 문서 이미지를 수신하여 마스크를 생성한다. 마스크 분리기(704)로부터 생성된 마스크는 문서 이미지를 2개의 층, 포그라운드 이미지 및 백그라운드 이미지로 세그먼트하기 위해 사용된다. 본 발명의 다른 특징은 이미지를 2개 이상의 층으로 세그먼트하는 것임을 알 수 있다. 마스크 이미지가라고도 일컬어지는 마스크는 바이너리 이미지로써, 여기서 각각의 화소의 값은 그 화소가 포그라운드 이미지 또는 백그라운드 이미지에 속하는지 여부를 판단한다. 마스크 분리기(704)는 결합된 마스크의 크기, 포그라운드 이미지 및 백그라운드 이미지를 줄이는 마스크를 생성한다.
마스크를 발생하기 위한 여러 방법이 채용될 수 있다. 압축을 위해서, 유사한 화소 값들이 다른 화소 값보다 더 양호하게 압축된다. 전술된 바와 같이, 마스크는 마스크, 포그라운드 이미지 및 백그라운드 이미지의 결합된 크기를 줄이기 위해서 생성된다.
사용이 가능한 한가지 방법은 모든 가능한 마스크를 생성하고 간단하게 최적의 것을 취하는 것이다. N개의 화소를 갖는 문서 이미지에는, 2N 개의 가능한 마스크가 있다. 따라서, 모든 가능한 마스크를 조사하여 어떤 것이 전체 결합된 이미지 중에서 가장 작은 것을 발생하는 지를 판단하는 것이 가능하다. 그러나, 모든 가능한 마스크를 조사하는 것은 계산상 비용이 들며, 시간을 소모하며 일반적으로, 실행 불가능하다.
또 다른 방법은 여러 영역으로 서브 세그먼트하며, 각각의 영역을 분석하여 화소를 할당하며 이 영역들을 합병하는 것이다. 획득될 수 있는 압축의 추정치인 에너지 분산은 거리의 제곱의 합에 기초한 측정치이다. 예를 들어, 2 x 2 화소 또는 4 x 4 화소인, 문서의 작은 영역이 에너지 분산을 위해서 분석될 수 있다. 모든 가능한 마스크는 분석되어 그 영역이 그러한 분석이 실시될 정도로 충분히 작으므로 어떤 마스크를 채용할 지를 판단한다. 예를 들어, 4개의 화소 영역은 그 영역에 대한 단지 16개의 가능한 마스크의 치환을 가질 수 있다. 작은 영역은 함께 합병되어 마스크를 전부 생성하는데, 이는 마스크, 포그라운드 영역 및 백그라운드 영역의 결합된 크기를 줄일 수 있다.
마스크를 생성하는 또 다른 방법은 포그라운드 및 백그라운드가 하나의 영역에서 일정하며, 하나의 마스크가 생성되는데 이는 그 일정한 값 근방으로 변동 또는 에너지 분산을 최소화하거나 또는 대체로 줄인다. 변동은, 마스크를 실제로 발생하며, 문서 이미지를 세그먼트하여 포그라운드 및 백그라운드 이미지를 얻으며, 이들을 압축하는 대신, 포그라운드 및 백그라운드에 대해서 획득가능한 압축의 추정치로서 사용된다. 전술된 바와 같이, 역시 에너지 측정치(거리 제곱의 합)인 에너지 분산은, 압축 후 포그라운드 및 백그라운드의 크기의 수용가능한 추정치이다. 먼저, 압축된 마스크의 비용은 완전히 무시된다. 또 다른 단계에서는 마스크의 크기를 고려할 수 있다.
주어진 영역에서, 이 영역이 N개의 화소의 S 세트이며, F 및 B는 분할 S(즉, F∪B = S 이며 F ∩B = φ)라고 가정한다. f(x)가 화소 위치 x에서의 이미지 값으로써, x∈S 이면, 포그라운드 및 백그라운드의 분산(variance)은 각각 다음과 같다. 즉
Figure 112003010478096-pat00021
Figure 112003010478096-pat00022
여기서,
Figure 112003010478096-pat00023
Figure 112003010478096-pat00024
은 각각 포그라운드 및 백그라운드의 평균(mean)이며, NF 및 NB는 각각 포그라운드 및 백그라운드의 화소 수이다. 이러한 분산은 다음과 같이 표시될 수도 있다. 즉,
Figure 112003010478096-pat00025
Figure 112003010478096-pat00026
합 E = vF + vB를 최소화시키는, S의 적당한 분할(partition) F 및 B를 찾아야한다. 이러한 간소화만으로도, 2N개의 가능한 마스크가 있으므로 문제가 아직도 매우 어렵다. 따라서, 이 이미지는 2 x 2개의 화소 서브-이미지로 더 분할된다. 각각의 2 x 2개의 서브-이미지에서, 24 = 16 개의 가능한 마스크가 존재하는데, 이는 그러한 각각의 영역에서, 최적의 F 및 B를 판단하는 것이 가능함을 의미하며, E = vF + vB를 (모두 16개의 조합을 시도하며 각각을 가장 작은 에너지로 유지시킴으로써) 최소화시킨다. 모두 16개의 조합을 시도할 필요는 없음이 판명된다. 문제는 K = 2일 때 K-수단 문제와 같으며, f(이미지)가 스컬러 함수이므로, 해를 산출하는 값 f(x)가 저장될 수 있는데, 이는 매우 효율적으로 계산될 수 있으며, 모두 4개의 화소를 분류하며, 3개의 분할 중 어느것이 (분류에 대해서) 가장 낮은 에너지를 산출하는지를 판단한다. 동작 수를 최소화하기 위한 각각의 분할에서 부분 합이 재사용될 수 있다.
그러나, 이러한 해법은 모든 2 x 2개의 서브-영역이 가장 작은 화소 잡음도 추출할 수 있는 고유의 포그라운드 및 백그라운드를 가져서, 부적당한 마스크를 도출한다는 단점이 있다. 다음 단계는 인접 영역과 결합되는 것을 포함한다. 예를 들어, 2개의 영역(1, 2)와, 그에 대응하는 포그라운드 및 백그라운드, F1, B1, 및 F2, B2를 가정해본다. 이러한 4개의 세트를 결합할 때, 실제로 7개의 서로 다른 가능성이 있다.
신규 F 신규 B
F1 B1, F2, B2
F1, B1, F2 B2
F1, F2, B2 B1
F2 F1, B1, B2
F1, F2 B1, B2
F1, B1 F1, F2
F1, B2 B1, F2
채택된 조합은 가장 낮은 최종 에너지 E = vF + vB를 갖는 조합이다. 모두 7개의 조합이 시도될 수 있거나, 또는 포그라운드 및 백그라운드의 평균이 저장될 수 있으며 그 분류에 대한 분할만이 고려됨을 주목해야 한다. 또한, 각각의 영역이 포그라운드 및
Figure 112003010478096-pat00027
,
Figure 112003010478096-pat00028
및 NB에 대해서 양(quantity)
Figure 112003010478096-pat00029
,
Figure 112003010478096-pat00030
및 NF를 유지하면, E에 대한 조합은 일정 시간에 계산될 수 있다. 합병 후에, 이러한 양은 보통은 다시 계산되어야 하지만, 다행히도 이는 일정한 시간에 실행된다. 또한 이러한 영역 상에서 합
Figure 112003010478096-pat00031
f(x)2은 각각의 분할에 대해서 일정하며, 최적의 분할을 선택하기 위해 계산될 필요가 없다는 것을 알 수 있다. 이러한 영역 상에서 합
Figure 112003010478096-pat00032
은 후술되듯이, 영역을 합병하지 않을 때를 판단하는데 채용될 수 있다.
인접 영역을 결합하는 것은 수직으로 인접한 2 x 4개의 영역을 4 x 4개의 영역으로 결합시키는 것에 그 후, 수평으로 인접한 2 x 2개의 영역을 2 x 4개의 영역으로 결합시키는 것으로 속행된다. 4 x 4개의 영역은 8 x 8개의 영역으로 결합되며 단지 하나의 영역이 남을 때까지 계속되는데, 이는 포그라운드 및 백그라운드로 분할된다.
유감스럽게도, 이러한 기술은 합병으로 이어질 수 있는데, 이는 하나의 영역에 2개 이상의 컬러가 있을 때마다, 텍스트와 같은 중요한 세부사항의 잠재적인 손실로, 여러 그레이 레벨을 포그라운드 또는 백그라운드로 배치한다. 예를 들어, 영역(1)이 화이트 상에서 그레이로 기록된 텍스트를 갖으며, 영역(2)이 대부분이 블랙이면, 2개의 영역의 합병은 그레이로 유도될 수 있으며 화이트는 포그라운드에 배치되며 블랙은 최종 영역의 백그라운드에 배치되며, 텍스트 정보를 손실한다. 그러나, 2개의 컬러가 포그라운드 또는 백그라운드에서 합병될 때마다, 그러한 영역에서 급격한 에너지 증가(또는 변동)이 일어남을 알 수 있는데, 이는 그러한 영역에 대해 상수가 더 이상 바람직한 모델이 아니기 때문이다. 따라서, 에너지 E가 실험적으로 결정되는 어떤 임계치 K를 초과하면 인접 영역을 합병하지 않도록 알고리즘을 채용하는 것이 바람직하다. 이러한 알고리즘은 마스크를 산출하는데, 이는 한 페이지 내의 대부분의 텍스트 및 그래픽 라인을 포착한다.
그러나, 이러한 알고리즘에는 다수의 개선점이 있는데, 그 중 하나는 간단한 영역을 채용하는 것이다. 작은 영역(예를 들면, 4 x 4)의 I-영역 에너지가 측정될 수 있으며 이 에너지가 충분히 낮으면(실험적으로 판단된 또 다른 임계치를 채용함), 전체 영역은 포그라운드 및 백그라운드로 배치될 수 있다. 따라서, 작은 영역을 세그먼트하는 것은 에너지가 임계치보다 낮을 때 방지되며 따라서 알고리즘의동작을 가속화시킨다. 포그라운드 및 백그라운드에 대한 일정한 가정을 이용하는 대신, 포그라운드 및 백그라운드를 표시하는데 다항식 회귀(polynomial refression)가 채용될 수 있다. 예를 들어, 다항식이 식 αx + βy + μ의 평면이 면, 에너지는 다음과 같이 정의될 수 있다. 즉,
Figure 112003010478096-pat00033
Figure 112003010478096-pat00034
여기서 x, y는 화소 위치를 나타내고, αF, βF 및 μF는 vF, αB, βB를 최소화시키는 스컬러이며 μB는 νB를 최소화하는 스컬러이다. αF, βF 및 μF는 다음의 양
Figure 112003010478096-pat00035
,
Figure 112003010478096-pat00036
,
Figure 112003010478096-pat00037
Figure 112003010478096-pat00038
을 이용하여 일정한 시간에 풀어질 수 있다. 이것은 3개의 미지수 및 3개의 식으로된 선형 시스템이며, 동일하게 αF, βF 및 μF에 적용된다. 전과 같이, 알고리즘은 거꾸로 되었으며 각각의 합병시에 E를 최소화시킨다. 포그라운드 및 백그라운드는 평균으로 분류될 수 없으며, 따라서 전체 7개의 조합은 어떤 결합이 E를 최소화시키는지를 판단하기 위해 검사된다. 일정한 시간에 각각의 검사 및 합병을 수행하기 위해, 다음의 양
Figure 112003010478096-pat00039
,
Figure 112003010478096-pat00040
,
Figure 112003010478096-pat00041
Figure 112003010478096-pat00042
및 N은 포그라운드 및 백그라운드에 대한 각각의 영역에서 유지되어야 한다. 간단한 영역 최적화가 여전히 가능하지만, 영역, 다항식 회귀, 또는 이 둘 다에서 일정하다고 가정할 수 있다.
마스크 프로세서 컴포넌트(706)는 임의의 수의 마스크상의 처리 동작을 수행한다. 마스크 프로세서 컴포넌트는 잡음 제거 컴포넌트(708) 및 디더 검출기(dither detector; 710)를 포함한다. 본 발명의 다른 특징은 다른 마스크 처리 컴포넌트를 포함할 수 있음을 알 수 있다. 본 발명의 다른 특징은 다소간의 처리 컴포넌트를 포함할 수 있음을 알 수 있다.
잡음 제거 컴포넌트(708)는 마스크로부터 잡음을 제거한다. 전술된 바와 같이, 디지털 문서는 전형적으로 표준 문서에서 스캐닝함으로써 생성된다. 일정한 잡음량이 거의 항상 스캐닝 및 디지털화 프로세스를 통해서 디지털 문서로 유입된다. 예를 들어, 스캐너 트레이상의 육필 또는 문서의 주름(fold)은 잡음 및/또는 에러 마크를 야기시킬 수 있어서 문서 이미지내에 포함될 수 있다. 다양한 방법들이 마스크내의 잡음을 식별하는데 채용될 수 있다. 한가지 방법은 연결된 컴포넌트에 대한 마스크를 분석하는 것이다. 연결된 컴포넌트는 예를 들면, 블랙과 같이 동일 컬러의 연결된 화소이다. 마스크는 연결된 컴포넌트에 대해서 매 페이지 단위로, 좌측에서 우측으로, 상부에서 바닥으로 스캐닝될 수 있다. 연결된 컴포넌트에는 위치 및 형상 또는 비트맵 정보가 저장될 수 있다. 그 후, 문서의 각 화소가 분석되어 그것이 잡음인지 아닌지를 판단하게 된다. 각 화소에 대해서, 다섯개의 화소 거리내의 모든 화소와 같은 주변 영역이 분석되어 다수의 연결된 컴포넌트가 주변 영역 내에 및/또는 그 주변 영역과 상호 교차하는지를 판단한다. 연결된 컴포넌트의 수가 임계량보다 작으면, 화소는 잡음으로 고려되며 마스크로부터 제거된다. 그 후, 화소는 더 양호한 압축을 제공하는 것이 무엇인지에 따라 문서의 포그 라운드 및 백그라운드 이미지에 지정된다. 다른 방법이 사용될 수 있으며 본 발명에 따라 그와 같이 사용된다.
일반적으로, 잡음 제거 컴포넌트(708)는 문서내에서 랜덤 및/또는 텍스트나 이미지에 무관하게 되는 화소를 식별할 수 있다. 잡음 제거 컴포넌트(708)는 문서로부터 반드시 모든 잡음을 제거하는 것은 아니다. 잡음 제거 컴포넌트(708)는 그러한 화소를 포그라운드 이미지 또는 백그라운드 이미지에 지정함으로써 마스크로부터 식별된 잡음을 제거한다. 또한, 잡음은 예를 들어, 주변 화소의 값과 잡음으로서 식별된 화소를 대체함으로써 제거될 수 있다.
디더 검출기(710)는 마스크내에서 디더링을 검출하며 마스크로부터 디더링을 제거한다. 디더링은 단색 디스플레이 또는 프린터상의 그레이 세이드, 또는 컬러 디스플레이 또는 프린터상의 부가적인 컬러를 변동하는 상을 생성하기 위해 컴퓨터 그래픽에서 채용된 기술이다. 디더링은 다양한 패턴으로 채색되는 도트의 그룹으로서 이미지의 영역을 처리하는 것에 의존한다. 하프톤(halftone)이라고 하는 프린트 이미지에 유사한 것으로써, 디더링은 그 효과를 평균하고 이들을 단일의 감지된 음영 또는 컬러로 합병함으로써 다양한 컬러의 점을 흐리게하는 시각 경향을 이용한다. 주어진 지역에서 블랙 점과 화이트 점의 비에 따라, 전체 효과는 그레이의 특정한 음영으로 되어 있다. 디더링은 컴퓨터 그래픽 및 낮은 해상도로 곡선 및 대각선에서 부드럽게 잘라진(jagged) 에지를 현실화시키는 것이 포함된다. 그러나, 디더링은 문서 이미지에 대해서 문제가 될 수 있다. 디더링은, 적당히 검출 및 처리되지 않으면, 텍스트, 육필 또는 그래픽으로서 잘못 해석될 수 있다.
디더 검출기(710)는 마스크내의 디더링 영역을 식별하는데, 이 영역은 분할되어 각각의 영역 또는 서브영역이 유사한 디더링 패턴을 가질 수 있다. 디더 검출기(710)는 식별된 디더링 영역을 제거 또는 처리한다. 예를 들어, 디더 검출기(710)는 엷은 그레이로서 디더링 영역을 식별할 수 있다. 디더 검출기(710)는 간단히 디더링 영역을 제거하거나, 또는 엷은 그레이로 이 영역을 설정할 수 있다. 하나의 영역을 세이드로 변경하는 것은 문서 이미지를 수정하는 것과 관련됨을 알 수 있다. 디더 검출기(710)는 마스크를 수정함으로써 식별된 디더링 영역을 포그라운드 또는 백그라운드로 할당할 수 있다.
디더링을 검출 및/또는 처리하기 위해 다수의 방법이 채용될 수 있다. 한가지 방법은 연결된 컴포넌트를 위한 마스크를 분석하는 것이다. 연결된 컴포넌트는 동일 컬러, 예를 들면 연결된 블랙 화소이다. 마스크는 연결된 컴포넌트에 대해서 매 페이지마다 검색되는데, 좌측에서 우측으로, 상부에서 바닥으로 스캔될 수 있다. 연결된 컴포넌트는 위치 및 형상 또는 비트맵 정보로 저장될 수 있다. 각각의 마스크 화소에 대해서, 주변 영역내 및/또는 주변 영역과 교차하는 연결된 컴포넌트의 양 및 수가 결정된다. 주변 영역은 7개와 같은, 화소를 둘러싸는 다수의 화소가 될 수 있다. 그 영역에서 연결된 컴포넌트의 수가 임계치보다 크면, 디더링은 제거된다. 그 후, 화소는 포그라운드 및 백그라운드 이미지에 지정될 수 있으며, 따라서 디더링을 제거한다. 이러한 지정은 영역의 백그라운드 내의 화소량 및 영역의 포그라운드 내의 화소의 양을 계산함으로써 결정될 수 있다. 그 후, 이미지의 포그라운드 내의 화소 량이 이미지의 백그라운드내의 화소의 양보다 많을 때 화소가 포그라운드에 지정될 수 있다. 디더링 또는 하프토닝을 식별 및/또는 디더링하는 다른 방법이 본 발명에서 채용될 수 있다.
클러스터링 컴포넌트(712)는 마스크내의 클러스터를 식별한다. 클러스터 컴포넌트(712)는 연결된 컴포넌트를 마스크내에 배치한다. 전술된 바와 같은 연결된 컴포넌트는 다수의 연결된 화소이며, 예를 들면, 4개의 방향으로 연결된 컴포넌트 또는 8개의 방향으로 연결된 컴포넌트가 될 수 있다. 연결된 컴포넌트를 마스크에 배치한 후에, 클러스터링 컴포넌트(712)는 유사한 연결된 컴포넌트를 식별하여 이들을 클러스터로서 집단화한다. 클러스터는 유사한 연결된 컴포넌트의 그룹이다. 일반적으로, 클러스터는 육필을 포함하는 문자 숫자를 표시하지만, 다른 정보도 포함할 수 있다. 그러나, 단일 문자를 표시하는 다수의 클러스터가 있을 수 있다. 클러스터링은 컴포넌트를 극적으로 증가시킬 수 있다.
압축의 증가 및 파일 크기의 감소에 대한 이유는, 각각의 연결된 컴포넌트가 형상의 딕셔너리에 속하는, 위치 및 형상에 대한 포인터에 의해 요약된다는데 있다. 형상은 연결된 컴포넌트 또는 클러스터의 비트맵 또는 "이미지"이다. 연결된 컴포넌트는 또한 마스크라고도 일컬어진다. 알고리즘의 클러스터링 특징은 어떤 형상이 딕셔너리에 속하는지, 그리고 어떤 형상이 각각의 연결된 컴포넌트에 가장 가까운지를 결정한다. 전형적으로, 형상의 딕셔너리는 파일 크기의 분할이며, 페이지 상에서 형성될 수도 있다. 형상에 대한 포인터는 페이지내의 위치(X 및 Y), 및 형상 수를 특징으로 한다. X 및 Y 위치는 이전의 위치를 이용하여 압축될 수 있으며, 형상 인덱스는 문맥 또는 언어 모델을 이용하여 압축된다.
클러스터를 식별하기 위해 클러스터링 컴포넌트(712)에 의해 다수의 방법이 이용될 수 있다. 한가지 방법은 마크의 형상을 서로 비교하여 유사 및/또는 동일한 마크를 식별하는 것이다. 또 다른 방법은 기존의 클러스터의 특성 및 마크 또는 연결된 컴포넌트의 특성을 채용한다. 기존의 클러스터는 적어도 하나의 마크의 그룹으로써, 이는 이전에 클러스터로서 정의된 것이다. 문서로부터 추출된 마크의 특성은 기존의 클러스터 특성과 비교된다. 그러한 비교는 오정합을 식별하기 위해, 장시간에 비용이 드는, 비트순의 비교를 필요로하지 않는다. 마크 특성이 임의의 기존의 클러스터 특성에 정합되지 않으며, 마크가 기존의 클러스터 중 임의의 것으로부터 너무 동떨어진 것으로 생각되면, 마크는 신규의 클러스터로서 부가되며, 비트 순의 비교가 방지된다. 이러한 방법은 오정합을 검출하기 위한 컴퓨터상의 효율적인 차단에 의해, 그리고 클러스터링을 위한 정(positive)의 정합을 검출하기 위한 컴퓨터상의 효율적인 알고리즘에 의해 다른 방법과 차별화된다.
채용가능한 클러스터의 한가지 특정한 특성은 x 크기 및 y 크기이다. x 크기 및 y 크기는 기존의 클러스터의 크기 정보를 제공한다. 본 발명의 다른 특징은 x 크기 및 y 크기에 의해 인덱스되는, 2D 버킷 표내에서 클러스터를 조직하는 것이다. 신규 마크가 발견될 때, 동일한 x 크기 및 y 크기의 버킷(bucket)이 추출되며, 마크는 버킷내의 클러스터와 비교된다. 또한, 인접한 버킷이 더 정확한 정합을 위해서 검색될 수 있다(모든 다른 버킷은 무시되거나 차단될 수 있다). 클러스터 센터에서 후술되는, "노 드리프트(no-drift)" 가정이 여기서 유용한데, 그 이유는 그것이 클러스터가 그 버킷으로 유지되기 때문이다.
마크를 기존의 클러스터에 비교하기 위해 채용될 수 있는 한가지 방법은 잉크 사이즈이다. 잉크 사이즈는 일반적으로, 마크 또는 클러스터에서 블랙 화소 대 전체 화소의 비를 일컷는다. 유사하게, 마크의 잉크 사이즈는 오정합을 식별하기 위해 기존의 클러스터의 잉크 사이즈에 비교될 수 있다. 마크의 또 다른 특성은 "핫 포인트(hot point)"이다. 핫 포인트는 마크상의 한 위치로서, 중심이 될 수 있거나, 다른 수단(예를 들면, 주변 문자의 라인 식)에 의해 계산될 수 있다. 비교 중, 마크 및 클러스터의 핫 포인트는 비교가 시작되기 전에 정렬되어, 때로는 변형을 가져온다. 또 다른 특성은 감소된 마크 또는 이미지로써, 이는 마크 및/또는 클러스터의 비트맵의 화소 크기 감소 변형이다. 발명의 한가지 특징에서, 감소된 마크는 핫 포인트에 집중되며, 마크는 재설계되어 감소된 마크가 고정된 크기를 갖는다. 다시, 클러스터의 넌-드리프팅(non-drifting) 가정은 클러스터의 감소된 버전이 클러스터내의 모든 마크의 양호한 표시가 되도록 하는데 유용하다. 감소된 마크는 오정합을 식별하기 위해 기존의 클러스터의 감소된 마크 또는 감소된 이미지에 비교될 수 있다.
마크가 모든 특성 검사에 성공할 때, 그것은 더 직접적인 방법으로 클러스터에 비교된다. 마크와 클러스터 사이의 거리가 계산되어, 제1 임계치와 비교된다. 이 거리가 임계치 내에 있으면, 마크는 기존의 클러스터에 가산된다. 이 마크는 제1 수용가능한 기존의 클러스터로 가산될 수 있거나 마크는 마크와의 비교로부터 최소의 거리를 갖는 기존의 클러스터로 가산될 수 있다.
또한, 클러스터는 클러스터내에 배치된 제1 요소를 특징으로 할 수 있다. 이러한 방법의 장점은 클러스터에 신규 마크를 첨가하는 것이 클러스터의 특징의 재-계산을 요구하지 않는다는 것이다. 이러한 방법의 또 다른 장점은 "클러스터 드리프트"를 방지하는 것으로써, 이는 클러스터 중심이 신규 마크의 모든 첨가로 클러스터로 이동할 때 발생된다. "노 드리프트" 가정이라고도 하는, 클러스터 드리프트를 갖지 않는 것은 동일 클러스터의 2개의 요소 사이의 최대 거리를 보장하는 것으로, 이러한 보장은 효율적인 그리고 적극적인 차단을 제공한다. 그러한 방법의 주된 단점은 클러스터링이, 동일한 평균 클러스터-마크 거리에 대해서, k-수단과 같은 다른 클러스터링 알고리즘보다도 더 많은 클러스터를 산출하게 된다는 것이다. 그러나, 이러한 방법의 중요한 장점은 속도의 증가이다. 텍스트 압축의 경우에, 클러스터의 수에서 10%가 증가되는 것은 중요하지 않다. 왜냐하면 각각의 클러스터의 정보를 이동시키는 딕셔너리의 크기가 전형적으로 압축된 문서의 크기의 부분이기 대문이다.
클러스터링 컴포넌트가 마스크에서 712개의 식별된 클러스터를 가진 후에, 마스크는 마스크상에서 광학 문자 인식 장치(OCR)를 수행하는 OCR 컴포넌트(714)에 의해 수신된다. OCR 컴포넌트(714)는 마스크 상의 가능한 문자들을 식별하여 문자를 위한 클러스터를 분석하는데 보조하기 위해 클러스터링 컴포넌트(707)로부터 클러스터를 이용할 수 있다. 각 클러스터는, 클러스터가 문자인지 여부를 판단한 후, 클러스터가 표현하는 문자를 판단한다. 이러한 방법은 상이한 언어 및/또는 알파벳에 대해서 변동이 가능하다. 일반적으로, 클러스터의 형상 또는 비트맵은 사용되는 알파벳의 문자의 형상 또는 비트맵에 비교된다. 형상이 충분히 유사하 면, 클러스터는 그 특별한 문자로서 인식된다. 발견된 각 문자의 위치 정보와 함께 그 순차 순서가 유지될 수 있다. 문자는 ASCII와 같은 표준 알파벳의 문자 열로서 저장될 수 있다.
레이아웃 컴포넌트(716)는 압축을 개선하고 레이아웃 정보를 제공하기 위해 마스크상에서 동작한다. 레이아웃 정보는 문서 이미지를 리플로우하기 위해 나중에 채용될 수 있다. 레이아웃 컴포넌트(716)는 압축을 개선 및/또는 레이아웃 정보를 제공하기 위해 다수의 방법을 이용할 수 있다. 한가지 방법은 컬러, 수직 위치 및/또는 수평 위치에 의해 연결된 컴포넌트를 먼저 조직하는 것과 관련된다. 연결된 컴포넌트는 클러스터링 컴포넌트(712)와 같은, 또 다른 시스템(700)의 컴포넌트에 의해 제공될 수 있다. 레이아웃 컴포넌트(716)는 적어도 일부는, 컬러, 수직 위치, 수평 위치, 결합 거리(예를 들면, 연결된 컴포넌트들 간의 거리), 연결된 컴포넌트의 높이 및/또는 연결된 컴포넌트의 폭에 기초하여 연결된 컴포넌트를 접합 또는 결합한다. 따라서, 접합된 연결 컴포넌트는 2개 이상의 연결된 컴포넌트를 포함한다. 접합된 컴포넌트는 또한 다른 연결된 컴포넌트 또는 다른 연결된 컴포넌트와 접합될 수 있다. 그 후, 레이아웃 컴포넌트(716)는 제공되는 레이아웃 정보를 생성한다. 레이아웃 정보는 접합된 컴포넌트의 위치, 라인의 위치 및 문서 이미지의 다른 정보를 포함할 수 있다.
마스크 인코더(718)는 레이아웃 분석 컴포넌트(716)로부터 마스크를 수용하여 마스크를 인코딩하므로 마스크 비트스트림이라고 하는 압축된 비트스트림을 생성한다. 임의의 적당한 압축 방식은 마크 인코더(718)에 의해 채용될 수 있다. 이 마스크는 바이너리 형태이며 전형적으로 텍스트 정보를 포함한다. 마스크는 바이너리이면 통상적으로 텍스트 정보를 포함한다. 따라서, 압축 방식은 그 압축 바이너리 텍스트 정보를 양호하게 선택해야 한다. 바이-레벨 압축 방식은 마스크를 인코딩하기 위해 채용될 수 있다. 또한, 마스크 인코더(716)는, 예를 들면, 라이브러리, 딕셔너리, 심볼, 표 크기 등과 같은 마스크 비트스트림을 디코드하기 위해 채용될 수 있는 인코딩 정보를 인코드 또는 공급한다.
마스크를 인코딩하기 위해 채용될 수 있는 압축 방식은 CCITT(국제 전화 및 전신 협의회)이다. CCITT는 현재는, 팩스/모뎀 통신용 무손실 압축 기술의 표준 그룹 및 이름인 ITU-T 국제 원격 통신 조합-원격 통신 섹터(1994년에 변경된 이름)으로 알려져있다. 이러한 유형의 압축은 바이너리 이미지로 양호하게 동작한다. 전형적인 압축 비는 구 버전 V.42bis에 대해서 4:1이며, 더 새로운 버전 V.44 2000에 대해서는 6:1이며, 이는 Lempel-Ziv-Jeff-Heath(LZJH) 압축 알고리즘에 기초해 있다. 다른 압축 방법 또는 방식은 마스크를 인코딩하기 위해 채용될 수 있으며 본 발명에 따라 채용된다.
포그라운드 백그라운드 세그멘터(719)는 문서 이미지 및 마스크를 수용하여 문서 이미지를 포그라운드 이미지 및 백그라운드 이미지로 분할한다. 본 발명의 이러한 특징에 따라서, 포그라운드 이미지 및 백그라운드 이미지는 문서 이미지와 대체로 같은 크기가 된다(예를 들면, 문서 이미지는 640 x 480 이며, 포그라운드 이미지는 640 x 480 이며, 백그라운드 이미지는 640 x 480 화소이다). 그러나, 본 발명의 다른 특징은 문서 이미지와 크기가 대체로 다른 포그라운드 이미지 및 백그 라운드 이미지를 생성할 수 있다. 포그라운드 이미지 및 백그라운드 이미지는 결합 또는 재결합될 때, 문서 이미지에 일치하거나 또는 유사할 수 있도록 된다.
포그라운드 백그라운드 세그멘터(719)는 마스크를 사용하는데, 이는 바이너리 포맷으로써, 포그라운드 이미지 및 백그라운드 이미지를 생성한다. 예를 들어, 마스크에서 1로 표시되는 모든 화소는 포그라운드 이미지로 갈 수 있으며 마스크에서 0로 표시되는 모든 화소는 백그라운드 이미지로 갈 수 있다. 역으로, 예를 들어, 마스크에서 0로 표시되는 모든 화소는 포그라운드 이미지로 갈 수 있으며 마스크에서 1로 표시되는 모든 화소는 백그라운드 이미지로 갈 수 있다. 그러나, 백그라운드 이미지 및 포그라운드 이미지는 전형적으로 지정되지 않은 값을 갖는 화소를 갖는다. 지정되지 않은 값을 갖는 이러한 화소는 홀, 비어있는 영역 및/또는 돈케어 영역으로 일컬어진다.
또한, 포그라운드 백그라운드 세그멘터(719)는 확장 컴포넌트(720) 및 리터치 컴포넌트(721)를 포함한다. 확장 컴포넌트(720)는 포그라운드 이미지 및/또는 백그라운드 이미지에 따른 마스크를 확장시키기 위해서 마스크상에서 동작한다. 확장 동작은 마스크를 취하고 '1' 영역을 k 화소만큼 확장시키는 거리 변환에 기초한 형태학적 동작으로써, 여기서 k는 상수(예를 들면 2)이다. 거리는 맨하탄 거리 또는 구형 거리가 될 수 있다. 변환 동작, 부식(erosion)이 역 마스크의 확장에 의해 이루어질 수 있다. 전형적인 스캔된 문서에서, 텍스트는 때때로 망쳐지는데, 스캔중에 잉크가 흐르거나 또는 낮은 dpi 설정으로 인한 것이다. 그러므로, 화이트로부터 블랙으로의 트랜지션은 지속적이며 점진적인 것이며, 마스크는 포그라운 드 및 백그라운드 사이의 하드 경계를 정의한다. 포그라운드 및 백그라운드의 경계 근방에서의 연속적인 트랜지션은 링잉을 유도하며 인코딩하는데 비용이 들 수 있다. 이러한 효과를 줄이기 위해서, 그 경계 근방의 화소 값을 무시하는 것이 유리하다. 이것은 여러 화소(예를 들면 2개)의 거리만큼, 포그라운드 및 백그라운드에 대한 "돈케어" 값의 확장을 수행함으로써 이행된다. 텍스트의 영역 주위에서, "돈케어" 화소의 확장은 콘트라스트 및 판독성을 증가시키는 한편, 파일 크기를 줄인다. 그러나, 자연 이미지의 영역에서 확장이 사용될 때, 증가된 콘트라스트의 효과는 이미지를 만화처럼 보이게 한다. 이러한 문제를 회피하기 위해, 마스크의 레이아웃 분석을 수행하며 어떤 영역이 텍스트로 이루어지는지를 검출하는 것이 가능하다. 이 확장은 텍스트 영역에만 특정하게 될 수 있다. 확장 컴포넌트(720)는 마스크를 포그라운드 마스크 및 백그라운드 마스크로 분리할 수 있다. 그 결과로서, 포그라운드 및 백그라운드에 상관없는 화소가 존재한다. 이러한 화소에는 합리적인 값이 지정되는데 그 이유는 확장 거리가 작으며, 포그라운드 및 백그라운드가 압축으로 인해서 전형적으로 평활되며 따라서 돈케어 화소에 이웃의 두케어 화소로부터 멀지 않은 값이 지정되기 때문이다. 그러나, 돈케어의 확장이 두케어 화소의 작거나 또는 얇은 영역을 완전히 소거하지 않는 동안에는 주의를 기울여야 한다. 이것이 발생될 때, 화소는 속박당하지 않게 되며 임의의 두케어 화소로부터 격리되어, 먼 영역으로부터 예측이 불가능한 컬러링을 야기시킨다. 이러한 것이 발생되지 않도록, 거리 변환을 바라보고 두케어로부터 돈케어로 로컬 단부가 스위치되지 않도록 한다.
포그라운드 이미지 및 백그라운드 이미지는 결국 재결합된 문서로 재결합될 수 있음을 알 수 있다. 그러나, 경사가 급한 에지 및 트랜지션은 압축을 열화시키며 재결합된 이미지가 에지나 라인과 같은 가시 결함으로 손상을 입게 한다. 이것은 예를 들면, 마스크가 대체로 유사한 컬러 영역에서 의사 경계를 야기시켜서, 대체로 유사한 영역의 일부분이 포그라운드 이미지에 배치되게하며 다른 부분이 백그라운드 이미지에 배치되게 할 때 발생될 수 있다. 이들 부분은, 결국 재결합될 때, 이 부분이 별도로 처리되며 또한 인코딩되므로 의사 경계상에서 가시적으로 알 수 있는 라인을 갖는다. 또한, 이러한 부분의 압축은 이러한 의사 경계가 반드시 각각의 부분으로 인코딩되므로 열화될 수 있다.
리터치(retouch) 컴포넌트(721)는 마스크상에서 동작하여 문서 이미지를 "리-터치"하며 따라서 전체 문서 이미지의 압축이 개선될 수 있으며 또한 가시적으로, 재결합된 문서 이미지가 개선된다. 일반적으로, 리터치 컴포넌트(721)는 의사 경계를 식별 및/또는 마스크에 의해 포그라운드 및/또는 백그라운드 이미지를 확장한다. 하나의 방법으로, 리터치 컴포넌트(721)는 포그라운드 및 백그라운드 이미지의 의사 경계를 식별하기 위해 마스크를 이용한다. 화소의 제1 임계치량(예를 들면, 다섯개의 화소)보다 더 긴 합병된 영역 경계의 수평 및/또는 수직 라인을 식별함으로써 검출이 수행될 수 있는데, 이를 위해서, (1) 경계의 한 측면은 포그라운드이며 다른 측면은 백그라운드가며, (2) 양 측면의 그 라인에 따른 선형 복귀는 제2 임계치 이상으로 다르다(예를 들어, 선형 복귀는, 화소의 포그라운드 측면의 경계 화소에서 수행될 수 있으며 선형 복귀는 화소의 백그라운드 측면의 화소에 대 해 수행된다). 리터치 컴포넌트(721)는 마스크 분리기(704)로부터 이러한 영역 정보를 획득할 수 있다. 그 후, 리터치 컴포넌트(721)는 마스크로부터 분리된 포그라운드 및 백그라운드 마스크를 생성함으로써 포그라운드 및/또는 백그라운드 이미지를 확장한다. 포그라운드 마스크는 포그라운드 이미지를 확장하는 한편 백그라운드 마스크는 백그라운드 마스크를 확장한다. 일반적으로, 포그라운드 이미지 및 백그라운드 이미지는 의사 경계상에서 다수의 화소가 확장된다. 포그라운드 및 백그라운드 마스크가 디코딩 프로세스의 일부로서 인코딩되거나 또는 채용되지 않음을 알 수 있다. 재결합될 때, 문서 이미지의 압축 및 가시적으로 나타나는 것을 개선하기 위해 리터치 컴포넌트(721)에 대해서 다른 방법이 채용될 수 있으며 본 발명에 따라 사용된다.
전술된 바와 같이, 포그라운드 백그라운드 분리기(719)는 문서 이미지를 포그라운드 및 백그라운드 이미지로 분리하기 위해 마스크를 사용한다. 포그라운드 및 백그라운드 마스크가 확장 컴포넌트(720) 및/또는 리터치 컴포넌트에 의해 생성되면, 포그라운드 마스크는 문서 이미지를 포그라운드 이미지로 분리하기 위해 채용되며 백그라운드 마스크는 문서 이미지를 백그라운드 이미지로 분리하기 위해 채용된다.
포그라운드 화소 필터(722)는 포그라운드 백그라운드 분리기 세그멘터(719)로부터 포그라운드 이미지를 수신한다. 일반적으로, 포그라운드 화소 필터(722)는 포그라운드 이미지의 돈케어 영역 또는 비어있는 영역을 식별하여 이러한 영역을 돈케어 화소로 채운다. 이러한 영역은 백그라운드 이미지로 할당되는 문서 이미지 의 화소로부터 형성되며 포그라운드 이미지에서 비어있는 또는 돈케어 영역을 남겨놓게 된다. 돈케어 화소는 전형적으로 재결합된 문서 이미지에는 존재하지 않아서 포그라운드 화소 필터(722)가 돈케어 화소의 가시적인 나타남을 고려하지 않는다. 본 발명의 다른 특징은, 마스크된 웨이블릿 압축 방식과 같은 돈케어 영역을 적당히 처리하는 압축 방식을 이용함으로써 돈케어 화소를 채우는 것을 방지할 수 있다.
전술된 바와 같이, 포그라운드 이미지 및 백그라운드 이미지는 비어있는 또는 돈케어 영역을 갖는다. 비어있는 영역은 다수의 방법으로 처리될 수 있다. 한가지 방법은 데이터로 비어있는 영역을 채운 후 표준 압축 기술을 사용하는 것이다. 비어있는 이미지 영역을 채우는 간단한 프로세스는 그 이미지에 대한 평균 화소 값으로 그 비어있는 영역을 채우는 것이다. 그러나, 이러한 프로세스는 마스크 경계에서 심한 불연속을 발생할 수 있으며, 주어진 피크 신호 대 잡음 비(PSNR)에 대해 요구되는 비트 속도를 증가시킬 수 있으며, 마스크 또는 비어있는 영역 경계 근방에서 현저한 링잉을 발생시킨다. 또 다른 프로세스는 가장 근접한 넌-마스크드(non-masked) (또는 돈케어 영역) 화소의 컬러로 각각의 화소를 채색하는 것이다. 표준 형태론 알고리즘은 그 프로세스가 모든 화소상에서 단지 2개의 경로로 수행되게 하여 마스크하에서 보로노이로 채워진 비어있는 영역을 유도한다. 그 후, 포그라운드 또는 백그라운드 이미지가 재구성될 때, 재구성된 이미지는 저역 통과된 후 공지된 화소는 자체의 정확한 값으로 복원된다. 저역 통과 필터 차단 주파수가 너무 낮으면, 급한 에지가 발생될 수 있어서 요구되는 비트 속도의 증가 및 경계 근방에서의 현저한 링잉을 야기시킨다.
비어있는 영역을 처리하는 또 다른 방법은 볼록 세트상에서 돌출부를 사용하는 것이다. 예를 들어, 2개의 볼록 세트, 즉, 가시적인 화소상에서 입력을 정합시키는 이미지의 세트와, 제로로 설정되는 어떤 웨이블릿 계수를 갖는 이미지의 세트를 고려해 본다(예를 들면, 특정 해상도 이상의 모든 고주파 계수). 돌출부를 이들 2개의 세트로 교번시킴으로써, 하나의 이미지가 발견되는데 이는 가시적인 화소에 적합하며 많은 제로 웨이블릿 계수를 갖으므로 양호하게 압축된다.
비어있는 영역을 처리하는 또 다른 방법은 불규칙적인 그리드를 위해서 명확히 설계된 웨이블릿 변환을 이용하는 것이다. 이러한 웨이블릿 분해는 컴퓨터 비전 및 컴퓨터 그래픽에서 기하학적 데이터의 압축 문제에 필요하게 된다. 이러한 웨이블릿은 마스크의 불규칙적인 패턴에 적응된다.
또 다른 방법은 돈케어 화소로 돈케어 영역을 채우지 않고도 포그라운드 이미지를 양호하게 압축할 수 있는 인코딩을 위한 마스크된 웨이블릿 압축 방식을 사용하는 것이다. 마스크된 웨이블릿 압축 방식은, 도 1을 참조로 설명된 바와 같이, 채용이 가능한 그러한 한가지 압축 방식이다. 돈케어 영역을 처리하는 다른 적당한 방법이 본 발명에 따라 사용될 수 있다.
포그라운드 다운샘플 컴포넌트(724)는 포그라운드 화소 필터(722)로부터 포그라운드 이미지를 수신하여 포그라운드 이미지를 다운샘플한다. 포그라운드 다운샘플 컴포넌트(724)는 포그라운드 이미지 및 문서 이미지의 압축을 증가시키기 위해서 포그라운드 이미지의 크기를 줄인다. 예를 들어, 640 x 480개의 화소의 포그 라운드 이미지는 320 x 240개로 다운샘플될 수 있다. 포그라운드 이미지를 다운샘플하기 위해 다수의 방법이 채용될 수 있다. 한가지 방법은 포그라운드 이미지를 다운샘플하기 위해 화소를 폐기하는 것이다. 따라서, 예를 들어, 포그라운드 이미지는 다른 모든 화소를 폐기시킴으로서 640 x 480 내지 320 x 240 화소까지 다운샘플될 수 있다. 또 다른 방법은 백그라운드 이미지로부터의 대응하는 화소의 평균에 기초한 신규의 화소를 생성하는 것이다. 예를 들어, 포그라운드 이미지의 신규 화소는 각각 여덟개의 이웃하는 화소의 평균으로서 생성될 수 있다. 또 다른 방법은 큐빅 보간을 이용하여 다운샘플하는 것이다. 본 발명에 따라 이미지를 다운샘플하는 또 다른 방법이 채용될 수 있다. 포그라운드 및 백그라운드가 인코더에서 다운샘플되면, 이들은 일반적으로 마스크를 이용하여 결합되기 전에 디코더에서 업샘플되어야 한다.
포그라운드 인코더(726)는 포그라운드 이미지를 인코딩한다. 포그라운드 인코더(726)는 포그라운드 이미지로부터 인코딩된 비트스트림을 생성한다. 이러한 비트스트림은 포그라운드 비트스트림으로서 일컬어질 수 있다. 포그라운드 인코더(726)는 포그라운드 이미지를 인코딩하기 위해 다수의 적당한 압축 방식을 이용할 수 있다. 채용이 가능한 일부 예시적인 압축 방식은 예를 들어, 프로그레시브 웨이블릿 인코딩 또는 프로그레시브 변환 인코딩이다.
포그라운드 인코더(726)는 포그라운드 이미지의 압축을 더 개선하기 위해 일정한 컬러 연결 컴포넌트 분석기(도시되지 않음)를 포함할 수 있다. 일정한 컬러 연결 컴포넌트는 클러스터링 컴포넌트(712)에 대해서 기술된 것과 유사한 방법 및 알고리즘을 사용할 수 있다. 일정한 컬러 연결 화소의 그룹이 임계치 값보다 크면, 그 그룹은 일정한 컬러 연결 컴포넌트 또는 일정한 컬러 마크로 고려된다. "일정한 컬러"는 컬러에서 일부 변동을 포함할 수 있음을 알 수 있다. 일정한 컬러 연결 컴포넌트 분석기는 유사한 일정한 컬러 연결 컴포넌트를 일정한 컬러 클러스터로 집단화할 수 있다. 일정한 컬러 연결 컴포넌트 등에 대한 일정한 컬러 클러스터, 비트맵, 형상, 위치 정보를 위한 위치 정보와 같은 관련 정보는, 포그라운드 비트스트림에 포함될 수 있다. 일정한 컬러는 어떤 영역이 테스트로 이루어지는지를 검출하기 위해 채용되는 레이아웃 분석기를 통해서 텍스트로 제한될 수 있다.
백그라운드 화소 필터(730)는 백그라운드 분리기(719)로부터의 백그라운드 이미지를 수신한다. 백그라운드 화소 필터(730)는 백그라운드 이미지에서 돈케어 영역을 식별하여 이러한 영역을 돈케어 화소로 채운다. 이들 영역은 백그라운드 이미지에 할당되는 문서 이미지의 화소로부터 형성되어 백그라운드 이미지에 비어있는 또는 돈케어 영역을 남겨놓는다. 돈케어 화소는 전형적으로 재결합된 문서 이미지에 존재하지 않아서 백그라운드 화소 필터(730)는 돈케어 화소의 가시적인 출현을 고려하지 않는다. 본 발명의 다른 특징은 마스크된 웨이블릿 압축 방식과 같은, 돈케어 영역을 적당하게 처리하는 압축 방식을 이용함으로써 돈케어 화소를 채우는 것을 방지할 수 있다. 백그라운드 화소 필터(730)는 대체로 포그라운드 화소 필터(722)와 같이 동작한다.
전술된 바와 같이, 백그라운드 이미지 및 포그라운드 이미지는 비어있는 또는 돈케어 영역을 갖는다. 비어있는 영역은 다수의 방법으로 처리될 수 있다. 한 가지 방법은 데이터로 비어있는 영역을 채우고 그 후 표준 압축 기술을 사용하는 것이다. 비어있는 이미지의 영역을 채우는 간단한 프로세스는 그 이미지에 대한 평균 화소 값으로 그 비어있는 영역을 채우는 것이다. 그러나, 이러한 프로세스는 마스크 경계에서 급한 불연속을 생성할 수 있으며, 주어진 피크 신호 대 잡음 비(PSNR)에 대한 요구되는 비트 속도를 증가시킬 수 있으며 마스크 또는 비어있는 영역 경계 근방에서 현저한 링잉을 생성할 수 있다. 또 다른 프로세스는 가장 근접한 넌-마스크드(또는 두케어 영역) 화소로 각각의 화소를 채색하는 것이다. 표준 형태론 알고리즘은 그 프로세스가 모든 화소상에서 단지 2개의 패스로 수행될 수 있도록 하며 따라서 그 마스크 하에서 보로노이로 채워진 비어있는 영역을 유도한다. 그 후, 포그라운드 또는 백그라운드 이미지가 재구성될 때, 재구성된 이미지는 저역 통과되며 그 후 공지된 화소가 그 정확한 값으로 복원된다. 저역 통과 필터 차단 주파수가 너무 낮으면, 경사가 급한 에지가 발생될 수 있어서 요구되는 비트 속도를 증가시키며 경계 근방에서 현저한 링잉을 야기시킨다.
비어있는 영역을 처리하는 또 다른 방법은 볼록한 세트에 돌출부를 이용하는 것이다. 예를 들어, 2개의 볼록한 세트, 가시 화소상에서 입력에 정합되는 이미지 세트와, 제로로 설정되는 어떤 웨이블릿 계수(예를 들면, 어떤 해상도 레벨 이상의 모든 고주파 계수)를 갖는 이미지 세트를 고려해 본다. 돌출부를 이러한 2개의 세트로 교차시킴으로써, 하나의 이미지가 발견될 수 있는데 이는 가시 화소에 일치하며 많은 제로 웨이블릿 계수를 갖으므로 양호하게 압축한다.
비어있는 영역을 처리하는 또 다른 방법은 불규칙한 그리드에 대해서 명확하 게 설계된 웨이블릿 변환을 이용하는 것이다. 이러한 웨이블릿 분해는 컴퓨터 비전 및 컴퓨터 그래픽의 기하학적 데이터의 압축에 따른 문제에서 필요하다. 그러한 웨이블릿은 마스크의 불규칙한 패턴에 적응된다.
또 다른 방법은 돈케어 화소로 돈케어 영역을 채우지 않고도 백그라운드 이미지를 양호하게 압축할 수 있는 인코딩을 위한 마스크된 웨이블릿 압축 방식을 사용하는 것이다. 도 1과 관련하여 설명된 바와 같이, 마스크된 웨이블릿 압축 방식은 채용이 가능한 그러한 압축 방식중 하나이다. 돈케어 영역을 처리하기 위한 다른 적당한 방법이 본 발명에 따라 채용될 수 있다.
백그라운드 다운샘플 컴포넌트(732)는 백그라운드 화소 필터(730)로부터 백그라운드 이미지를 수신하여 백그라운드 이미지를 다운샘플한다. 백그라운드 다운샘플 컴포넌트(732)는 백그라운드 이미지 및 문서 이미지의 압축을 증가시키기 위해서 백그라운드 이미지의 크기를 줄인다. 예를 들어, 640 x 480개의 화소의 백그라운드 이미지(640)는 320 x 240개로 다운샘플될 수 있다. 백그라운드 이미지를 다운샘플하는데 다수의 방법이 채용될 수 있다. 한가지 방법은 백그라운드 이미지를 다운샘플하기 위해 화소를 폐기하는 것이다. 따라서, 예를 들어, 백그라운드 이미지는 다른 모든 화소를 폐기함으로써 640 x 480개로부터 320 x 240개의 화소로 다운샘플될 수 있다. 또 다른 방법은 백그라운드 이미지로부터 대응하는 화소의 평균에 기초하여 신규의 화소를 생성하는 것이다. 예를 들어, 백그라운드 이미지의 신규의 화소는 각각 여덟개의 이웃하는 화소의 평균으로서 발생될 수 있다. 본 발명에 따라 이미지를 다운샘플하는 또 다른 방법이 채용될 수 있다. 일반적으로, 포그라운드 이미지 및 백그라운드 이미지의 크기는 대체로 포그라운드 다운샘플 컴포넌트(724) 및 백그라운드 다운샘플 컴포넌트(732)에 의해 축소된 후에 동일해진다.
백그라운드 인코더(734)는 백그라운드 이미지를 인코딩한다. 백그라운드 인코더(734)는 백그라운드 이미지로부터 인코딩된 비트스트림을 발생한다. 이러한 비트스트림은 백그라운드 비트스트림으로 일컬어질 수 있다. 백그라운드 인코더(734)는 백그라운드 이미지를 인코딩하기 위해 다수의 적당한 압축 방식을 이용할 수 있다. 채용될 수 있는 일부 예시적인 압축 방식은 예를 들면, 프로그레시브 웨이블릿 인코딩 또는 프로그레시브 변환 인코딩이다.
백그라운드 인코더(734)는 또한 백그라운드 이미지의 압축을 더 개선시키기 위해서 일정한 컬러 연결 컴포넌트 분석기(도시되지 않음)를 포함할 수 있다. 일정한 컬러 연결 컴포넌트는 클러스터링 컴포넌트(712)에 대해 기술된 것과 유사한 방법 및 알고리즘을 사용할 수 있다. 일정한 컬러 연결 컴포넌트 분석기는 일정한 컬러 연결 화소를 식별하기 위해 백그라운드 이미지를 스캔한다. 일정한 컬러 연결 화소의 그룹이 임계값 보다 크면, 그 그룹은 일정한 컬러 연결 컴포넌트 또는 일정한 컬러 마크로 고려된다. "일정한 컬러"는 컬러에서 일부 변동을 포함할 수 있음을 알 수 있다. 일정한 컬러 연결 컴포넌트 분석기는 또한 유사한 일정한 컬러 연결 컴포넌트를 일정한 컬러 클러스터로 그룹화 할 수 있다. 일정한 컬러 클러스터, 비트맵, 형상에 대한 위치 정보, 일정한 컬러 연결 컴포넌트에 대한 위치 정보 등과 같은 관련된 정보에는 백그라운드 비트스트림이 포함될 수 있다. 또한, 일정한 컬러가 텍스트로 제한될 수 있는데, 여기서 레이아웃 분석기가 어떤 영역이 텍스트로 이루어지는지를 검출하기 위해 사용된다.
임의의 적당한 수의 압축 방식이 마스크 인코더(718), 포그라운드 인코더(726) 및 백그라운드 인코더(734)로 채용될 수 있다. 이러한 방식 중 일부는 이미 설명된 바 있다. 마스크 인코더(718), 포그라운드 인코더(726) 및 백그라운드 인코더(734)로 채용될 수 있는 이러한 압축 방식 및 부가적인 압축 방식을 여기서 설명하기로 한다.
본 발명에서 채용될 수 있는 일부 공통으로 공지된 압축 방식으로는 JPEG(조인트 포토그래픽 전문가 집단), PWT(프로그레시브 웨이블릿 변환), JPEG 2000, PTC(프로그레시브 변환 코덱), GIF(그래픽 상호교환 포맷), PNG(이동 망 그래픽)가 채용될 수 있다. JPEG는 일반적으로, 이산 코사인 변환(DCT)에 기초한 손실 압축인데, 이는 전형적인 압축 비 2:1인, 무손실 압축에 대한 세팅을 갖는다할지라도 그러하다. 이러한 압축 기술은 일반적으로, 사진 이미지에 대해서 사용된다. JPEG은 풀 컬러 압축에 대해서 20:1의 평균 압축비로 화소 컬러(1600만 컬러)에 대해서 24-비트를 저장할 수 있다. 그러나, 일반적으로, 평균 압축 비는 가시 손실없이는 10:1 내지 20:1 으로 변동하며, 보통 품질에 대해서는 60:1 내지 100:1 로 변동하며, 낮은 품질에 대해서는 60:1 내지 100:1 로 변동한다. 이러한 기술의 일부 단점은 급한 에지에 따른 문제점과, 투과성에 대한 지원이 부족하다는 것이다. 또한, GIF 포맷보다는 보는데 시간이 더 걸리지만, 풀 컬러 또는 그레이 스케일 스캔 사진과 같은 이미지에 대해서는 GIF 보다 우수하다.
PWT는 무손실 기술의 일부이며 많은 다른 압축 기술에 대해서 기초가 된다. PWT는 전체 이미지를 먼저 보고 시간을 두고 반복적으로 해상도를 계속해서 증가시키는 것이 최선이라는 생각에 기초해 있다. 이것은 고화질 이미지의 효율적인 전달을 허용한다. 특히, 저주파 컴포넌트를 먼저 전달함으로써, 전체 이미지의 저해상도 버전이 전달된다. 그 후, 이러한 해상도는 더 높은 주파수 컴포넌트가 도달함에 따라 증가한다.
JPEG 2000은 웨이블릿 기반 압축 기술로 DCT에 기초한 JPEG 표준 기반을 교체하기 위해 설계되었다. JPEG 2000은 JPEG에 존재하는 블록킹 아티팩트(blocking artifact)를 제거하는 한편, 24-비트 컬러를 유지한다. 또한, JPEG 2000은 손실에 대해서는 201 : 1, 무손실에 대해서는 2:1의 압축비로 손실 및 무손실 압축을 모두 지원한다.
PTC는 JPEG, GIF, PNG, M-JPEG, JPEG-LS 등과 같은 포맷의 특징 중 일부를 결합하는 압축 방식이지만, 더 양호한 압축 성능을 가지며 많은 경우에는 훨씬 더 빨리 인코딩 및 디코딩한다. PTC는 JTPG와 비교해서 인조물을 더 감소시킨다.
또한, PTC는 신규의 특징을 더한다. 한가지 중요한 추가 특징은 축척가능성(또는 진행 렌더링)이다. 원래의 PTC 파일로부터, 더 낮은 해상도 또는 더 낮은 화질의 화상이 파일의 일부를 파싱(parsing) 및 디코딩함으로써 획득될 수 있다. PTC는 또한 컬러당 16 비트까지 지원하며 4개의 컬러 채널 또는 컴포넌트(R,G,B 및 알파)를 지원하는데, 여기서 알파는 투과성 컴포넌트이다. PTC는 또한 단일 코덱에서 무손실 및 손실 인코딩을 적분한다. 또한, PTC에 대한 효 율적인 기준 코드를 얻을 수 있다. 이 코드는 낮은 메모리 풋프린트(footprint)를 가지며, 정확한 재현성을 위해서 단지 정수 연산(부동 소숫점이 아님)만을 사용한다.
PTC를 수행하기 위해, 진행 렌더링을 위해 다중 해상도 변환이 채용된다. 한가지 방법은 웨이블릿을 사용하는 것이지만, 더 효율적인 것은 더 낮은 계산 비용으로, 계층적 랩드 변환(hierarchical lapped transforms)을 이용하는 것이다. PTC에서 신규의 계층적 랩드 바이오쏘고날 변환(LBT)은 더 작은 4 x 4 블록 크기, 및 정수 계수를 이용함으로써 종래의 PTC 구성을 개선하는데, 이는 대체로 어떤 승산이 없이 그 계산을 허용한다(종래의 PTC 방식에서 상기 변환은 부동 소숫점 계산을 채용하였다). 통상의 이산 코사인 변환(JPEG 및 MPEG에서 사용되는, DCT)에서 랩드 변환의 주요 장점은 랩드 변환에서는 DCT의 "블록킹 아티팩트"가 발생하지 않는다는 것이다. 또한, PTC에서 사용되는 LBT의 다중해상도(계층) 형태로 인해서, 링잉 아티팩트가 DCT 기반 코덱에서 보다 덜 현저하게 된다.
GIF는 약 3:1의 평균 압축비를 갖는 무손실 화소 컬러(256 컬러)당 8-비트 압축이다. GIF는 내장형 렘펠-지브-웰치(LZW) 코딩으로써, 이는 사진에 대해서 큰 압축을 제공하지 않지만 더 간단한 라인 도면에 대해서는 어떻게 큰 압축을 제공하는 지를 설명한다. GIF 압축은 모든 종류의 이미지로 동작할 수 있지만, 일부 컬러만을 사용하여 컴퓨터 생성 그래픽으로 가장 양호하게 동작하며, 이로 인해 웹 기반 그래픽에 인기가 있다. 또한, 날카로운 에지를 갖는 개략적인 이미지는 JPEG보다 더 양호하게 압축된다.
PNG는 GIF보다 평균 10 내지 30% 더 작은 압축을 제공하는 무손실 포맷이다. 또한, 그것은 실제 컬러 이미지를 위해서는 JPEG보다 더 양호한데, 그 이유는 48-비트 컬러로서, 이는 JPEG의 24-비트 컬러보다 더 양호하기 때문이다. 또한, PNG는 투과성을 허용하며, 그 압축은 비대칭인데, 이는 그 압축이 시간이 훨씬 더 걸리는 반면에 압축 해제가 빠르다는 것을 의미한다. PNG는 인터넷상에서 사용하기 위해 설계되며 따라서 그 빠른 합축해제가 더해진다. 또한, PNG는 GIF 포맷을 대체하기 위해 설계되었으며, 이는 LZW 코딩을 이용한다. PNG는 LZW 코딩 대신 프리웨어 Gzip 압축 방식을 이용한다.
도 8은 본 발명의 한가지 특징에 따른 세그먼트된 계층화 이미지 디코딩 시스템에 대한 블록도이다. 이 시스템은 압축된 비트, 비트스트림 또는 파일을 수신하여 재결합된 이미지를 발생한다. 이 시스템은 분리기 컴포넌트(802), 포그라운드 디코더(804), 백그라운드 디코더(806), 마스크 디코더(808), 리-플로우 컴포넌트(810) 및 결합기(812)를 포함한다.
분리기 컴포넌트(802)는 압축된 비트를 수신하여 포그라운드 비트스트림, 백그라운드 비트스트림 및 마스크 비트스트림을 형성하기 위해 비트를 분리한다. 이 분리기 컴포넌트(802)는 비트스트림을 분리하기 위해 헤더 정보를 이용할 수 있다. 포그라운드 디코더(804)는 포그라운드 비트스트림을 합축해제하여 포그라운드 이미지를 생성한다. 백그라운드 디코더(806)는 백그라운드 비트스트림을 압축해제하여 백그라운드 이미지를 생성한다.
마스크 디코더(808)는 마스크 비트스트림을 압축해제하여 마스크 또는 마스 크 이미지를 생성한다. 또한, 마스크 디코더(808)는 레이아웃 및/또는 리-플로우 정보를 검색할 수 있다. 또한, 마스크 디코더(808)는 텍스트 정보를 재구성하기 위해 채용되는 딕셔너리를 획득할 수 있다. 일부 압축 방식에서(예를 들어, 마스크된 웨이블릿), 포그라운드 디코더(804) 및 백그라운드 디코더(806)는 포그라운드 이미지 및 백그라운드 이미지를 획득하기 위해 마스크 디코더(808)로부터 압축해제된 마스크를 요구할 수 있다.
리-플로우(re-flow) 컴포넌트(810)는 소정의 디스플레이 특성에 따른 포그라운드 이미지, 백그라운드 이미지 및 마스크에서 동작한다. 소정의 디스플레이 특성은 디스플레이 페이지 크기, 컬럼 수, 폰트 크기 등과 같은 특성들을 포함할 수 있다. 소정의 디스플레이 특성은 원래의 문서 이미지의 특성과는 매우 다를 수 있다. 예를 들어, 문서 이미지는 레터 페이지 크기 및 10 포인트 폰트 크기를 가질 수 있다. 이들 문서 이미지의 특성은 표준 레터 종이 위에서 보기에 양호하다. 그러나, 이러한 특성은 개인 휴대 단말기(PDA)와 같은 휴대용 장치에서 보는 것을 어렵게 할 것 같다. PDA는 일반적으로 좁은 스크린에 더 낮은 해상도를 갖는다. 리-플로잉 없으면, PDA를 사용하는 사용자는 각각의 텍스트 라인을 판독하기 위해 좌우로 움직여야 할 필요가 있다. 따라서, PDA에 대해서, 소정의 디스플레이 특성은 컬럼 크기가 20, 폰트 크기가 14 등이 될 수 있다. 리-플로우 컴포넌트(810)는 필요한 만큼의 텍스트를 감싸며, 문단(paragraph)을 재배치하며, 문장을 재배치하며, 이미지를 재배치하며, 이미지의 크기를 바꾸며 소정의 디스플레이 특성에 따라 다른 적당한 변형을 수행할 수 있다. 리-플로우 컴포넌트(810)는 포그라운드 이미 지, 백그라운드 이미지 및/또는 마스크로 인코딩된 레이아웃 정보를 이용한다.
결합기(812)는 포그라운드 이미지, 백그라운드 이미지 및 마스크를 재결합된 문서 이미지로 결합시킨다. 재결합된 이미지는 원래의 문서 이미지와 같거나 근사해 있다. 또한, 재결합된 이미지는 소정의 디스플레이 특성에 따라 상이한 형상 및/또는 크기를 가질 수 있다. 결합기(812)는 마스크에 기초한 포그라운드 이미지 및 백그라운드 이미지로부터 재결합된 문서 이미지를 위한 화소를 발생한다. 재결합된 문서 이미지의 각각의 화소는 마스크의 대응하는 화소를 참조하여 결정되며 그에 따라 재결합된 문서의 화소가 포그라운드 이미지 또는 백그라운드 이미지로부터 나오는지를 결정한다. 예를 들어, 마스크 화소 값 1은 재결합된 문서의 화소가 포그라운드 이미지의 대응하는 화소로부터 나오는 것을 표시할 수 있다. 또한, 결합기(813)는 필요한 임의의 적당한 컬러 공간 변환을 수행한다. 예를 들어, 재결합된 이미지는 YCoCg 컬러 공간을 이용하여 표시될 수 있다. 따라서, 계속하여 예를 들자면, 결합기(812)는 (예를 들면, 모니터상에서 표시하기 위해) YCoCg 컬러 공간으로부터 RGB 컬러 공간으로 변환할 수 있다.
도 9는 본 발명의 한가지 특징에 따라 문서 이미지를 인코딩하는 방법에 대한 순서도이다. 문서 이미지는 단계(912)에서 제공된다. 문서 이미지는 매트맵 이미지로서 컬러 공간을 표시하며, 이는 전형적으로 RGB이다. 문서 이미지는 압축을 증가시키기 위해서, 그 컬러 공간으로부터 YUV 또는 YCoCg와 같은, 또 다른 컬러 공간으로 변환될 수 있다.
단계(904)에서 마스크는 문서 이미지를 위해서 생성된다. 마스크는 문서 이미지에 기초한 바이너리 이미지가다. 마스크는 생성되어 문서 이미지가 포그라운드 이미지 및 백그라운드 이미지로 분할되거나 또는 분리되어 포그라운드 이미지 및 백그라운드 이미지가 높게 압축된다. 마스크의 각 화소는 문자 이미지의 대응하는 화소가 포그라운드 이미지 또는 백그라운드 이미지에 배치되는지 여부를 판단한다. 마스크는 임의의 적당한 방식으로 발생되어 마스크, 포그라운드 이미지 및 백그라운드 이미지의 결합된 크기가 압축 후에 감소된다.
잡음 검출, 잡음 교정, 디더 검출 및 처리 등을 포함하되 이것에 한하지 않는 부가적인 마스크 처리가 마스크상에서 수행될 수 있음을 알 수 있다. 예를 들어, 디지털화 프로세스 동안 때때로 잡음이 문서 이미지로 유입된다. 예를 들어 육필 및/또는 먼지가 문서 이미지에 무심코 포함될 수 있다. 이 잡음이 식별되어 마스크로부터 제거될 수 있다. 디더링은 그레이 또는 컬러의 변동하는 세이드의 착시를 생성하기 위해 채용되는 기술이다. 디더링은 세이드를 모의(simulate)하기 위해 하나의 영역내의 도트 백분율 또는 비율을 변동시킨다. 디더링은 이미지가 선명하게 나타나도록 하지만, 디지털 문서에 대한 문제를 야기킬 수 있다. 디더링은 텍스트, 육필 등으로서 오인될 수 있다. 마스크 내의 디더링은 식별되어 적당히 처리될 수 있다.
또한, 클러스터가 마스크 내에서 식별될 수 있다. 연결된 컴포넌트가 마스크에서 식별될 수 있다. 연결된 컴포넌트는 하나 이상의 연결된 도트, 전형적으로는 블랙 도트의 그룹이다. 유사한 연결된 컴포넌트는 클러스터로 그룹화된다. 각 각의 클러스터는 마스크내의 위치에 대한 비트맵 및 포인터로 표시될 수 있다. 클러스터의 사용은 엄청난 양의 공간을 절약할 수 있다. 클러스터는 문자, 육필 등을 표시할 수 있다.
또한, 광학 문자 인식이 마스크에서 수행될 수 있다. 육필 또는 텍스트를 표시하는 클러스터가 텍스트 또는 문자를 식별하기 위해 분석될 수 있다. 일단 인식되면, 문자는 예를 들면 ASCII 코드로서 저장될 수 있으며 훨씬 많은 저장 공간을 절약할 수 있다. 또한, 광학 문자 인식은 문서 이미지가 궁극적으로 재결합될 때 문서 이미지의 리-플로우 및 용이한 편집을 향상시킨다.
또한, 마스크는 문서 이미지의 레이아웃 특성을 식별하도록 분석될 수 있다. 문자, 클러스터 및 이미지 위치는 레이아웃 특성을 식별하도록 분해될 수 있다. 문장, 항, 형태, 이미지 위치, 페이지수 등을 포함하되 이에 한하지 않는 레이아웃 특성이 식별될 수 있다. 이러한 레이아웃 특성은 부착되거나 나중에 사용하기 위해 마스크로 인코드될 수 있다.
문서 이미지는 마스크에 따라, 단계(906)에서 포그라운드 이미지 및 백그라운드 이미지로 분할된다. 예를 들어, 마스크에서 1로 표시되는 모든 화소는 포그라운드 이미지로 들어갈 수 있으며 0으로 표시되는 모든 화소는 백그라운드 이미지로 들어갈 수 있다. 본 발명의 다른 특징은 문서 이미지를 또다른 적당한 수의 층으로 분할할 수 있으며 본 발명은 도 9에서 설명된 2개의 층으로 제한되지 않음을 알 수 있다.
포그라운드 이미지 및 백그라운드 이미지는 문서 이미지와 동일한 크기이다. 그러나, 포그라운드 이미지 및 백그라운드 이미지는 하나의 값에 지정되지 않은 화소를 갖는다. 이들 화소는 홀, 보이드(void) 및/또는 비어있는 영역으로서 일컬어진다. 이러한 홀은 그러한 화소에 대응하는 값이 다른 이미지에 지정되는 곳에서 발생된다. 궁극적으로 재결합된 이미지에서 하드 에지를 감소시키기 위해서 백그라운드 및 포그라운드 이미지에서 리터칭(retouching)이 수행될 수 있다. 리터칭은 다수의 화소만큼 포그라운드 이미지 및 백그라운드 이미지를 확장하여 급한 에지 및/또는 트랜지션이 회피된다. 전형적으로, 마스크로부터 포그라운드 마스크 및 백그라운드 마스크를 생성하며 포그라운드 마스크를 이용하여 문서 이미지로부터 포그라운드 이미지를 세그먼트하며 백그라운드 마스크를 이용하여 문서 이미지로부터 백그라운드 이미지를 분할함으로써 리터칭이 수행된다. 포그라운드 마스크는 포그라운드 이미지의 확장을 용이하게 하며 백그라운드 마스크는 백그라운드 이미지의 확장을 용이하게한다.
포그라운드 이미지내의 홀 또는 보이드(void)는 단계(908)에서 돈케어 화소로 채워진다. 돈케어 화소는 압축 후에, 포그라운드 이미지의 압축을 증가시키며 포그라운드 이미지의 크기를 감소시키기 위해서 선택된다. 돈케어 화소는 다수의 적당한 방법을 이용하여 결정될 수 있다. 채용가능한 한가지 방법은 문서 이미지를 위한 평균 화소로 돈케어 영역을 채우는 것이다. 그러나, 이러한 프로세스는 마스크 경계에서 급한 불연속을 생성할 수 있으며, 주어진 피크 신호 대 잡음 비(PSNR)에 대한 요구되는 비트 속도를 증가시킬 수 있으며 마스크 또는 비어있는 영역 경계 근방에서 현저한 링잉을 발생할 수 있다. 또 다른 방법은 더 케어 영역 내의 각 화소를 가장 가까운 마스킹되지 않는(또는 두케어 영역의) 화소의 컬러로 채색하는 것이다. 표준 형태 알고리즘은 그 프로세스가 모든 화소에서 단지 2개의 패스로 수행되게 하여 마스크 하부에서 보로노이로 채워진 비어있는 영역으로 유도한다. 그 후, 포그라운드 또는 백그라운드 이미지가 재구성될 때, 재구성된 이미지는 저역 통과된 후 공지된 화소가 정확한 값으로 복원된다. 저역 통과 필터 차단 주파수가 너무 낮으면, 날카로운 에지가 발생되어 요구되는 비트 속도가 증가되며 경계 근방에서 현저한 링잉이 발생된다. 비어있는 영역을 처리하는 또 다른 방법은 볼록한 셋트로 돌출부를 사용하는 것이다. 예를 들어, 2개의 볼록 세트, 가시 화소에서 입력에 정합되는 이미지 세트와 제로로 설정되는 특정 웨이블릿 계수(예를 들면, 어떤 해상도 레벨 이상의 모든 고주파 계수)를 갖는 이미지 세트를 고려한다. 돌출부를 이들 2개의 세트로 교번함으로써, 하나의 이미지가 발견되는데 이는 가시 화소와 일치하며 많은 제로 웨이블릿 계수를 가지기 때문에 양호하게 압축한다. 본 발명에 따라 돈케어 영역을 채우는 다른 적당한 방법이 채용될 수 있다.
백그라운드 이미지내의 홀 또는 보이드는 단계(910)에서 돈케어 화소로 채워진다. 돈케어 화소는 압축후에, 백그라운드 이미지의 압축을 증가시키고 백그라운드 이미지의 크기를 줄이기 위해 선택된다. 돈케어 화소는 포그라운드 이미지에 대해서 전술된 바와 같이 적당한 방법을 이용하여 결정될 수 있다.
본 발명의 다른 특징은 비어있는 영역을 채우지 않은 채 남겨 놓는 것임을 알 수 있다. 따라서, 마스크된 웨이블릿 압축 방식과 같은 압축 방식이 채용되어 비어있는 또는 돈케어 이미지를 채우지 않고 포그라운드 및 백그라운드 이미지를 인코딩하는 것이다.
마스크는 단계(912)에서 마스크 비트스트림을 생성하기 위해 인코딩된다. 마스크는 적당한 압축 방식을 이용하여 인코딩된다. 압축 방식은 마스크의 압축을 개선하기 위해 마스크의 텍스트 정보 및 바이너리 표시를 이용할 수 있다. 또한, 클러스터, 레이아웃 정보 등은 마스크를 더 양호하게 압축하기 위해 채용될 수 있다.
백그라운드 및 포그라운드 이미지에서 부가적인 처리가 수행될 수 있음을 알 수 있다. 예를 들어, 잡음 제거 및 다운샘플링은 백그라운드 및 포그라운드 이미지에서 수행될 수 있다. 잡음 제거는 스캐닝 또는 백그라운드 이미지에 존재하는 잡음을 제거하거나 또는 처리한다. 전형적으로, 이러한 잡음은 스캐닝 또는 변환 프로세스에 유입된다. 다운샘플링은 포그라운드 및 백그라운드 이미지의 크기를 줄인다. 예를 들어, 640 x 480개의 화소 포그라운드 및 백그라운드 이미지는 320 x 240 크기의 이미지로 다운샘플될 수 있다.
포그라운드 이미지는 단계(914)에서 인코딩되어 포그라운드 비트스트림을 생성한다. 포그라운드 이미지는 적당한 압축 방식을 이용하여 인코딩된다. 포그라운드 이미지를 인코딩하는데 채용될 수 있는 일부 예시적인 압축 방식은 PWC, PTC, JPEG, JPEG 2000, PNG 및 GIF이다. 다른 압축 방식이 채용될 수 있으며 이는 여전히 본 발명에 부합되는 것이다.
백그라운드 이미지는 단계(916)에서 인코딩되어 백그라운드 비트스트림을 생 성한다. 백그라운드 이미지는 적당한 압축 방식을 이용하여 인코딩된다. 백그라운드 이미지를 인코딩하는데 채용될 수 있는 일부 예시적인 압축 방식은 PWC, PTC, JPEG, JPEG 2000, PNG 및 GIF이다. 다른 압축 방식이 채용될 수 있으며 이는 여전히 본 발명에 부합되는 것이다.
백그라운드 및 포그라운드 이미지는 포그라운드 및 백그라운드 이미지의 압축을 더 개선하기 위해 일정한 컬러 연결 컴포넌트를 식별하도록 분석될 수 있다. 일정한 컬러 연결 컴포넌트는 대체로 같은 컬러 값을 갖는 다수의 연결 컴포넌트를 포함한다. 일정한 컬러 연결 컴포넌트는 컬러의 시드 화소를 배치하고 그러한 동일한 컬러 또는 대체로 같은 컬러를 갖는 모든 또는 거의 모든 연결된 화소를 찾기 위한 알고리즘을 이용함으로써 식별될 수 있다.
마스크 비트스트림, 포그라운드 비트스트림 및 백그라운드 비트스트림이 단계(918)에서 결합되어 결합된 비트스트림을 형성한다. 또한, 결합된 비트스트림은 파일이 될 수 있다. 헤더 정보는 사용된 인코더, 딕셔너리, 심볼, 라이브러리 등과 같은 정보를 포함하도록 결합된 비트스트림에 부가될 수 있다.
도 10은 본 발명의 일 태양에 따라 문서 이미지를 디코딩하는 방법에 대한 순서도이다. 비트스트림은 단계(1002)에서 수신된다. 비트스트림은 마스크 비트스트림, 포그라운드 비트스트림, 백그라운드 비트스트림 및 헤더 정보를 포함하는 결합된 비트스트림이다. 비트스트림은 단계(1004)에서 마스크 비트스트림, 포그라운드 비트스트림 및 백그라운드 비트스트림으로 분리된다. 또한, 헤더 정보가 추출될 수 있다.
마스크, 포그라운드 이미지 및 백그라운드 이미지는 단계(1006)에서 마스크 비트스트림, 포그라운드 비트스트림 및 백그라운드 비트스트림으로부터 각각 디코드된다. 마스크, 포그라운드 이미지 및 백그라운드 이미지는 집합적으로 이미지 컴포넌트로서 일컬어진다. 마스크, 포그라운드 이미지 및 백그라운드 이미지는 인코딩되는 압축 방식과 호환되는 압축해제 방식을 이용하여 디코드된다. 헤더 정보는 이 압축/압축해제 정보를 포함할 수 있다. 마스크 및/또는 헤더 정보는 레이아웃 정보 또는 레이아웃 특성을 포함할 수 있다. 또한, 딕셔너리, 심볼 및 다른 정보가 마스크로부터 디코드되거나 또는 헤더 정보로부터 획득될 수 있다.
디스플레이 특성이 단계(1008)에서 제공된다. 디스플레이 특성은 미리 결정될 수 있고, 사용자에 의해 입력 및/또는 동적으로 결정될 수 있다. 디스플레이 특성은 디스플레이 크기, 폰트 크기, 컬러 등과 같은 정보를 포함한다. 마스크, 포그라운드 이미지 및 백그라운드 이미지는 단계(1010)에서 디스플레이 특성에 따라 변경된다. 이미지 컴포넌트는 변경되어 재결합될 때, 디스플레이 특성과 정합된다. 예를 들어, 마스크내의 텍스트는 좌우로 움직이지 않고 좁은 스크린상에서 적당히 디스플레이하도록 리-플로우될 수 있다.
마스크, 포그라운드 이미지 및 백그라운드 이미지는 단계(1012)에서 결합되어 재결합된 문서 이미지를 형성한다. 포그라운드 이미지 및 백그라운드 이미지는 재결합된 문서 이미지를 형성하기 위한 마스크에 따라 결합된다. 이 마스크는 바이너리 형태로서, 각각의 재결합된 문서 이미지의 화소에는 대응하는 마스크 화소에 의존하여 포그라운드 이미지 또는 백그라운드 이미지의 대응하는 화소로부터의 값이 지정된다. 재결합된 문서 이미지는 원래의 문서 이미지와 같거나 또는 매우 근사하여 있다. 원래의 문서 이미지는 원래 수신된 비트스트림으로 인코딩된 문서 이미지가다.
본 발명의 시스템 및/또는 방법은 텍스트, 육필, 도면 등의 식별 및/또는 압축을 용이하게 하는 전체 시스템에서 이용될 수 있음을 알 수 있다. 또한, 당업자라면 본 발명의 시스템 및/또는 방법이 사진 복사, 문서 스캐너, 광학 문자 인식 시스템, PDA, 팩스 장치, 디지털 카메라 및/또는 디지털 비디오 카메라를 포함하되 이에 한하지는 않는 많은 문서 이미지 용용에서 채용될 수 있음을 알 수 있다.
본 발명의 여러 특징에 대한 부가적인 내용을 제공하기 위해, 도 11 및 다음의 논의는 본 발명의 여러 특징이 실행될 수 있는 하나의 가능한 적합한 계산 환경(1110)에 대해 간단히 일반적으로 설명한다. 계산 환경(1110)은 단지 하나의 가능한 계산 환경이며 본 발명에 채용되지 않는 계산 환경을 제한하기 위한 것이 아님을 알 수 있다. 본 발명이 하나 이상의 컴퓨터에서 실행될 수 있는 컴퓨터 실행 명령의 일반적인 내용으로 설명되었지만, 본 발명은 또한 다른 프로그램 모듈과 결합 및/또는 하드웨어 및 소프트웨어의 결합으로서 실행될 수 있음을 알 수 있다. 일반적으로, 프로그램 모듈은 특정 작업을 실행하거나 또는 특정 개요 데이터 유형을 수행하는 루틴, 프로그램, 컴포넌트, 데이터 구조 등을 포함한다. 또한, 본 발명의 방법이, 각각 하나 이상의 연관된 장치에 동작가능하게 결합될 수 있는, 개인용 컴퓨터, 휴대용 계산 장치, 마이크로프로세서 기반 또는 프로그램가능한 소비자 전자장치 등은 물론이고, 단일 프로세서 또는 다중프로세서 컴퓨터 시스템, 미니컴 퓨터, 메인프레임 컴퓨터를 포함하여 다른 컴퓨터 시스템 구성으로 실행될 수 있음을 알 수 있다. 예시된 본 발명의 특징은 또한 어떤 작업이 통신망을 통해서 링크되는 원격 처리 장치에 의해 실행되는 분산된 계산 환경에서 실시될 수 있다. 분산된 계산 환경에서, 프로그램 모듈은 근거리 또는 원격 메모리 저장 장치에 배치될 수 있다.
도 11은 여기서 설명된 시스템 및 방법을 지원하기 위한 한가지 가능한 하드웨어 구성을 도시한다. 독립형의 구성이 예시되었지만, 본 발명에 따라 임의의 적당한 계산 환경이 채용될 수 있음을 알 수 있다. 예를 들어, 독립 장치, 멀티프로세서, 분산형, 클라이언트/서버, 미니컴퓨터, 메인프레임, 수퍼컴퓨터, 디지털 및 아날로그를 포함하되 이에 한하지는 않는 계산 구조가 본 발명에 따라 채용될 수 있다.
도 11을 참조하면, 본 발명의 여러 태양을 실행하기 위한 전형적인 환경(1110)은 처리 유닛(1114), 시스템 메모리(1116), 및 처리 유닛(1114)에 시스템 메모리를 포함하는 여러 시스템 컴포넌트를 결합시키는 시스템 버스(1118)를 포함하는 컴퓨터(1112)를 포함한다. 처리 유닛(1114)은 여러 상용의 이용가능한 프로세서 중 하나가 될 수 있다. 듀얼 마이크로프로세서 및 다른 멀티 프로세서 구성이 처리 유닛(1114)으로서 사용될 수 있다.
시스템 버스(1118)는, 메모리 버스 또는 메모리 제어기, 주변 버스, 및 다양한 상용의 이용가능한 버스 구성 중 하나를 이용하는 근거리 버스를 포함하는 여러 형태의 버스 구조중 하나가 될 수 있다. 컴퓨터 메모리(1116)는 판독 전용 메모리(ROM)(1120) 및 랜덤 액세스 메모리(RAM)(1116)를 포함한다. 스타트 업과 같은 컴퓨터(1112)내의 컴포넌트들 사이에서 정보를 전달하도록 하는 기본적인 루틴을 포함하는, 기본적인 입력/출력 시스템(BIOS)이 ROM(1120)에 저장된다.
컴퓨터(1112)는, 하드 디스크 드라이브(1124), 예를 들면 착탈식 데스크(1128)로부터/로 판독 또는 기록하기 위한, 자기 디스크 드라이브(1126), 및 예를 들면 CD-ROM 디스크(1132)를 판독하거나, 다른 광 매체로부터 판독 또는 기록하기 위한 광 디스크 드라이브(830)를 포함할 수 있다. 하드 디스크 드라이브(1124), 자기 디스크 드라이브(1126), 및 광 디스크 드라이브(1130)는 하드 디스크 드라이브 인터페이스(1134), 자기 디스크 드라이브 인터페이스(1136) 및 광 드라이브 인터페이스(1138)에 의해 시스템 버스(1118)에 연결된다. 컴퓨터(1112)는 전형적으로, 적어도 컴퓨터 판독가능 매체의 일부 형태를 포함한다. 컴퓨터 판독 매체는 컴퓨터(1112)에 의해 액세스 가능한 임의의 사용가능한 매체가 될 수 있다. 한정적이 아닌 예시적인 방법으로 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 휘발성 및 비휘발성, 컴퓨터 판독 명령과 같은 정보의 저장을 위한 임의의 방법 또는 기술에서 실행되는 제거가능 및 제거 불능 매체, 데이터 구성, 프로그램 모듈 또는 다른 데이터를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 휘발성 디스크(DVD) 또는 다른 자기 저장 장치, 또는 소정의 정보를 저장하는데 사용될 수 있으며 컴퓨터(1112)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하되 이에 한하는 것은 아니다. 통신 매체는 전 형적으로, 컴퓨터 판독 명령, 데이터 구조, 프로그램 모듈, 또는 캐리어 웨이브(carrier wave) 또는 다른 운송 메카니즘과 같은 변조된 데이터 신호내의 다른 데이터를 구현하며 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 신호 내의 정보를 인코딩하기 위한 방식으로 설정되거나 변경되는 하나 이상의 특징을 갖는 신호를 의미한다. 제한적인 것이 아닌 예로서, 통신 매체는 유선망 또는 직접 유선 연결과 같은 유선 매체와, 음향, RF, 적외선과 같은 무선 매체 또는 다른 무선 매체를 포함한다. 전술한 것 중 임의의 것의 조합은 컴퓨터 판독 매체의 범위에 포함된다.
운영 체제(1140), 하나 이상의 응용 프로그램(1142), 다른 프로그램 모듈(1144), 및 프로그램 넌-인터럽트(non-interrupt) 데이터(1146)를 포함하는 복수의 프로그램 모듈은 드라이브 및 RAM(1122)에 저장될 수 있다. 컴퓨터(1112) 내의 운영 체제(1140)는 다수의 상용으로 이용가능한 운영 체제 중 하나가 될 수 있다.
사용자는 키보드(1148), 및 마우스(1150)와 같은 포인팅 장치를 통해서 컴퓨터(1112)로 명령 및 정보를 입력할 수 있다. 다른 입력 장치(도시되지 않음)는 마이크로폰, IR 원격 제어기, 조이스틱, 게임 패드, 위성 안테나(satellite dish), 스캐너 또는 그와 같은 것들을 포함할 수 있다. 이들 및 다른 입력 장치는 때로는, 시스템 버스(1118)에 결합되는 직렬 포트 인터페이스(1152)를 통해서 처리 유닛(1114)에 연결되지만, 병렬 포트, 게임 포트, 범용 직렬 버스("USB"), IR 인터페이스 등과 같은 다른 인터페이스에 의해 연결될 수 있다. 모니터(1154), 또는 다 른 유형의 디스플레이 장치는, 비디오 어댑터(1156)와 같은, 인터페이스를 통해서 시스템 버스(1118)에 연결된다. 모니터에 더하서, 컴퓨터는 전형적으로 스피커, 프린터 등과 같은 다른 주변 출력 장치(도시되지 않음)를 포함한다.
컴퓨터(1112)는, 원격 컴퓨터(들)(1158)와 같은 하나 이상의 원격 컴퓨터에 논리 및/또는 물리 연결을 이용하는 망으로 연결된 환경에서 동작할 수 있다. 원격 컴퓨터(들)(1158)은 워크 스테이션, 서버 컴퓨터, 라우터, 개인용 컴퓨터, 마이크로프로세서 기반 오락 응용 장치, 피어(peer) 장치 또는 다른 공통 망 노드가 될 수 있으며, 전형적으로는, 간결하게 하기 위해, 메모리 저장 장치(1160)만이 도시되었지만, 컴퓨터(1112)에 대해서 설명된 많은 또는 모든 컴포넌트를 포함한다. 도시된 논리 연결은 근거리 통신망(LAN; 1162) 및 광역망(WAN; 1164)을 포함한다. 이러한 망 환경은 사무실, 기업 광역 컴퓨터 망, 인트라넷 및 인터넷에서 평범한 것이다.
LAN 망 환경에서 사용될 때, 컴퓨터(1112)는 망 인터페이스 또는 어댑터(1166)를 통해서 근거리 망(1162)에 연결된다. WAN 망 환경에서 사용될 때, 컴퓨터(1112)는 전형적으로 모뎀(1168)을 포함하거나, LAN 상의 통신 서버로 연결되거나, 또는 인터넷과 같은 WAN(1164) 상에서 통신을 설정하기 위한 다른 수단을 갖는다. 모뎀(1168)은 외부 또는 내부에 존재할 수 있는 것으로써, 직렬 포트 인터페이스(1152)를 통해서 시스템 버스(1118)에 연결된다. 망 환경에서, 컴퓨터(1112)에 관련하여 도시된 프로그램 모듈 또는 그 부분은 원격 메모리 저장 장치(1160)에 저장될 수 있다. 도시된 망 연결은 예시적인 것이며 컴퓨터들 사이 에 통신을 설정하는 다른 수단이 사용될 수 있다.
도 12는 본 발명이 상호작용할 수 있는 간단한 계산 환경(1200)의 개략적인 블록도이다. 시스템(1200)은 하나 이상의 클라이언트(들)(1210)를 포함한다. 클라이언트(들)(1210)는 하드웨어 및/또는 소프트웨어(예를 들면, 쓰레드, 프로세스, 컴퓨터 장치)가 될 수 있다. 서버(1230)는 예를 들면, 본 발명을 채용함으로써 변환을 실행하기 위한 쓰레드를 수용할 수 있다. 클라이언트(1210)와 서버(1230) 사이의 한가지 가능한 통신은 2개 이상의 컴퓨터 프로세스 사이에서 전송되도록 적응되는 데이터 패킷의 형태가 될 수 있다. 시스템(1200)은 클라이언트(들)(1210)와 서버(들)(1230) 사이의 통신을 용이하게 하기 위해 채용될 수 있는 통신 프레임워크(1250)를 포함한다. 클리이언트(들)(1210)은 클라이언트(들)(1210)에 근거리인 정보를 저장하기 위해 채용될 수 있는 하나 이상의 클라이언트 데이터 저장소(들)(1260)에 동작가능하게 연결된다. 유사하게는, 서버(들)(1230)은 서버(1230)에 근거리인 정보를 저장하기 위해 채용될 수 있는 하나 이상의 서버 데이터 저장소(들)(1240)에 동작가능하게 연결된다.
전술된 것은 본 발명의 예를 포함한다. 물론, 본 발명을 설명하기 위해 생각할 수 있는 모든 컴포넌트 또는 방법들의 조합을 기술하는 것은 불가능하지만, 당업자라면 본 발명의 많은 조합 및 치환이 가능함을 알 수 있다. 따라서, 본 발명은 첨부된 청구범위의 사상 및 범위 내에 들어오는 모든 그러한 개조, 변경 및 변형을 포함하는 것으로 한다. 또한, "포함한다(includes)"라는 용어가 상세한 설명 또는 청구범위에서 사용되는 한, 그 용어는 청구범위에서 연결부(transional word)로서 사용될 때 "포함하는"(comprising)이라는 용어에 유사한 방법으로 포괄적으로 사용되는 것으로 이해되어야 한다.
본 발명에 의하면, 문서 이미지는 마스크에 따라 비-바이너리 형태로 표시되는 다수의 층으로 분할되며, 각각의 층은 문서 이미지 전체의 압축을 더 용이하게 하기 위해 분리되어 처리 및 압축될 수 있다.

Claims (68)

  1. 문서 인코딩 시스템에 있어서,
    문서 이미지를 수신하여 상기 문서 이미지로부터 마스크를 생성하는 마스크 분리기 -상기 마스크는 화소 에너지의 최소화에 기초하여, 상기 문서 이미지를 분할하여 생성된 영역들을 쌍으로 병합(merge)함으로써 생성되고, 상기 마스크는 포그라운드 이미지 및 백그라운드 이미지의 추정된 압축을 감소시키도록 생성되며, 상기 추정된 압축은 에너지 분산 계산을 포함함-,
    상기 마스크에 따라 비-바이너리 포맷으로 표시되는 복수의 층으로 상기 문서 이미지를 세그먼트(segment)화하는 이미지 세그멘터(segmenter)
    를 포함하는 문서 인코딩 시스템.
  2. 제1항에 있어서,
    상기 복수의 층은 제1 이미지 층 및 제2 이미지 층을 포함하고, 상기 마스크는 바이너리 포맷으로 표시되는 문서 인코딩 시스템.
  3. 제2항에 있어서,
    상기 제1 이미지 층은 포그라운드 이미지(foreground image)이며 상기 제2 이미지 층은 백그라운드 이미지인 문서 인코딩 시스템.
  4. 제3항에 있어서,
    상기 마스크를 마스크 비트스트림으로 인코딩하는 마스크 인코더를 더 포함하는 문서 인코딩 시스템.
  5. 제4항에 있어서,
    상기 마스크 인코더는 팩스 기반 압축 방식을 이용하는 문서 인코딩 시스템.
  6. 제4항에 있어서,
    상기 마스크 인코더는 바이-레벨(bi-level) 압축 방식을 이용하는 문서 인코딩 시스템.
  7. 제4항에 있어서,
    상기 이미지 세그멘터로부터의 포그라운드 이미지를 포그라운드 비트스트림으로 인코딩하는 포그라운드 인코더; 및
    상기 이미지 세그멘터로부터의 백그라운드 이미지를 백그라운드 비트스트림으로 인코딩하는 백그라운드 인코더
    를 더 포함하는 문서 인코딩 시스템.
  8. 제7항에 있어서,
    상기 포그라운드 인코더 및 백그라운드 인코더는 프로그레시브 웨이블릿(progressive wavelet) 변환 압축 방식을 이용하는 문서 인코딩 시스템.
  9. 제7항에 있어서,
    상기 포그라운드 인코더 및 백그라운드 인코더는 프로그레시브 변환 압축 방식을 이용하는 문서 인코딩 시스템.
  10. 제7항에 있어서,
    상기 포그라운드 인코더 및 백그라운드 인코더는 마스킹된 웨이블릿 압축 방식을 이용하는 문서 인코딩 시스템.
  11. 제7항에 있어서,
    상기 마스크 비트스트림, 상기 포그라운드 비트스트림 및 상기 백그라운드 비트스트림을 결합된 비트스트림으로 결합시키는 결합기 컴포넌트를 더 포함하는 문서 인코딩 시스템.
  12. 문서 인코딩 시스템에 있어서,
    문서 이미지를 수신하여 상기 문서 이미지로부터 마스크를 생성하는 마스크 분리기 -상기 마스크는 포그라운드 이미지 및 백그라운드 이미지의 추정된 압축을 감소시키도록 생성되며, 상기 추정된 압축은 에너지 분산 계산을 포함함-와,
    상기 마스크에 의해 의사 경계(spurious boundary)를 식별하는 동작과, 상기 포그라운드 이미지 및 상기 백그라운드 이미지 중 적어도 하나를 확장하는 동작 중 적어도 하나를 수행하는 리터치(retouch) 컴포넌트와,
    상기 마스크에 따라 상기 문서 이미지를 비-바이너리 포맷으로 표시되는 복수의 층으로 세그먼트화하는 이미지 세그멘터
    를 포함하는 문서 인코딩 시스템.
  13. 제12항에 있어서,
    상기 리터치 컴포넌트는 식별된 의사 경계에 기초하여 포그라운드 마스크 및 백그라운드 마스크를 생성하도록 동작하며, 상기 이미지 세그멘터는 포그라운드 이미지를 획득하기 위해 상기 포그라운드 마스크를 이용하며 백그라운드 이미지를 획득하기 위해 상기 백그라운드 마스크를 이용하는 문서 인코딩 시스템.
  14. 제12항에 있어서,
    상기 마스크를 마스크 비트스트림으로 인코딩하기 위한 마스크 인코더;
    상기 이미지 세그멘터로부터의 포그라운드 이미지를 포그라운드 비트스트림으로 인코딩하는 포그라운드 인코더; 및
    상기 이미지 세그멘터로부터의 백그라운드 이미지를 백그라운드 비트스트림으로 인코딩하는 백그라운드 인코더
    를 더 포함하는 문서 인코딩 시스템.
  15. 문서 인코딩 시스템에 있어서,
    문서 이미지를 수신하여 상기 문서 이미지로부터 마스크를 생성하는 마스크 분리기 -상기 마스크는 바이너리 포맷으로 표시되며, 화소 에너지의 최소화에 기초하여, 상기 문서 이미지를 분할하여 생성된 영역들을 쌍으로 병합함으로써 생성됨-; 및
    상기 문서 이미지를 상기 마스크에 따라 포그라운드 이미지 및 백그라운드 이미지로 세그먼트화하는 포그라운드 백그라운드 세그멘터 -상기 포그라운드 이미지 및 백그라운드 이미지는 비-바이너리 포맷으로 표시되고, 상기 마스크는 상기 포그라운드 이미지 및 상기 백그라운드 이미지의 추정된 압축을 감소시키도록 생성되며, 상기 추정된 압축은 에너지 분산 계산을 포함함-
    를 포함하는 문서 인코딩 시스템.
  16. 제15항에 있어서,
    상기 마스크는 상기 마스크, 상기 포그라운드 이미지 및 상기 백그라운드 이미지의 결합된 크기를 감소시키도록 생성되는 문서 인코딩 시스템.
  17. 제15항에 있어서,
    상기 포그라운드 이미지는 복수의 컬러를 포함하고, 상기 백그라운드 이미지는 복수의 컬러를 포함하는 문서 인코딩 시스템.
  18. 제15항에 있어서,
    상기 문서 이미지는 텍스트 정보(textual information)를 포함하는 문서 인코딩 시스템.
  19. 제15항에 있어서,
    상기 문서 이미지는 단일 페이지를 포함하는 문서 인코딩 시스템.
  20. 제15항에 있어서,
    상기 문서 이미지는 육필(handwriting)을 포함하는 문서 인코딩 시스템.
  21. 제15항의 시스템을 사용하는 사진 복사기.
  22. 제15항의 시스템을 사용하는 문서 스캐너.
  23. 제15항의 시스템을 사용하는 광학 문자 인식 시스템.
  24. 제15항의 시스템을 사용하는 PDA.
  25. 제15항의 시스템을 사용하는 팩스 장치.
  26. 제15항의 시스템을 사용하는 디지털 카메라.
  27. 제15항의 시스템을 사용하는 디지털 비디오 카메라.
  28. 제15항의 시스템을 사용하는 세그먼트화된 계층화 이미지 시스템.
  29. 제15항의 시스템을 사용하는 비디오 게임.
  30. 문서 인코딩 시스템에 있어서,
    제1 컬러 공간을 갖는 문서 이미지를 제2 컬러 공간을 갖는 변환된 문서 이미지로 변환하는 컬러 공간 변환기;
    상기 변환된 문서 이미지로부터 마스크를 생성하는 마스크 분리기 -상기 마스크는 바이너리 포맷으로 표시되며, 화소 에너지의 최소화에 기초하여, 상기 문서 이미지를 분할하여 생성된 영역들을 쌍으로 병합함으로써 생성됨-; 및
    상기 변환된 문서 이미지를 상기 마스크에 따라 포그라운드 이미지 및 백그라운드 이미지로 세그먼트화하는 포그라운드 백그라운드 세그멘터 -상기 포그라운드 이미지 및 백그라운드 이미지는 비-바이너리 포맷으로 표시되고, 상기 마스크는 상기 포그라운드 이미지 및 상기 백그라운드 이미지의 추정된 압축을 감소시키도록 생성되며, 상기 추정된 압축은 에너지 분산 계산을 포함함-
    를 포함하는 문서 인코딩 시스템.
  31. 제30항에 있어서,
    상기 제1 컬러 공간은 RGB이며 상기 제2 컬러 공간은 YUV인 문서 인코딩 시스템.
  32. 제30항에 있어서,
    상기 제1 컬러 공간은 RGB이며 상기 제2 컬러 공간은 YCoCg인 문서 인코딩 시스템.
  33. 문서 디코딩 시스템에 있어서,
    비트스트림을 포그라운드 비트스트림, 백그라운드 비트스트림 및 마스크 비트스트림으로 분리하는 분리기 컴포넌트;
    상기 포그라운드 비트스트림을 포그라운드 이미지로 디코드하는 포그라운드 디코더;
    상기 백그라운드 비트스트림을 백그라운드 이미지로 디코드하는 백그라운드 디코더;
    상기 마스크 비트스트림을 마스크로 디코드하는 마스크 디코더 -상기 마스크는 상기 포그라운드 이미지 및 상기 백그라운드 이미지의 추정된 압축을 감소시키도록 생성되며, 상기 추정된 압축은 에너지 분산 계산을 포함함-; 및
    상기 마스크에 따라 상기 포그라운드 이미지 및 백그라운드 이미지의 결합으로서 문서 이미지를 생성하는 결합기 컴포넌트
    를 포함하는 문서 디코딩 시스템.
  34. 제33항에 있어서,
    상기 문서 이미지는 복수의 화소를 가지며, 상기 복수의 화소들 각각은 포그라운드 이미지 및 백그라운드 이미지를 포함하는 군 중의 어느 하나로부터 얻어지는 문서 디코딩 시스템.
  35. 제33항에 있어서,
    상기 문서 이미지는 원래의 문서 이미지와 동일한 문서 디코딩 시스템.
  36. 제33항에 있어서,
    상기 문서 이미지는 원래의 문서 이미지와 사실상 유사한 문서 디코딩 시스템.
  37. 제36항에 있어서,
    상기 마스크, 포그라운드 이미지 및 백그라운드 이미지를 생성하고, 상기 마스크를 상기 마스크 비트스트림으로 인코딩하고, 상기 포그라운드 이미지를 상기 포그라운드 비트스트림으로 인코딩하고, 상기 백그라운드 이미지를 상기 백그라운드 비트스트림으로 인코딩하고, 상기 마스크 비트스트림, 상기 포그라운드 비트스트림 및 상기 백그라운드 비트스트림을 상기 비트스트림으로 결합시키는 세그먼트화된 계층화 문서 인코딩 시스템을 더 포함하는 문서 디코딩 시스템.
  38. 문서 시스템에 있어서,
    문서 이미지의 컬러 공간을 변환하는 컬러 공간 변환기;
    상기 컬러 공간 변환기로부터 상기 문서 이미지를 수신하고, 화소 에너지의 최소화에 기초하여, 상기 문서 이미지를 분할하여 생성되는 영역들을 쌍으로 병합함으로써 문서 이미지용 마스크를 생성하는 마스크 분리기;
    상기 마스크 분리기로부터 마스크를 수신하여 상기 마스크를 처리하는 마스크 프로세서 컴포넌트; 및
    상기 문서 이미지를 상기 마스크에 따라 포그라운드 이미지 및 백그라운드 이미지로 세그먼트화하는 세그멘터 -상기 마스크는 상기 포그라운드 이미지 및 상기 백그라운드 이미지의 추정된 압축을 감소시키도록 생성되며, 상기 추정된 압축은 에너지 분산 계산을 포함함-
    를 포함하는 문서 시스템.
  39. 제38항에 있어서,
    상기 마스크 프로세서 컴포넌트는 상기 마스크로부터 디더링(dithering)을 식별하여 제거하기 위해 디더링 검출 컴포넌트를 포함하는 문서 시스템.
  40. 제38항에 있어서,
    상기 마스크 프로세서 컴포넌트는 상기 마스크로부터 잡음을 식별하여 제거하기 위해 잡음 제거 컴포넌트를 더 포함하는 문서 시스템.
  41. 제38항에 있어서,
    상기 마스크 프로세서 컴포넌트로부터 상기 마스크를 수신하고, 상기 마스크 내의 연결된 컴포넌트들을 결정하고, 연결된 유사한 컴포넌트들을 적어도 하나의 스크리닝(screening) 특성을 이용하여 클러스터(cluster)로서 그룹화하는 클러스터링 컴포넌트를 더 포함하는 문서 시스템.
  42. 제41항에 있어서,
    상기 클러스터링 컴포넌트로부터 상기 마스크를 수신하고 상기 마스크로부터 레이아웃 정보를 식별하는 레이아웃 컴포넌트를 더 포함하는 문서 시스템.
  43. 제42항에 있어서,
    상기 레이아웃 컴포넌트로부터 상기 마스크를 수신하고 상기 마스크를 마스크 비트스트림으로 인코딩하는 마스크 인코더를 더 포함하는 문서 시스템.
  44. 제43항에 있어서,
    상기 세그멘터는, 상기 마스크 및 상기 문서 이미지를 의사 경계에 관하여 분석하고 상기 의사 경계상에 걸쳐 다수의 화소만큼 포그라운드 마스크 및 백그라운드 마스크를 확장하는 리터치 컴포넌트를 포함하며, 상기 포그라운드 마스크 및 백그라운드 마스크는 상기 마스크에 기초하며, 상기 포그라운드 마스크는 상기 포그라운드 이미지를 획득하기 위해 상기 세그멘터에 의해 이용되며, 상기 백그라운드 마스크는 상기 백그라운드 이미지를 획득하기 위해 상기 세그멘터에 의해 이용되는 문서 시스템.
  45. 제44항에 있어서,
    상기 포그라운드 및 백그라운드 이미지내의 컬러 연결 컴포넌트를 식별하는 컬러 연결 컴포넌트를 더 포함하는 문서 시스템.
  46. 제44항에 있어서,
    상기 포그라운드 이미지를 수신하고 상기 포그라운드 이미지를 포그라운드 비트스트림으로 인코딩하는 포그라운드 인코더;
    상기 백그라운드 이미지를 수신하고 상기 백그라운드 이미지를 백그라운드 비트스트림으로 인코딩하는 백그라운드 인코더; 및
    상기 마스크 비트스트림, 상기 포그라운드 비트스트림 및 상기 백그라운드 비트스트림을 결합된 비트스트림으로 결합하는 결합기 컴포넌트
    를 더 포함하는 문서 시스템.
  47. 제46항에 있어서,
    상기 클러스터링 컴포넌트로부터 마스크를 수신하고 상기 마스크 내의 문자를 식별하는 광학 문자 인식 컴포넌트를 더 포함하는 문서 시스템.
  48. 제47항에 있어서,
    포그라운드 화소 필러(filler) 및 백그라운드 화소 필러를 더 포함하며,
    상기 포그라운드 화소 필러는 돈케어(don't care) 화소로 상기 포그라운드 이미지의 돈케어 영역을 채우며, 상기 백그라운드 화소 필러는 돈케어 화소로 상기 백그라운드 이미지의 돈케어 영역을 채우는 문서 시스템.
  49. 문서 인코딩 방법에 있어서,
    화소 에너지의 최소화에 기초하여, 문서 이미지를 분할하여 생성되는 영역들을 쌍으로 병합함으로써 문서 이미지용 마스크를 생성하는 단계 -상기 마스크는, 포그라운드 이미지, 백그라운드 이미지 및 상기 마스크의 에너지 분산이 감소되도록 생성되며, 상기 에너지 분산은 압축의 추정치임-; 및
    상기 문서 이미지를 비-바이너리 포맷인 포그라운드 이미지 및 백그라운드 이미지로 세그먼트화하는 단계
    를 포함하는 문서 인코딩 방법.
  50. 제49항에 있어서,
    마스크 비트스트림을 생성하기 위해 상기 마스크를 인코딩하는 단계;
    포그라운드 비트스트림을 생성하기 위해 상기 포그라운드 이미지를 인코딩하는 단계;
    백그라운드 비트스트림을 생성하기 위해 백그라운드 이미지를 인코딩하는 단계; 및
    상기 마스크 비트스트림, 포그라운드 비트스트림 및 백그라운드 비트스트림을 결합된 비트스트림으로 결합하는 단계
    를 더 포함하는 문서 인코딩 방법.
  51. 제49항에 있어서,
    상기 포그라운드 이미지 및 백그라운드 이미지의 돈케어 영역을 돈케어 화소로 채우는 단계를 더 포함하는 문서 인코딩 방법.
  52. 제49항에 있어서,
    상기 마스크로부터 레이아웃 정보를 식별하는 단계를 더 포함하는 문서 인코딩 방법.
  53. 제49항에 있어서,
    상기 마스크로부터 잡음을 제거하는 단계를 더 포함하는 문서 인코딩 방법.
  54. 제49항에 있어서,
    상기 문서 이미지를 세그먼트화하는 단계는, 상기 포그라운드 이미지 및 백그라운드 이미지를 다수의 화소로 확장시키는 단계를 더 포함하는 문서 인코딩 방법.
  55. 문서 디코딩 방법에 있어서,
    비트스트림을 수신하는 단계;
    상기 비트스트림을 마스크 비트스트림, 포그라운드 비트스트림 및 백그라운드 비트스트림으로 분리하는 단계;
    상기 포그라운드 비트스트림을 포그라운드 이미지로 디코딩하는 단계;
    상기 백그라운드 비트스트림을 백그라운드 이미지로 디코딩하는 단계;
    상기 마스크 비트스트림을 마스크로 디코딩하는 단계 -상기 마스크는, 상기 포그라운드 이미지, 상기 백그라운드 이미지 및 상기 마스크의 에너지 분산이 감소되도록 생성되며, 상기 에너지 분산은 압축의 추정치임-; 및
    상기 마스크에 따라 상기 포그라운드 이미지 및 백그라운드 이미지를 재구성된 문서 이미지로 결합시키는 단계
    를 포함하는 문서 디코딩 방법.
  56. 제55항에 있어서,
    디스플레이 특성을 제공하는 단계를 더 포함하는 문서 디코딩 방법.
  57. 제56항에 있어서,
    상기 디스플레이 특성은 사용자에 의해 제공되는 문서 디코딩 방법.
  58. 제56항에 있어서,
    상기 디스플레이 특성은 동적으로 결정되는 문서 디코딩 방법.
  59. 제56항에 있어서,
    상기 디스플레이 특성은 미리 결정되는 문서 디코딩 방법.
  60. 제56항에 있어서,
    상기 디스플레이 특성에 따라 상기 포그라운드 이미지, 백그라운드 이미지 및 마스크를 수정하는 단계를 더 포함하는 문서 디코딩 방법.
  61. 제55항에 있어서,
    상기 재구성된 문서 이미지의 컬러 공간을 변환하는 단계를 더 포함하는 문서 디코딩 방법.
  62. 문서 인코딩 시스템을 위해 컴퓨터에 사용가능한 컴포넌트를 갖는 컴퓨터 판독가능한 매체에 있어서,
    문서 이미지의 컬러 공간을 변환하는 컬러 공간 변환기 컴포넌트;
    상기 컬러 공간 변환기 컴포넌트로부터 문서 이미지를 수신하고, 화소 에너지의 최소화에 기초하여, 상기 문서 이미지를 분할하여 생성된 영역들을 쌍으로 병합함으로써 문서 이미지용 마스크를 생성하는 마스크 분리기 컴포넌트; 및
    상기 컬러 공간 변환기로부터 상기 문서 이미지를 수신하고, 상기 마스크에 따라 포그라운드 이미지 및 백그라운드 이미지로 상기 문서 이미지를 세그먼트화하는 세그멘터 컴포넌트 -상기 마스크는, 상기 포그라운드 이미지, 상기 백그라운드 이미지 및 상기 마스크의 에너지 분산이 감소되도록 생성되며, 상기 에너지 분산은 압축의 추정치임-
    를 포함하는 컴퓨터 판독가능 매체.
  63. 제62항에 있어서,
    상기 마스크 분리기 컴포넌트로부터 마스크를 수신하고 상기 마스크를 처리하는 마스크 프로세서 컴포넌트;
    마스크 프로세서 컴포넌트로부터 마스크를 수신하고 상기 마스크 내의 클러스터를 식별하는 클러스터링 컴포넌트; 및
    상기 클러스터링 컴포넌트로부터 마스크를 수신하고 상기 마스크로부터 레이아웃 정보를 식별하는 레이아웃 컴포넌트
    를 더 포함하는 컴퓨터 판독가능한 매체.
  64. 제63항에 있어서,
    상기 레이아웃 컴포넌트로부터 마스크를 수신하고 상기 마스크를 마스크 비트스트림으로 인코딩하는 마스크 인코더 컴포넌트;
    상기 포그라운드 이미지를 포그라운드 비트스트림으로 인코딩하는 포그라운드 인코더 컴포넌트;
    백그라운드 이미지를 수신하고 상기 백그라운드 이미지를 백그라운드 비트스트림으로 인코딩하는 백그라운드 인코더 컴포넌트; 및
    상기 마스크 비트스트림, 포그라운드 비트스트림 및 백그라운드 비트스트림을 결합된 비트스트림으로 결합하는 결합기 컴포넌트
    를 더 포함하는 컴퓨터 판독가능한 매체.
  65. 인코딩 시스템에 있어서,
    화소 에너지의 최소화에 기초하여, 문서 이미지를 분할하여 생성된 영역들을 쌍으로 병합함으로써 문서 이미지용 마스크를 생성하는 수단;
    상기 문서 이미지를 포그라운드 이미지 및 백그라운드 이미지로 세그먼트화하는 수단;
    상기 마스크를 마스크 비트스트림으로 인코딩하는 수단 -상기 마스크는, 상기 포그라운드 이미지, 상기 백그라운드 이미지 및 상기 마스크의 에너지 분산이 감소되도록 생성되며, 상기 에너지 분산은 압축의 추정치임-;
    상기 포그라운드 이미지를 포그라운드 비트스트림으로 인코딩하는 수단;
    상기 백그라운드 이미지를 백그라운드 비트스트림으로 인코딩하는 수단; 및
    상기 마스크 비트스트림, 포그라운드 비트스트림 및 백그라운드 비트스트림을 결합된 비트스트림으로 결합하는 수단
    을 포함하는 인코딩 시스템.
  66. 삭제
  67. 삭제
  68. 삭제
KR1020030018634A 2002-04-25 2003-03-25 세그먼트된 계층화 이미지 시스템 KR100937542B1 (ko)

Applications Claiming Priority (12)

Application Number Priority Date Filing Date Title
US10/133,558 US7164797B2 (en) 2002-04-25 2002-04-25 Clustering
US10/133,842 2002-04-25
US10/133,939 US7392472B2 (en) 2002-04-25 2002-04-25 Layout analysis
US10/133,939 2002-04-25
US10/133,558 2002-04-25
US10/133,842 US7263227B2 (en) 2002-04-25 2002-04-25 Activity detector
US10/180,771 US7110596B2 (en) 2002-04-25 2002-06-26 System and method facilitating document image compression utilizing a mask
US10/180,169 2002-06-26
US10/180,169 US7120297B2 (en) 2002-04-25 2002-06-26 Segmented layered image system
US10/180,649 US7024039B2 (en) 2002-04-25 2002-06-26 Block retouching
US10/180,649 2002-06-26
US10/180,771 2002-06-26

Publications (2)

Publication Number Publication Date
KR20030084591A KR20030084591A (ko) 2003-11-01
KR100937542B1 true KR100937542B1 (ko) 2010-01-19

Family

ID=29587951

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030018634A KR100937542B1 (ko) 2002-04-25 2003-03-25 세그먼트된 계층화 이미지 시스템

Country Status (5)

Country Link
EP (1) EP1388815A3 (ko)
JP (1) JP4773678B2 (ko)
KR (1) KR100937542B1 (ko)
CN (1) CN100563296C (ko)
TW (1) TWI230516B (ko)

Families Citing this family (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2864857B1 (fr) * 2004-01-05 2006-03-03 Canon Kk Procede et dispositif d'optimisation de la taille d'un document numerique
US7991238B2 (en) 2004-04-30 2011-08-02 Neiversan Networks Co. Llc Adaptive compression of multi-level images
US6992686B2 (en) * 2004-06-14 2006-01-31 Xerox Corporation System and method for dynamic control of file size
US8086050B2 (en) 2004-08-25 2011-12-27 Ricoh Co., Ltd. Multi-resolution segmentation and fill
US7430321B2 (en) * 2004-09-09 2008-09-30 Siemens Medical Solutions Usa, Inc. System and method for volumetric tumor segmentation using joint space-intensity likelihood ratio test
AU2004242419A1 (en) * 2004-12-21 2006-07-06 Canon Kabushiki Kaisha Analysing digital image of a document page
KR100599141B1 (ko) * 2005-05-20 2006-07-12 삼성전자주식회사 문서 압축시스템 및 그 압축방법
US7907783B2 (en) 2007-01-24 2011-03-15 Samsung Electronics Co., Ltd. Apparatus and method of matching symbols in a text image coding and decoding system
US20090303550A1 (en) * 2008-06-05 2009-12-10 Kabushiki Kaisha Toshiba Image processing apparatus and image processing method
JP5245771B2 (ja) * 2008-12-01 2013-07-24 株式会社リコー 符号化装置、符号化方法、プログラム及び記録媒体
US8194977B2 (en) * 2008-12-09 2012-06-05 Microsoft Corporation Remote desktop protocol compression acceleration using single instruction, multiple dispatch instructions
TWI425372B (zh) * 2009-01-15 2014-02-01 Hon Hai Prec Ind Co Ltd 圖片搜索系統及方法
CN101957995A (zh) * 2010-10-14 2011-01-26 华中科技大学 一种图像中关联像素点的检测提取方法及其应用
TWI508530B (zh) * 2011-10-06 2015-11-11 Mstar Semiconductor Inc 影像壓縮方法、媒體資料檔案與解壓縮方法
EP2670139A1 (en) * 2012-06-01 2013-12-04 Alcatel Lucent Method and apparatus for encoding a video stream having a transparency information channel
US20140089778A1 (en) * 2012-09-24 2014-03-27 Amazon Technologies, Inc Progressive Image Rendering Utilizing Data URI Enhancements
GB2507510B (en) * 2012-10-31 2015-06-24 Sony Comp Entertainment Europe Apparatus and method for augmented reality
US9380307B2 (en) 2012-11-19 2016-06-28 Qualcomm Incorporated Method and system for intra base layer (BL) transform in video coding
US9042649B2 (en) * 2013-09-24 2015-05-26 Konica Minolta Laboratory U.S.A., Inc. Color document image segmentation and binarization using automatic inpainting
US9633451B2 (en) * 2014-02-12 2017-04-25 Mediatek Singapore Pte. Ltd. Image data processing method of multi-level shuffles for multi-format pixel and associated apparatus
CN106709876B (zh) * 2015-08-27 2020-04-14 上海沃韦信息科技有限公司 一种基于暗像元原理的光学遥感图像去雾方法
US10015504B2 (en) * 2016-07-27 2018-07-03 Qualcomm Incorporated Compressing image segmentation data using video coding
CN109993824B (zh) * 2017-12-29 2023-08-04 深圳市优必选科技有限公司 图像处理方法、智能终端及具有存储功能的装置
CN109391787A (zh) * 2018-09-30 2019-02-26 武汉中科通达高新技术股份有限公司 文件格式、图像聚合及读取方法
CN110070483B (zh) * 2019-03-26 2023-10-20 中山大学 一种基于生成式对抗网络的人像卡通化方法
CN111666933B (zh) * 2020-06-08 2023-04-07 广东小天才科技有限公司 一种文本检测的方法、装置、电子设备和存储介质
CN111953983A (zh) * 2020-07-17 2020-11-17 西安万像电子科技有限公司 视频编码方法及装置
CN112418249A (zh) * 2020-11-18 2021-02-26 北京字跳网络技术有限公司 掩膜图像生成方法、装置、电子设备和计算机可读介质
US11721119B2 (en) * 2020-12-18 2023-08-08 Konica Minolta Business Solutions U.S.A., Inc. Finding natural images in document pages
CN114581443B (zh) * 2022-05-06 2022-08-26 中科慧远视觉技术(北京)有限公司 一种图像处理方法、装置、计算机设备和可读存储介质
CN117390206A (zh) * 2023-10-26 2024-01-12 杭州食方科技有限公司 生鲜图像存储方法、装置、电子设备和计算机可读介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11164151A (ja) 1997-11-28 1999-06-18 Fuji Xerox Co Ltd 画像送信装置および画像送信方法
KR100220582B1 (ko) 1996-05-16 1999-09-15 전주범 적응적 부호화기능을 갖는 영상 부호화기
JP2001223903A (ja) 1999-12-04 2001-08-17 Luratech Ges Fuer Luft & Raumfahrttechnologie & Multimedia Mbh 走査された色付きおよびグレースケールの文書を圧縮する方法
JP2002118843A (ja) 1999-09-24 2002-04-19 Nippon Telegr & Teleph Corp <Ntt> 背景スプライトと前景オブジェクトの分離方法、及び前景の形状マスク抽出方法、並びにその装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2832059B2 (ja) * 1990-03-05 1998-12-02 キヤノン株式会社 カラー画像の符号化装置
JPH05276396A (ja) * 1992-03-25 1993-10-22 Toshiba Corp 画像情報処理装置
JP3733161B2 (ja) * 1995-08-01 2006-01-11 キヤノン株式会社 画像処理装置および方法
DE19615493A1 (de) * 1996-04-19 1997-10-23 Philips Patentverwaltung Verfahren zur Bildsegmentierung
US6373981B1 (en) * 1998-12-21 2002-04-16 Xerox Corporation Method and apparatus for segmenting data to create mixed raster content planes
JP2000184205A (ja) * 1998-12-18 2000-06-30 Fuji Xerox Co Ltd 画像形成システム及びその制御方法
JP3931468B2 (ja) * 1999-03-08 2007-06-13 富士ゼロックス株式会社 画像用領域分離装置および方法
EP1104916B1 (de) * 1999-12-04 2011-05-11 LuraTech Imaging GmbH Verfahren zur Kompression von gescannten Farb- und/oder Graustufendokumenten

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100220582B1 (ko) 1996-05-16 1999-09-15 전주범 적응적 부호화기능을 갖는 영상 부호화기
JPH11164151A (ja) 1997-11-28 1999-06-18 Fuji Xerox Co Ltd 画像送信装置および画像送信方法
JP2002118843A (ja) 1999-09-24 2002-04-19 Nippon Telegr & Teleph Corp <Ntt> 背景スプライトと前景オブジェクトの分離方法、及び前景の形状マスク抽出方法、並びにその装置
JP2001223903A (ja) 1999-12-04 2001-08-17 Luratech Ges Fuer Luft & Raumfahrttechnologie & Multimedia Mbh 走査された色付きおよびグレースケールの文書を圧縮する方法

Also Published As

Publication number Publication date
TWI230516B (en) 2005-04-01
EP1388815A3 (en) 2005-11-16
KR20030084591A (ko) 2003-11-01
JP4773678B2 (ja) 2011-09-14
EP1388815A2 (en) 2004-02-11
TW200306080A (en) 2003-11-01
JP2003348360A (ja) 2003-12-05
CN1458791A (zh) 2003-11-26
CN100563296C (zh) 2009-11-25

Similar Documents

Publication Publication Date Title
KR100937542B1 (ko) 세그먼트된 계층화 이미지 시스템
US7376266B2 (en) Segmented layered image system
US7164797B2 (en) Clustering
EP0411232B1 (en) Method for high-quality compression by binary text images
US7013050B2 (en) Image encoding apparatus and method, program code, and storage medium
US8229238B2 (en) Image encoding apparatus, image processing apparatus and control method thereof
US7317838B2 (en) Compression of bi-level images with explicit representation of ink clusters
US8452112B2 (en) Image encoding apparatus and method of controlling the same
US8774511B2 (en) Image processing apparatus and image processing method
JP4089905B2 (ja) 画像処理装置、画像処理方法、プログラム及び情報記録媒体
US8270722B2 (en) Image processing with preferential vectorization of character and graphic regions
EP1006714A2 (en) Method of processing mixed raster content planes
JP4719924B2 (ja) 画像処理装置および画像処理方法
JP2020043461A (ja) 画像処理装置と画像処理方法、及びプログラム
Alegre Memory-efficient algorithms for raster document image compression
Alegre MEMORY-EFFICIENT ALGORITHMS FOR RASTER
Malvar et al. Don't care” pixel interpolation

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: 20121227

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20131227

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20141230

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20151217

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20171219

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 10