KR20030084590A - 클러스터링 - Google Patents

클러스터링 Download PDF

Info

Publication number
KR20030084590A
KR20030084590A KR10-2003-0018604A KR20030018604A KR20030084590A KR 20030084590 A KR20030084590 A KR 20030084590A KR 20030018604 A KR20030018604 A KR 20030018604A KR 20030084590 A KR20030084590 A KR 20030084590A
Authority
KR
South Korea
Prior art keywords
mark
cluster
attribute
size
image
Prior art date
Application number
KR10-2003-0018604A
Other languages
English (en)
Other versions
KR100938099B1 (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 KR20030084590A publication Critical patent/KR20030084590A/ko
Application granted granted Critical
Publication of KR100938099B1 publication Critical patent/KR100938099B1/ko

Links

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/18Extraction of features or characteristics of the image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • G06V30/19007Matching; Proximity measures
    • G06V30/19013Comparing pixel values or logical combinations thereof, or feature values having positional relevance, e.g. template matching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Signal Processing (AREA)
  • Image Analysis (AREA)
  • Image Processing (AREA)

Abstract

문서 이미지의 클러스터링을 수행하기 위한 시스템 및 방법이 개시된다. 문서로부터 추출된 마크의 속성이 기존 클러스터의 속성과 비교된다. 마크의 속성이 기존 클러스터의 임의의 속성과 매칭하지 않는다면, 마크는 새로운 클러스터로서 기존 클러스터에 부가된다. 활용될 수 있는 하나의 속성은 기존 클러스터의 폭 및 높이인 x 크기 및 y 크기이다. 채용될 수 있는 다른 속성은 클러스터의 전체 화소에 대한 블랙 화소의 비율을 나타내는 잉크 크기이다. 활용될 수 있는 또 다른 속성은 축소된 마크 또는 이미지이며, 이것은 마크 및/또는 클러스터의 비트맵의 화소 크기 축소 버전이다. 상기 속성들은 미스매치를 식별하고, 수행되는 비트별 비교의 횟수를 감소시키도록 채용될 수 있다.

Description

클러스터링{CLUSTERING}
본 발명은 일반적으로는 문서 이미지 처리에 관한 것으로, 특히 클러스터링(clustering)을 수행하기 위한 시스템 및 방법에 관한 것이다.
이용가능한 정보량이 컴퓨터 네트워크, 인터넷, 디지털 저장 수단의 폭넓은 확대로 인해 컴퓨터를 통해 기하급수적으로 증가해 왔다. 그러한 정보량의 증가와 함께, 정보를 신속하게 전송하고 정보를 효율적으로 저장할 필요가 생겼다. 데이터 압축은 정보를 효율적으로 전송하고 저장하는 것을 용이하게 하는 기술이다.
데이터 압축은 정보를 표현하는데 필요한 공간의 양을 줄이고, 많은 정보 타입에 이용될 수 있다. 이미지, 텍스트, 오디오, 및 비디오를 포함하는 디지털 정보의 압축에 대한 요구가 여전히 증가하고 있다. 통상, 데이터 압축은 표준 컴퓨터 시스템에서 이용된다. 그러나, 셀룰러/디지털 폰뿐만 아니라 디지털 및 위성텔레비전과 같은 다른 기술도 데이터 압축을 이용하며, 이에 한정되는 것은 아니다.
대량의 정보를 핸들링하고, 전송하며 처리하기 위한 요구가 증가함에 따라, 그러한 데이터의 압축에 대한 요구도 또한 증가한다. 저장 장치 용량이 크게 증가했지만, 정보에 대한 요구가 용량 진보를 앞서 나갔다. 예를 들면, 압축되지 않은 이미지는 5MB의 공간을 필요로 하지만, 동일한 이미지가 압축된 경우 단지 2.5MB의 공간을 필요로 한다. 그러므로, 데이터 압축은 대량의 정보를 전달하는 것을 용이하게 한다. 광대역(broadband), DSL, 케이블 모뎀 인터넷 등과 같은 전송 레이트의 증가에도 불구하고, 압축되지 않은 정보의 경우에는 전송 한계에 쉽게 도달한다. 예를 들면, 압축되지 않은 이미지를 DSL 라인을 통해 전송하는데 10분이 소요될 수 있다. 그러나, 동일한 이미지는 압축된 경우에 약 1분에 전송될 수 있으므로, 데이터 처리율에서 10배의 이득을 제공한다.
일반적으로, 압축에는 2가지 타입, 즉 무손실형(loseless) 및 손실형(lossy) 타입이 있다. 무손실형 압축은 압축 후에 정확한 원래 데이터가 복원될 수 있게 하는데 반해, 손실형 압축은 압축 후 복원되는 데이터가 원래 데이터와 상이하게 되는 것을 허용한다. 어느 정도의 데이터 무결성(integrity) 절충이 허용되므로 손실형 압축은 무손실형 압축보다 더 나은 압축 비율을 제공한다는 점에서 2개의 압축 모드 사이에서는 트레이드-오프(tradeoff)가 존재한다. 데이터를 정확하게 재구성하지 못하면 텍스트의 품질 및 가독성(readability)에 심각하게 영향을 미칠 수 있으므로, 무손실형 압축은 예를 들면 중요한 텍스트를 압축할 때 이용될 수 있다. 손실형 압축은 일정량의 왜곡이나 노이즈가 인간 감각에는 허용가능되거나 또는 인지할 수 없는 이미지 또는 중요하지 않은 텍스트에 이용될 수 있다. 데이터 압축은 문서(디지털 문서)의 디지털 표현에 특히 적용가능하다. 특히, 디지털 문서는 텍스트, 이미지, 및/또는 텍스트와 이미지를 포함한다. 현재의 디지털 데이터를 위해 더 적은 저장 공간을 이용할 뿐만 아니라, 품질의 현저한 저하가 없는 컴팩트한 저장 장치는 현재의 문서의 하드카피의 디지털화를 촉진하여 종이없는 사무실의 실현 가능성을 더 높게 만든다. 종이없는 사무실은 정보에 용이하게 액세스할 수 있게 하고, 환경적 비용을 줄이며, 저장 비용을 감소시키는 등과 같은 잇점을 제공하므로, 그러한 종이없는 사무실을 향하여 노력하는 것은 많은 사업의 목적이다. 또한, 압축을 통해 디지털 문서의 파일 크기를 감소시키는 것은 인터넷 대역폭의 더 효율적인 이용을 허용하므로, 더 많은 정보의 더 빠른 전송 및 네트워크 혼잡(conjestion)의 감소를 가능하게 한다. 정보에 대해 요구되는 저장장치를 감소시키는 것, 효율적인 종이없는 사물실로의 이동, 및 인터넷 대역폭 효율을 증가시키는 것은 압축 기술과 연관된 많은 중요한 장점 중 일부일 뿐이다.
디지털 문서의 압축은 디지털 문서의 이용을 더 매력적이게 만들기 하기 위해 일정 목표를 만족시켜야 한다. 우선, 압축은 대량의 정보를 짧은 시간에 압축하고 압축해제할 수 있게 해야 한다. 둘째로, 압축은 디지털 문서를 정확하게 재생하도록 제공되어야 한다. 또한, 디지털 문서의 데이터 압축은 문서의 의도된 목적 또는 궁극적 이용을 활용해야 한다. 일부 디지털 문서들은 파일링이나 하드 카피를 제공하기 위해 제공된다. 다른 문서들은 개정되거나 편집될 수도 있다. 많은 종래의 데이터 압축 방법들은 뷰잉(view)될 때 텍스트 및/또는 이미지의 재-플로잉(re-flowing)을 핸들링하는 것을 실패하고, 압축 기술이 문자들을 인식하여 워드 프로세서, PDA(personal digital assistant), 셀룰러 폰, 등에 재플로잉할 수 있게 하는 효율적이고 효과적인 수단을 제공하지 못한다. 그러므로, 하드 카피의 사무용 문서들이 디지털 형태로 스캐닝되는 경우, 현재의 압축 기술은, 디지털화된 문서를 갱신하고, 수정하거나 일반적으로는 변경하는 것이 불가능하지 않은 경우 적어도 어렵다.
일반적으로 디지털 문서는 대량의 텍스트 정보를 포함한다. 어떠한 압축도 없는 경우, 200dpi(dots per inch)에서 한 장의 8.5 × 11 인치 문서는 거의 2MB의 저장 공간을 이용한다. 그러나, 텍스트 정보는 속성을 가지고 있고, 이들은 압축할 여유를 가지고 있다. 텍스트 정보를 압축하는 하나의 접근법은 텍스트에 대해 광학 문자 인식(OCR)을 행하여 문서를 ASCII와 같은 표준 알파벳의 문자 코드열로서 표현하는 것이다. 그러나, OCR은 특히 품질이 나쁜 문서에 대해서는 완전하게 신뢰할 수 없다는 점에서 OCR을 이용하는데 일부 단점들이 존재한다. 문서의 노이즈, 가변 서체 및 일반적이지 않은 문자는 모두 OCR 에러를 발생시킬 수 있다. 추가적으로, 특별한 폰트, 외국어 및 수학식들은 특별한 문제를 유발시킨다.
디지털 문서를 압축하기 위한 다른 접근법은 클러스터링을 이용하는 것이다. 클러스터링은 문서의 연결 컴포넌트(connected component)(연결 컴포넌트는 연결되는 소정 컬러의 화소의 셋트임)를 찾아내는 것을 포함하며, 연결 컴포넌트가 검색 및 분석되어 클러스터로 지칭되는 유사하게 연결 컴포넌트를 로케이팅한다. 클러스터는 일반적으로 압축을 크게 증가시킬 수 있고 OCR의 일부 신뢰성 문제를 피할 수 있다. 예를 들면, 200dpi에서 한 페이지의 8.5 × 11인치 문서는 압축되지 않은 경우에 거의 2MB의 저장 공간을 이용하지만, 클러스터링의 경우에 약 200k만을 이용한다. 파일 크기의 엄청난 감소의 이유는, 각 연결 컴포넌트가 위치, 및 형태 사전에 속하는 형태로의 포인터로 요약될 수 있다. 알고리즘의 클러스터링 부는 어느 형태(들)가 사전에 속하는지, 및 어느 형태가 각 연결 컴포넌트에 가장 근접한 지를 결정한다. 통상, 형태 사전은 원래 문서 이미지의 크기의 일부이고, 페이지들 사이에서 공유될 수도 있다. 형태로의 포인터는 페이지(X 및 Y)의 위치, 및 형태 번호에 의해 특징지어질 수 있다. X 및 Y 위치는 이전 위치를 이용하여 압축될 수 있는데 반해, 형태 인덱스들은 컨텍스트 또는 언어 모델을 이용하여 압축된다. 그러므로, 클러스터링은 압축을 크게 증가시킬 수 있지만, 유사한 연결 컴포넌트(클러스터)를 찾기 위해 연결 컴포넌트를 분석하는 것은 통상적으로는 계산적으로 집중되는 프로세스이다. 단일 페이지 또는 다수 페이지 문서는 유사한 연결 컴포넌트를 찾기 위해 비교되는 수백 이상의 연결 컴포넌트를 쉽게 가질 수 있다.
이하는 본 발명의 일부 양태의 기본적인 이해를 제공하기 위한 본 발명의 요약이다. 이러한 요약은 본 발명의 핵심/주요 구성요소를 식별하거나 본 발명의 범주를 서술하려는 것은 아니다. 단지 그 목적은 이하에 제공되는 발명의 상세한 설명의 전주로서 본 발명의 일부 개념들을 단순화된 형태로 제공하는 것이다.
본 발명은 일반적으로 문서 이미지를 인코딩하고 디코딩하기 위한 시스템 및방법에 관한 것으로, 특히 클러스터링에 관한 것이다. 클러스터링은 대부분이 연결 화소인 유사한 마크들을 클러스터로 그룹화하여 압축을 증가시키는 것을 포함한다. 클러스터링은, 클러스터를 식별하기 위해 각 마크가 다른 마크들과 비트별로 비교되어야만 하기 때문에, 대량의 메모리와 프로세서 자원을 소비할 수 있다. 본 발명은 미스매치된 클러스터를 식별하고 그러한 미스매치된 클러스터에 대한 비트별 비교를 피함으로써 메모리 및 프로세서 자원 이용을 줄인다. 미스매치를 식별하는 프로세스는 스크리닝으로 지칭될 수 있다. 일부 종래 클러스터링 접근법이 스크리닝을 활용하고 있음에도 불구하고, 본 발명에 따른 스크리닝 테스트 또는 속성의 선택은 특히 효율적으로 만든다. 본 발명은 기존 클러스터의 속성을 이용하여, 문서로부터 추출된 마크의 속성이 클러스터 속성과 비교된다. 이러한 비교는 미스매치를 식별하는 시간이 소요되고 비용이 많이 드는 비트별 비교를 요구하지 않는다. 마크의 속성이 임의의 클러스터 속성과 매칭되지 않으면(마크가 기존 클러스터로부터 너무 멀리 이격된 것으로 판단되면), 마크는 새로운 클러스터로서 부가되어 비트별 비교를 피할 수 있다.
본 발명은 미스매치를 검출하기 위한 계산적으로 효율적인 스크리닝, 및 클러스터링을 위한 긍정적 매치를 검출하기 위한 계산적으로 효율적인 알고리즘을 제공한다.
본 발명의 한 양태에 따르면, 클러스터는 클러스터에 삽입된 제1 요소 또는 마크에 의해 특징지어진다. 제1 장점은, 새로운 마크를 클러스터에 부가하는 것은 클러스터 특성의 재계산을 요구하지 않는다는 점이다. 이러한 접근법의 다른 장점은 새로운 마크를 클러스터에 부가할 때마다 클러스터 중심이 이동하거나 변형되는 것이 발생하는 "클러스터 드리프트(cluster drift)"를 피한다는 점이다. 클러스터 드리프트를 피하는 것은 동일한 클러스터의 2개의 요소간의 최대 거리에 대한 보장을 제공한다. 이러한 보장은 더 효율적이고 적극적인 스크리닝을 허용한다. 이러한 접근법의 주요 단점은 동일한 평균의 클러스터-대-마크(clustr-to-mark) 거리에 대해 다른 클러스터링 알고리즘보다 더 많은 클러스터를 산출한다는 점에서 클러스터링이 더 최적이지 않을 수 있다는 점이다. 주요 장점은 크게 증가된 속도이다. 텍스트 압축의 경우에, 각 클러스터의 정보를 운반하는 사전의 크기는 통상 압축된 문서 크기의 일부이므로, 클러스터 갯수가 10% 증가하는 것은 반드시 중요한 것은 아니다.
본 발명의 한 양태에 따르면, 클러스터 속성은 예를 들면 테이블에 저장될 수 있다. 채용될 수 있는 클러스터의 하나의 특정 속성은 x 크기 및 y 크기이다. x 크기 및 y 크기는 기존 클러스터의 크기순 배열 정보를 제공한다. 마크의 x 크기 및 y 크기는 기존 클러스터의 x 크기 및 y 크기와 비교되어 미스매치를 식별한다. 추가적으로, 본 발명의 다른 양태는 x 크기 및 y 크기로 인덱싱되는 버킷(bucket)의 2D 테이블로 클러스터를 구성하는 것이다. 새로운 마크가 찾아지면, 동일한 x 크기 및 y 크기의 버킷이 버킷의 2D 테이블로부터 추출되고, 마크는 마크가 버킷내의 클러스터에 비교된다. 인접 버킷이 더 정확한 매치를 위해 검색될 수도 있다(모든 다른 버킷은 무시되거나 스크리닝된다). 클러스터 중심에 대한 "드리프트 없음(no drift)"의 가정은 클러스터가 버킷내에 머무는 것을 보장하므로유용하다.
활용될 수 있는 클러스터의 다른 속성은 잉크 크기이다. 잉크 크기는 통상 마크 또는 클러스터에서 전체 화소에 대한 블랙 화소의 비율을 지칭한다. 마찬가지로, 마크의 잉크 크기는 기존 클러스터의 잉크 크기와 비교되어 미스매치를 식별할 수 있다.
마크의 다른 속성은 "핫 포인트"이다. 핫 포인트는 무게 중심일 수 있으며, 또는 다른 수단(예를 들면 주위 문자들의 라인 방정식)에 의해 계산될 수 있는 마크 상의 위치이다. 비교 동안에, 마크 및 클러스터의 핫 포인트는 비교가 시작되기 전에 정렬되고, 종종 번역(translation)을 발생시킨다. 다른 클러스터 속성은 마크 및/또는 클러스터의 화소 크기 축소 버전 비트맵인 축소된 마크 또는 이미지이다. 본 발명의 한 양태에서, 축소된 마크는 핫 포인트 상에 집중되고, 마크가 재스케일링되어 축소된 마크는 고정 크기를 갖는다. 다시, 클러스터의 드리프트 없음 가정은 클러스터의 축소 버전이 클러스터내의 모든 마크의 양호한 표현이라는 것을 보장한다는 점에서 유용하다. 축소된 마크는 기존 클러스터의 축소된 마크 또는 축소된 이미지와 비교되어 미스매치를 식별한다.
본 발명의 다른 양태에 따르면, 마크가 모든 특징 테스트를 성공한 경우, 더욱 직접적인 방식으로 클러스터와 비교된다. 마크와 클러스터간의 거리가 계산되고, 제1 임계값(threshold)과 비교된다. 거리는 XOR 거리, 더 복잡한 거리 또는 거리들의 조합일 수 있고, 각각의 거리는 더 복잡하고 의미있는 거리에 대한 스크리닝으로서 이용된다. 거리(들)가 그 대응하는 임계값(실험적으로 결정될 수 있음)보다 하위이면, 마크는 현재 클러스터에 부가된다.
본 발명의 한 양태에서, 클러스터는 크기 순서대로 보유되어, 가장 매칭될 가능성이 높은 클러스터가 마크와 우선 비교됨으로써, 매치가 일찍 구해지는 경우에 비교 횟수를 감소시킨다.
본 발명의 다른 양태는 클러스터링 시스템이다. 클러스터링 시스템은 마크 추출기, 라이브러리, 테이블, 매치 컴포넌트 및 매치 심볼 컴포넌트를 포함한다. 마크 추출기는 문서로부터 마크를 추출한다. 라이브러리는 기존 클러스터와 이들 기존 클러스터에 관한 정보를 저장하도록 동작한다. 테이블은 기존 클러스터의 매칭 속성을 저장한다. 매치 컴포넌트는 마크의 적어도 하나의 속성을 매치 속성의 테이블로부터의 매치 속성과 비교하여 매칭된 기존 클러스터를 식별하도록 동작한다. 매치 심볼 컴포넌트는 마크를 매칭된 기존 클러스터와 비교하여 최대 매칭된 클러스터를 식별하도록 동작하고, 또는 속도가 중요한 경우에 마크와 클러스터간의 거리가 제1 임계값보다 작도록 제1 클러스터를 식별하도록 동작한다.
본 발명의 다른 양태는 각 클러스터의 최종 비트맵이 계산되는 방법에 관한 것이다. 하나의 클러스터링이 일단 종료되면, 각 클러스터의 비트맵은 핫 포인트에 따라 클러스터내의 모든 마크를 정렬하고, 각 위치에 대해 클러스터내의 모든 마크의 화소를 평균시킴으로써 평가된다. 각 위치에 대해, 평균값이 0.5보다 크면, 그 위치에서의 클러스터의 비트맵 화소는 1로 설정되는 한편, 평균값이 0.5보다 작으면, 그 위치에서의 클러스터의 비트맵 화소는 0으로 설정된다. 평균이 정확하게 0.5이면, 8개의 인접하는 평균이 마찬가지로 평균되고, 새로운 평균이 0.5보다 크면 화소 값은 1로 설정되고, 또는 그렇지 않으면 화소 값은 0으로 설정된다. 결과적인 비트맵은 형태 사전에 입력되고, 그 클러스터내의 모든 마크는 이미지가 인코딩되어야 될 때 그것을 가리킨다.
본 발명의 다른 양태는 클러스터링 방법이다. 문서가 제공된다. 문서는 바이너리이고, 통상 텍스트 정보를 포함한다. 마크는 문서에서 발견된다. 마크의 제1 속성이 기존 클러스터의 제1 속성과 비교되어 매칭 및 미스매칭 클러스터를 식별한다. 마크의 비트맵이 매칭 클러스터의 비트맵과 비교되어 매칭 클러스터중 최대 매칭된 클러스터를 찾거나, 클러스터링의 속도를 개선시키며, 마크와 클러스터간 거리가 제1 임계값보다 작아지도록 제1 클러스터를 구한다. 매칭된 클러스터가 없으면, 마크는 새로운 클러스터로서 부가된다.
상기 및 관련 목적의 달성을 위해, 본 발명의 일부 예시 양태가 이하의 상세한 설명 및 첨부된 도면을 참조하여 기재된다. 이들 양태는 본 발명이 실시되는 다양한 방법들을 나타내고, 이들 모두는 본 발명에 의해 포함되는 것이다. 본 발명의 다른 장점 및 새로운 특징은 도면을 참조하여 설명한 본 발명의 이하의 상세한 설명으로부터 명백하게 될 것이다.
도 1은 본 발명의 한 양태에 따른 클러스터링 시스템의 블록도.
도 2는 본 발명의 한 양태에 따른 마크 예를 도시한 도면.
도 3은 4-연관 속성을 예시한 도면.
도 4는 8-연관 속성을 예시한 도면.
도 5는 본 발명의 한 양태에 따른 조합 마크의 예를 도시한 도면.
도 6은 본 발명의 한 양태에 따른 클러스터링 시스템의 블록도.
도 7은 본 발명의 한 양태에 따른 2차원 테이블의 블록도.
도 8은 본 발명의 한 양태에 따른 2차원 테이블의 엔트리의 블록도.
도 9는 본 발명의 한 양태에 따른 클러스터 예를 도시한 도면.
도 10은 본 발명의 한 양태에 따른 에러 맵의 예를 도시한 도면.
도 11은 본 발명의 한 양태에 따른 클러스터링을 수행하는 방법의 흐름도.
도 12는 본 발명의 한 양태에 따른 클러스터링을 활용하는 이미지 인코딩 시스템의 블록도.
도 13은 본 발명이 기능할 수 있는 오퍼레이팅 환경의 예를 도시한 도면.
도 14는 본 발명에 따른 통신 환경의 예의 개략적인 블록도.
<도면의 주요 부분에 대한 간단한 설명>
100 : 클러스터링 시스템
102 : 문서
104 : 마크 추출기
106 : 매치 속성 컴포넌트
110 : 매치 심볼
112 : 저장 장치
114 : 클러스터 속성
이제, 본 발명은 도면을 참조하여 기술되며, 도면들에서 유사한 참조부호는 전체적으로 유사한 구성요소를 지칭하는데 이용된다. 이하의 설명에서는, 설명의 목적상, 본 발명의 완벽한 이해를 제공하기 위해 다수의 특정 세부내용이 제공된다. 그러나, 본 발명은 이들 특정 세부사항 없이도 실시할 수도 있다는 것은 명백하다. 다른 예들에서는, 주지의 구조 및 디바이스가 본 발명의 상세한 설명을 용이하게 하기 위해 블록도 형태로 도시되어 있다.
본 명세서에 이용되는 바와 같이, "컴포넌트(component)"라는 용어는 컴퓨터 관련 개체(entity)를 지칭하는 것을 의도하며, 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 또는 실행중인 소프트웨어 중 하나이다. 예를 들어, 컴포넌트는 프로세서 상에서 운용되는 프로세서, 프로세서, 오브젝트, 실행기, 실행의 스레드, 프로그램, 및 컴퓨터일 수 있으며, 이에 한정되지 않는다. 예시로써, 서버 상에서 운용되는 어플리케이션 및 서버 모두가 컴포넌트가 될 수 있다. 하나 이상의 컴포넌트는 실행의 프로세스 및/또는 스레드(thread) 내에 상주할 수 있고, 컴포넌트는 하나의 컴퓨터 상에 배치되거나, 2개 이상의 컴퓨터에 분산될 수도 있다.
또한, "문서 이미지"는 하나 이상의 컬러(들)을 포함하는 문서(들)(예를 들면, 바이너리(블랙/화이트), 그레이-스케일 및/또는 컬러 문서(들))의 디지털 표현을 지칭하려는 것이다. 추가로, 문서 이미지는 잠재적으로 텍스트 및 이미지가 덧붙여지는 이미지(들), 텍스트, 및/또는 이미지를 갖는 텍스트를 가질 수 있다. 문서 이미지는 바이너리(binary), RGB, YUV, 및/또는 문서(들)의 다른 표현을 포함할 수 있다. RGB 문서 이미지는 적색, 녹색 및 청색 컴포넌트로 표현된다. YUV 문서 이미지는 Y로 표현되는 휘도 컴포넌트, 및 U 및 V로 표현되는 색차 컴포넌트를 이용하여 표현된다. 인간의 눈은 U 및 V 왜곡에 덜 민감해서 U 및 V는 인자 2에 의해 서브 샘플링될 수 있고, Y는 R, G 및 B 간의 상관관계를 캡쳐하기 때문에, YUV 표현이 일반적으로는 압축에 더 적합하다. 텍스트 클러스터링이라는 목적을위해서, 일반적으로 휘도의 변화에 의해 텍스트를 읽는 것이 더 용이하므로, Y 표현이 특히 흥미롭다. 소정 휘도에서 색차 변경, 예를 들면 적색에서 녹색으로의 변경에 의한 텍스트는 통상 읽기가 더 어렵다. 그러므로 컬러 문서는 실질적으로 텍스트 정보를 보유하면서도 YUV 문서로 변환될 수 있고, 그리고 나서 압축되거나 이진화될 수 있다. 문서 이미지는 통상 "화소"이라고 지칭되는 화상 소자(picture element)들을 포함한다. 문서 이미지는 임의의 형태 또는 크기의 단일 또는 복수페이지 문서(들)에 기초할 수 있다.
도 1은 본 발명의 한 양태에 따른 클러스터링 시스템(100)을 도시하고 있다. 클러스터링 시스템(100)은 문서로부터 마크(mark)를 추출하고, 현재의 클러스터와 발견된 마크와의 다수의 비트별 비교를 피함으로써 효율적인 계산 방식으로 마크로부터 클러스터를 생성한다. 클러스터링 시스템(100)은 마크 및 기존 클러스터간의 매치 및 미스매치를 식별하는 다수의 비교를 수행함으로써 많은 계산적으로 고가의 비트별 비교를 피한다.
마크 추출기(104)는 문서(102, 예를 들면 통상 텍스트 정보를 포함함)로부터 마크를 추출한다. 일반적으로, 문서(102)는 바이너리 문서 이미지이지만, 본 발명의 다른 양태가 적절한 갯수의 레벨 또는 컬러를 가지는 문서를 포함할 수 있다는 것을 인식할 수 있다. 문서(102)는 하나 이상의 페이지를 가지고 있고, 다른 문서 이미지로부터 추출된 레이어(layer) 또는 마스크일 수 있다. 마크는 일반적으로 소정 컬러의 복수의 연결 화소이고, 연결 컴포넌트라고 지칭될 수도 있다. 종종, 마크는 "e"와 같은 문자숫자식의 문자이다. 그러나, OCR과는 달리, 마크는 특정문자로서 식별되지 않는다.
문서에서 텍스트의 통상 표현은 화이트 상에 블랙 텍스트로서 표현되는 텍스트이다. 이러한 시스템(100)은 단순화를 위해 문서(102)의 텍스트가 블랙으로 표현되어 기재되어 있다. 그러나, 텍스트는 임의의 다른 컬러나 음영 상에 임의의 적절한 컬러로서 표현될 수 있다는 것은 인식할 수 있다.
마크 추출기(104)는 문서(102)를 스캐닝하여(예를 들면, 좌에서 우로, 위에서 아래로), 마크의 "시드(seed)"를 식별하거나 로케이팅(locate)한다. 시드는 마크 추출기(104)가 식별하거나 로케이팅한 제1 비-화이트(non-white) 화소이다. 마크 추출기(104)는 개시 지점 또는 화소로부터 스캐닝을 시작한다. 개시 지점은 통상 문서의 좌상측 코너이고, 각 마크가 추출된 후에 갱신된다. 그러므로 예를 들면, 가장 크고 최 좌측의 마크가 우선 로케이팅된다. 일단 시드가 발견되면, 연결 화소를 로케이팅하는 알고리즘이 적용된다. 그리고 나서, 마크 추출기(104)는 연결 화소를 포함하는 마크를 추출하여, 문서(102)로부터 그 마크를 제거한다.
매치 속성 컴포넌트(106)는 마크 추출기로부터 마크를 수취한다. 매치 속성 컴포넌트(106)는 미스매치를 식별하기 위하여 마크의 하나 이상의 속성을 기존 클러스터(114)의 대응하는 하나 이상의 속성과 비교한다. 이러한 비교는 스크리닝(screening)이라고 지칭될 수도 있다. 하나 이상의 속성은 예를 들면 마크의 비트맵 이미지, 마크의 무게 중심, x 크기, y 크기, 잉크 크기, 위치 정보 및 크기 조정된 마크 이미지를 포함할 수 있다. 저장 컴포넌트(112)는 기존 클러스터(114)의 하나 이상의 속성을 저장하고, 속성을 매치 속성 컴포넌트(106)에제공한다. 저장 컴포넌트(112)는 메모리, 하드디스크, 플래시 메모리 등과 같은 저장 디바이스일 수 있다. 마크의 하나 이상의 속성은 필요하다면 매치 속성 컴포넌트(106)에 의해 계산될 수 있다. 마찬가지로, 기존 클러스터(114)의 하나 이상의 속성은 필요하다면 매치 속성 컴포넌트(106)에 의해 계산될 수도 있다.
매치 속성 컴포넌트(106)는 임계값을 이용하여 하나 이상의 속성에 대해 허용가능한 값의 범위를 계산한다. 임계값은 예를 들면 80%가 될 수 있고, 이는 현재의 클러스터의 속성이 대응하는 마크의 속성의 80% 내에 포함된다는 것을 의미한다. 임계값은 시스템의 성능을 개선하기 위해 조정될 수 있다. 그러나, 임계값이 더 커질수록, 마크가 기존 클러스터에 부가될 가능성이 낮아지고 압축이 덜 된다. 각 속성에 대한 다중 임계값이 이용될 수 있다.
하나 이상의 속성들이 순차적이거나 병렬로 비교될 수 있다. 예를 들어, 순차적으로 비교하는 경우, 마크의 x 크기 속성이 기존 클러스터의 x 크기 속성에 비교된 후, 마크의 잉크 크기가 기존 클러스터의 잉크 크기에 비교될 수 있다. 순차 비교는, 문제점은 많은 클러스터로부터 하나의 적절한 클러스터를 발견하는 것이므로 대부분의 비교가 실패할 것이라는 사실로부터 이익을 얻는다. 그러므로, 계산적으로 비용이 낮은 특징 비교가 우선 수행되고, 하나가 실패하자 마자, 이 클러스터에 대한 나머지 비교가 수행될 필요는 없다. 클러스터가 미스매치이고, 다음 클러스터가 고려된다. 다른 예로서, 병렬로 비교하는 경우, 마크의 x 크기 및 잉크 크기가 기존 클러스터의 x 크기 및 잉크 크기와 비교될 수 있다. 병렬 비교는 다수의 비교를 동시에 수행하는 것에서 이익을 얻는다. 병렬 비교는 다수의 비교를활용할 수 있지만, 계산을 병렬로 수행함으로써 속도를 개선할 수 있다.
미스매치가 식별되어, 즉 기존 클러스터의 하나 이상의 속성 중 하나가 허용가능한 범위(들) 내에 들지 못하거나 마크와 클러스터간 거리가 허용가능한 범위에 포함되지 못한다는 것을 의미하는 경우, 마크를 새로운 클러스터로서 기존 클러스터에 부가한다. 또한, 시스템에 의한 마크의 처리가 완료된다. 문서의 다른 마크가 시스템(100)에 의해 처리될 수 있다.
매치가 식별되어, 즉 적어도 하나의 매칭된 기존 클러스터가 있다는 것을 의미하는 경우, 매치 심볼 컴포넌트(110)는 마크의 비트맵을 적어도 하나의 매칭된 클러스터의 비트맵과 비교한다. 비트맵은 비트별로 비교되어, 유사한 비트맵을 갖는 적어도 하나의 매칭된 기존 클러스터들 중의 클러스터들을 식별한다. 이러한 비교는 매칭으로서 지칭될 수도 있다. 하나 이상의 거리 매칭이 계산될 수 있다. 예를 들면, XOR 거리가 우선 계산되며, 이것은 모든 미스매칭된 비트에 대해 거리에 1이 부가된다는 것을 의미하며, 그리고 나서, 제1 거리가 특정 범위에 포함되지 못하면 더 복잡하고 더 계산적으로 비용이 드는 거리가 후속된다. 설정된 다수의 인접하는 화소에 따라 화소를 가중하는 가중 배타적-or(WXOR); 가중을 계산할 때 화이트 대 블랙 에러와 별개로 WXOR 바이 트리트(buy treat) 블랙 대 화이트 에러와 유사한 가중 AND-NOT(WAN); 에러 맵 내의 임의의 위치가 설정된 4개 이상의 이웃(neighbor)을 가지는 것으로 발견된 경우에 매치를 거절하는 패턴 매칭 및 치환(PMS); 가는 스트로크 또는 갭을 검출하는 휴리스틱(heuristics)을 이용하여 PMS 절차를 증대시키는 조합형 크기-개별 전략(CSIS); 및 압축기반 템플레이트 매칭(CTM)과 같은, 다른 적절한 매칭 절차가 본 발명에 따라 이용될 수 있다. 매칭 절차 또는 비교는 매칭된 클러스터로서, 제1 허용가능한 매칭된 기존 클러스터에서 종료될 수 있다. 마크 및 적어도 하나의 매칭된 기존 클러스터의 비트맵에서 작은 편차를 허용하는 임계값이 선택된다. 비트맵을 비교하기 위한 접근법은 도 6을 참조하여 이하에 더 상세하게 설명한다. 대안으로, 매칭 절차가 적어도 하나의 매칭된 기존 클러스터의 모두에 걸쳐 계속되어, 매칭된 클러스터로서 최상(best) 매칭된 또는 최대(most) 매칭된 클러스터를 식별할 수 있다. 발견되거나 식별된 매칭된 클러스터 상의 마크는 유사한 마크의 매칭된 클러스터의 세트에 부가된다. 매칭된 클러스터의 비트맵은 마크의 비트맵을 활용하는 평균으로 갱신될 수 있다.
비트맵에 대한 미스매치가 식별되면, 적어도 하나의 매칭 클러스터의 어떤 비트맵도 허용가능하지 않다는 것을 의미하며, 마크는 새로운 클러스터로서 기존 클러스터에 부가된다. 추가적으로, 시스템(100)에 의해 마크의 처리가 완료된다. 시스템(100)은 문서의 잔여 마크 모두에 대해 계속 행할 수 있다.
도 2는 본 발명의 일 양태에 따른 예시의 마크(201)를 도시하고 있다. 연결 화소는 연결성 속성을 활용하여 발견된다. 예시의 마크(201)는 텍스트 문자(예를 들면, 글자 "z")를 표현하고 있다. 통상, 8-연결성 속성이 연결 화소들을 로케이팅하는데 이용되지만, 4-연결성 속성이 이용될 수도 있다. 4-연결성 속성은 4개의 주요 나침반 방향으로만 연관된 화소들을 식별한다. 도 3은 4개의 주요 나침반 방향(310)으로 4개의 화소들에 의해 둘러싸인 하나의 화소를 도시함으로써 4-연결성 속성을 예시하고 있다. 8-연결성 속성은 모든 탐색가능한 이웃 방향으로 연관된화소들, 8개의 주요 방향 각각에 하나씩 8개의 바로 인접한 이웃을 식별한다. 도 4는 8개의 주요 방향(411)으로 8개 화소에 의해 둘러싸여지는 하나의 화소를 도시함으로써 8-연결성 속성을 예시하고 있다. 예를 들면, 도 2의 화소(203)은 4-연결성 속성 및 8-연결성 속성에 따라 식별된다. 그러나, 4-연결성 속성은 화소(204)을 연결 화소로서 식별하지 않을 것이다.
도 1을 다시 참조하면, 마크 추출기(104)는 이하의 알고리즘을 이용하여 마크를 발견할 수 있다. 우선, 바이너리 이미지를 런 길이 인코딩(RLE, run length encoding) 표현으로 변환한다. n개의 런들이 존재한다고 가정하면, n개의 셋트를 생성하고, 하나의 런을 각 셋트에 넣는다. 각 라인 및 각 런에 대해서, 4-연결성 또는 8-연결성을 이용하여 현재의 런을 터치하는 이전 라인의 모든 런을 찾는다. 터치하는 런들을 포함하는 모든 셋트들의 합집합을 수행한다. 페이지의 끝에, 나머지 셋트들은 마크이다. 이러한 알고리즘은 "유니온-파인드(union-find)" 알고리즘으로서 지칭될 수 있다. 복잡도는 O(nlog*(n))이고, 여기서 n은 런의 갯수이고, log*는 애커만(Ackerman) 함수의 역함수이다. 그러므로, 복잡도는 대략 O(n)이고, n은 런의 갯수이다. 추가로, 마크는 역 비디오 텍스트를 마찬가지로 클러스터링하기 위해, 이미지 및 그 네거티브(negative) 모두에 대해 계산될 수 있다.
상기 언급한 바와 같이, 마크는 통상 연결 화소들로 구성된다. 그러나, 마크 추출기(104)는 화소에 엄격하게 연결되지 않는 마크를 식별하도록 적응될 수 있다. 예를 들면, 도 5는 상부 도트(502)와 함께, 글자 "i"의 하부(501)를 도시하고 있다. 하부(501) 및 도트(502)는 별개의 연결 화소이다. 그러나, 마크추출기(104)는 원래 마크로부터 추가 영역을 스캐닝함으로써 단일 또는 조합 마크로서 하부(501) 및 도트(502)를 식별할 수 있다.
연결 컴포넌트 또는 마크를 조합하기 위해, 라인 분석이 수행될 수 있다. 예를 들면, 연결 컴포넌트들은 페이지에서 그 위치에 기초하여 워드로 어셈블리될 수 있고, 워드 역시 페이지의 위치 및 각도에 기초하여 라인으로 어셈블리될 수 있다. 일단 라인이 식별되면, 라인의 균등화에 대해서는 서로의 상부 상에 수직으로 배치된 모든 마크를 병합하여, 액센트와 도트 마크는 그들이 속하는 글자의 마크에 부착되도록 한다. 물론 결과적인 마크는 연결되지 않지만, 이전과 같이 클러스터링 알고리즘에 이용될 수 있다.
마크가 식별된 후에, 마크 추출기(104)는 마크 상에서 추가 계산을 수행할 수 있다. 마크 추출기(104)는 마크의 무게 중심, x 크기, y 크기, 잉크 크기, 면적, 위치 정보, 핫(hot) 포인트 및 크기 조정된 이미지와 같은 마크의 속성을 계산할 수 있다. x 크기는 마크의 최대 폭으로서 계산된다. y 크기는 마크의 최대 높이로서 계산된다. 마크가 2개의 마크(즉, "i" 및 그것의 도트)의 조합인 경우, y 크기는 결과적인 조합의 높이이다. 잉크 크기는 마크의 블랙 화소의 갯수인데 대해, 면적은 마크의 바운딩 박스(x 크기 × y 크기)에서 전체 화소의 갯수이다. 미스매치를 검출하는데 이용되는 또 다른 종종 유용한 특징은 잉크 백분율이다. 이하의 수학식은 마크 또는 클러스터의 잉크 백분율을 계산하는데 이용될 수 있다.
핫 포인트는 마크 상의 한 지점으로서, 무게 중심이거나, 또는 다른 수단에 의해 계산될 수 있다. 예로서, 텍스트에 대해, 라인 분석을 수행하여 마크가 위치한 라인 방정식(즉, "i"상의 도트와 같이 마크를 조합하는 라인을 구하는데 이용되는 동일한 알고리즘)을 구할 수 있다. 마크에 대한 핫 포인트는 x 좌표에 대한 수평 무게 중심, 및 y 좌표에 대해서는 라인 방정식과 동일한 x 좌표를 통과하는 수직선의 교차를 가지고 있다. 비교 중에, 마크 및 클러스터의 핫 포인트들은 비교가 시작되기 전에 정렬되어, 종종 비교 전의 마크의 번역을 발생시킨다.
위치 정보는 마크에 대한 좌표 등의 정보, 및 오프셋, 기준점 및/또는 간격 정보와 같은 정보를 포함할 수 있다.
크기 조정된 마크 이미지는 마크의 크기 조정된 버전이다. 크기 조정된 마크 이미지는 마크의 더 작은 버전, 예를 들면 3×3 화소 이미지로서 계산된다. 크기 조정된 마크 이미지는 심볼 비교를 돕도록 계산된다. 크기 조정된 심볼은 통상 마크보다 화소 크기가 훨씬 더 작다. 임의의 갯수의 알고리즘이 마크를 크기 조정된 마크 이미지로 크기를 줄이는데 이용될 수 있다. 한 알고리즘은 핫 포인트 상에 집중되어 마크의 면적을 커버하도록 스케일링된 마스크를 9개 영역(3×3)으로 분할하고, 그들이 이들 영역 각각을 교차할 때, 마크의 평균을 계산하는 것이다.
다른 알고리즘은 비트맵으로부터 다수의 화소를 제거하거나 버리는 것이다.그러나, 다른 알고리즘은 크기 조정된 이미지를 생성하는데 이용될 수 있고, 여전히 본 발명에 따른다. 상기 계산들은 계산 효율성을 증가시키기 위해 시스템에 의해 필요해질 때까지 또는 필요하다면 지연될 수 있다는 것은 인식될 수 있다.
추가로, 기존 클러스터 및 그들의 속성은 본 발명에 따라 로컬 라이브러리 및 글로벌 라이브러리에 보유될 수 있다. 로컬 라이브러리는 현재 페이지에 대한 기존 클러스터를 저장하는데 채용될 수 있고, 글로벌 라이브러리는 문서(102)에 대한 기존 클러스터를 글로벌하게 저장하는데 채용될 수 있다. 다른 양태에서, 자주 발생하는 기존 클러스터(예를 들면, 비교적 다수의 연관 마크를 는 클러스터)는 글로벌 라이브러리에 보유되는데 대해, 드물게 발생하는 기존 클러스터는 로컬 라이브러리에 보유된다.
도 6은 본 발명의 한 양태에 따른 클러스터링 시스템(600)의 블록도이다. 클러스터링 시스템(600)은 찾아낸 마크와 기존 클러스터간의 다수의 비트별 비교를 피함으로써, 문서로부터 마크를 추출하고 마크로부터 클러스터를 효율적인 계산 방식으로 생성한다. 클러스터링 시스템(600)은 미스매치를 식별함으로써 다수의 계산적으로 비용이 많이 드는 비트별 비교를 피하는 다수의 비교 또는 스크리닝 연산을 수행한다.
일반적으로, 클러스터는 클러스터에 삽입된 제1 요소 또는 마크에 의해 특징지어진다. 이것의 장점은 새로운 마크를 클러스터에 부가하는데는 클러스터 특성의 재계산이 필요하지 않는다는 점이다. 이러한 접근법의 다른 장점은, 새로운 마크를 클러스터로에 부가할 때마다 클러스터 중심이 이동하거나 변형되는 경우에 발생하는 "클러스터 드리프트(cluster drift)"를 피한다는 점이다. 클러스터 드리프트를 피하는 것은 동일한 클러스터의 2개의 요소간의 최대 거리를 보장한다. 이러한 보장은 더 효율적이고 적극적인 스크리닝을 허용한다. 이러한 접근법의 단점은 동일한 평균 클러스터-대-마크 거리에 대해 다른 클러스터링 알고리즘보다 더 많은 클러스터를 산출한다는 점에서 클러스터링이 덜 최적일 수 있다는 점이다. 그러나, 일반적으로는 처리 속도의 증가가 상기 단점을 상쇄한다. 예로서, 텍스트 압축의 경우에, 각 클러스터의 정보를 운반하는 사전의 크기가 통상적으로 압축된 문서 크기의 일부이므로, 클러스터 갯수가 10% 증가하는 것은 반드시 중요한 것은 아니다.
2차원 테이블(612)은 기존 클러스터를 저장하고 보유한다. 기존 클러스터들은 이전에 찾아지거나 식별된 클러스터들이다. 상기 언급한 바와 같이, 클러스터는 적어도 하나의 유사한 마크의 그룹이다. 2차원 테이블(612)은 기존 클러스터의 박스 크기 또는 바운딩 박스에 따른 엔트리를 포함한다. 버킷(bucket)이라 불리는 테이블(612)의 각 엔트리는 특정 박스 크기에 대응하는 클러스터 리스트를 포함한다. 박스 크기는 마크 또는 클러스터의 x 크기 및 y 크기를 참조한다. 엔트리 또는 버킷은 비어질 수 있다는 것은 인식될 수 있다. 추가로, 클러스터는 통상 특정 박스 크기에 해당하므로, 테이블에 대해 최대 박스 크기가 확립될 수 있다. 최대 박스 크기 이상의 클러스터는 별도의 테이블(예를 들면, 통합(corporate) 로고 또는 실(seal))에 저장될 수 있다. 통상적으로, 비교적 큰 박스 크기를 갖는 마크는 다른 클러스터 또는 마크와 유사하지 않을 가능성이 있다.
도 7은 도 6의 시스템(600)에서 활용될 수 있는 가능한 2차원 테이블을 예시한 블록도이다. 도시된 바와 같이, 엔트리 또는 버킷은 x 크기 및 y 크기로 배열된다. 하나의 버킷(700)은 1의 x 크기 및 N의 y 크기를 가지고 있다. 버킷(710) 내의 클러스터들은 도 8에 예시되어 있다.
마크 추출기(604)는 문서(602)로부터 마크를 취득하도록 동작한다. 문서(602)는 디지털 문서이고, 통상 텍스트 정보를 포함한다. 마크 추출기(604)는 하나씩 마크를 제거하여 처리한다. 마크 추출기(604)는 적절한 알고리즘을 이용하여 문서(602)로부터 마크를 추출하고 제거한다. 각 마크에 대해, 마크 추출기(604)는 마크의 비트맵 이미지, 마크의 무게 중심, x 크기, y 크기, 잉크 크기, 위치 정보 및 크기 조정된 마크 이미지를 포함하는 마크의 특징이나 속성을 계산하고 및/또는 취득하며, 이것에 한정되는 것은 아니다.
매치 크기 컴포넌트(606)는 마크 추출기로부터 마크를 수취한다. 마크는 마크의 비트맵 이미지, 마크의 무게 중심, x 크기, y 크기, 잉크 크기, 위치 정보 및 크기 조정된 마크 이미지를 포함한다. 매치 크기 컴포넌트(606)는 임계값을 이용하여 허용가능한 x 크기 및 y 크기 값들의 범위를 계산한다. 임계값은 예를 들면 10%가 될 수 있고, 이것은 수락 가능한 x 크기 및 y 크기의 10% 이내라는 것을 의미한다. 임계값은 시스템(600)의 성능을 개선하도록 조정될 수 있다. 그러나, 임계값이 더 커질수록, 기존 클러스터가 매칭하는 것으로 찾아질 확률이 더 낮고, 통상 압축이 덜 수행된다.
매치 크기 컴포넌트(606)는 크기 테이블(612)을 참조하여 상기 허용가능한범위에 포함되는 하나 이상의 버킷을 얻는다. 하나 이상의 버킷은 기존 클러스터의 일부를 포함하고, 이들은 크기 매칭 클러스터로서 지칭될 수 있다. 크기 매칭 클러스터가 전혀 존재하지 않는다면, 마크는 새로운 클러스터로서 2차원 테이블(612)에 부가된다. 또한, 매치 크기 컴포넌트(606)는 특히 처음에 하나도 식별되지 않은 경우에 더 많은 크기 매칭 클러스터를 얻기 위해, 크기 값들의 범위를 확대하거나 인접 버킷을 포함할 수도 있다. 클러스터 중심에 대한 상기 설명한 "드리프트 없음" 가정은, 기존 클러스터가 그 버킷내에 존재하도록 허용하므로 유용하다.
마크가 새로운 클러스터로서 부가되면, 고유 식별, 마크의 비트맵 이미지, 마크의 무게 중심, x 크기, y 크기, 잉크 크기, 위치 정보 및 크기 조정된 마크 이미지를 포함하는 마크 정보가 2차원 테이블(612)의 버킷에 부가되며, 이들로 제한되는 것은 아니다. 마크의 이미지(이제는 새로운 클러스터의 이미지)는 형태의 사전에 별도로 저장될 수 있고, 여기에서 라이브러리 엔트리만이 형태들의 사전에 대한 포인터 또는 형태 번호를 포함한다. 형태들의 사전은 로컬 및/또는 글로벌일 수 있다. 도 9는 개별적인 클러스터에 대한 예시의 엔트리(901)를 도시하고 있다. 엔트리(901)는 포괄적이지 않으며, 추가정보는 기존 클러스터의 엔트리에 포함될 수 있다는 것은 인식될 수 있다.
도 6을 다시 한번 참조하면, 적어도 하나의 크기 매칭 클러스터(들)가 존재한다면, 마크의 처리는 매치 잉크 컴포넌트(608)로 계속된다. 마크의 잉크 크기는 크기 매칭 클러스터의 다음 클러스터에 대한 잉크 크기와 각각 비교된다. 크기 매칭 클러스터의 다음 클러스터가 존재하지 않는 경우, 마크는 상기 설명한 바와 같이 새로운 클러스터로서 기존 클러스터에 부가된다. 잉크 크기 정보는 마크의 전체 화소의 갯수에 대한 블랙 화소의 갯수의 백분율 또는 비율이다. 마크의 잉크 크기가 다음 클러스터의 잉크 크기와 매칭된다면, 마크의 처리는 매치 심볼 컴포넌트로 계속된다. 마크의 잉크 크기가 다음 클러스터의 잉크 크기와 매칭되지 않으면, 매치 잉크 컴포넌트는 크기 매칭 클러스터의 연이은 다음 클러스터와 함께 마크의 처리를 계속한다.
매치 심볼 컴포넌트(610)는 마크의 처리를 계속한다. 우선, 매치 심볼 컴포넌트(610)는 마크의 크기 조정된 이미지를 다음 클러스터의 크기 조정된 이미지와 비교한다. 크기 조정된 이미지는 마크 또는 클러스터의 비트맵의 축소된 버전(예를 들면 3×3 화소 표현)이다. 축소된 버전은 바이너리보다는 그레이 레벨 화소로 표현될 수 있다. 이러한 비교는 단지 9개의 화소들만이 비교되고 있으므로 비교적 신속하게 수행될 수 있다. 임계값은 축소된 표현의 제한된 변동을 허용하도록 확립될 수 있다. 크기 조정된 이미지가 매칭되지 않는다면(예를 들면 미스매칭된다면), 마크의 처리는 매치 잉크 컴포넌트(608)로 리턴하여, 연이은 다음 클러스터가 처리된다.
축소하기 전에, "기준점(reference point)"을 이용하여 이미지를 정렬하는 것이 바람직하다. 참조되는 클러스터 및 마크에 대한 기준점은 다운-샘플링된 이미지를 계산하기 전에 계산된다. 핫 포인트라고도 지칭되는 기준점은 무게 중심으로서 계산되거나, 혹은 다른 수단(예를 들면, 주위 마크의 라인 방정식)에 의해 계산될 수 있다. 마크 또는 클러스터에 대한 무게 중심은 각 비트맵에서 블랙 화소의 평균 위치로서 계산된다. 다른 기준점 및 다중 기준점들을 이용하여 이미지를 정렬하는데 이용될 수 있다. 이미지가 다운-샘플링되기 이전에, 핫 포인트가 다운-샘플링된 이미지의 중심에 대응하도록 이미지가 정렬된다.
크기 조정된 이미지가 매칭하면, 마크의 비트맵 및 다음 클러스터의 비트맵의 비트별 비교가 수행된다. 매치 심볼 컴포넌트(610)는, 마크와 참조된 클러스터를 비교하기 위해, 마크와 다음 클러스터간의 거리를 계산한다. 그 거리가 임계값 또는 임계값보다 작은 값의 이내이면, 참조된 클러스터는 매치이다. 그렇지 않으면, 마크의 처리는 매치 잉크 컴포넌트(608)로 리턴하여 후속하는 다음 클러스터로 계속된다.
매치 심볼 컴포넌트에 의해 활용될 수 있는 하나의 적절한 거리는 "xor" 거리이다. "xor" 거리는 에러 맵을 생성함으로써 계산되며, 이 에러 맵은 마크와 참조된 클러스터간의 비트별 배타적-OR(bitwise exclusive-OR)이다. "xor"거리는 에러 맵 내의 화소의 갯수이다. xor 거리가 계산되기 이전에, 이미지들은 그들 각각의 핫 포인트를 중첩(super-imposing)시킴으로써 정렬된다.
도 10은 에러 맵의 예를 도시하고 있다. 마크의 비트맵은 참조부호 1001로 도시된다. 기존 클러스터의 비트맵은 참조부호 1002에 도시되어 있다. 마크(1001)와 기존 클러스터(1002)간의 비트별 배타적-OR 연산은 에러 맵(1003)에 도시되어 있다.
본 발명에 따라, 설정된 다수의 인접하는 화소에 따라 화소를 가중하는 가중배타적-or(WXOR); 가중을 계산할 때 화이트 대 블랙 에러와 별개로 WXOR 바이 트리트 블랙 대 화이트 에러와 유사한 가중 AND-NOT(WAN); 에러 맵 내의 임의의 위치가, 설정된 4개 이상의 이웃(neighbor)을 갖는 것으로 발견된 경우에 매치를 거절하는 패턴 매칭 및 치환(PMS); 가는 스트로크 또는 갭을 검출하는 휴리스틱(heuristics)을 이용하여 PMS 절차를 증대시키는 조합형 크기-개별 전략(CSIS); 및 압축기반 템플레이트 매칭(CTM)과 같은 다른 거리 계산이 채용될 수 있다.
또한, 마크와 다음 클러스터의 각 비교를 위해 다중 거리가 계산되고 채용될 수 있다. 예를 들어, 상기 설명한 XOR 거리를 우선 계산할 수 있는데, 이는 매번 미스매칭된 비트마다 거리에 1이 부가된다는 것을 의미하고, 이어서, 제1 거리가 특정 범위에 포함된다면 더 복잡하고 더 계산적으로 비용이 드는 거리가 후속된다.
매치를 구한 경우, 마크는 매치 심볼 컴포넌트(610)에 의해 다음 클러스터에 부가된다. 마크에는 고유 마크 번호가 할당되며, 매칭된 클러스터에 대한 마크의 셋트에, 위치 정보와 함께 저장된다. 위치 정보는 x 및 y 위치 좌표, 이전 마크로부터의 거리, 오프셋 정보 등을 포함하지만, 이들에 한정되는 것은 아니다. 기존 클러스터는 클러스터와 연관된 마크의 갯수를 나타내는 마크 카운트를 포함할 수 있다. 매칭된 클러스터가 로컬 라이브러리(616)에 로케이팅되면, 로컬 라이브러리(616)의 클러스터들은 각 클러스터에 속하는 마크의 갯수, 마크 카운트에 의해 재분류될 수 있다.
집합적으로, 매치 크기 컴포넌트(606) 및 매치 잉크 컴포넌트(608)는 매치속성 컴포넌트(605)로서 지칭된다. 매치 속성 컴포넌트(605)는 기존 클러스터를 스크리닝하여 미스매치를 식별한다. 본 발명의 다른 양태에서, 매치 속성 컴포넌트(605)는 미스매치를 식별하는데 유용한 비교를 제공하는, 마크 및 기존 클러스터의 임의의 적절한 속성이나 특징을 포함한다. 또한, 또 다른 양태에서, 매치 속성 컴포넌트(605)는 크기 및 잉크 크기 속성 중 어느 것도 포함하지 않을 수도 있고, 하나 또는 둘다를 포함할 수 있다.
문서의 모든 또는 거의 모든 마크가 추출된 후, 2차원 테이블은 버려지고 기존 클러스터는 글로벌 라이브러리(618)로 전달될 수 있다. 추가적으로, 문서(602)의 각 페이지의 처리 이후에, 2차원 테이블(612)로부터의 클러스터가 글로벌 라이브러리(618)에 전달될 수 있다. 글로벌 라이브러리(618)는 문서로부터 기존 클러스터를 포함한다. 잉크 크기와 같이, 기존 클러스터와 함께 미리 저장된 일부 정보는 인코딩이나 디코딩에 필요하지 않으므로, 폐기될 수 있다. 일반적으로, 클러스터에 대한 위치 정보 및 비트맵 이미지는 정보 타입에 적합한 압축 스킴을 이용하여 코딩된다. 일단 인코딩되면, 위치 정보 및 비트맵 이미지는 파일 또는 비트 스트림으로 결합된다. 추가적으로, 라이브러리 내의 클러스터의 갯수는 파일을 적절하게 디코딩하기 위해 파일이나 비트 스트림에 포함되어야 한다. 그러므로, 비트 스트림은 반드시 라이브러리, 마크 시퀀스, 및 위치 정보 또는 오프셋을 포함해야 한다. 라이브러리는 사전으로서 지칭될 수 있고, 클러스터는 심볼로서 지칭될 수 있으며, 마크 시퀀스는 심볼 시퀀스로서 지칭될 수 있다는 것은 인식될 수 있다.
또한, 모든 마크들이 제거된 후, 문서는 잔여 이미지(residual image)로서 지칭될 수 있다. 손실형 압축에 대해서는, 잔여 이미지가 폐기될 수 있다. 그러나, 무손실형 압축 및 심지어 일부 손실형 구현에 대해서, 잔여 이미지는 비트 스트림으로 압축되어 전달된다. 잔여 이미지는 단순한 노이즈로서 나타날 것이고, 따라서 대부분의 압축 스킴에 대해 매우 빈약하게 압축할 것이다. 그러나, 기존 클러스터를 활용하는 압축 스킴은 잔여 이미지의 압축을 크게 개선한다. 문서의 레이아웃의 추가 분석이 수행되어 문서의 압축을 더 증가시킨다. 예를 들면, 클러스터 및 마크는 수평선으로 식별되어 요구되는 위치 정보의 양을 감소시킬 수 있다. 또한, 공통으로 발생하는 클러스터의 시퀀스는 병합된(merged) 클러스터 또는 워드(예를 들면 "the")로서 함께 결합될 수 있다.
본 발명의 다른 양태에 따르면, OCR 컴포넌트는 라이브러리, 마크 시퀀스 및 위치 정보를 수취하고, 클러스터로부터 문자를 획득하며 식별한다. OCR 컴포넌트는 하나 이상의 클러스터를 단일 문자로 결합할 수 있다. 이것은 수 개의 클러스터들이 하나의 문자, 예를 들면 "e"를 표현할 수 있고 다른 클러스터에 있을 수 있기 때문이다. 또한, OCR 컴포넌트는 수취된 정보를 활용하여 수취된 정보로부터 워드, 문장 및 문단을 생성한다. 그리고 나서, 문자 및/또는 워드는 통상의 ASCII 라이브러리와 같은 라이브러리에 의해 표현되어 압축을 더 개선한다.
디코딩 종료 시에, 비트 스트림이 디코딩되어 재구성된 문서를 재구성한다. 압축이 무손실형이라면, 재구성된 문서는 문서와 거의 동일하다. 압축이 손실형이라도, 재구성된 문서는 통상적으로 문서와 거의 유사하다. 재구성된 문서는 적어도 하나의 다른 이미지 또는 레이어와 결합되는 마스크 또는 레이어가 되어 문서 이미지를 형성할 수 있다는 것은 인식될 수 있다.
일반적으로 화이트 배경에 블랙 텍스트를 가지는 문서에 대해 클러스터링 시스템(600)을 설명해 왔다. 그러나, 블랙을 포함하는(그러나, 이것에 한정되지는 않음) 임의 컬러의 클러스터를 식별하기 위해 클러스터링 시스템(600)이 문서 이미지에 이용될 수 있다는 것은 인식될 수 있다.
상기 도시되고 기재된 예시의 시스템을 보면, 본 발명에 따라 구현될 수 있는 방법은 도 11의 흐름도를 참조하면 더 잘 이해될 것이다. 설명의 단순화를 위해, 방법은 일련의 블록으로서 도시되고 기재되지만, 본 발명은 상기 블록의 순서로 한정되지 않고 본 발명에 따라 일부 블록이 다른 순서로 일어나거나 여기에 도시되고 기재된 다른 블록과 동시에 일어날 수도 있다는 것은 인식될 수 있다. 더구나, 도시된 모든 블록들이 본 발명에 따른 방법을 구현하는데 반드시 필요한 것은 아니다.
본 발명은 하나 이상의 컴포넌트에 의해 실행되는, 프로그램 모듈과 같은 컴퓨터 실행가능 명령의 일반적인 컨텍스트로 설명될 수 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 또는 특정 추상적 데이터 타입을 구현하는 루틴, 프로그램, 오브젝트, 데이터 구조 등을 포함한다. 통상적으로, 프로그램 모듈의 기능은 다양한 실시예에서 원하는 대로 조합되거나 분산될 수 있다.
도 11은 본 발명의 한 양태에 따른 클러스터링 방법의 흐름도이다. 단계 1102에서, 문서가 제공된다. 문서는 바이너리 문서 이미지이고, 상당량의 텍스트정보를 포함한다. 문서는 임의의 크기의 단일 페이지 또는 복수 페이지 문서일 수 있다. 추가적으로, 문서는 다른 문서 이미지로부터의 레이어 또는 컴포넌트일 수 있다. 문서 내의 텍스트 정보는 통상적으로 화이트 배경 상에 블랙이지만, 텍스트 정보는 블랙 배경 상의 화이트 텍스트(예를 들면, 반전 비디오)를 포함할 수도 있다.
다음 마크 또는 마크가 단계 1104에서 문서로부터 획득된다. 마크는 도 1 및 도 6을 참조하여 설명한 바와 같이, 적절한 접근법 또는 알고리즘을 채용하여 얻어질 수 있다. 추가적으로, 박스 크기, 잉크 크기, 크기 조정된 이미지 및 무게 중심이 마크에 대해 계산된다. 마크에 대해 다른 속성들이나 특징들이 또한 계산될 수 있다. 박스 크기는 마크의 x 크기 및 y 크기를 포함한다. 추가적으로, 처리를 용이하게 하기 위해 클러스터 테이블(1112)의 개시에 포인터를 설정한다. 마크가 단계 1106에서 획득되지 않으면, 문서에서 처리되어야 할 잔여 마크가 없다는 것을 나타내며, 방법은 단계 1108에서 종료되거나 나간다. 그러므로, 단계 1108에서, 문서내의 마크(들)가 적절하게 처리되고 클러스터링된다. 마크가 획득될 수 있다면, 기존 클러스터(들)의 다음 클러스터가 단계 1110에서 검색된다. 다음 클러스터는 일반적으로 클러스터 테이블(1112)로부터 통상 검색된다. 클러스터 테이블(1112)은 기존 클러스터(들)를 보유한다. 단계 1114에서 남아있는 기존 클러스터(들) 중 어떤 클러스터도 없는 경우, 새로우 클러스터가 단계 1116에서 생성된다.
이러한 새로운 클러스터의 생성은, 마크가 기존 클러스터(들)와 적절하게 매칭하지 못했다는 점이나, 마크가 문서로부터 추출된 제1 마크라는 것을 나타낸다. 상기 부분적으로 계산된 마크의 속성이나 특징은 새로운 클러스터를 포함한다. 새로운 클러스터는 통상적으로 클러스터 테이블(1112)의 저부에 부가되는데, 이는 새로운 클러스터는 새롭기 때문에 다른 기존 클러스터(들)보다 통상 맞을 확률이 낮기 때문이다.
그렇지 않으면, 박스 크기 매치 또는 비교는 단계 1118에서 수행된다. 박스 크기 매치는 마크의 x 크기 및 y 크기를 다음 클러스터의 x 크기 및 y 크기와 비교한다. 2차원 테이블은 도 7을 참조하여 도시되고 기재된 바와 같이 기존 클러스터(들)의 박스 크기 정보를 보유하도록 채용될 수 있다. 통상적으로, 임계값은 10%와 같은 비교 또는 고정된 크기 변동(예를 들면 1 또는 0)에 대해 설정되어 마크 및 다음 클러스터의 디멘젼에서 최소 편차를 허용하도록 설정한다. 추가적으로, 임계값은 방법의 속도를 증가시키거나 발견되는 클러스터의 갯수를 감소시키도록 조정될 수 있어, 압축을 증가시킨다. 마크의 박스 크기가 다음 클러스터의 박스 크기와 매칭되지 않으면(예를 들면, 10% 이내가 아니면), 방법은 단계 1110으로 계속되어 새로운 다음 클러스터를 획득한다.
새로운 클러스터의 박스 크기와 마크의 박스 크기간의 매치가 있는 경우, 단계 1120에서 잉크 크기 매치가 수행된다. 잉크 크기 매치는 마크의 잉크 크기를 다음 클러스터의 잉크 크기와 비교하고, 이들이 동일하거나 및/또는 거의 유사하면, 매치인 것으로 간주된다. 잉크 크기는 마크의 전체 화소 갯수에 대한 블랙 화소의 갯수의 백분율이다. 그러므로, 마크의 잉크 크기와 다음 클러스터의 잉크 크기간의 편차가 발생할 수 있고, 마크의 잉크 크기와 다음 클러스터의 잉크 크기가 수락 가능한 임계값(즉, 거의 동일한)의 이내인 경우에 매치로 간주될 수 있다. 임계값은 허용가능한 값들의 범위를 결정하고, 더 크거나 더 적은 잉크 크기 변동을 허용하도록 조정될 수 있다. 추가적으로, 임계값은 방법의 속도를 증가시키거나 발견되는 클러스터의 갯수를 감소시키도록 조정되어 압축을 증가시킬 수 있다. 마크의 잉크 크기가 다음 클러스터의 잉크 크기와 매칭되지 않는 경우(예를 들면, 10% 이내가 아니라면) 미스매치라고 칭해지며, 방법은 단계 1110으로 계속되어 새로운 다음 클러스터를 획득한다.
다음 클러스터의 잉크 크기와 마크의 잉크 크기 사이에 매치가 있는 경우, 특징 맵 매치가 단계 1122에서 수행된다. 특징 맵 매치는 마크의 크기 조정된 이미지와 다음 클러스터의 크기 조정된 이미지를 비교하고, 이들이 동일하거나 거의 유사하면, 매치로 간주한다. 크기 조정된 이미지는 마크 또는 클러스터의 3×3 화소 표현이고, 또한 크기 조정된 마크 이미지로도 지칭될 수 있다. 크기 조정된 이미지는 마크 또는 클러스터의 더 작은 버전, 예를 들면 3×3 화소 이미지로서 계산된다. 크기 조정된 이미지는 통상적으로 마크의 이미지보다 화소 크기가 훨씬 작다. 마크 이미지를 크기 조정된 마크 이미지로 축소하기 위해 임의의 갯수의 알고리즘이 이용될 수 있다. 하나의 알고리즘은 핫 포인트 상에 집중되고 마크의 영역을 커버링하도록 스케일링된 마스크를 9개 영역(3×3)으로 분할하고, 그들이 이들 각 영역과 교차할 때 마크의 평균을 계산하는 것이다. 또 다른 알고리즘은 비트맵으로부터 다수의 화소를 제거하거나 폐기하는 것이다. 그러나, 다른 알고리즘을이용하여 크기 조정된 이미지를 생성할 수 있으며, 여전히 본 발명을 따른다.
그러므로, 마크의 크기 조정된 이미지와 다음 클러스터의 크기 조정된 이미지의 화소들간의 비교가 수행된다. 모두 9의 화소 또는 그 변동(임계값)이 매칭하면(예를 들면, 7개 이상의 매칭), 마크의 크기 조정된 이미지 및 다음 클러스터의 크기 조정된 이미지는 매치인 것으로 간주된다. 박스 크기 매치 및 잉크 크기 매치에서와 같이, 특징 맵 매치를 위한 임계값은 방법의 속도를 증가시키거나 발견되는 클러스터의 갯수를 감소시키도록 조정되어, 압축을 증가시킬 수 있다. 마크의 크기 조정된 이미지 및 다음 클러스터의 크기 조정된 이미지가 매칭하지 않는다면, 즉 미스매치라면, 방법은 단계 1110으로 계속되어, 새로운 다음 클러스터를 획득한다.
다음 클러스터의 크기 조정된 이미지와 마크의 크기 조정된 이미지 간의 매치가 있다면, xor 잉크 매치가 단계1124에서 수행된다. xor 잉크 매치는 마크의 비트맵과 다음 클러스터의 비트맵간의 거리, 즉 xor 거리를 계산한다. 마크 및 다음 클러스터에 대한 에러 맵이 생성된다. 에러 맵은 마크 및 다음 클러스터의 비트맵 이미지들간의 비트별 배타적-OR이고, 무게 중심에 집중된다. 그리고 나서, 각 미스매칭된 비트에 1을 부가함으로써 거리가 계산된다. 거리가 임계값보다 작으면, 매치가 존재한다. 거리가 임계값보다 크면, 미스매치가 존재하고 방법은 단계 1110으로 진행하여 새로운 다음 클러스터를 획득한다. 임계값은 필요에 따라 설정되거나 조정될 수 있다.
xor 잉크 매치에 대해 매치가 존재하는 경우, "wan" 매치가 단계 1126에서수행된다. 가중 AND-NOT(WAN)이라고 지칭되는 wan 매치는 단계 1124에서 xor 잉크 매치와 유사하게 수행된다. wan 매치는 또한 에러 매치를 생성하고, 가중을 계산할 때 화이트 대 블랙 에러와는 분리하여 블랙 대 화이트 에러를 다룬다. 거리가 임계값보다 크다면, 미스매치가 존재하고, 방법은 단계 1110으로 진행하여 새로운 다음 클러스터를 획득한다. 그리고 나서, 거리가 임계값보다 작다면, 매치가 존재하고, 방법은 단계 1128로 진행하여, 마크가 다음 클러스터에 부가된다.
마크가 다음 클러스터에 부가되어, 클러스터에 관련된 마크의 갯수가 증가된다. 추가적으로, 위치 정보 및 고유 식별이 다음 클러스터와 함께 저장될 수 있다. 클러스터 테이블(1112)은 더 많은 공통적인 기존 클러스터들이 방법에 의해 우선 채용되도록 재분류될 수 있다. 마크가 단계 1128에서 다음 클러스터에 부가된 후에, 방법은 단계 1104로 진행하여 또 다른 다음 마크를 획득한다.
기존 클러스터(들)가 본 발명의 다른 양태에서 로컬 및/또는 글로벌 라이브러리에 저장될 수 있다는 것은 인식될 수 있다. 방법은 현재 페이지가 처리될 때까지 로컬 라이브러리에 저장된 기존 클러스터에 대해 수행될 수 있다. 그리고 나서, 로컬 라이브러리의 클러스터들은 방법에 의한 다음 페이지의 처리가 계속되기 이전에 글로벌 라이브러리내의 클러스터들과 통합될 수 있다. 거의 유사한 글로벌 및 로컬 라이브러리의 클러스터들은 단일 클러스터로 병합될 수 있는데 반하여, 거의 유사하지 않은 클러스터는 글로벌 라이브러리에 부가된다.
도 12는 본 발명의 한 양태에 따라 계산적으로 효율적인 클러스터링을 활용하는 이미지 인코딩 시스템의 블록도이다. 시스템은 마스크 분리기(1202), 포그라운드(foreground) 백그라운드 세그멘터(1204), 클러스터링 컴포넌트(1205), 마스크 인코더(1206), 포그라운드 인코더(1208), 백그라운드 인코더(1210), 및 조합 컴포넌트(1212)를 포함한다.
마스크 분리기(1202)는 문서 이미지를 수취하여 마스크를 생성한다. 문서 이미지는 문서의 디지털 표현이다. 문서 이미지는 하나 이상의 페이지를 가질 수 있다. 문서 이미지는 통상적으로 문서로부터 스캐닝된다. 문서 이미지는 일반적으로 인치당 도트(dpi)로 나타나는 임의의 해상도를 가질 수 있다. 예를 들면, 팩스 문서들은 통상 약 100-200dpi의 해상도를 이용한다. 추가적으로, 문서 이미지는 임의의 화소 크기 또는 크기를 가질 수 있다. 예를 들면, 문서 이미지는 640 화소 × 480 화소 및/또는 A4 크기일 수 있다.
마스크 분리기(1202)에 의해 생성된 마스크는 나중에 문서 이미지를 포그라운드 및 백그라운드 이미지로 세그먼트하거나 분할하는데 이용된다. 마스크 이미지로서도 지칭되는 마스크는 바이너리 이미지이고, 각 화소의 값은 그 화소는 포그라운드 이미지에 속하는지 또는 백그라운드 이미지에 속하는지 여부를 결정한다. 마스크 분리기(1202)는 마스크, 포그라운드 이미지 및 백그라운드 이미지의 조합된 크기를 줄이는 마스크를 생성한다.
임의의 갯수의 접근법들이 마스크, 포그라운드 이미지 및 백그라운드 이미지의 조합된 크기를 줄이는 마스크를 생성하는데 이용될 수 있다. 작거나 감소된 갯수의 변동을 갖는 유사한 영역 또는 영역들 큰 변동을 갖는 영역보다 잘 압축되는 경향이 있다. 예를 들면, 단색(solid color)을 갖는 이미지는 세기와 컬러에 큰변동을 갖는 이미지보다 더 잘 압축된다. N개의 화소를 가지는 문서 이미지에 대해, 2N개의 가능한 마스크들이 존재한다. 그러므로, 모든 가능한 마스크를 조사하여 어느 것이 가장 작은 전체 조합된 이미지를 생성하는지를 결정할 수 있다. 그러나, 모든 가능한 마스크를 조사하는 것은 계산적으로 비용이 많이 든다. 변형으로서, 예를 들면 2×2 화소는나 4×4 화소과 같은 작은 서브 영역이 분석될 수 있다. 서브 영역의 화소들은 포그라운드 또는 백그라운드로 분할되어 포그라운드 및 백그라운드내의 변동을 감소시킬 수 있다. 그리고 나서, 서브 영역이 함께 통합되어 마스크, 포그라운드 이미지 및 백그라운드 이미지의 통합된 크기를 감소시키는 마스크를 생성한다. 마스크, 포그라운드 이미지 및 백그라운드 이미지의 전체 크기를 감소시키는 다른 방법들이 이용될 수 있다.
포그라운드 백그라운드 세그멘터(1204)는 마스크 분리기(1202)로부터의 마스크와 문서 이미지를 수취한다. 포그라운드 백그라운드 세그멘터(1204)는 마스크를 이용하여 문서 이미지로부터 포그라운드 이미지와 백그라운드 이미지를 생성한다. 문서 이미지의 각 화소에 대해, 마스크의 대응하는 화소는 참조된다. 화소은 마스크의 대응하는 화소에 기초하여 포그라운드 이미지 또는 백그라운드 이미지에 할당된다. 예를 들면, 마스크의 대응하는 화소는 "1"이라면, 화소은 포그라운드 이미지에 할당된다. 역으로, 마스크의 대응하는 화소는 "0"이라면, 화소은 백그라운드 이미지에 할당된다. "0" 또는 "1"이 포그라운드 또는 백그라운드를 나타내는지 여부는 가변할 수 있다는 것은 인식될 수 있다.
백그라운드 이미지 및 포그라운드 이미지는 이제 다른 이미지로 화소들을 보내는 홀 또는 빈 영역을 가지고 있다. 빈 영역은 포그라운드 및 백그라운드 이미지의 전체 압축 크기를 줄이도록 하는 임의의 방식으로 핸들링될 수 있다. 하나의 접근법은 돈케어(don't care) 화소들로 이들 빈 영역을 채우는 것이다. 돈케어 화소은 압축을 증가시키고 이미지의 크기를 줄이도록 선택된다. 다른 접근법이 또한 이용될 수 있으며, 여전히 본 발명에 따른다.
추가적으로, 포그라운드 이미지 및 백그라운드 이미지는 서로의 해체형(disjoint)이다. 그러나, 이것은 가시 에지(visible edge)가 절대적으로 재조합된 문서 이미지에 재생되도록 할 수 있다. 이들 가시 에지를 감소시키기 위해 다수의 접근법이 이용될 수 있다. 포그라운드 및 백그라운드 이미지는 그들을 더 이상 해체형이 되지 않도록 하는 서로로 다수의 화소들을 확장될 수 있다. 그러므로, 재조합된 문서 이미지의 가시 에지가 감소될 수 있다.
클러스터링 컴포넌트(1205)는 마스크 분리기(1202)로부터 마스크를 수취하고, 클러스터의 라이브러리, 마크 시퀀스 및 위치 정보를 생성한다. 클러스터링 컴포넌트(1205)는 한번에 하나씩 마스크로부터 마크를 찾아내어 제거한다. 클러스터링 컴포넌트(1205)는 기존 클러스터의 속성을 저장하는 적어도 하나의 테이블을 이용한다. 문서로부터 추출된 마크의 속성은 적어도 하나의 테이블의 기존 클러스터의 속성과 신속하게 비교된다. 이러한 비교는 미스매치를 식별하는 마크의 비트맵과 기존 클러스터의 비트맵의 시간이 소요되고 비용이 고가인 비트별 비교를 요구하지 않는다. 마크의 속성이 테이블에서 임의의 속성과 매칭하지 않는다면, 마크는 새로운 클러스터로서 부가되고 비트별 비교는 피할 수 있다.
적어도 하나의 테이블 중 하나 일 수 있는 클러스터들의 하나의 속성은 x 크기 및 y 크기이다. x 크기 및 y 크기는 기존 클러스터의 크기 정보를 제공한다. 마크의 x 크기 및 y 크기가 기존 클러스터의 x 크기 및 y 크기와 신속하게 비교되어 미스매치를 식별할 수 있다. 적어도 하나의 테이블 중 하나에 존재할 수 있는 클러스터의 다른 속성은 잉크 크기이다. 잉크 크기는 일반적으로 마크 또는 클러스터에서 전체 화소에 대한 블랙 화소의 비율을 지칭한다. 마찬가지로, 마크의 잉크 크기는 기존 클러스터의 잉크 크기와 신속하게 비교되어 미스매치를 식별한다. 적어도 하나의 테이블 중 하나에 존재할 수 있는 클러스터들의 최종 속성은 감소된 마크 또는 이미지이다. 감소된 마크 또는 이미지는 마크 및/또는 클러스터의 비트맵의 화소 크기 감소 버전이다. 마찬가지로, 감소된 마크는 기존 클러스터의 감소된 마크 또는 감소된 이미지와 신속하게 비교되어 미스매치를 식별할 수 있다. 이들 속성들은 도 1 및 도 6을 참조하여 더 상세하게 설명된다.
적어도 하나의 테이블을 이용한 비교에 의해 미스매칭되지 않는 임의의 기존 클러스터들이 남아있는 경우, 마크의 비트맵은 잔여 기존 클러스터의 비트맵과 비교된다. 이러한 비트맵 비교는 비트별 비교이다. "xor" 거리와 같은 거리가 비트별 비교에 의해 계산된다. 거리가 더 작을수록, 매치가 더 근접해 있다. 다른 적절한 거리 계산이 채용될 수 있으며, 여전히 본 발명에 따른다. 최대 매칭된 기존 클러스터가 식별되면, 마크는 매칭된 기존 클러스터에 속하는 마크의 셋트에 부가된다.
마스크 인코더(1206)는 클러스터링 컴포넌트(1205)로부터 마스크, 클러스터의 라이브러리, 마크 시퀀스 및 위치 정보를 수취하고, 마스크를 인코딩하여 마스크로부터 압축된 비트 또는 압축된 마스크 비트 스트림을 생성한다. 임의의 인코딩 기술을 마스크 인코더(1206)에 이용할 수 있다. 그러나, 마스크는 바이너리이며 따라서, 압축 방법은 마스크의 바이너리 양상을 이용하도록 선택되어야 한다는 것은 인식될 수 있다. 통상적으로, 2-레벨(bi-level) 무손실형 압축 스킴이 마스크를 인코딩하는데 이용된다. 그러나, 다른 압축 방법이나 스킴이 이용될 수도 있다.
마스크를 인코딩하는데 이용될 수 있는 예시적인 압축 스킴은 CCITT(Consulative Committee on International Telephone and Telegraph)이다. CCITT는 현재 팩스/모뎀 통신을 위한 무손실형 압축 기술의 표준 그룹인 ITU-T 국제 전기통신 연합-전기통신부(International Telecommunications Union-Telecommunications Sector)(1994에 이름이 변경됨)로서 알려져 있다. 이러한 압축 타입은 블랙 및 화이트의 텍스트와 이미지, 2-레벨 이미지에 최상으로 작용한다. 전형적인 압축 비율은 구 버전 V.42bis에 대해 4:1이고, 새로운 버전 V.44 2000에 대해서는 6:1이며, 이는 Lempel-Ziv-Jeff-Heath(LZJH) 압축 알고리즘에 기초하고 있다.
포그라운드 인코더(1008)는 포그라운드 이미지를 수취하고, 포그라운드 이미지를 인코딩하여 포그라운드 이미지로부터 압축된 비트 또는 압축된 포그라운드 비트 스트림을 생성한다. 임의의 인코딩 기술이 포그라운드 인코더(1208)에 이용될수 있다. 예를 들면, 점진형 파장 인코딩 또는 점진형 변형 인코딩이 포그라운드 이미지를 인코딩하는데 이용될 수 있다.
백그라운드 인코더(1210)는 백그라운드 이미지를 수취하고, 백그라운드 이미지를 인코딩하여 백그라운드 이미지로부터 압축된 비트 또는 압축된 백그라운드 비트 스트림을 생성한다. 예를 들면, 점진형 파장 인코딩 또는 점진형 변형 인코딩이 백그라운드 이미지를 인코딩하는데 이용될 수 있다.
상기 설명한 바와 같이, 포그라운드 이미지 및 백그라운드 이미지는 돈케어 영역들을 가지고 있다. 돈케어 영역들은 다수의 방식으로 핸들링될 수 있다. 하나의 접근법은 돈케어 영역을 데이터로 채우고 나서, 규칙적인 압축 기술을 이용하는 것이다. 가장 단순한 방법은 이미지의 돈케어 영역을 그 이미지에 대한 평균 화소값으로 채우는 것이다. 그러나, 이러한 방법은 마스크 경계에서 급격한 불연속성을 생성시킨다. 이 방법은 또한 소정 피크의 신호 대 잡음비(PNSR)에 대해 요구되는 비트 레이트를 증가시키고 마스크 또는 도운트 케어 영역 경계 인근에서 눈에 띄는 링잉(ringing)을 발생시킨다. 다른 방식은 각 화소를 가장 근접한 비마스킹된(또는 돈케어가 아닌 영역) 화소로 색칠하는 것이다. 표준 형태학 알고리즘은 마스크 하의 보로노이-채움(Voroni-filled) 돈케어 영역으로 유도하는 모든 화소 위에 단지 2번의 통과로 그 프로세스가 수행될 수 있도록 한다. 그리고 나서, 포그라운드 또는 백그라운드 이미지가 재구성되는 경우에, 재구성되는 이미지는 로우-패스되고, 다음에, 주지의 화소은 그 정확한 값으로 복원된다. 저대역 통과 필터 차단 주파수가 너무 낮으면, 예리한 에지가 발생하여 요구되는 비트 레이트의증가 및 경계 근처에서 눈에 띄는 링잉의 증가를 유발한다.
조합기 컴포넌트(1212)는 마스크 인코더(1206), 포그라운드 인코더(1208) 및 백그라운드 인코더(1210)로부터 압축된 비트를 수취하여 비트들을 출력 스트림 또는 출력 파일로 조합한다. 조합기 컴포넌트(1212)는 문서 이미지를 재구성하는 디코더에 의해 이용될 수 있는 인코딩 타입, 사전, 라이브러리 등과 같은 정보를 식별하거나 제공하는 출력 파일에 헤더 정보를 포함한다.
본 발명의 다양한 양태에 대한 추가 컨텍스트를 제공하기 위해, 도 12 및 이하의 설명은 본 발명의 다양한 양태들이 구현될 수 있는 하나의 가능한 적절한 컴퓨팅 환경(1210)의 간단하고 일반적인 설명을 제공한다. 컴퓨팅 환경(1210)은 단지 하나의 가능한 컴퓨팅 환경이고, 본 발명이 채용될 수 있는 컴퓨팅 환경을 제한하려고 하는 것이 아니라는 것은 인식될 수 있다. 본 발명은 하나 이상의 컴퓨터 상에서 운용되는 컴퓨터-실행가능한 명령의 일반적인 컨텍스트로 위에서 기재되었지만, 본 발명은 다른 프로그램 모듈과 조합하여 구현될 수도 있고, 하드웨어 및 소프트웨어의 조합으로서 구현될 수도 있다. 일반적으로, 프로그램 모듈은 특정 태스크를 수행하거나 특정 추상 데이터 타입을 구현하는 루틴, 프로그램, 컴포넌트, 데이터 구조 등을 포함한다. 더구나, 본 발명에 따른 방법은, 각각이 하나 이상의 관련된 디바이스에 동작하여 결합될 수도 있는, 퍼스널 컴퓨터, 휴대형(hand-held) 컴퓨팅 디바이스, 마이크로프로세서-기반 또는 프로그램가능한 소비자 전자장치뿐만 아니라 단일 프로세서 또는 멀티프로세서 컴퓨터 시스템, 미니컴퓨터, 메인프레임 컴퓨터를 포함하는 다른 컴퓨터 시스템 구성으로 실시될 수 있다. 본 발명의 도시된 실시예들은 특정 태스크가 통신 네트워크를 통해 링크되는 원격 처리 디바이스에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수도 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 디바이스 양쪽에 배치될 수 있다.
도 13은 여기에 기재된 시스템 및 방법을 지원하는 하나의 가능한 하드웨어 구성을 도시하고 있다. 단독 아키텍쳐가 도시되어 있지만, 본 발명에 따라 임의의 적절한 컴퓨팅 환경을 이용할 수 있다는 것은 인식될 수 있다. 예를 들면, 단독형, 멀티프로세서, 분산, 클라이언트/서버, 미니컴퓨터, 메인 프레임, 슈퍼 컴퓨터, 디지털 및 아날로그를 포함하는 컴퓨팅 아키텍쳐가 본 발명에 따라 채용될 수 있으며, 이들에 제한되는 것은 아니다.
도 13을 참조하면, 본 발명의 다양한 양태를 구현하기 위한 예시의 환경(1310)은 처리 유닛(1314), 시스템 메모리(1316), 및 시스템 메모리를 포함하는 다양한 시스템 컴포넌트를 처리 유닛(1314)에 결합시키는 시스템 버스(1318)를 포함하는 컴퓨터(1312)를 포함한다. 처리 유닛(1314)은 임의의 다양한 상용 프로세서일 수 있다. 듀얼 마이크로프로세서 및 다른 멀티 프로세서 아키텍쳐가 또한 처리 유닛(1314)으로서 이용될 수 있다.
시스템 버스(1318)는 메모리 버스 또는 메모리 제어기, 주변장치 버스, 및 임의의 다양한 상용 버스 아키텍쳐를 이용하는 로컬 버스를 포함하는 수 개의 버스 구조 타입 중 임의의 하나일 수 있다. 컴퓨터 메모리(1316)는 판독전용 메모리(ROM)(1320) 및 랜덤 액세스 메모리(RAM)(1322)를 포함한다. 스타트-업(start-up) 동안과 같이 컴퓨터(1312)내의 소자들간의 정보 전달을 도와주는 기본 루틴을 포함하는 기본 입출력 시스템(BIOS)이 ROM(1320)에 저장된다.
컴퓨터(1312)는 예를 들어 제거가능한 디스크(1328)에 기록하고 판독하기 위한 하드디스크 드라이브(1324), 자기 디스크 드라이브(1326), 및 예를 들어 CD-ROM 디스크(1332)를 판독하거나 다른 광 매체에 기록하고 판독하기 위한 광 디스크 드라이브(1330)를 더 포함한다. 하드 디스크 드라이브(1324), 자기 디스크 드라이브(1326), 및 광 디스크 드라이브(1330)는 각각 하드 디스크 드라이브 인터페이스(1334), 자기 디스크 드라이브 인터페이스(1336), 및 광 드라이브 인터페이스(1338)에 의해 시스템 버스(1318)에 접속된다. 컴퓨터(1312)는 통상적으로 적어도 일부 형태의 컴퓨터 판독가능한 매체를 포함한다. 컴퓨터 판독가능한 매체는 컴퓨터(1312)에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있다. 예로서, 제한하는 것은 아닌 것으로서, 컴퓨터 판독가능한 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 제거가능 및 제거불가능 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 휘발성 디스크(DVD) 또는 다른 자기 저장 디바이스, 또는 원하는 정보를 저장하는데 이용될 수 있고 컴퓨터(1312)에 의해 액세스될 수 있는 임의의 다른 매체를 포함하며, 이들로 제한되는 것은 아니다. 통신 매체는 통상적으로 컴퓨터 판독가능 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터를 반송파와같은 변조 데이터 신호 또는 다른 전송 메카니즘으로 실시하고, 임의의 정보 전달 매체를 포함한다. "변조 데이터 신호"라는 용어는 신호의 정보를 인코딩하는 방식으로 설정되거나 변경된 그 특성 중 하나 이상을 가지는 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 다이렉트-유선 접속과 같은 유선 매체, 및 음성, RF, 적외선 및 다른 무선 매체와 같은 무선 매체를 포함하며, 이들로 제한되지는 않는다. 상기 기재한 것들의 임의의 조합도 컴퓨터 판독가능한 매체의 범주에 포함될 수 있다.
오퍼레이팅 시스템(1340), 하나 이상의 어플리케이션 프로그램(1342), 다른 프로그램 모듈(1344), 및 프로그램 비-인터럽트 데이터(1346)를 포함하는 다수의 프로그램 모듈을 드라이브 및 RAM(1322)에 저장할 수 있다. 컴퓨터(1312) 내의 오퍼레이팅 시스템(1340)은 다수의 상용 오퍼레이팅 시스템 중 임의의 하나가 될 수 있다.
사용자는 키보드(1348) 및 마우스(1350)와 같은 포인팅 디바이스를 통해 컴퓨터(1312)에 명령 및 정보를 입력한다. 다른 입력 디바이스(도시되지 않음)들은 마이크로폰, IR 원격 제어, 조이스틱, 게임 패드, 위성 디시(dish), 스캐너 등을 포함할 수 있다. 이들 및 다른 입력 디바이스들은, 종종 시스템 버스(1318)에 결합되는 직렬 포트 인터페이스(1352)를 통해 처리 유닛(1314)에 접속되지만, 병렬 포트, 게임 포트, 범용 직렬 버스(USB), IR 인터페이스 등과 같은 다른 인터페이스에 의해 접속될 수 있다. 모니터(1354) 또는 다른 타입의 표시 장치는 비디오 어댑터(1356)와 같은 인터페이스를 통해 시스템 버스(1318)에 접속된다. 모니터뿐만아니라, 컴퓨터는 통상적으로 스피커, 프린터 등과 같은 다른 주변 출력 장치(도시되지 않음)를 포함한다.
컴퓨터(1312)는 원격 컴퓨터(들)(1358)와 같은 하나 이상의 원격 컴퓨터로의 논리적 및/또는 물리적 접속을 이용하는 네트워킹된 환경에서 동작할 수도 있다. 원격 컴퓨터(들)(1358)는 워크스테이션, 서버 컴퓨터, 라우터, 퍼스널 컴퓨터, 마이크로프로세서 기반 기업 어플라이언스, 피어(peer) 디바이스, 또는 다른 공통 네트워크 노드일 수 있고, 간단하게 단지 메모리 저장 디바이스(1360)만이 도시되었지만 컴퓨터(1312)와 관련하여 기재된 많은 또는 모든 소자들을 포함한다. 도시된 논리적 접속은 로컬 영역 네트워크(LAN)(1362) 및 와이드 영역 네트워크(WAN)(1364)를 포함한다. 그러한 네트워킹 환경은 사무실, 기업-와이드 컴퓨터 네트워크, 인트라넷 및 인터넷에서 흔한 것이다.
LAN 네트워킹 환경에 이용되는 경우, 컴퓨터(1312)는 네트워크 인터페이스 또는 어댑터(1366)를 통해 로컬 네트워크(1362)에 접속된다. WAN 네트워킹 환경에서 이용되는 경우, 컴퓨터(1312)는 통상 모뎀(1368)을 포함하거나, 또는 LAN 상의 통신 서버에 접속되거나, 인터넷과 같은 WAN(1364)을 통한 통신을 확립하기 위한 다른 수단을 가지고 있다. 내부 또는 외부에 존재할 수 있는 모뎀(1368)은 직렬 포트 인터페이스(1352)를 통해 시스템 버스(1318)에 접속된다. 네트워킹된 환경에서, 컴퓨터(1312) 또는 그 일부와 관련하여 도시된 프로그램 모듈은 원격 메모리 저장 디바이스(1360)에 저장될 수 있다. 도시된 네트워크 접속은 예로 든 것이며 컴퓨터들간 통신 링크를 확립하는 다른 수단을 이용할 수 있다는 것은 인식될 수있다.
도 14는 본 발명이 상호작용할 수 있는 샘플 컴퓨팅 환경(1400)의 개략적인 블록도이다. 시스템(1400)은 하나 이상의 클라이언트(들)(1410)을 포함한다. 클라이언트(들)(1410)은 하드웨어 및/또는 소프트웨어(예를 들면, 스레드, 프로세스, 컴퓨팅 디바이스)일 수 있다. 시스템(1400)은 또한 하나 이상의 서버(들)(1430)을 포함한다. 서버(들)(1430)은 하드웨어 및/또는 소프트웨어(예를 들면, 스레드, 프로세스, 컴퓨팅 디바이스)일 수 있다. 서버(1430)는 예를 들면 본 발명을 채용함으로써 변형을 수행하도록 스레드를 하우징할 수 있다. 클라이언트(1410)와 서버(1430)간의 하나의 가능한 통신은 2개 이상의 컴퓨터 프로세스들 사이에서 전송되도록 적응된 데이터 패킷의 형태일 수 있다. 시스템(1400)은 클라이언트(들)(1410)과 서버(들)(1430) 간의 통신을 용이하게 하도록 채용될 수 있는 통신 프레임워크(1450)를 포함한다. 클라이언트(들)(1410)은 클라이언트(들)(1410)에 로컬인 정보를 저장하는데 이용될 수 있는 하나 이상의 클라이언트 데이터 저장장치(들)(1460)에 동작가능하게 접속된다. 마찬가지로, 서버(들)(1430)도 서버(1430)에 로컬인 정보를 저장하는데 이용될 수 있는 하나 이상의 서버 데이터 저장장치(들)(1440)에 동작가능하게 접속된다.
상기 설명한 것은 본 발명의 예들을 포함한다. 물론, 본 발명을 기술하기 위해 컴포넌트 또는 방법의 모든 고안가능한 조합을 기술하는 것은 불가능하지만, 본 기술 분야의 숙련자라면, 본 발명의 더 많은 조합 및 치환이 가능하다는 것을 잘 알고 있을 것이다. 따라서, 본 발명은 첨부된 특허청구범위의 사상 및 범주에드는 그러한 모든 변경, 변형 및 변동을 포함하는 것이다. 또한, 용어 "포함한다(include)"가 상세한 설명 및 특허청구범위에서 이용된다는 점에서, 그러한 용어는 청구항에서 과도어로서 채용될 때 "포함하는(comprising)"이 해석되는 것과 같이 용어 "포함하는(comprising)"과 유사한 방식으로 포괄적인 것을 의도한다.
본 발명에 따르면, 미스매치된 클러스터를 식별하고 그러한 미스매치된 클러스터에 대한 비트별 비교를 피함으로써 메모리 및 프로세서 자원 이용을 줄일 수 있다.

Claims (32)

  1. 클러스터링(clustering) 시스템에 있어서,
    문서로부터 마크를 추출하는 마크 추출기;
    마크들의 기존 클러스터의 매치 속성과 상기 마크의 적어도 하나의 속성을 비교하여 매칭하는 기존 클러스터를 식별하도록 동작하는 매치 컴포넌트(match component);
    상기 기존 클러스터를 박스 크기에 따라 저장하는 2차원 테이블; 및
    상기 마크와 상기 매칭된 기존 클러스터와 비교하여 매칭 클러스터를 식별하도록 동작하는 매치 심볼 컴포넌트
    를 포함하는 클러스터링 시스템.
  2. 제1항에 있어서,
    상기 기존 클러스터를 저장하는 라이브러리를 더 포함하는 클러스터링 시스템.
  3. 제1항에 있어서,
    상기 기존 클러스터의 매치 속성의 테이블을 더 포함하는 클러스터링 시스템.
  4. 제2항에 있어서,
    상기 라이브러리는 로컬 라이브러리 및 글로벌 라이브러리를 포함하고, 상기 로컬 라이브러리는 상기 문서의 현재 페이지로부터 부가된 기존 클러스터를 포함하며, 상기 글로벌 라이브러리는 상기 문서의 이전 페이지로부터 부가된 기존 클러스터를 포함하는 클러스터링 시스템.
  5. 제1항에 있어서,
    상기 마크 추출기는 상기 마크를 로케이팅(locate)하고 상기 문서로부터 상기 마크를 추출하도록 동작하는 클러스터링 시스템.
  6. 제1항에 있어서,
    상기 매치 속성은 상기 기존 클러스터에 대한 x 크기 및 y 크기를 포함하는 클러스터링 시스템.
  7. 제1항에 있어서,
    상기 매치 속성은 상기 기존 클러스터에 대한 잉크 크기를 포함하는 클러스터링 시스템.
  8. 제1항에 있어서,
    상기 매치 속성은 상기 기존 클러스터에 대한 크기 조정된 이미지를 포함하는 클러스터링 시스템.
  9. 제6항에 있어서,
    상기 마크의 상기 적어도 하나의 속성은 x 크기 및 y 크기인 클러스터링 시스템.
  10. 제7항에 있어서,
    상기 마크의 상기 적어도 하나의 속성은 잉크 크기인 클러스터링 시스템.
  11. 제8항에 있어서,
    상기 마크의 상기 적어도 하나의 속성은 크기 조정된 마크 이미지인 클러스터링 시스템.
  12. 제1항에 있어서,
    상기 매칭 컴포넌트는 허용가능한 속성 범위를 계산하도록 동작하는 클러스터링 시스템.
  13. 제1항에 있어서,
    상기 매치 컴포넌트는 상기 기존 클러스터와 미스매치(mismatch)되는 마크에 새로운 클러스터로서 마크를 부가하도록 더 동작하는 클러스터링 시스템.
  14. 제1항에 있어서,
    상기 매치 심볼 컴포넌트는 최대 매칭된 클러스터의 매칭 마크의 셋트에 상기 마크를 부가하도록 더 동작하는 클러스터링 시스템.
  15. 제13항에 있어서,
    라이브러리를 더 포함하고, 상기 라이브러리는 상기 기존 클러스터를 저장하고 상기 기존 클러스터에 대한 발생 빈도에 따라 상기 기존 클러스터를 분류(sort)하도록 동작하는 클러스터링 시스템.
  16. 제1항에 따른 클러스터링 시스템을 채용하는 사진복사기(photocopier).
  17. 제1항에 따른 클러스터링 시스템을 채용하는 팩스기.
  18. 제1항에 따른 클러스터링 시스템을 채용하는 디지털 카메라.
  19. 제1항에 따른 클러스터링 시스템을 채용하는 이미지 인코딩 시스템.
  20. 클러스터링 방법에 있어서,
    문서 내의 마크를 로케이팅하는 단계;
    상기 마크의 제1 속성과 기존 클러스터의 제1 속성을 비교하여 매칭 및 미스매칭 클러스터를 식별하는 단계;
    상기 제1 속성의 매칭시, 상기 마크의 비트맵과 상기 매칭 클러스터의 비트맵을 비교하여 상기 매칭 클러스터의 매칭된 클러스터를 찾아내는 단계; 및
    상기 제1 속성의 미스매칭시 및 상기 비트맵의 미스매칭시, 상기 마크를 새로운 클러스터로서 상기 기존 클러스터에 부가하는 단계
    를 포함하는 클러스터링 방법.
  21. 제20항에 있어서,
    비교되는 상기 제1 속성은 x 크기, y 크기, 잉크 크기 및 크기 조정된 마크 이미지를 포함하는 그룹 중 적어도 하나를 포함하는 클러스터링 방법.
  22. 제20항에 있어서,
    상기 마크의 비트맵으로부터 크기 조정된 마크 이미지를 생성하는 단계를 더 포함하는 클러스터링 방법.
  23. 제22항에 있어서,
    상기 크기 조정된 마크 이미지는, 상기 마크의 비트맵을 9개 영역으로 분할하고 9개 화소의 3×3 크기 조정된 마크 이미지의 대응하는 화소에 대해 상기 9개 영역 각각의 대부분의 화소들을 이용함으로써 생성되는 클러스터링 방법.
  24. 제20항에 있어서,
    상기 마크에 대한 핫 포인트(hot point)를 계산하는 단계를 더 포함하는 클러스터링 방법.
  25. 제20항에 있어서,
    상기 마크의 제2 속성과 기존 클러스터의 제2 속성을 비교하여 상기 매칭 및 미스매칭 클러스터를 식별하는 단계를 더 포함하는 클러스터링 방법.
  26. 제25항에 있어서,
    상기 마크의 제3 속성과 기존 클러스터의 제3 속성을 비교하여 상기 매칭 및 미스매칭 클러스터를 식별하는 단계를 더 포함하는 클러스터링 방법.
  27. 제20항에 있어서,
    상기 마크의 비트맵과 상기 매칭 클러스터의 비트맵을 비교하는 단계는, 상기 마크의 무게 중심(center of gravity)과 상기 클러스터의 무게 중심을 계산하고, 상기 마크와 상기 매칭 클러스터간의 xor 거리를 계산하고, 허용가능한 범위 내에 있는 최소 xor 거리 및 상기 마크와 최소 xor 거리를 갖는 최대 매칭된 클러스터를 선택하는 것을 포함하는 클러스터링 방법.
  28. 제20항에 있어서,
    빈번하게 발생하는 기존 클러스터들은 글로벌 라이브러리에 보유되고, 드물게 발생하는 클러스터는 로컬 라이브러리 내에 보유되는 클러스터링 방법.
  29. 문서 인코딩 시스템에 있어서,
    텍스트 정보(textual information)를 포함하는 바이너리 마스크를 문서 이미지로부터 생성하도록 동작하는 마스크 분리기;
    상기 바이너리 마스크에 따라 상기 문서 이미지로부터 포그라운드 이미지(foreground image)와 백그라운드 이미지를 세그먼트하도록 동작하는 백그라운드 포그라운드 세그멘터(segmenter); 및
    효율적인 계산 방식으로 상기 마스크 내의 클러스터를 식별하도록 동작하는 클러스터링 시스템
    을 포함하는 문서 인코딩 시스템.
  30. 적어도 2개의 컴퓨터 프로세스 사이에서 전송되기에 적합한 데이터 패킷에 있어서,
    클러스터의 속성과 관련된 정보를 포함하는 데이터 필드를 포함하고,
    상기 클러스터의 속성은 미스매치를 식별하기 위해 마크의 유사한 속성과 효율적으로 비교가능하며, 상기 미스매치는 상기 마크가 새로운 클러스터라는 것을 나타내어 상기 마크와 상기 클러스터의 비트별 비교(bit by bit comparison)를 피하는 데이터 패킷.
  31. 클러스터링 방법을 수행하도록 동작가능한 컴퓨터 실행가능 컴포넌트를 저장하는 컴퓨터 판독가능한 매체에 있어서,
    마크를 로케이팅하기 위한 컴포넌트;
    상기 마크의 제1 속성과 기존 클러스터의 제1 속성을 비교하여 매칭 및 미스매칭 클러스터를 식별하기 위한 컴포넌트;
    상기 제1 속성의 매칭시, 상기 마크의 비트맵과 상기 매칭 클러스터의 비트맵을 비교하여 상기 매칭 클러스터의 최대 매칭된 클러스터를 찾아내기 위한 컴포넌트; 및
    상기 제1 속성의 미스매칭시 및 상기 비트맵의 미스매칭시, 상기 마크를 새로운 클러스터로서 상기 기존 클러스터에 부가하는 컴포넌트
    를 포함하는 컴퓨터 판독가능한 매체.
  32. 클러스터링 방법을 수행하도록 동작가능한 컴퓨터 실행가능 명령을 저장하는 컴퓨터 판독가능한 매체에 있어서,
    문서의 적어도 하나의 페이지의 각 페이지에 대해,
    적어도 하나의 마크를 찾아내기 위한 컴포넌트;
    상기 적어도 하나의 마크의 제1 속성과 기존 클러스터의 제1 속성을 비교하여 매칭 및 미스매칭 클러스터를 식별하기 위한 컴포넌트;
    상기 제1 속성의 매칭시, 상기 적어도 하나의 마크의 비트맵과 상기 매칭 클러스터의 비트맵을 비교하여 상기 매칭 클러스터의 최대 매칭된 클러스터를 찾아내기 위한 컴포넌트;
    상기 제1 속성의 미스매칭시 및 상기 비트맵의 미스매칭시, 상기 적어도 하나의 마크를 새로운 클러스터로서 상기 기존 클러스터에 부가하기 위한 컴포넌트; 및
    글로벌 라이브러리를 갱신하기 위한 컴포넌트
    를 포함하는 컴퓨터 판독가능한 매체.
KR1020030018604A 2002-04-25 2003-03-25 클러스터링 시스템, 클러스터링 방법, 문서 인코딩 시스템 및 클러스터링 방법을 수행하기 위한 컴퓨터 판독가능 매체 KR100938099B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/133,558 2002-04-25
US10/133,558 US7164797B2 (en) 2002-04-25 2002-04-25 Clustering

Publications (2)

Publication Number Publication Date
KR20030084590A true KR20030084590A (ko) 2003-11-01
KR100938099B1 KR100938099B1 (ko) 2010-01-21

Family

ID=29249000

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020030018604A KR100938099B1 (ko) 2002-04-25 2003-03-25 클러스터링 시스템, 클러스터링 방법, 문서 인코딩 시스템 및 클러스터링 방법을 수행하기 위한 컴퓨터 판독가능 매체

Country Status (6)

Country Link
US (2) US7164797B2 (ko)
EP (1) EP1388814B1 (ko)
JP (1) JP4152789B2 (ko)
KR (1) KR100938099B1 (ko)
CN (1) CN100452094C (ko)
TW (1) TWI223183B (ko)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100599141B1 (ko) * 2005-05-20 2006-07-12 삼성전자주식회사 문서 압축시스템 및 그 압축방법
US7863510B2 (en) 2006-02-23 2011-01-04 Samsung Electronics Co., Ltd. Method, medium, and system classifying music themes using music titles
KR101024027B1 (ko) * 2004-05-06 2011-03-22 삼성전자주식회사 이진 화상 처리방법 및 장치
KR101314229B1 (ko) * 2007-01-24 2013-10-04 퍼듀 리서치 파운데이션 텍스트 이미지 코딩 및 디코딩 시스템에서의 심볼 매칭 장치 및 방법
KR101436408B1 (ko) * 2007-01-23 2014-09-01 제록스 코포레이션 분산된 미니어처 보안 마크들을 사용하는 위조 억제

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7206450B2 (en) 2002-04-25 2007-04-17 Microsoft Corporation Compression of bi-level images with explicit representation of ink clusters
US20030233619A1 (en) * 2002-05-30 2003-12-18 Fast Bruce Brian Process for locating data fields on electronic images of complex-structured forms or documents
US9342459B2 (en) 2002-08-06 2016-05-17 Qualcomm Incorporated Cache management in a mobile device
US7574063B2 (en) * 2003-07-23 2009-08-11 Canon Kabushiki Kaisha Image coding method and apparatus
US7912291B2 (en) * 2003-11-10 2011-03-22 Ricoh Co., Ltd Features for retrieval and similarity matching of documents from the JPEG 2000-compressed domain
US7298902B2 (en) * 2004-01-20 2007-11-20 Educational Testing Service Method and system for performing image mark recognition
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
US8413155B2 (en) 2004-03-13 2013-04-02 Adaptive Computing Enterprises, Inc. System and method for a self-optimizing reservation in time of compute resources
US9143393B1 (en) * 2004-05-25 2015-09-22 Red Lambda, Inc. System, method and apparatus for classifying digital data
US20070266388A1 (en) 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US7567714B2 (en) * 2004-07-07 2009-07-28 The United States Of America As Represented By The Secretary Of The Navy System, method and apparatus for clustering features
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
WO2006053093A2 (en) 2004-11-08 2006-05-18 Cluster Resources, Inc. System and method of providing system jobs within a compute environment
US8566705B2 (en) * 2004-12-21 2013-10-22 Ricoh Co., Ltd. Dynamic document icons
AU2004242419A1 (en) * 2004-12-21 2006-07-06 Canon Kabushiki Kaisha Analysing digital image of a document page
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
WO2006107531A2 (en) * 2005-03-16 2006-10-12 Cluster Resources, Inc. Simple integration of an on-demand compute environment
US9225663B2 (en) 2005-03-16 2015-12-29 Adaptive Computing Enterprises, Inc. System and method providing a virtual private cluster
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
CA2603577A1 (en) 2005-04-07 2006-10-12 Cluster Resources, Inc. On-demand access to compute resources
US8175394B2 (en) 2006-09-08 2012-05-08 Google Inc. Shape clustering in post optical character recognition processing
US7783107B2 (en) * 2007-09-06 2010-08-24 Seiko Epson Corporation Characterization of a printed droplet
US8081842B2 (en) 2007-09-07 2011-12-20 Microsoft Corporation Image resizing for web-based image search
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US8009928B1 (en) * 2008-01-23 2011-08-30 A9.Com, Inc. Method and system for detecting and recognizing text in images
US8910038B2 (en) * 2008-04-04 2014-12-09 Canon Kabushiki Kaisha Apparatus and method for image separation, layout, and templating
JP5100543B2 (ja) * 2008-07-11 2012-12-19 キヤノン株式会社 文書管理装置、文書管理方法、及びコンピュータプログラム
US8290268B2 (en) * 2008-08-13 2012-10-16 Google Inc. Segmenting printed media pages into articles
TWI385584B (zh) * 2008-11-05 2013-02-11 Avermedia Information Inc 自動排列手寫字串之裝置及方法
US8401294B1 (en) * 2008-12-30 2013-03-19 Lucasfilm Entertainment Company Ltd. Pattern matching using convolution of mask image and search image
US8719701B2 (en) * 2009-01-02 2014-05-06 Apple Inc. Identification of guides and gutters of a document
US8184913B2 (en) * 2009-04-01 2012-05-22 Microsoft Corporation Clustering videos by location
US20100296734A1 (en) * 2009-05-20 2010-11-25 Colorcom, Ltd. Identifying and clustering blobs in a raster image
JP2011013898A (ja) * 2009-07-01 2011-01-20 Canon Inc 画像処理装置、画像処理方法、及び、プログラム
JP5377148B2 (ja) * 2009-08-03 2013-12-25 キヤノン株式会社 クラスタリング処理方法、クラスタリング処理装置、およびプログラム
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
FR2955407A1 (fr) * 2010-01-15 2011-07-22 Sagem Comm Procedes de compression et de decompression d'un document comportant du texte, processeur, systeme et produits programmes d'ordinateur associes
CN102129697B (zh) * 2010-01-19 2013-05-29 北京大学 一种文本图像压缩方法
EP2547087B1 (en) * 2010-03-08 2018-06-13 Konica Minolta Holdings, Inc. Image forming system, controller and rasterization accelerator
US9449024B2 (en) 2010-11-19 2016-09-20 Microsoft Technology Licensing, Llc File kinship for multimedia data tracking
US9454607B1 (en) * 2010-12-10 2016-09-27 A9.Com, Inc. Image as database
US8666157B2 (en) 2011-07-07 2014-03-04 Colorcom, Ltd. Color segmenting a raster image
WO2013039474A1 (en) * 2011-09-12 2013-03-21 Hewlett-Packard Development Company, L.P. Distance-based image analysis
US8705071B2 (en) 2012-04-03 2014-04-22 Infoprint Solutions Company Llc Bitmap compare mechanism
JP6083747B2 (ja) * 2012-10-24 2017-02-22 国立研究開発法人産業技術総合研究所 位置姿勢検出システム
US20150310008A1 (en) * 2012-11-30 2015-10-29 Thomason Licensing Clustering and synchronizing multimedia contents
US10108856B2 (en) 2016-05-13 2018-10-23 Abbyy Development Llc Data entry from series of images of a patterned document
RU2619712C1 (ru) * 2016-05-13 2017-05-17 Общество с ограниченной ответственностью "Аби Девелопмент" Оптическое распознавание символов серии изображений
US10748073B2 (en) * 2016-05-25 2020-08-18 Withings Method and device for associating a state to a new value output by a drifting sensor
US10296812B2 (en) * 2017-01-04 2019-05-21 Qualcomm Incorporated Systems and methods for mapping based on multi-journey data
CN108304761A (zh) * 2017-09-25 2018-07-20 腾讯科技(深圳)有限公司 文本检测方法、装置、存储介质和计算机设备
CN110120060B (zh) * 2018-02-06 2023-07-14 广东虚拟现实科技有限公司 标记物的识别方法、装置及识别跟踪系统
CN110503097A (zh) * 2019-08-27 2019-11-26 腾讯科技(深圳)有限公司 图像处理模型的训练方法、装置及存储介质
CN111583158B (zh) * 2020-05-19 2022-09-23 国网吉林省电力有限公司 一种背景简化表达的票据电子影像压缩存储方法
CN112802135B (zh) * 2021-01-15 2022-12-02 安徽大学 一种超薄无透镜可分离压缩成像系统及其标定与重建方法
CN113409578B (zh) * 2021-06-25 2022-05-13 北京航空航天大学 一种基于模糊聚类的交通网络健康画像方法及系统

Family Cites Families (101)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3606546A (en) * 1969-05-13 1971-09-20 Dennison Mfg Co Photocopier
US3719922A (en) * 1971-06-24 1973-03-06 L Lopes Digital camera
FR2171518A5 (ko) * 1972-02-03 1973-09-21 Labo Electronique Physique
US4606069A (en) * 1983-06-10 1986-08-12 At&T Bell Laboratories Apparatus and method for compression of facsimile information by pattern matching
JPS60254871A (ja) * 1984-05-31 1985-12-16 Kokusai Denshin Denwa Co Ltd <Kdd> フアクシミリ画像の符号化方法
US4754492A (en) * 1985-06-03 1988-06-28 Picturetel Corporation Method and system for adapting a digitized signal processing system for block processing with minimal blocking artifacts
US5077807A (en) * 1985-10-10 1991-12-31 Palantir Corp. Preprocessing means for use in a pattern classification system
GB8525509D0 (en) 1985-10-16 1985-11-20 Int Computers Ltd Symbol pattern matching
EP0227848B1 (en) * 1985-12-17 1991-05-29 International Business Machines Corporation Image preprocessing procedure for noise removal
JPH02268388A (ja) * 1989-04-10 1990-11-02 Hitachi Ltd 文字認識方法
JPH0816918B2 (ja) 1989-04-18 1996-02-21 シャープ株式会社 行抽出方法
US4924494A (en) * 1989-05-05 1990-05-08 Copam Electronics Corp. Fax machine equipped for simultaneous transmission and reception via two telephone lines
JPH0832085B2 (ja) 1989-10-18 1996-03-27 松下電器産業株式会社 表示機能付き選択呼出受信装置
US5129014A (en) * 1989-12-08 1992-07-07 Xerox Corporation Image registration
JPH05189617A (ja) * 1991-04-15 1993-07-30 Microsoft Corp 手書き文字認識に於けるアークのセグメント化の方法と装置
US5598182A (en) * 1991-05-21 1997-01-28 Cambridge Animation Systems Limited Image synthesis and processing
US5434953A (en) * 1992-03-20 1995-07-18 Xerox Corporation Use of fast textured reduction for discrimination of document image components
US5680479A (en) 1992-04-24 1997-10-21 Canon Kabushiki Kaisha Method and apparatus for character recognition
US5454047A (en) * 1992-05-15 1995-09-26 Hughes Aircraft Company Optical method and system for generating expansion coefficients for an image processing function
US5721788A (en) * 1992-07-31 1998-02-24 Corbis Corporation Method and system for digital image signatures
US5402146A (en) * 1992-10-23 1995-03-28 International Business Machines Corporation System and method for video compression with artifact dispersion control
US5991515A (en) * 1992-11-10 1999-11-23 Adobe Systems Incorporated Method and apparatus for compressing and decompressing data prior to display
JP3422541B2 (ja) * 1992-12-17 2003-06-30 ゼロックス・コーポレーション キーワードのモデル化方法及び非キーワードhmmの提供方法
US5384864A (en) 1993-04-19 1995-01-24 Xerox Corporation Method and apparatus for automatic determination of text line, word and character cell spatial features
US5572604A (en) * 1993-11-22 1996-11-05 Lucent Technologies Inc. Method for pattern recognition using prototype transformations and hierarchical filtering
US5640468A (en) * 1994-04-28 1997-06-17 Hsu; Shin-Yi Method for identifying objects and features in an image
US6137908A (en) * 1994-06-29 2000-10-24 Microsoft Corporation Handwriting recognition system simultaneously considering shape and context information
JPH08101893A (ja) * 1994-09-30 1996-04-16 Omron Corp 画像処理装置におけるモデル画像データ登録装置
JP2630923B2 (ja) * 1994-12-05 1997-07-16 日本アイ・ビー・エム株式会社 画像認識方法及び装置
US5737455A (en) * 1994-12-12 1998-04-07 Xerox Corporation Antialiasing with grey masking techniques
DE4445386C1 (de) * 1994-12-20 1996-05-02 Ibm Verfahren und Vorrichtung zur Trennung einer Vordergrundinformation von einer Hintergrundinformation in einer Vorlage
US5572565A (en) * 1994-12-30 1996-11-05 Philips Electronics North America Corporation Automatic segmentation, skinline and nipple detection in digital mammograms
JP3640318B2 (ja) * 1995-09-01 2005-04-20 インターナショナル・ビジネス・マシーンズ・コーポレーション ディジタル画像の符号化方法及びシステム
JP2761467B2 (ja) * 1995-03-29 1998-06-04 インターナショナル・ビジネス・マシーンズ・コーポレイション 画像切り出し装置及び文字認識装置
US5689585A (en) * 1995-04-28 1997-11-18 Xerox Corporation Method for aligning a text image to a transcription of the image
US5883986A (en) * 1995-06-02 1999-03-16 Xerox Corporation Method and system for automatic transcription correction
US5751859A (en) * 1995-06-14 1998-05-12 Lucent Technologies Inc. Compression of text images by soft pattern matching
US5915044A (en) * 1995-09-29 1999-06-22 Intel Corporation Encoding video images using foreground/background segmentation
US5574511A (en) * 1995-10-18 1996-11-12 Polaroid Corporation Background replacement for an image
US6094506A (en) * 1995-10-25 2000-07-25 Microsoft Corporation Automatic generation of probability tables for handwriting recognition systems
US6272253B1 (en) * 1995-10-27 2001-08-07 Texas Instruments Incorporated Content-based video compression
JP3756580B2 (ja) * 1995-11-07 2006-03-15 セイコープレシジョン株式会社 多層基板の製造方法及びその製造装置
US5828771A (en) * 1995-12-15 1998-10-27 Xerox Corporation Method and article of manufacture for determining whether a scanned image is an original image or fax image
JP2958396B2 (ja) * 1995-12-20 1999-10-06 富士ゼロックス株式会社 画像形成装置
US5910805A (en) * 1996-01-11 1999-06-08 Oclc Online Computer Library Center Method for displaying bitmap derived text at a display having limited pixel-to-pixel spacing resolution
US6345119B1 (en) * 1996-02-19 2002-02-05 Fujitsu Limited Handwritten character recognition apparatus and method using a clustering algorithm
US6901153B1 (en) * 1996-03-14 2005-05-31 Ati Technologies Inc. Hybrid software/hardware video decoder for personal computer
US5805739A (en) * 1996-04-02 1998-09-08 Picturetel Corporation Lapped orthogonal vector quantization
DE19615493A1 (de) 1996-04-19 1997-10-23 Philips Patentverwaltung Verfahren zur Bildsegmentierung
US6310972B1 (en) * 1996-06-28 2001-10-30 Competitive Technologies Of Pa, Inc. Shape adaptive technique for image and video compression
US5914748A (en) * 1996-08-30 1999-06-22 Eastman Kodak Company Method and apparatus for generating a composite image using the difference of two images
US5778092A (en) * 1996-12-20 1998-07-07 Xerox Corporation Method and apparatus for compressing color or gray scale documents
US5917964A (en) * 1996-12-23 1999-06-29 Lg Electronics, Inc. Method and apparatus for pre-processing image data of encoders
JP2836681B2 (ja) 1997-01-14 1998-12-14 日本電気株式会社 パタンマッチング符号化方法及び符号化装置
US5960111A (en) * 1997-02-10 1999-09-28 At&T Corp Method and apparatus for segmenting images prior to coding
US6108446A (en) * 1997-02-18 2000-08-22 Hoshen; Joseph Method and apparatus for extracting cluster shape features from digital images
JP3082837B2 (ja) 1997-03-19 2000-08-28 日本電気株式会社 パタンマッチング符号化装置、復号化装置及び記録媒体
US6321243B1 (en) * 1997-06-27 2001-11-20 Microsoft Corporation Laying out a paragraph by defining all the characters as a single text run by substituting, and then positioning the glyphs
US6108444A (en) * 1997-09-29 2000-08-22 Xerox Corporation Method of grouping handwritten word segments in handwritten document images
US5917951A (en) * 1997-10-03 1999-06-29 International Business Machines Corporation Clustered aperiodic mask
US6118890A (en) * 1997-11-12 2000-09-12 International Business Machines Corporation System and method for broad classification of biometric patterns
US6020972A (en) 1997-11-14 2000-02-01 Xerox Corporation System for performing collective symbol-based compression of a corpus of document images
US6329977B1 (en) * 1998-03-10 2001-12-11 Compaq Computer Corporation Pre-filtered antialiased lines using distance functions
US6144767A (en) * 1998-04-02 2000-11-07 At&T Corp Efficient convolutions using polynomial covers
US6029126A (en) * 1998-06-30 2000-02-22 Microsoft Corporation Scalable audio coder and decoder
US6115689A (en) * 1998-05-27 2000-09-05 Microsoft Corporation Scalable audio coder and decoder
US6285801B1 (en) * 1998-05-29 2001-09-04 Stmicroelectronics, Inc. Non-linear adaptive image filter for filtering noise such as blocking artifacts
US6073153A (en) * 1998-06-03 2000-06-06 Microsoft Corporation Fast system and method for computing modulated lapped transforms
US6154762A (en) * 1998-06-03 2000-11-28 Microsoft Corporation Fast system and method for computing modulated lapped transforms
US6072496A (en) * 1998-06-08 2000-06-06 Microsoft Corporation Method and system for capturing and representing 3D geometry, color and shading of facial expressions and other animated objects
US6192360B1 (en) * 1998-06-23 2001-02-20 Microsoft Corporation Methods and apparatus for classifying text and for building a text classifier
US6253165B1 (en) * 1998-06-30 2001-06-26 Microsoft Corporation System and method for modeling probability distribution functions of transform coefficients of encoded signal
US6233364B1 (en) * 1998-09-18 2001-05-15 Dainippon Screen Engineering Of America Incorporated Method and system for detecting and tagging dust and scratches in a digital image
US6295371B1 (en) 1998-10-22 2001-09-25 Xerox Corporation Method and apparatus for image processing employing image segmentation using tokenization
US6326977B1 (en) 1998-11-03 2001-12-04 Sharp Laboratories Of America, Inc. Rendering of YCBCR images on an RGS display device
US6411733B1 (en) 1998-11-25 2002-06-25 Xerox Corporation Method and apparatus for separating document image object types
EP1006714A3 (en) 1998-12-02 2001-09-19 Xerox Corporation Method of processing mixed raster content planes
US6564263B1 (en) * 1998-12-04 2003-05-13 International Business Machines Corporation Multimedia content description framework
JP2000175053A (ja) * 1998-12-07 2000-06-23 Xerox Corp 文書の圧縮ピクセルマップ表現を表す混合ラスタコンテントプレ―ンの処理方法
US6195024B1 (en) * 1998-12-11 2001-02-27 Realtime Data, Llc Content independent data compression method and system
US6100825A (en) * 1998-12-31 2000-08-08 Microsoft Corporation Cluster-based data compression system and method
US6658151B2 (en) 1999-04-08 2003-12-02 Ricoh Co., Ltd. Extracting information from symbolically compressed document images
US6977664B1 (en) * 1999-09-24 2005-12-20 Nippon Telegraph And Telephone Corporation Method for separating background sprite and foreground object and method for extracting segmentation mask and the apparatus
US6826727B1 (en) * 1999-11-24 2004-11-30 Bitstream Inc. Apparatus, methods, programming for automatically laying out documents
ATE509330T1 (de) 1999-12-04 2011-05-15 Luratech Imaging Gmbh Verfahren zur kompression von gescannten farb- und/oder graustufendokumenten
DE19958553A1 (de) * 1999-12-04 2001-06-07 Luratech Ges Fuer Luft Und Rau Verfahren zur Kompression von gescannten Farb- und/oder Graustufendokumenten
KR100337359B1 (ko) * 1999-12-15 2002-05-21 이계안 차량의 주행단 밀림 방지장치 및 그 제어방법
GB2358098A (en) * 2000-01-06 2001-07-11 Sharp Kk Method of segmenting a pixelled image
US7320104B2 (en) * 2000-02-12 2008-01-15 Adobe Systems Incorporated Text grid creation tools
JP2001256244A (ja) * 2000-03-14 2001-09-21 Fuji Xerox Co Ltd 画像データ分類装置および画像データ分類方法
US6674900B1 (en) 2000-03-29 2004-01-06 Matsushita Electric Industrial Co., Ltd. Method for extracting titles from digital images
US6633670B1 (en) * 2000-03-31 2003-10-14 Sharp Laboratories Of America, Inc. Mask generation for multi-layer image decomposition
US6735335B1 (en) 2000-05-30 2004-05-11 Microsoft Corporation Method and apparatus for discriminating between documents in batch scanned document files
US6738079B1 (en) * 2000-06-02 2004-05-18 Sun Microsystems, Inc. Graphical user interface layout customizer
US6975742B2 (en) * 2000-11-29 2005-12-13 Xerox Corporation Rate-distortion optimization system and method for image compression
US6941014B2 (en) 2000-12-15 2005-09-06 Xerox Corporation Method and apparatus for segmenting an image using a combination of image segmentation techniques
US7039232B2 (en) 2001-12-20 2006-05-02 Xerox Corporation Block level analysis of segmentation tags
US7027647B2 (en) * 2001-12-31 2006-04-11 Hewlett-Packard Development Company, L.P. Coder matched layer separation for compression of compound documents
US7024049B2 (en) 2002-01-16 2006-04-04 Xerox Corporation Method and apparatus for improving image appearance
US20030198386A1 (en) 2002-04-19 2003-10-23 Huitao Luo System and method for identifying and extracting character strings from captured image data
US7291961B2 (en) * 2003-09-27 2007-11-06 Ngk Spark Plug Co., Ltd. Spark plug having a specific structure of noble metal tip on ground electrode

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101024027B1 (ko) * 2004-05-06 2011-03-22 삼성전자주식회사 이진 화상 처리방법 및 장치
KR100599141B1 (ko) * 2005-05-20 2006-07-12 삼성전자주식회사 문서 압축시스템 및 그 압축방법
US7863510B2 (en) 2006-02-23 2011-01-04 Samsung Electronics Co., Ltd. Method, medium, and system classifying music themes using music titles
KR101436408B1 (ko) * 2007-01-23 2014-09-01 제록스 코포레이션 분산된 미니어처 보안 마크들을 사용하는 위조 억제
KR101314229B1 (ko) * 2007-01-24 2013-10-04 퍼듀 리서치 파운데이션 텍스트 이미지 코딩 및 디코딩 시스템에서의 심볼 매칭 장치 및 방법

Also Published As

Publication number Publication date
TW200403578A (en) 2004-03-01
JP4152789B2 (ja) 2008-09-17
JP2003323617A (ja) 2003-11-14
KR100938099B1 (ko) 2010-01-21
US20050271281A1 (en) 2005-12-08
TWI223183B (en) 2004-11-01
US7164797B2 (en) 2007-01-16
CN100452094C (zh) 2009-01-14
EP1388814A2 (en) 2004-02-11
US7376275B2 (en) 2008-05-20
CN1453747A (zh) 2003-11-05
EP1388814A3 (en) 2005-11-16
US20030202709A1 (en) 2003-10-30
EP1388814B1 (en) 2017-10-11

Similar Documents

Publication Publication Date Title
KR100938099B1 (ko) 클러스터링 시스템, 클러스터링 방법, 문서 인코딩 시스템 및 클러스터링 방법을 수행하기 위한 컴퓨터 판독가능 매체
KR100937542B1 (ko) 세그먼트된 계층화 이미지 시스템
US7120297B2 (en) Segmented layered image system
KR100937543B1 (ko) 세그먼트된 계층화 이미지 시스템, 사진 복사기, 문서 스캐너, 광학 문자 인식 시스템, pda, 팩스 장치, 디지털 카메라, 디지털 비디오 카메라, 비디오 게임 시스템, 마스크의 생성 방법, 마스크 분리기 컴포넌트, 문서 이미지 압축 시스템, 데이터 패킷 및 컴퓨터 판독가능 매체
US7460710B2 (en) Converting digital images containing text to token-based files for rendering
EP0411231B1 (en) Method for digitizing information written into forms by means of very large symbol matching
JP3925971B2 (ja) 統合同値類の作成方法
JP3345350B2 (ja) 文書画像認識装置、その方法、及び記録媒体
US7317838B2 (en) Compression of bi-level images with explicit representation of ink clusters
JP4494563B2 (ja) トークン化によるイメージ分割を用いたイメージ処理方法および装置
Javed et al. Extraction of line-word-character segments directly from run-length compressed printed text-documents
JP3977468B2 (ja) シンボル分類装置
US20050281463A1 (en) Method and apparatus for processing binary image
WO2005046213A1 (en) Document image encoding/decoding
US7702154B2 (en) Method and apparatus indentifying halftone regions within a digital image
KR100484170B1 (ko) 디지털 화질 개선방법 및 장치
WO2001029771A1 (en) Fast segmentation algorithm for bi-level image compression using jbig2
KR20050106810A (ko) 이진 화상 처리방법 및 장치

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

FPAY Annual fee payment

Payment date: 20191217

Year of fee payment: 11