KR101037458B1 - 화상 처리 장치, 화상 처리 방법 및 기억 매체 - Google Patents

화상 처리 장치, 화상 처리 방법 및 기억 매체 Download PDF

Info

Publication number
KR101037458B1
KR101037458B1 KR1020097015655A KR20097015655A KR101037458B1 KR 101037458 B1 KR101037458 B1 KR 101037458B1 KR 1020097015655 A KR1020097015655 A KR 1020097015655A KR 20097015655 A KR20097015655 A KR 20097015655A KR 101037458 B1 KR101037458 B1 KR 101037458B1
Authority
KR
South Korea
Prior art keywords
character
image
electronic document
document
data
Prior art date
Application number
KR1020097015655A
Other languages
English (en)
Other versions
KR20090104071A (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 KR20090104071A publication Critical patent/KR20090104071A/ko
Application granted granted Critical
Publication of KR101037458B1 publication Critical patent/KR101037458B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/123Storage facilities
    • 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

Abstract

본 발명은 문서 화상 내의 문자 화상들에 문자 인식을 적용하고, 문서 화상 상에 문자 인식 결과를 투명 컬러로 묘화함으로써 전자 문서를 생성한다. 이 전자 문서는 검색을 수행할 때 문서 화상 상에서 검색 키워드에 대응하는 부분을 특정하는 것을 가능하게 한다. 이 전자 문서가 생성될 때, 전자 문서는 문자 인식 결과를 묘화할 때 사용되는 폰트 데이터로서, 단순한 문자 형상의 글리프 데이터(폰트 데이터)를 복수의 문자 타입에 공통으로 사용하는데 필요한 기술을 포함한다. 따라서, 전자 문서가 폰트 데이터를 보존하는 것이 필요한 경우에도, 파일 사이즈의 증가는 최소화될 수 있다. 또한, 단순한 문자 형상을 이용하여 묘화함으로써, 폰트 데이터 자체의 데이터 사이즈도 감소할 수 있다.
화상 처리 장치, 전자 문서, 문서 인식, 투명 컬러, 폰트 데이터

Description

화상 처리 장치, 화상 처리 방법 및 기억 매체{IMAGE PROCESSING APPARATUS, IMAGE PROCESSING METHOD, AND STORAGE MEDIUM}
본 발명은 종이 문서의 스캔 화상을 전자적으로 검색 가능한 데이터로 변환하기 위한 기술에 관한 것이다.
최근에, 스캐너들, 및 하드 디스크들 등과 같은 대용량 저장 장치들이 널리 보급되어 있으므로, 종이로 보존되어 왔던 문서들은 스캐닝되어 전자 문서들로서 보존된다. 이 경우에, 종이 문서를 스캐닝함으로써 얻어지는 화상 데이터에 대해 문자 인식 처리를 행하여 그 문서 내에 기재된 텍스트 정보를 판독하며, 텍스트 정보는 화상과 연관하여 보존된다. 사용자는 검색 키워드들을 이용하여 텍스트 정보와 연관된 전자 문서들을 검색할 수 있다. 이러한 방법으로 대량의 보존 문서 그룹들로부터 원하는 문서를 빠르게 검색하기 위해서는, 스캔 화상들에 대해서도 키워드 검색을 허가하는 것이 중요하다.
예를 들어, 일본 특허공개공보 제2000-322417호는 이하의 기술을 설명하고 있다. 즉, 사용자가 검색 키워드들을 사용하여 텍스트 정보와 연관된 전자 문서를 검색하는 경우, 그 문서 화상 상의 검색 키워드들을 기재하는 텍스트 부분들은 사용자에게 식별될 수 있도록 강조 표시된다. 검색 키워드들에 대응하는 텍스트 부 분들이 강조 표시되기 때문에, 문서가 동일한 키워드들에 대한 복수의 기재 부분을 포함하면, 사용자는 페이지 화상들을 전환함으로써 기재 부분들을 효율적으로 식별할 수 있다.
한편, 문자 인식 처리의 결과들을 투명 텍스트(묘화 컬러로서 투명 컬러가 지정된 문자 코드들)로서 화상 파일에 삽입하고, 이 화상 파일을 PDF(Portable Document Format) 포맷으로 보존하는 기술도 이용 가능하다. 이러한 방법으로 생성된 PDF 파일을 표시할 때, 투명 텍스트는 문서 화상 내의 문자 화상들 상에 묘화된다. 따라서, 키워드 검색을 수행할 때, 투명 텍스트가 발견되지만, 사용자는 투명 텍스트 자체를 볼 수 없으며, 화상이 발견된 것처럼 보이게 된다. 이러한 방법으로, 검색 키워드들을 사용하여 검색할 수 있는 화상은, 화상 및 텍스트를 묘화하는 것을 허가하는 페이지 기술 언어를 사용하여 기술된 포맷의 파일에 기초하여 묘화될 수 있다.
PDF, SVG 등과 같은 페이지 기술 언어를 사용하는 전자 문서 내의 텍스트의 묘화는 각각의 문자의 문자 형상 정보, 즉, 폰트 데이터의 글리프(glyph)를 필요로 한다. 그러나, 폰트 데이터는 통상적으로 큰 사이즈를 갖기 때문에, 전자 문서 내에 폰트 데이터를 저장하지 않고, 전자 문서 내에 폰트 타입들을 지정하는 것만이 일반적이다. 이러한 방법으로, 애플리케이션은 개인용 컴퓨터에 설치된 폰트들을 사용하여 텍스트 데이터를 묘화할 수 있다.
한편, 폰트 데이터를 전자 문서 내에 저장하는 것이 종종 요구된다. 예를 들어, 문서 생성 애플리케이션에 의해 생성된 전자 문서가 다른 개인용 컴퓨터에 의해 열리는 경우, 그 전자 문서에서 사용된 폰트 데이터가 개인용 컴퓨터에 설치되지 않은 경우, 전자 문서는 정확하게 열릴 수 없다. 다시 말하면, 지정된 폰트 데이터가 설치되지 않은 개인용 컴퓨터 또는 애플리케이션이 전자 문서를 재생(reproduce)하는 경우에도, 폰트 데이터들 자체가 전자 문서 내에 저장되어 있으면, 그 전자 문서를 정확하게 재생할 수 있다.
일부의 경우들에서, 사용 애플리케이션들에 따라, 문자들을 묘화하는데 사용되는 폰트 데이터를 필수적인 조건으로서 전자 문서 내에 저장하는 것이 요구된다. 예를 들어, 장기간 동안 보존되어야 하는 파일들에 대하여, 디폴트로 설치된 폰트들은 장기간의 시간의 경과 후에 OS의 변경으로 인해 변경될 수 있다. 따라서, 폰트 데이터를 필수 포맷으로서 저장하는 것이 요구된다.
일부의 포맷들은 전자 문서 내에 폰트 데이터를 저장해야 하는 필수적인 조건을 갖는다. 예를 들어, XPS(XML Paper Specification) 포맷에서는, 텍스트 데이터의 보존 시에 폰트 데이터를 함께 보존하는 것이 필요하다.
그러나, 전자 문서 내에 폰트 데이터를 저장하는 경우, 전자 문서 자체의 사이즈가 증가한다. 파일 사이즈가 증가하는 경우, 네트워크를 통해 전자 문서를 전송하는데 많은 시간이 걸리거나, 또는 문서를 저장하기 위해 큰 저장 사이즈가 필요하다.
이와 같이, 전자 문서 내에 저장된 폰트 데이터를 사용하여 문자들을 묘화하는 파일 포맷의 전자 문서에서는, 파일 사이즈가 증가하는 것을 방지하는 것이 요구된다. 특히, 스캔 화상, 문자 인식 결과로서의 텍스트 데이터 및 텍스트를 묘화 하는데 사용되는 폰트 데이터를 전자 문서 내에 함께 저장하는 경우, 파일 사이즈의 증가를 방지하는 것이 요구된다. 포맷, 시스템 등의 제한들로 인해 폰트 데이터를 전자 문서 내에 저장하는 것이 필요한 경우, 파일 사이즈의 증가는 종종 쉽게 문제를 일으킨다.
본 발명에 따르면, 전술된 문제들은, 문서 화상 내의 복수의 문자 화상에 대해 문자 인식 처리를 실행하여 문자 화상들 각각에 대응하는 문자 코드들을 취득하도록 구성되는 문자 인식 수단; 및 상기 문서 화상, 상기 문자 인식 수단에 의해 취득되는 복수의 문자 코드 및 상기 복수의 문자 코드에 대응하는 문자들을 묘화할 때 상기 복수의 문자 코드에 공통으로 사용되는 글리프 데이터를 포함하는 전자 문서를 생성하도록 구성되는 생성 수단을 포함하는 화상 처리 장치를 제공함으로써 해결된다.
본 발명의 추가의 특징들은 첨부 도면들을 참조하는 이하의 예시적인 실시예들의 설명으로부터 명확해질 것이다.
도 1은 제1 실시예의 구성의 일례를 도시하는 블록도이다.
도 2는 제1 실시예의 전자 문서 생성 처리의 일례를 도시하는 흐름도이다.
도 3은 제1 실시예의 전자 문서 검색 및 브라우징 처리의 일례를 도시하는 흐름도이다.
도 4는 도 2의 단계 S208에서 실행되는 전자 문서 데이터 생성 처리의 세부 사항들을 도시하는 흐름도이다.
도 5는 도 3의 단계 S306에서 실행되는 페이지 묘화 처리의 세부사항들을 도시하는 흐름도이다.
도 6은 제1 실시예에 따라 생성되는 전자 문서의 일례를 도시한다.
도 7은 처리될 페이지 화상의 일례를 도시한다.
도 8은 영역 분할 처리 결과의 일례를 도시한다.
도 9는 생성될 영역 데이터의 일례를 도시한다.
도 10은 문자 인식 처리의 실행 시에 문자 화상들이 추출될 때 실행되는 처리의 일례를 도시한다.
도 11은 문자 인식 결과에 기초하여 생성되는 문자 코드열 데이터의 일례를 도시한다.
도 12는 문자 코드열 테이블의 일례를 도시한다.
도 13은 검색 결과가 강조 표시된 페이지의 표시 예를 도시한다.
도 14A 및 도 14B는 다른 강조 표시 처리에 의해 검색 결과가 강조 표시된 페이지의 표시 예를 도시한다.
도 15는 제2 실시예에 따라 생성된 전자 문서의 일례를 도시한다.
도 16은 검색 결과가 강조 표시된 페이지의 표시 예를 도시한다.
도 17은 처리될 페이지 화상의 일례를 도시한다.
도 18은 검색 결과가 강조 표시된 페이지의 표시 예를 도시한다.
이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 실시예들에서 설명되는 컴포넌트들의 상대적인 배열, 수학식들 및 수치들은 구체적으로 달리 언급되지 않는 한 본 발명의 범위를 한정하지 않는다는 것에 유의해야 한다.
<제1 실시예>
도 1은 화상 처리 장치의 구성의 일례를 도시하는 블록도이다.
화상 처리 장치(100)는 본 실시예를 구현하기 위한 장치이며, 문서 화상 데이터를 검색 가능한 전자 문서로 변환한다. 화상 처리 장치(100)는 스캐너(101), 중앙 처리 유닛(CPU)(102), 메모리(103), 하드 디스크(104), 네트워크 인터페이스(105) 및 유저 인터페이스(UI)(106)를 포함한다. 스캐너(101)는 종이 문서의 지면 정보를 스캔하여 그것을 문서 화상 데이터로 변환한다. CPU(102)는 화상 데이터를 해석하고 그것을 검색 가능한 전자 문서로 변환하는데 필요한 컴퓨터 프로그램 등을 실행하는 프로세서이다. 메모리(103)는 프로그램들 및 처리의 중간 데이터를 유지하고, CPU의 워크 스페이스(work space)로서 사용되는 기억 매체이다. 하드 디스크(104)는 컴퓨터 프로그램들 및 전자 문서들 등과 같은 데이터를 저장하는데 사용되는 대용량 기억 매체이다. 네트워크 인터페이스(105)는 네트워크(120)에 접속하는데 필요한 인터페이스이며, 스캔 화상, 변환된 검색 가능한 전자 문서 등과 같은 데이터를 외부 장치로 전송하고, 외부 장치로부터 데이터를 수신하는데 사용된다. 유저 인터페이스(106)는 사용자로부터 지시들을 수신하는데 사용되는 인터페이스이며, 입력 키들, 터치 패널 등을 포함하는 입력 디바이스, 및 액정 표 시 등과 같은 표시 디바이스를 포함한다. 본 발명의 장치의 구성은 그러한 특정한 구성에 한정되지 않는다는 것에 유의한다.
화상 처리 장치(110)는 화상 처리 장치(100)에 의해 생성된 전자 문서들을 검색하고 브라우징할 수 있다. CPU(111)는 전자 문서들을 검색하고 브라우징하기 위한 처리를 실행하는데 필요한 컴퓨터 프로그램들을 실행한다. 메모리(112)는 프로그램들의 실행 시에 워크 스페이스로서 사용되고, 데이터를 일시적으로 보존하는 기억 매체이다. 하드 디스크(113)는 컴퓨터 프로그램들 및 전자 문서 등과 같은 데이터를 저장하는데 사용되는 대용량 기억 매체이다. 네트워크 인터페이스(114)는 외부 장치로부터 전자 문서들 등과 같은 데이터를 수신하고 데이터를 외부 장치로 전송하는데 사용되는 인터페이스이다. 유저 인터페이스(115)는 사용자로부터 지시들을 수신하는데 사용되는 인터페이스이며, 입력 키들, 터치 패널 등을 포함하는 입력 디바이스, 및 액정 표시 등과 같은 표시 디바이스를 포함한다.
이하, 도 2 및 도 3에 도시된 흐름도들을 참조하여 제1 실시예의 처리를 설명한다.
도 2는, 화상 처리 장치(100)가, 예를 들어, 종이 문서를 스캔함으로써 취득된 화상 데이터에 기초하여 검색 가능한 전자 문서를 생성하고, 그 전자 문서를 화상 처리 장치(110)로 전송하는 경우에 실행되는 처리의 일례를 도시하는 흐름도이다.
단계 S201에서, CPU(102)는 사용자의 지시 조작에 따라 생성될 전자 문서의 전송처 및 전송 방법을 결정한다. 사용자는 유저 인터페이스(106)를 통해 지시들 을 발행한다. 전송 방법은 이메일, FTP를 사용하는 파일 전송 등과 같은 선택들로부터 선택된다.
사용자가 종이 문서를 세팅하고 스타트 키(start key)를 누르면, 단계 S202에서 CPU(102)는 스캐너(101)를 사용하여 세팅된 종이 문서를 스캔하여 문서 화상 데이터를 생성하며, 그 문서 화상 데이터를 메모리에 보존한다. 오토 다큐먼트 피더(auto document feeder) 등을 사용하여 복수의 페이지를 포함하는 문서를 입력하는 경우, 각각의 페이지는 1개의 페이지 화상 데이터로 변환되며, 변환된 페이지 화상 데이터는 그것들의 입력 순서대로 메모리(103)에 기억된다.
도 7은 페이지 화상의 일례를 도시한다. 도 7의 페이지 화상(701)은 문자열(character string) "
Figure 112009045377043-pct00001
"(702)과 문자열 "
Figure 112009045377043-pct00002
"(703) 및 사진(704)을 포함한다. 사진(704)은 간략화를 위해 실선의 직사각형으로 간단히 도시되지만, 그것은 실제로 자연 화상이라는 것에 유의한다. 도 7의 예시에서, 페이지 화상(701)은 문자열들(702, 703) 및 사진(704)만을 포함하지만, 그것은 그래픽 영역 등도 포함할 수 있다. 도 7의 예시는 일본어의 문자열들(702, 703)을 도시한다. 그러나, 본 발명은 일본어에 한정되지 않는다. 예를 들어, 알파벳 문자열들(영어 등)도 유사하게 처리될 수 있다. 도 17은 알파벳 문자열들(1702, 1703)을 포함하는 문서 화상(1701)의 일례를 도시한다.
페이지 화상 데이터의 포맷으로서, 예를 들어, 종이 문서가 컬러 문서인 경우, 페이지 화상 데이터는 R, G 및 B 각각에 대하여 8비트로 계조들을 표현하는 컬러 화상으로서 취급된다. 종이 문서가 흑백(monochrome) 문서인 경우, 페이지 화 상 데이터는 8비트로 휘도를 표현하는 그레이 화상(gray image) 또는 1비트로 흑백을 표현하는 이진 화상(binary image)으로서 취급된다.
단계 S203에서, CPU(102)는 메모리(103)에 보존되어 있으나 아직 처리되지 않은 페이지 화상 데이터를 처리될 화상으로서 선택한다. 복수의 페이지의 화상이 존재하는 경우, CPU(102)는 입력 순서에 따라 1개의 페이지의 화상을 처리될 화상으로서 선택한다.
단계 S204에서, CPU(102)는 처리될 화상을 해석하고, 텍스트 영역, 그래픽 영역, 사진 영역, 테이블 영역 등과 같은 상이한 특성들을 갖는 영역들을 식별하여 각각의 식별된 영역들과 연관된 영역 데이터를 생성하기 위해 영역 해석 처리를 실행하고, 영역 데이터를 메모리(103)에 보존한다. 각각의 영역 데이터는 그 영역의 외접 직사각형의 좌측 상단의 위치 좌표(x 좌표 값 및 y 좌표 값), 외접 직사각형의 사이즈(폭 및 높이)를 나타내는 화소수의 값들 및 식별된 영역의 타입을 포함한다는 것에 유의한다. 영역 해석 처리는 최신 기술(영역 식별 처리, 영역 판별 처리, 영역 추출 처리로도 지칭됨)을 사용한다고 가정한다. 예를 들어, 일본 특허공개공보 제6-68301호에 개시된 기술을 사용하는 경우, 이진 문서 화상 데이터로부터, 유사한 사이즈들을 갖는 흑색 화소 클러스터들이 수직으로 또는 수평으로 연결되는 범위를 텍스트 영역으로서 추출할 수 있다.
도 7에 도시된 페이지 화상(701)에 대한 영역 해석 처리의 결과로서, 도 8에 도시된 바와 같이, 텍스트 영역(801) 및 사진 영역(802)이 식별된다. 도 9는 그 영역 해석 처리에 의해 취득된 영역 데이터의 일례를 도시한다. 알파벳 문자열들 을 포함하는 화상(예를 들어, 도 17의 화상(1701))에 대하여 영역 해석 처리를 행하는 경우, 도 7의 영역 해석 결과와 유사한 영역 해석 결과가 취득된다.
단계 S205에서, CPU(102)는 영역 해석 처리에 의해 식별된 텍스트 영역 내의 문자 화상들에 문자 인식 처리를 적용하여 문자 코드열(character code string)들의 데이터를 취득하고, 취득된 데이터를 메모리(103)에 보존한다. 각각의 문자 코드열의 데이터는, 텍스트 영역에 포함된 각각의 문자 화상에 대한 인식 결과로서의 문자 코드 정보, 및 그 문자 화상의 외접 직사각형 정보(외접 직사각형의 좌측 상단의 좌표들과 폭 및 높이의 정보)를 포함한다고 가정한다.
이하, 문자 인식 처리의 일례를 간략히 설명한다. 문자 화상을 문자로서 인식하기 위한 처리는 최신 기술을 사용할 수 있다는 것에 유의한다.
문서 화상이 이진 화상이 아닌 경우, 예를 들어, 텍스트 영역 내의 화상을 이진화함으로써 각각의 텍스트 영역 내의 이진 화상을 취득한다. 히스토그램들은, 각각의 이진화된 텍스트 영역 내의 각각의 수직 라인 및 수평 라인에 대하여 흑색 화소수를 카운트함으로써 생성된다. 수직 히스토그램 및 수평 히스토그램에 기초하여, 주기적인 히스토그램들이 나타나는 방향을 라인 방향으로서 정의하고, 히스토그램들의 화소수가 미리 결정된 임계값보다 같거나 크게 되는 부분을 문자 라인을 형성하는 부분으로서 정의하여, 띠 형상의 라인 화상들을 취득한다. 라인 방향에 수직인 방향의 각각의 라인 화상에 대하여 히스토그램들을 계산하며, 히스토그램들의 결과에 기초하여 각각의 문자의 화상을 추출한다. 이 추출된 범위는 하나의 문자의 외접 직사각형 정보가 된다. 이 경우, 흑색 화소수를 카운트함으로써 취득된 히스토그램들을 사용하여 판별을 행한다. 대안으로, 각각의 문자 영역은 각각의 라인이 흑색 화소들을 포함하는지의 여부를 나타내는 사영(projection)을 사용하여 판별될 수 있다.
특징 벡터를 취득하기 위해, 각각의 문자 화상의 외접 직사각형 내의 화상으로부터 에지 성분들 등을 추출하며, 취득된 특징 벡터를 사전에 등록된 문자 인식 사전 내의 특징 벡터들과 비교하여, 유사도들을 계산한다. 최대 유사도를 갖는 글자 타입(문자 타입)의 코드가 직사각형 내의 문자 화상에 대응하는 문자 코드로서 결정된다. 이러한 방법으로, 텍스트 영역에 포함된 문자들의 모든 외접 직사각형들에 문자 코드들을 할당함으로써 취득된 데이터를 취득한다. 다음으로, 각각의 텍스트 영역으로부터 취득된 문자 코드들이 문자 코드열을 형성한다.
또한, 영어 문자 영역들에 대하여, 이웃 문자들 사이에 단어간 스페이스(inter-word space)가 존재하는지의 여부를 체크한다. 예를 들어, 문자들 사이의 거리가 넓은지의 여부를 체크하고, 문자 화상들의 문자 인식 결과들의 문자열과 단어 사전 사이의 매칭을 실행함으로써 단어의 불연속을 체크한다. 따라서, 단어간 스페이스가 존재하는지의 여부를 체크할 수 있다. 단어간 스페이스가 존재한다고 판정되면, 그 스페이스의 문자 코드를 문자 코드열에 삽입한다.
도 10 및 도 11은 도 8에 도시된 텍스트 영역(801)에 대한 문자 인식 처리의 결과의 일례를 도시한다. 문자 라인들(1001, 1002)은 도 10의 텍스트 영역(1000)으로부터 추출된다. 3개의 문자들(1011, 1012, 1013)은 문자 라인(1001)으로부터 추출되며, 각각 문자 인식 처리된다. 그 결과, 이 문자들에 대응하는 문자 코드들 이 취득되므로, 도 11의 문자 코드열 데이터(1101)가 생성된다. 마찬가지로, 문자 라인(1002)으로부터 추출된 3개의 문자들(1021, 1022, 1023)이 문자 인식 처리되므로, 도 11의 문자 코드열 데이터(1102)가 생성된다.
상기 설명은 일례이며, 그외의 공지된 문자 인식 기술들을 이용하는 처리 방법들을 사용하여 문자 코드열을 취득할 수 있다는 것에 유의한다. 도 10 및 도 11은 일본어 텍스트 영역이 문자 인식 처리되는 경우를 도시한다. 그러나, 본 발명은 일본어에 한정되지 않는다. 예를 들어, 다른 언어들(예를 들어, 영어의 알파벳 등)을 포함하는 텍스트 영역들을 유사하게 문자 인식 처리하여 문자 코드들을 취득한다.
단계 S206에서, CPU(102)는 처리될 페이지 화상 데이터, 영역 데이터 및 문자 코드열 데이터를 서로 연관시켜 메모리(103) 또는 하드 디스크(104)에 일시적으로 보존한다.
단계 S207에서, CPU(102)는 처리될 화상 데이터가 아직 남아 있는지를 체크한다. 처리될 화상 데이터가 아직 남아 있으면, 처리는 단계 S203으로 복귀하여 다음 페이지 화상 데이터를 처리한다. 그렇지 않은 경우, 처리는 단계 S208로 진행한다.
단계 S208에서, CPU(102)는 메모리(103) 또는 하드 디스크(104)에 보존된 모든 페이지들에 대한 데이터를 페이지 순서대로 결합하여, 복수의 페이지를 포함하는 검색 가능한 전자 문서를 생성한다.
단계 S208에서 생성된 전자 문서의 데이터는, 디스플레이 등에 각각의 페이 지 화상을 전자적으로 표시하거나 또는 프린터에 의해 각각의 페이지 화상을 인쇄하는데 필요한 묘화 정보, 및 사용자가 검색 키워드들을 사용하여 검색을 수행하는 것을 가능하게 하는 내용 정보 모두를 유지할 수 있다. 그러한 조건들을 만족시키는 데이터 포맷들로서, PDF, SVG 등이 이용 가능하다. 그러나, 본 실시예에서는, 생성될 전자 문서의 포맷으로서 폰트 데이터를 임베딩(embed)하는 것이 지정된다고 가정한다. 필수적인 조건으로 폰트 데이터의 임베딩을 포함하는 포맷으로서, 예를 들어, XPS 등이 공지되어 있다. XML 표현을 사용하는 페이지 기술 포맷(page description format)의 사양의 가정 하에 이하의 설명을 제공한다. 그러나, 본 발명은 그러한 특정한 포맷에 한정되지 않는다.
도 6은 2개의 페이지들에 대한 페이지 화상들을 포함하는 문서가 입력되는 경우 본 실시예의 설명에서 사용되는 페이지 기술 포맷의 사양에 기초하여 생성되는 전자 문서의 페이지 기술 예를 도시한다. 본 실시예에서는, 페이지 기술 포맷의 일례로서, 도 6에 도시된 바와 같이, 설명들이 단일 파일 내에 함께 행해진다. 그러나, 본 발명이 이에 한정되지 않는다. 예를 들어, 이하의 포맷(예를 들어, XPS)을 사용할 수 있다. 즉, 독립적인 폰트 데이터 파일이 준비되고, 본체 파일로부터 참조되며, 이 파일들은, 예를 들어, ZIP 압축 등에 의해 단일 전자 문서로 결합된다.
이하, 도 4의 흐름도를 참조하여 단계 S208에서 실행되는 전자 문서 데이터 생성 처리의 일례를 설명한다.
단계 S401에서, CPU(102)는 전자 문서의 시작 태그(start tag)를 기술한다. 본 설명의 페이지 데이터 기술 포맷 사양에서, 요소 <Document>는 전자 문서의 시작 태그를 나타낸다. <Document> 및 <Document>의 종료를 나타내는 </Document>에 의해 바운딩되는(bounded) 범위 내의 XML 기술은 이 문서에 포함된 각각의 페이지들과 연관된 기술 데이터에 대응한다는 것에 유의한다. 도 6의 예시에서, 참조 번호 601은 전자 문서의 시작 태그를 나타내며, 612는 종료 태그를 나타낸다.
단계 S402에서, CPU(102)는 기술되지 않은 페이지들 중 제1 페이지와 연관된 데이터를 특정하여, 처리될 데이터로서 정의한다.
단계 S403에서, CPU(102)는 처리될 페이지 데이터의 시작을 나타내는 태그를 생성하고 기술한다. 본 예시에서, 요소 태그 <Page>는 페이지 데이터의 시작을 나타내고, <Page> 및 종료 태그로서 기능하는 </Page>에 의해 바운딩되는 범위 내의 XML 기술은 이 페이지 내의 묘화 데이터 및 내용 데이터에 대응한다. <Page> 태그는 페이지의 화소 폭 및 높이를 나타내는 속성들 "Width"와 "Height" 및 해상도를 나타내는 속성 "Dpi"를 사용하여 페이지의 물리적인 사이즈를 기술하며, 페이지 번호를 나타내는 속성 "Number"를 사용하여 페이지 번호도 기술한다.
도 6의 기술 예에서, <Page> 요소의 시작 태그(602)는 페이지의 폭 "Width"가 "1680"이고, 높이 "Height"가 "2376"이고, 해상도 "Dpi"가 "200"이며, 페이지 번호 "Number"가 "1"이다고 기술한다. 제1 페이지의 데이터는 종료 태그(606)까지의 범위(요소들(603 내지 606)) 내에 기술된다.
단계 S404에서, CPU(102)는 페이지를 형성하는 데이터 중 화상의 묘화 데이터를 나타내는 태그를 생성하고 기술한다.
본 설명의 페이지 데이터 기술 포맷 사양에서는, 1개의 <Image> 요소가 1개의 화상의 묘화 데이터를 나타낸다고 가정한다. 또한, 화상 데이터의 내용들은 속성 "Data" 내에 기술되며, 페이지 내의 그 화상의 묘화 위치는 속성들 "X", "Y", "Width" 및 "Height"의 좌표 정보를 사용하여 기술된다고 가정한다. 페이지가 복수의 화상을 포함하면, 각각의 화상 데이터는 나타나는 순서대로 위쪽으로 복수의 라인 내에 기술된다. 속성 "Data"는 압축된 화상 데이터 포맷으로 화상 데이터의 내용들을 기술한다는 것에 유의한다. 압축 방법으로서, 컬러 또는 그레이 화상에 대하여 JPEG 압축된 코드열을 사용하거나, 또는 이진 화상에 대하여 MMR 압축된 코드열을 사용한다.
도 6의 요소(603)는 문서의 제1 페이지의 스캔 화상을 전체 페이지 상에 묘화하도록 정의한다. 도 6의 요소(603)는 화상의 위치 및 사이즈를 [X = "0", Y = "0", Width = "1680", Height = "2376"]으로서 기술한다. 또한, 요소는 화상을 JPEG 압축하여 생성된 코드열의 문자열을 속성 "Data"의 값으로서 기술한다("Data" 속성의 문자열은 도면의 간략화를 위해 도 6에서 생략되어 있음). 이러한 방법으로, <Image> 요소(603)를 기술한다. 스캔 화상의 해상도는 스캔 화상이 JPEG 압축되어 저장되기 전에 필요에 따라 변경될 수 있다는 것에 유의한다(예를 들어, 600 dpi로 스캐닝된 화상의 해상도는 300 dpi로 변경될 수 있으며, 그 화상은 보존될 수 있다).
단계 S405에서, CPU(102)는 페이지를 형성하는 데이터 중 문자들의 묘화 데이터를 나타내는 기술을 생성한다.
본 설명의 페이지 기술 포맷 사양에서, 1개의 <Text> 요소는 1개의 라인에 대한 문자들의 묘화 데이터를 나타낸다. <Text> 요소에 기술된 속성 데이터는 "Direction", "X", "Y", "Font", "Size", "Color", "String", "CWidth", "CGlyphId" 등을 포함한다. 속성 "Direction"은 문자열이 수직으로 또는 수평으로 작성되는지를 나타낸다는 것에 유의한다. 속성들 "X" 및 "Y"는 문자 시작 위치의 좌표들을 지정한다. 속성 "Font"는 문자 코드를 묘화하는데 필요한 폰트 데이터의 ID를 지정한다. 속성 "Size"는 폰트 사이즈를 지정한다. 속성 "Color"는 4개의 값의 세트, 즉, R 성분 값, G 성분 값, B 성분 값 및 투명도를 나타내는 알파 채널 값을 사용하는 묘화 시의 문자 컬러를 지정한다. 속성 "String"은 문자열의 내용들(문자 코드열)을 지정한다. 속성 "CWidth"는 "String" 내의 각각의 문자로부터 다음 문자까지의 문자 간격을 지정한다. 속성 "CGlyphId"는 문자 형상 데이터의 ID들, 즉, "String" 내의 각각의 문자들의 묘화 시에 사용되는 글리프들을 지정한다. "Direction"이 지정되지 않은 경우, 수평 작성이 디폴트로 설정된다는 것에 유의한다.
각각의 <Text> 요소를 형성하는 문자 코드열으로서, 도 2의 단계 S205에서 생성된 문자 코드열들의 데이터는, 문자 라인들, 즉, 수직으로 또는 수평으로 연결되는 문자 세트들에 대응하여 추가로 분할되어 사용된다.
도 6의 기술 예에서, 2개의 <Text> 요소들(604, 605)은 제1 페이지의 문자 묘화 기술들, 즉, 도 11의 문자 코드열 데이터(1101, 1102)에 대응하는 기술들과 연관된다. 예를 들어, 도 11의 데이터(1101)의 3개의 문자들을 포함하는 수평으로 작성된 문자열 "
Figure 112009045377043-pct00003
"에 대응하는 <Text> 요소(604)에서는, 이하의 속성들이 지정된다.
속성들 "X" 및 "Y"에서, X = "236" 및 Y = "272"는 3개의 문자들에 대한 외접 직사각형의 좌측 상단의 좌표들로서 지정된다. 속성 "Direction"에서는, 수평 작성을 나타내는 "Horizontal"이 지정된다.
폰트 타입을 나타내는 속성 "Font"에서는, "Font01"이 지정된다. 폰트 사이즈를 나타내는 속성 "Size"에서는, 문자 라인 내의 문자들의 높이들로부터 유추하여 "97" 화소가 지정된다. 묘화 시의 문자 컬러를 나타내는 속성 "Color"에서는, R 성분 값 = G 성분 값 = B 성분 값 = 0 및 알파 채널 = 255가 지정된다(즉, 투명 컬러가 지정됨).
문자열의 내용들(각각의 문자들에 대응하는 문자 코드들의 열)을 나타내는 속성 "String"에서는, "0x2422, 0x2424, 0x2426"이 지정된다. 전술된 예시에서는, 도 7에 도시된 일본어 문자열의 문자 인식 시에 취득되는 문자 코드들이 기술된다. 그러나, 도 17에 도시된 문서 화상 내의 영어 문자열의 문자 인식 시에는, 알파벳들의 문자 코드들이 기술된다. 각각의 문자들의 문자 간격을 나타내는 속성 "CWidth"에서, 최초의 2개의 문자들에 대한 우측의 이웃하는 문자와 좌측 끝 사이의 좌표 차이들, 및 최종 문자에 대한 자체 문자 폭에 대응하는 값, 즉, "104, 96, 59"가 지정된다.
속성 "CGlyphId"에서는, 각각의 문자의 문자 형상 데이터에 매칭되는 글리프의 ID가 일반적으로 지정된다. 그러나, 본 실시예에서, 투명 문자의 문자 형상이 스캔 화상 상에 묘화되므로, 사용자는 문자 형상에 관계없이 그것을 시각적으로 확인하지 못한다. 따라서, 본 실시예에서는, 상이한 문자들에 대해서도 문자 형상 데이터(폰트 데이터)를 감소시키기 위해 동일한 글리프 ID가 지정된다. 따라서, 도 6의 예시에서는, 동일한 속성 값들 "0, 0, 0"이 속성 "CGlyphId"에 기술된다. 이 글리프 ID에 의해 지정되는 문자 형상은 간단한 형상(예를 들어, 직사각형)일 수 있다. 글리프 형상의 세부사항들은 후술된다는 것에 유의한다.
상기 속성 값들은 단지 예시들이며, 동일한 의미들을 갖는 그외의 값들을 사용하여 기술될 수 있다는 것에 유의한다. 예를 들어, 폰트 사이즈를 나타내는 속성 "Size"는, 화소 높이 및 화상 해상도에 기초하여 화소수 대신에 포인트수 등과 같은 값을 사용하여 기술될 수 있다.
상기 예시에서는, 각각의 문자 라인의 외접 직사각형의 좌측 상단의 좌표 위치가 기준으로서 지정되고, 폰트 사이즈는 문자 라인의 높이와 매칭되도록 지정되어, 문자열은 스캔 화상의 문자 화상들의 위치들에 거의 오버레이(overlaid)되도록 묘화된다. 그러나, 본 발명은 이에 한정되지 않는다. 특히, 본 실시예에서는 묘화될 각각의 문자에 대하여 투명 컬러가 지정되고, 사용자는 그것을 보지 못하므로, 묘화될 문자열은 대응하는 문자 화상들의 바로 위에 오버레이될 필요가 없다. 예를 들어, 투명 문자열은 대응하는 문자 화상들의 하단 부분들에 묘화될 수 있다. 예를 들어, 도 6의 요소(604)의 예시에서, X = "236", Y = "368" 및 Size = "10"이 설정되면, 낮은 높이를 갖는 투명 문자열이 문자 화상들의 하단들에 묘화된다. 이때, 묘화될 투명 문자열의 사이즈(높이)는 문자 화상들보다 작은 미리 결정된 사이 즈(예를 들어, 10)이도록 설정된다.
묘화될 투명 문자열은 추후에 검색 키워드들을 사용하여 검색을 수행할 때 사용되며, 검색 키워드에 매칭되는 문자열은 강조 표시된다(예를 들어, 상이한 컬러를 갖도록 표시됨). 투명 문자열은 대응하는 문자 화상들의 위치들에 거의 대응하는 위치에 묘화되므로, 투명 문자열을 사용하여 검색이 수행되지만, 사용자에게는 문자 화상들이 검색에 의해 발견된 것처럼 보인다. 따라서, 검색을 수행할 때 문자들을 강조 표시하기 위해 투명 문자열을 사용하는 경우, 그것이 대응하는 문자 화상들의 하단들에 묘화되는 경우에도, 대응하는 문자 화상들은 그것들이 검색 시에 언더라인되는(underlined) 것처럼 강조 표시된다. 따라서, 아무런 문제가 발생하지 않는다. 투명 문자열의 묘화 위치는 하단에 한정되지 않는다. 예를 들어, 각각의 문자 화상의 하부 또는 상부의 절반 위치에 투명 문자열을 묘화하도록 기술이 행해질 수 있다.
단계 S406에서, CPU(102)는 페이지의 종료를 나타내는 </Page>를 기술한다.
CPU(102)는 단계 S407에서 기술될 페이지가 아직 남아 있는지를 체크한다. 기술될 페이지가 아직 남아 있는 경우, 처리는 단계 S403으로 복귀하여 다음 페이지를 처리할 페이지 화상으로서 갖는다. 기술될 페이지가 남아 있지 않은 경우, 처리는 단계 S408로 진행한다.
도 6의 기술 예에서, CPU(102)는 제2 페이지의 화상에 대하여 단계들 S404 내지 S406의 처리들을 실행하여, 요소들(607 내지 610)을 기술한다.
단계 S408에서, CPU(102)는 이 전자 문서 내의 문자열들을 묘화하는데 사용 되는 모든 글리프들을 포함하는 폰트 데이터의 내용들을 기술한다.
본 설명의 페이지 데이터 기술 포맷 사양에서, 폰트 데이터 내에 포함된 글리프 데이터는 <Font> 및 </Font>에 의해 바운딩되는 범위 내의 <Glyph> 요소로서 기술된다. <Font> 요소는 그 폰트의 타입을 나타내는 속성 "ID"를 포함한다. <Glyph> 요소는 글리프의 타입을 나타내는 속성 "ID", 및 그 ID에 대응하는 글리프(문자 형상)를 나타내는 속성 "Path"을 포함한다. 속성 "Path"는 좌측 하단의 위치를 원점으로 갖는 1024 × 1024 묘화 직사각형 단위 내에서 직선 또는 곡선 함수를 사용하여 글리프를 표현하도록 기술된다는 것에 유의한다.
도 6의 기술 예에서, <Font> 요소(611)에서는, Id = "Font01"의 폰트가 정의되며, 글리프 Id = "0"의 하나의 타입의 글리프가 그 요소 내에 정의된다. 이 글리프의 문자 형상을 나타내는 "Path" 속성 "M0,0 V-1024 H1024 V1024 f"는 "원점 (0, 0)으로 이동(MOVE)하고, 위로 1024 단위 수직 라인을 묘화하고, 우측으로 1024 단위 수평 라인을 묘화하고, 아래로 1024 단위 수직 라인을 묘화하고, 현재 포인트에서 개시 포인트까지 라인들을 묘화함으로써 바운딩되는 범위를 페인팅함"을 나타내는 글리프를 기술한다. 즉, 이 속성은 1024 × 1024 직사각형을 페인팅함으로써 취득되는 정사각형의 글리프를 표현하는 기술을 갖는다.
도 6의 <Font> 요소(611)의 기술은 일례이며, 삼각형, 원, 직선 등과 같은 그외의 간단한 문자 형상들을 정의할 수 있고, 문자 형상으로서 공백(스페이스 형상)을 정의할 수 있다는 것에 유의한다.
단계 S409에서, CPU(102)는 전자 문서의 종료를 나타내는 </Document>를 기 술하므로, 전자 문서의 생성을 종료한다. 생성된 전자 문서는 화상 처리 장치(100) 내의 메모리(103) 또는 하드 디스크(104)에 파일로서 보존된다. 보존 시에, 파일은 공지된 텍스트 압축 기술을 사용하여 압축될 수 있다.
도 2를 다시 참조하면, 단계 S209에서, CPU(102)는 단계 S208에서 생성된 전자 문서를 단계 S201에서 지정된 전송 방법에 의해 전송처(예를 들어, 화상 처리 장치(110))로 전송한다. 데이터 전송 처리 자체는 최신 기술을 사용하며, 그 설명은 제공되지 않는다.
전송처인 화상 처리 장치(110)는 전송된 전자 문서를 네트워크 인터페이스(114)를 통해 수신하며, 그것을 하드 디스크(113)에 저장한다. 데이터 수신 처리는 최신 기술을 사용하며, 그 설명은 제공되지 않는다.
장치의 하드 디스크에 저장된 전자 문서를 특정하기 위해 임의의 식별 정보(파일명 등)를 사용할 수 있다는 것에 유의한다. 예를 들어, 수신 시간과 연관된 문자열이 할당될 수 있다. 또한, 중복되지 않은 번호들이 선택되어 자동으로 할당될 수 있거나, 또는 사용자가 전자 문서의 생성 시에 그러한 정보를 지정할 수 있다.
이하, 도 3의 흐름도를 참조하여 전자 문서들을 검색하고 브라우징하기 위한 처리의 일례를 설명한다. 화상 처리 장치(110)가 검색을 수행하는 경우가 이하에 예시될 것이다. 그러나, 본 발명은 이에 한정되지 않으며, 화상 처리 장치(110)는 검색을 수행하도록 설계될 수 있다.
단계 S301에서, 사용자는 원하는 전자 문서의 문자열에 대하여 화상 처리 장 치(110)에 저장된 전자 문서 그룹을 검색하기 위해 유저 인터페이스(115)로부터 원하는 전자 문서의 텍스트 내에 포함될 수 있는 검색 키워드를 입력한다. k를 입력 문자열의 길이라고 한다.
단계 S302에서, CPU(111)는 화상 처리 장치(110)의 하드 디스크(113) 내의 모든 전자 문서 파일들이 검색 처리될 전자 문서 파일들을 포함하는지를 체크한다. 그러한 전자 문서 파일들이 포함되어 있으면, CPU(111)는 그것들로부터 하나의 전자 문서 파일을 특정하고, 그 파일이 압축되어 있으면 그 전자 문서 파일을 압축 해제한다. 다음으로, 처리는 단계 S303으로 진행한다. 검색 처리할 전자 문서가 존재하지 않으면, 처리는 단계 S312로 진행하여, 모든 전자 문서들에 대한 검색 처리가 완료되었다고 사용자에게 통지한다.
단계 S303에서, CPU(111)는 단계 S302에서 특정된 전자 문서 내의 텍스트 데이터에 대하여 검색을 수행하기 위한 준비들을 실행한다. 이 단계에서, CPU(111)는 문서 내의 텍스트(문자 코드들)를 일렬로 배열하고, 검색 개시 위치 n을 초기화한다, 즉, n = 0으로 설정한다.
이하, 단계 S303에서의 처리 예를 설명한다. CPU(111)는 XML 파서(parcer)를 사용하여 전자 문서 데이터를 파스(parse)하고, <Text> 요소가 나타날 때 속성 "String" 내에 기술된 문자 코드열을 취득한다. CPU(111)는 "String" 속성에 기술된 문자 코드열에 기초하여, 각각의 문자의 문자 코드와 전자 문서 내의 문자 코드 값의 기술 위치의 세트를 문자 코드열 테이블에 추가한다. 문자 코드 값의 기술 위치는, 대응하는 문자 코드를 기술하는 문자열의 헤드의 위치를 나타내기 위해 전 자 문서 데이터의 헤드로부터 카운트된 문자수이다. 도 12는 도 6에 도시된 전자 문서에 기초하여 생성된 문자 코드열 테이블의 일례를 도시한다. 예를 들어, 도 6에 도시된 전자 문서 내의 <Text> 요소(604)의 속성 "String" 내에 기술된 3개의 문자 코드들 "0x2422", "0x2424" 및 "0x2426"은 이 전자 문서의 헤드로부터 카운트된 1093 번째, 1100 번째 및 1107 번째 문자 위치들로부터 각각 기술된다. 마찬가지로, 나머지 6개의 문자 코드들의 기술 위치들은, 도 12에 도시된 문자 코드열 테이블을 생성하기 위해 요소들(605, 609)에 기초하여 계산된다. 도 12에서, 문자열 번호(No.)는 0부터 차례대로 할당된다.
단계 S304에서, CPU(111)는 문자 코드열 테이블 내의 각각의 문자 코드가 검색 개시 위치 n을 시작 지점으로서 갖는 검색 키워드의 문자 코드열과 매칭되는지를 체크한다. 검색 키워드와 매칭되는 부분이 검출되면, CPU(111)는 그때의 변수 n을 매칭 문자열의 헤드 위치로서 설정하고, 처리는 단계 S305로 진행한다.
단계 S304에서 매칭이 발견되지 않는다고 판정되면, 처리는 단계 S309로 진행하여, 문자 코드열 테이블 내의 모든 문자들이 검색 처리되었는지를 체크한다. 문자 코드열 테이블에 저장된 모든 문자 코드열의 검색 처리가 완료되었다고 판정되는 경우, 프로세스는 단계 S311로 진행하여, 검색 처리될 현재 문서인 전자 문서의 검색 처리의 완료를 통지한다. 반면에, 모든 문자열들의 검색 처리가 아직 완료되지 않았다고 판정되는 경우, 처리는 단계 S310으로 진행하여, 변수 n을 1만큼 증가시킨다. 다음으로, 처리는 단계 S304로 복귀하여, 테이블 내의 다음 검색 개시 위치 n에서의 문자 코드열이 검색 키워드와 매칭되는지를 체크한다. N을 문자 코드열 테이블 내에 저장된 문자 코드들의 총 수라고 하면, n < (N - k)이면, 단계 S309에서 모든 문자 코드열들의 검색 처리가 아직 완료되지 않았다고 판정되며, n ≥ (N - k)이면, 검색 처리가 완료되었다고 판정된다는 것에 유의한다.
예를 들어, 검색 키워드 "
Figure 112009045377043-pct00004
"의 문자 코드열 "0x242b" 및 "0x242d"를 헤드로부터 스캔함으로써 그 검색 키워드와 매칭되는 부분에 대하여 도 12의 문자 코드열 테이블을 검색할 때, 단계들 S304, S309 및 S310의 처리들을 반복하여, 제1 매칭 문자열의 문자열 번호로서 n = 3을 추출한다.
단계 S305에서, CPU(111)는 문자열 번호 n에 대응하는 문자열 데이터가 속하는 전자 문서의 페이지를 특정한다.
예를 들어, 전자 문서 데이터를 파스할 때, <Text> 요소를 기술하는 <Page> 요소가 판별되면, CPU(111)는 "Number" 속성에 기초하여 페이지 번호를 식별할 수 있다. 따라서, CPU(111)는 도 12로부터 단계 S305에서 특정된 위치 n에 대응하는 문자열의 기술 위치를 취득하며, 기술 위치가 사이에 존재하는 <Page> 요소들을 검출함으로써 그 문자열이 속하는 페이지를 특정한다. 단계 S303에서 전자 문서 데이터를 파스할 때, CPU(111)가 각각의 <Text> 요소들을 기술하는 <Page> 요소들을 판별하고, 그것들을 도 12의 문자 코드열 테이블에 저장하는 경우, 그것은 문자열 번호에 기초하여 페이지 번호를 쉽게 특정할 수 있다. 단계 S304에서의 매칭 문자열의 검출 방법 및 단계 S305에서의 페이지 번호의 특정 방법은 전술된 예시들에 한정되지 않는다는 것에 유의한다.
단계 S306에서, CPU(111)는 단계 S305에서 판정된 페이지를 그 묘화 기술에 따라 묘화하고, 그 페이지를 유저 인터페이스(115) 상에 표시한다. 이때, n으로부터 n + k - 1까지의 범위 내에 있는 문자열 번호(No.)를 묘화하는 경우, CPU(111)는, 사용자가 그 문자에 대응하는 위치를 쉽게 식별하는 것을 가능하게 하도록 강조 표시 효과를 이용하여 그 문자들을 묘화한다. 이하, 검색 키워드에 매칭되는 부분에 강조 표시 효과를 제공하는 묘화의 세부사항들을 설명한다.
도 5의 흐름도를 참조하여 단계 S306에서 실행되는 페이지 묘화 처리를 설명한다.
단계 S501에서, CPU(111)는 특정된 페이지 번호에 대응하는 <Page> 요소의 "Width" 및 "Height" 속성들의 값들에 기초하여 묘화 결과로서 페이지 화상의 사이즈를 결정한다.
단계 S502에서, CPU(111)는 페이지 화상의 화소 정보를 저장할 수 있는 메모리를 확보한다.
단계 S503에서, CPU(111)는 <Page> 요소의 자식 요소(child element)들 중 처리될 하나의 요소를 추출하고, 처리될 요소의 타입을 결정한다. 처리될 요소가 <Image>이다고 판정되면, 처리는 단계 S504로 진행하며, 처리될 요소가 <Text>이다고 판정되면, 처리는 단계 S505로 진행한다. <Page> 요소의 모든 자식 요소들이 이미 처리되었으면, 처리는 단계 S517로 진행한다.
단계 S504에서, CPU(111)는 <Image> 요소의 "Data" 속성 값으로 기술된 압축 화상을 추출한다. 또한, CPU(111)는 속성들 "X", "Y", "Width" 및 "Height"에 의해 표현되는 페이지 화상 내의 전체 묘화 직사각형 영역에 맞도록 추출된 화상을 스케일링하고, 그 화상을 단계 S502에서 확보된 페이지 화상 메모리의 영역에 덮어쓴다. 그 후에, 처리는 단계 S503으로 복귀한다.
단계 S505에서, CPU(111)는 처리될 <Text> 요소에 기술된 각각의 속성들로부터 문자 개시 위치 (X, Y), 문자 폰트 ID (F), 문자 사이즈 (S) 및 문자 컬러 (C)를 취득한다. 또한, CPU(111)는 그 <Text> 요소에 기술된 문자수 (N)을 취득한다.
단계 S506에서, CPU(111)는 글리프 화상을 생성하는데 필요한 메모리를 확보한다. 이 단계에서, CPU(111)는 1024 × 1024 화소들에 대한 이진 화상 메모리를 확보한다고 가정한다.
단계 S507에서, CPU(111)는 관심있는 문자를 나타내는 카운터 i를 "1"로 초기화한다.
CPU(111)는 단계 S508에서 i > N인지를 체크한다. i ≤ N이면, 처리는 단계 S509로 진행하고; i > N이면, CPU(111)는 그 <Text> 요소의 처리가 완료되었다고 판정하고, 처리는 단계 S503으로 복귀한다.
단계 S509에서, CPU(111)는 <Text> 요소의 속성 "String"으로부터 i 번째 문자의 문자 코드 (P)를 취득하고, 속성 "CGlyphId"로부터 i 번째 문자의 글리프 ID (Q)를 취득한다.
단계 S510에서, CPU(111)는 폰트 ID = (F)를 갖는 <Font> 요소 기술에 대한 전자 문서를 검색하고, 그 <Font> 요소 기술의 자식 요소들 중 글리프 ID = (Q)를 갖는 <Glyph> 요소로부터 "Path" 속성을 취득한다.
단계 S511에서, CPU(111)는 단계 S510에서 취득된 "Path" 속성 값에 따라 단 계 S506에서 확보된 글리프 화상 생성 메모리 상에 글리프 이진 화상을 생성한다. 글리프 이진 화상은, 예를 들어, 묘화될 부분이 "1"로서 표현되고 묘화되지 않을 부분이 "0"으로서 표현되는 화상이라는 것에 유의한다. 묘화될 부분 "1"은 추후에 투명 컬러로 묘화된다는 것에 유의한다.
단계 S512에서, CPU(111)는 문자 사이즈 속성의 값 (S)에 따라 직사각형의 사이즈를 갖도록 글리프 이진 화상을 스케일링한다.
단계 S513에서, CPU(111)는 페이지 화상 메모리 내의 좌표 위치 (X, Y)를 기준으로 하는 직사각형 영역에, 단계 S512에서 스케일링된 글리프 이진 화상을 묘화한다. 페이지 화상 상에 중첩되도록 이진 화상을 묘화할 때의 각각의 화소의 화소 값은 이하의 식에 의해 정의된다. 글리프가 묘화되기 전의 페이지 화상의 화소 값 (r, g, b)에 대하여 글리프가 묘화된 후의 각각의 화소 값은 (r', g', b')가 된다고 가정한다.
글리프 이진 화상의 화소 값 "0"에 대응하는 화소: (r', g', b') = (r, g, b)
글리프 이진 화상의 화소 값 "1"에 대응하는 화소: (r', g', b') = (F(r, Cr), F(g, Cg), F(b, Cb))
여기에서, F(r, Cr) = (r × A + Cr × (255 - A))/255, F(g, Cg) = (g × A + Cg × (255 - A))/255 및 F(b, Cb) = (b × A + Cb × (255 - A))/255이다. 또한, A는 문자 컬러 C에 대한 알파 채널 값이고, Cr, Cg 및 Cb는 문자 컬러 C의 R, G 및 B 값들이다. "255"가 알파 채널 값으로 지정되는 경우, 이 글리프 이진 화상은 투 명하기 때문에, 글리프 이진 화상의 화소 값 "1"에 대응하는 화소에 대해서도 (r', g', b') = (r, g, b)이다.
CPU(111)는 단계 S514에서, 예를 들어, 도 12에 도시된 문자 코드열 테이블을 사용하여 관심있는 i 번째 문자가, n으로부터 n + k - 1까지의 범위 내에 있는 문자열 번호(No.)인, 문자인지를 체크한다. 더 구체적으로, n으로부터 n + k - 1까지의 범위 내의 각각의 문자들의 기술 개시 위치들은 문자 코드열 테이블로부터 검출될 수 있기 때문에, 상기 체크 처리는 관심있는 i 번째 문자의 개시 위치가 이 기술 개시 위치들 중 하나와 매칭되는지의 여부에 기초하여 달성된다. 관심있는 i 번째 문자가 n으로부터 n + k - 1까지의 범위 내에 있는 문자열 번호인 문자이면, 처리는 단계 S515로 진행하며; 그렇지 않은 경우, 처리는 단계 S516으로 진행한다.
단계 S515에서, CPU(111)는 관심있는 문자가 검색 문자열로서 검출된 범위 내에 있음을 나타내기 위해 강조 표시 처리를 실행한다. 더 구체적으로, 문자열이 묘화된 범위에 대응하고 페이지 화상 메모리의 위치 (X, Y)로부터 시작되는 직사각형의 범위 내의 화소들의 화소 값들 (r, g, b)는, 이하에 의해 주어지는 화소 값들 (r', g', b')로 변경된다:
(r', g', b') = (G(r), G(g), G(b))
(G(r) = 255 - r, G(g) = 255 - g, G(b) = 255 - b에 대하여).
컬러를 반전시키는 강조 표시 처리는 일례이며, 그외의 종류의 강조 표시 처리를 사용할 수 있다는 것에 유의한다. 예를 들어, 글리프 이진 화상의 화소 값 "0"을 갖는 것들에 대응하는 화소들은 변경되지 않을 수 있으며, 글리프 이진 화상 의 화소 값 "1"을 갖는 것들에 대응하는 화소들의 화소 값들 (r, g, b)는 상기 (r', g', b')로 변경될 수 있다. 대안으로, 강조 표시될 직사각형 영역의 폭으로서, 글리프 이진 화상의 폭 대신에 문자들의 공간 폭을 지정하는 속성 "CWidth"의 값을 사용하여, 연속하는 검색 문자열을 간격 없이 채울 수 있다. 문자들의 문자 간격을 이용하여 강조 표시 처리를 실행하는 경우, 도 16에 도시된 바와 같이, 문자들 사이의 공간도 채워진다.
단계 S516에서, CPU(111)는 n 번째 문자의 문자 간격("CWidth" 속성의 값)을 X에 더하고, n을 1만큼 증가시킨다(n = n + 1). 다음으로, 처리는 단계 S508로 복귀한다.
단계 S517에서, CPU(111)는 1개의 페이지에 대한 묘화 결과, 즉, <Page> 요소 내의 <Image> 및 <Text> 요소 기술들이 묘화되는 페이지 화상 메모리의 내용들을 유저 인터페이스(115)의 표시 버퍼로 전송하여, 묘화 결과를 표시한다.
이하, 도 6에 도시된 전자 문서의 제1 페이지의 묘화 기술을 일례로 하여, 도 5에 도시된 흐름도의 처리를 실행하는 경우를 설명한다.
단계 S501에서의 처리에 의해, CPU(111)는 도 6의 제1 페이지의 <Page> 요소의 속성 값들 Width = "1680" 및 Height = "2376"에 기초하여 페이지의 화상 사이즈로서 1680 × 2376 화소들을 결정한다.
단계 S502에서의 처리에 의해, CPU(111)는, 예를 들어, 페이지 화상이 RGB 24비트 컬러로 표현되는 경우 1680 × 2376 × 3 바이트의 메모리를 확보한다.
단계 S504에서의 처리에 의해, CPU(111)는 도 6의 <Image> 요소(603)의 "Data" 속성 값에 기술된 압축된 코드로부터 화상을 추출하고, 그 화상을 페이지 화상 메모리의 전체 영역 상에 덮어쓴다. 본 예시에서 화상 데이터는 원래 페이지의 화소와 동일한 1680 × 2376 화소들의 사이즈를 갖기 때문에, CPU(111)는 스케일링 처리를 적용하지 않는다는 것에 유의한다.
단계 S505에서의 처리에 의해, CPU(111)는 도 6의 <Text> 요소(604)로부터 X = "236", Y = "272", 문자수 N = "3", 문자 폰트 ID = "Font01", 문자 사이즈 = "97" 및 문자 컬러 "0, 0, 0, 255"를 취득한다.
단계 S509에서의 처리에 의해, CPU(111)는 먼저 <Text> 요소의 "String" 속성의 제1 문자 코드 = 0x2422 및 GlyphId = "0"을 취득한다.
단계 S511에서의 글리프 이진 화상의 생성 전에, CPU(111)는 단계 S510에서 취득된 문자 폰트 ID = "Font01"에 기초하여 그 ID를 갖는 글리프의 "Path" 데이터를 취득한다. 도 6의 예시에서, CPU(111)는 <Font> 요소(611)에 포함된 <Glyph> 요소의 Id = "0"의 "Path" 속성을 취득한다. 단계 S511에서, CPU(111)는 <Glyph> 요소의 Id = 0의 취득된 "Path" 속성의 데이터에 기초하여 글리프 화상을 생성한다. 더 구체적으로, CPU(111)는 "Path" 속성의 기술에 따라 1024 × 1024 화소들의 전체 글리프 화상 영역을 "1"로 채움으로써 화상을 생성한다.
도 6에 도시된 전자 문서에 기술된 <Text> 요소들(604, 605) 내의 문자들의 모든 "GlyphId" 값들은 "0"이기 때문에, 모든 문자들에 대하여 단계 S511에서 생성된 글리프 화상들은 결과적으로 서로 동일하다. 따라서, CPU(111)는 단계 S511에서 생성된 글리프 화상을 메모리에 일시적으로 보존할 수 있으며, 다른 문자를 묘 화할 때 일시적으로 보존된 글리프 화상을 사용할 수 있다.
단계 S512에서, CPU(111)는 문자 사이즈 = "97"에 기초하여 글리프 문자 화상을 97 × 97 화소들로 스케일링한다.
단계 S513에서, 페이지 화상 상의 위치 (X, Y) = (236, 272)로부터 시작하는 97 × 97 화소들의 직사각형의 범위는 스케일링된 글리프 문자 화상에 의해 묘화될 영역으로서 기능한다. 도 6의 예시에서, 문자 컬러 = "0, 0, 0, 255", 즉, 알파 채널 값 A = 255이기 때문에, 글리프 이진 화상 내의 대응하는 화소 값이 "1"인 경우에도 (r', g', b') = (r, g, b)가 항상 설정된다. 즉, 페이지 화상 내의 직사각형 영역 내의 화소 값들은 단계 S513의 처리 전후에 변경되지 않는다.
CPU(111)는, 단계 S514에서 문자 코드열 테이블에 기초하여, 도 6의 <Text> 요소(604) 내의 제1 문자가 문자열 번호들 중 n으로부터 n + k - 1까지의 범위에 대응하는 문자인지를 체크한다.
이 경우, 도 12의 문자 코드열 테이블은, 예를 들어, 도 6의 전자 문서에 기초하여 생성되며, 도 3의 단계 S304에서 키워드에 매칭된다고 판정된 문자열 번호들의 범위는 3과 4이다고 가정한다. 이때, 도 6의 <Text> 요소(604) 내의 제1 문자 코드는 3과 4의 범위 내에 있지 않기 때문에, 처리는 단계 S516으로 진행한다. <Text> 요소(604) 내의 제1 문자 코드 기술의 시작 문자 위치는 1093이고, 문자 코드열 테이블 내의 문자열 번호들 3과 4의 범위 내의 문자들의 임의의 기술 위치와 매칭되지 않기 때문에, <Text> 요소(604)의 제1 문자는 3과 4의 범위에 대응하는 문자가 아니라고 판정될 수 있다.
그 후에, 도 6의 <Text> 요소(605) 내의 제1 문자의 처리의 실행 시에, 단계 S514에서 제1 문자가 문자 코드열 테이블 내의 3과 4의 범위 내의 문자들의 시작 위치와 매칭된다고 판정되며, 단계 S515에서 강조 표시 묘화 처리가 실행된다.
이 문자에 대하여, 단계 S515에서 CPU(111)는 페이지 화상 메모리의 위치 (236, 472)로부터 시작하는 92 × 92 영역 내의 화소 값들 (r, g, b)를 (G(r), G(g), G(b))로 변경한다.
모든 <Text> 요소들이 묘화된 후에, 전술된 바와 같이, 도 13에 도시된 페이지 화상을 취득한다. 단계 S304에서 키워드에 매칭된다고 판정된 범위 내의 문자들에 대응하는 영역들에 대하여, 휘도 값들은 각각의 직사각형에서 반전되며, <Image> 요소에 의해 묘화된 화상 데이터는 나머지 문자들에 대응하는 영역들에서 변경되지 않는다. 상기 예에서는 일본어 문서의 경우를 설명하였음에 유의한다. 또한, 영어 문서에 대하여 동일한 처리를 적용한다. 예를 들어, 도 4에 도시된 전자 문서 데이터 생성 처리가 도 17에 도시된 화상에 기초하여 실행되는 경우, 도 6의 전자 문서의 요소들(604, 605)이 알파벳 문자 코드들을 기술하는 전자 문서 데이터가 생성된다. 예를 들어, 문자열 "EF"를 사용하여 이 전자 문서 데이터에 대한 검색을 수행할 때, 도 5에 도시된 묘화 처리가 실행되며, 도 18에 도시된 바와 같이, 발견된 문자열에 대응하는 직사각형 영역들 내의 화상들이 강조 표시된다.
이와 같이, 발견된 문자열이 강조 표시되므로, 사용자는 단계 S306에서 표시된 페이지의 화상만을 관찰함으로써 페이지 내의 검색 키워드의 위치를 쉽게 판정할 수 있다.
도 14A 및 도 14B는 다른 방법에 의한 강조 표시 설정을 채택할 때 페이지 화상을 표시하는 방법을 나타내는 일례를 도시한다. 도 14A의 페이지 묘화 기술은, 각각의 문자 화상보다 작은 사이즈(예를 들어, Size = "10")를 갖는 투명 문자가, 도 4의 단계 S405에서 <Text> 요소의 속성 데이터를 기술할 때 대응하는 문자 화상의 하부(하단)에 대응하는 위치에 묘화된다고 기술한다. 이러한 페이지 묘화 기술에 기초하여, 각각의 문자의 문자 간격 × 문자 사이즈의 직사각형 범위가 단계 S515의 강조 표시 처리에서 강조 표시되는 경우, 도 14B에 도시된 바와 같이, 강조 표시된 페이지 화상이 생성된다. 이와 같이, 언더라인된 발견 부분이 강조 표시된 것처럼 보이기 때문에, 사용자는 페이지 내의 발견된 문자열의 위치를 쉽게 판정할 수 있다. 도 14A 및 도 14B는 일본어 문자열들을 포함하는 문서 화상의 예시를 도시하며, 영어(알파벳) 문자열들을 포함하는 문서 화상에 동일한 처리를 적용할 수 있다는 것에 유의한다.
도 3을 다시 참조하면, 단계 S307에서, CPU(111)는 사용자에게 검색 및 브라우징 처리를 종료할지 또는 다른 검색 부분에 대한 검색을 계속할지를 선택하게 한다. 사용자가 종료를 선택하면, 도 3의 처리가 종료되며; 사용자가 계속을 선택하면, 처리는 단계 S308로 진행한다.
단계 S308에서, CPU(111)는 n = n + k로 설정하고, 처리는 단계 S304로 복귀하여, 검색 키워드와 매칭되는 다음 부분을 검색한다.
전술된 바와 같이, 본 발명의 제1 실시예에 따르면, 종이 문서를 전자 문서로 변환할 때, 전자 문서는 페이지 화상 상에 페이지로부터 추출된 문자들을 투명 컬러로 묘화하는데 필요한 기술을 포함한다. 이 전자 문서에 대하여, 사용자는 검색 키워드와 매칭되는 부분 각각이 강조 표시된 페이지들을 확인하면서 검색을 진행할 수 있다.
이 전자 문서는 하나의 단순한 문자 형상(예를 들어, 직사각형)의 폰트 데이터를 포함하며, 단순한 문자 형상을 사용하여 문서 내의 다양한 문자 타입들의 투명 문자들을 묘화하도록 기술된다. 즉, 1개의 문자 형상이 복수의 문자 타입에 대하여 공통으로 사용된다. 따라서, 전자 문서에서 사용되는 폰트 데이터가 그 전자 문서 내에 보존되는 것이 필요한 경우에도, 전자 문서의 파일 사이즈(데이터 사이즈)가 억제될 수 있다.
<제2 실시예>
도 15는 제2 실시예에 의해 생성된 전자 문서의 일례를 도시한다. 제1 실시예에서와 같이, 화상 처리 장치(100)는 전자 문서를 생성하고 전송하며, 화상 처리 장치(110)는 전자 문서를 수신하고, 브라우징하고, 검색한다고 가정한다.
도 15에서 참조 번호들 1501 및 1512는 전자 문서의 시작과 끝을 나타내는 기술들을 나타낸다. 참조 번호들 1502 및 1506은 제1 페이지의 묘화의 시작과 끝을 나타내는 기술들을 나타낸다. 참조 번호 1503은 제1 페이지의 화상 데이터 묘화의 기술을 나타낸다. 참조 번호들 1504 및 1505는 제1 페이지의 텍스트 묘화의 기술들을 나타낸다. 참조 번호들 1507 및 1510은 제2 페이지의 묘화의 시작과 끝을 나타내는 기술들을 나타낸다. 참조 번호 1508은 제2 페이지의 화상 데이터 묘화의 기술을 나타낸다. 참조 번호 1509는 제2 페이지의 텍스트 묘화의 기술을 나 타낸다. 참조 번호 1511은 이 전자 문서에 사용된 폰트 데이터의 기술을 나타낸다.
제2 실시예의 전자 문서 생성 처리의 설명은 도 2 및 도 4를 사용하는 제1 실시예의 그것과 거의 동일하고, 전자 문서 검색 및 브라우징 처리의 설명은 도 3 및 도 5를 사용하는 제1 실시예의 그것과 거의 동일하기 때문에, 제1 실시예와의 차이점들을 설명할 것이다.
도 15의 텍스트 묘화를 나타내는 <Text> 요소들(1504, 1505, 1509)은 각각의 문자의 글리프 ID를 지정하는 임의의 속성 "CGlyphId"를 기술하지 않으며, 폰트 데이터(1511)의 글리프 ID 대신에 속성 "CString" 내에 작성된 문자 코드들 자체를 사용한다.
폰트 데이터(1511) 내에 정의된 6개의 문자 타입의 "Path" 데이터는 동일한 문자 형상을 정의한다. 이러한 방법으로 기술된 폰트 데이터는 LZ77 등과 같은 공지된 압축 기술을 사용하여 높은 압축률로 압축될 수 있다.
본 발명의 제2 실시예에 따르면, 종이 문서를 전자 문서로 변환할 때, 전자 문서는 페이지 화상 상에 페이지로부터 추출된 문자들을 투명 컬러로 묘화하는데 필요한 기술을 포함한다. 이 전자 문서에 대하여, 사용자는 검색 키워드와 매칭되는 부분 각각이 강조 표시된 페이지들을 확인하면서 검색을 진행할 수 있다.
이 전자 문서는 문서 내에 기술된 각각의 문자들에 대한 동일한 타입의 문자 형상 데이터에 의해 구성되는 폰트 데이터를 보존한다. 동일한 타입의 문자 형상 데이터에 의해 구성되는 폰트 데이터는 일반적인 텍스트 압축 기술에 의해 높은 압 축률로 압축될 수 있기 때문에, 제2 실시예도 전자 문서에서 사용되는 폰트 데이터를 유지하면서 전자 문서의 데이터 사이즈를 억제할 수 있다. 제2 실시예에서도, 글리프에 의해 기술되는 문자 형상이 간략화되고 보존되기 때문에, 문자 형상 데이터 자체의 데이터 사이즈도 억제될 수 있다.
<제3 실시예>
전술된 실시예들은 <Image> 요소 내의 스캔 화상에 JPEG 압축 등을 적용함으로써 취득되는 전체 페이지 화상을 기술하고 <Text> 요소 내의 투명 텍스트를 기술하는 전자 문서를 생성한다. 그러나, 본 발명은 그러한 특정한 문서에 한정되지 않는다.
예를 들어, <Image> 요소는, 전체 스캔 화상의 JPEG 압축된 화상의 기술 대신에 텍스트 영역과 그래픽 영역의 각각의 컬러들에 대하여 MMR 압축된 이진 화상들, 및 나머지 영역의 JPEG 압축된 화상을 저장할 수 있다. 문서 화상 내에 포함된 영역들을 해석하고 압축 처리를 적응적으로 적용하는 방법으로서, 예를 들어, 일본 특허공개공보 제07-236062호, 일본 특허공개공보 제2002-077633호 등에 기술된 방법들을 사용할 수 있다. 본 발명의 투명 텍스트를 묘화할 때 사용되는 폰트 데이터의 데이터 사이즈를 억제하기 위한 처리 및 그러한 화상 압축 처리를 결합하여, 보다 높은 압축률을 갖는 전자 화상을 생성한다.
전체 페이지 화상 대신에, 텍스트 영역, 그래픽 영역, 테이블 영역, 사진 영역 등과 같은 부분 영역들만이 그것들의 위치 데이터와 함께 보존될 수 있다.
<제4 실시예>
전술된 실시예들에서, 검색 결과에 대응하는 부분은 화상의 컬러 (r, g, b)를 반전시킴으로써 강조 표시된다. 그러나, 본 발명은 사용되는 그러한 색에 한정되지 않는다. 예를 들어, 검색 결과를 특정하는데 사용되는 미리 결정된 컬러(예를 들어, 황색)는 반투명하게(예를 들어, 알파 채널 128) 묘화될 수 있다. 대안으로, 문자 컬러 (Cr, Cg, Cb)를 사용하여 강조 표시 컬러를 결정할 수 있다.
<제5 실시예>
전술된 실시예들에서, 도 3 및 도 5를 참조하여 기술된 바와 같이, 검색의 수행 시에, 키워드에 매칭되는 문자열은 문서의 헤드로부터 차례대로 검색되고, 최초로 발견된 문자열이 강조 표시된다. 다음으로, 사용자가 "다음 검색" 지시를 입력하면, 키워드에 매칭되는 다음 문자열이 차례대로 검색되며, 검색 결과가 강조 표시된다. 이러한 방법으로, 전술된 실시예들에서, 검색 키워드에 매칭되는 문자열은 헤드로부터 차례대로 검색되고, 검색 키워드가 히트(hit)될 때마다 검색 결과가 강조 표시된다. 그러나, 본 발명은 이에 한정되지 않는다. 예를 들어, 전자 문서 내에 포함된 모든 문자열들을 검색 키워드와 비교하고, 키워드와 매칭되는 모든 문자열들을 특정할 수 있으며, 키워드와 매칭되는 모든 이 문자열들을 동시에 강조 표시할 수 있다.
<그외의 실시예들>
또한, 본 발명의 목적들은, 전술된 실시예들의 기능들을 구현하는 소프트웨어의 프로그램 코드(컴퓨터 프로그램)를 기억한 컴퓨터 판독가능한 기억 매체를 시스템 또는 장치에 제공함으로써 달성된다는 것에 유의한다. 또한, 본 발명의 목적 들은, 시스템 또는 장치의 컴퓨터(또는 CPU 또는 MPU)가 기억 매체에 기억된 프로그램 코드를 판독하고 실행하는 경우 달성된다.
본 발명의 컴퓨터 프로그램은, 장치가 전술된 흐름도들에 기술된 각각의 단계들을 실행하게 한다. 즉, 이 컴퓨터 프로그램은 컴퓨터가 흐름도들의 각각의 단계들에 대응하는 각각의 처리 유닛들(각각의 처리 수단)로서 기능하게 하기 위한 프로그램이다. 이 경우, 컴퓨터 판독가능한 기억 매체로부터 판독된 프로그램 코드 자체는 전술된 실시예들의 기능들을 구현하며, 그 프로그램 코드를 기억한 기억 매체는 본 발명을 구성한다.
프로그램 코드를 제공하기 위한 기억 매체로서, 예를 들어, 플렉시블 디스크, 하드 디스크, 광 디스크, 광자기 디스크, CD-ROM, CD-R, 비휘발성 메모리 카드, ROM 등을 사용할 수 있다.
또한, 본 발명은 컴퓨터 상에서 실행되는 OS(operating system) 등이 프로그램 코드의 지시들에 기초하여 실제의 처리들의 일부 또는 모두를 실행하여 전술된 실시예들을 구현하는 경우를 포함한다.
전술된 제1 및 제2 실시예들에서, CPU는 메모리, 하드 디스크, 표시 디바이스 등과 협동하여 흐름도들의 각각의 단계들을 실행한다. 본 발명은 전술된 구성에 한정되지 않으며, 흐름도들을 사용하여 기술된 각각의 단계들의 처리들의 일부 또는 모두는 CPU 대신에 전용의 전자 회로에 의해 구성될 수 있다.
본 발명에 따르면, 문서 화상 내의 문자 화상들에 문자 인식을 적용하고, 문서 화상 상에 문자 인식 결과를 투명 컬러로 묘화함으로써 전자 문서를 생성한다. 이러한 방법으로, 전자 문서는 검색을 수행할 때 문서 화상 상에서 검색 키워드에 대응하는 부분을 특정하는 것을 가능하게 한다. 이 전자 문서를 생성하는 경우, 그것은 문자 인식 결과를 묘화할 때 사용되는 폰트 데이터로서, 단순한 문자 형상의 폰트 데이터를 복수의 문자 타입에 공통으로 사용하는데 필요한 기술을 포함한다. 따라서, 전자 문서가 폰트 데이터를 보존하는 것을 필요로 하는 경우에도, 파일 사이즈의 증가를 최소화할 수 있다. 또한, 단순한 문자 형상을 사용하여 묘화함으로써, 폰트 데이터 자체의 데이터 사이즈를 감소시킬 수 있다.
또한, 동일한 문자 형상을 폰트 데이터로서 사용하여, 파일 사이즈를 감소시킬 수 있다.
예시적인 실시예들을 참조하여 본 발명을 설명하였지만, 본 발명은 개시된 예시적인 실시예들로 제한되는 것이 아님을 이해해야 한다. 이하의 특허청구범위의 범주는 그러한 모든 변경들과 등가의 구조물들 및 기능들을 포함하도록 최광의로 해석되어야 한다.
본 출원은 2007년 6월 29일자로 출원된 일본 특허출원번호 제2007-172736호의 이익을 주장하며, 이에 의해 그 전체가 본 명세서에 참조로서 포함된다.

Claims (19)

  1. 문서 화상 내의 복수의 문자 화상에 대해 문자 인식 처리를 실행하여 문자 화상들 각각에 대응하는 문자 코드들을 취득하도록 구성되는 문자 인식 수단; 및
    상기 문서 화상, 상기 문자 인식 수단에 의해 얻어지는 복수의 문자 코드 및 상기 복수의 문자 코드에 대응하는 문자들을 묘화할 때 상기 복수의 문자 코드에 공통으로 사용되는 글리프(glyph) 데이터를 포함하는 전자 문서를 생성하도록 구성되는 생성 수단
    을 포함하는, 화상 처리 장치.
  2. 제1항에 있어서,
    상기 글리프 데이터는 삼각형 형상, 원 형상 또는 직선 형상을 나타내는, 화상 처리 장치.
  3. 제1항에 있어서,
    상기 글리프 데이터는 직사각형의 형상을 나타내는, 화상 처리 장치.
  4. 제1항에 있어서,
    상기 글리프 데이터는 공백 문자 형상을 나타내는, 화상 처리 장치.
  5. 제1항에 있어서,
    상기 생성 수단에 의해 생성되는 전자 문서는 상기 복수의 문자 코드에 대응하는 글리프 데이터를 상기 문서 화상 내의 문자 화상들 각각에 대응하는 위치들에 투명 컬러로 묘화하는데 필요한 기술(description)을 포함하는, 화상 처리 장치.
  6. 제1항에 있어서,
    상기 생성 수단에 의해 생성되는 전자 문서는 상기 복수의 문자 코드에 대응하는 글리프 데이터를 상기 문서 화상 내의 문자 화상들 각각의 하단들에 대응하는 위치들에 투명 컬러로 묘화하는데 필요한 기술을 포함하는, 화상 처리 장치.
  7. 제1항에 있어서,
    상기 생성 수단에 의해 생성되는 전자 문서는 상기 복수의 문자 코드에 대응하는 글리프 데이터를, 상기 문서 화상 내의 각각의 문자 화상의 사이즈보다 작은 사이즈로, 상기 문서 화상 내의 문자 화상들 각각의 하단들에 대응하는 위치들에 투명 컬러로 묘화하는데 필요한 기술을 포함하는, 화상 처리 장치.
  8. 제1항에 있어서,
    상기 전자 문서는 XML 포맷으로 기술된 전자 문서인, 화상 처리 장치.
  9. 제1항에 있어서,
    상기 전자 문서는 XPS 포맷으로 기술된 전자 문서인, 화상 처리 장치.
  10. 제1항에 있어서,
    상기 문서 화상을 압축하도록 구성되는 압축 수단을 더 포함하고,
    상기 전자 문서 내에 저장된 문서 화상들은 상기 압축 수단에 의해 압축 처리된 문서 화상들인, 화상 처리 장치.
  11. 제10항에 있어서,
    상기 압축 수단은 상기 문서 화상 내에 포함된 영역들을 해석하고, 상기 영역들을 적응적으로 압축하는, 화상 처리 장치.
  12. 제1항에 있어서,
    입력 키워드를 사용하여 상기 생성된 전자 문서를 검색하고 상기 키워드와 매칭되는 부분을 강조 표시하도록 구성되는 검색 수단을 더 포함하는, 화상 처리 장치.
  13. 제12항에 있어서,
    상기 검색 수단은 상기 키워드와 매칭되는 부분의 컬러를 반전시킴으로써 상기 부분을 강조 표시하는, 화상 처리 장치.
  14. 제12항에 있어서,
    상기 검색 수단은, 상기 키워드와 매칭되는 문자 코드들과 연관된 각각의 문자에 의해 결정되는 직사각형 영역에 대응하는 부분을, 상기 키워드와 매칭되는 부분으로서 강조 표시하고,
    상기 직사각형 영역의 폭은 상기 키워드와 매칭되는 상기 문자 코드와 연관된 각각의 문자의 문자 간격이며, 상기 직사각형 영역의 높이는 상기 키워드와 매칭되는 상기 문자 코드와 연관된 각각의 문자의 사이즈인, 화상 처리 장치.
  15. 문서 화상 내의 복수의 문자 화상에 대해 문자 인식 처리를 실행하여 문자 화상들 각각에 대응하는 문자 코드들을 취득하도록 구성되는 문자 인식 수단; 및
    상기 문서 화상, 상기 문자 인식 수단에 의해 취득되는 복수의 문자 코드 및 상기 복수의 문자 코드에 대응하는 문자들을 묘화할 때 사용되는 동일한 형상의 글리프 데이터를 포함하는 전자 문서를 생성하도록 구성되는 생성 수단
    을 포함하는, 화상 처리 장치.
  16. 문서 화상 내의 복수의 문자 화상에 대해 문자 인식 처리를 실행하여 문자 화상들 각각에 대응하는 문자 코드들을 취득하기 위해 문자 인식 수단을 제어하는 단계; 및
    상기 문서 화상, 상기 문자 인식 수단을 제어하는 단계에서 취득되는 복수의 문자 코드 및 상기 복수의 문자 코드에 대응하는 문자들을 묘화할 때 상기 복수의 문자 코드에 공통으로 사용되는 글리프 데이터를 포함하는 전자 문서를 생성하기 위해 생성 수단을 제어하는 단계
    를 포함하는, 화상 처리 방법.
  17. 문서 화상 내의 복수의 문자 화상에 대해 문자 인식 처리를 실행하여 각각의 문자 화상들 각각에 대응하는 문자 코드들을 취득하기 위해 문자 인식 수단을 제어하는 단계; 및
    상기 문서 화상, 상기 문자 인식 수단을 제어하는 단계에서 취득되는 복수의 문자 코드 및 상기 복수의 문자 코드에 대응하는 문자들을 묘화할 때 사용되는 동일한 형상의 글리프 데이터를 포함하는 전자 문서를 생성하기 위해 생성 수단을 제어하는 단계
    를 포함하는, 화상 처리 방법.
  18. 컴퓨터가,
    문서 화상 내의 복수의 문자 화상에 대해 문자 인식 처리를 실행하여 문자 화상들 각각에 대응하는 문자 코드들을 취득하는 단계; 및
    상기 문서 화상, 상기 문자 인식 처리를 실행하는 단계에서 취득되는 복수의 문자 코드 및 상기 복수의 문자 코드에 대응하는 문자들을 묘화할 때 상기 복수의 문자 코드에 공통으로 사용되는 글리프 데이터를 포함하는 전자 문서를 생성하는 단계
    를 포함하는 화상 처리 방법을 실행하게 하는 컴퓨터 프로그램을 기억한 컴퓨터 판독가능한 기억 매체.
  19. 컴퓨터가,
    문서 화상 내의 복수의 문자 화상에 대해 문자 인식 처리를 실행하여 문자 화상들 각각에 대응하는 문자 코드들을 얻는 단계; 및
    상기 문서 화상, 상기 문자 인식 처리를 실행하는 단계에서 얻어진 복수의 문자 코드 및 상기 복수의 문자 코드에 대응하는 문자들을 묘화할 때 사용되는 동일한 형상의 글리프 데이터를 포함하는 전자 문서를 생성하는 단계
    를 포함하는 화상 처리 방법을 실행하게 하는 컴퓨터 프로그램을 기억한 컴퓨터 판독가능한 기억 매체.
KR1020097015655A 2007-06-29 2008-06-23 화상 처리 장치, 화상 처리 방법 및 기억 매체 KR101037458B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2007172736A JP4402138B2 (ja) 2007-06-29 2007-06-29 画像処理装置、画像処理方法、コンピュータプログラム
JPJP-P-2007-172736 2007-06-29
PCT/JP2008/061788 WO2009005021A1 (en) 2007-06-29 2008-06-23 Image processing apparatus, image processing method, and computer program

Publications (2)

Publication Number Publication Date
KR20090104071A KR20090104071A (ko) 2009-10-05
KR101037458B1 true KR101037458B1 (ko) 2011-05-26

Family

ID=40226066

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097015655A KR101037458B1 (ko) 2007-06-29 2008-06-23 화상 처리 장치, 화상 처리 방법 및 기억 매체

Country Status (7)

Country Link
US (2) US8077971B2 (ko)
EP (2) EP2162859B1 (ko)
JP (1) JP4402138B2 (ko)
KR (1) KR101037458B1 (ko)
CN (1) CN101558425B (ko)
RU (1) RU2437152C2 (ko)
WO (1) WO2009005021A1 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4402138B2 (ja) 2007-06-29 2010-01-20 キヤノン株式会社 画像処理装置、画像処理方法、コンピュータプログラム
JP4590433B2 (ja) * 2007-06-29 2010-12-01 キヤノン株式会社 画像処理装置、画像処理方法、コンピュータプログラム
US20090110288A1 (en) * 2007-10-29 2009-04-30 Kabushiki Kaisha Toshiba Document processing apparatus and document processing method
US9298979B2 (en) * 2008-01-18 2016-03-29 Mitek Systems, Inc. Systems and methods for mobile image capture and content processing of driver's licenses
US10102583B2 (en) 2008-01-18 2018-10-16 Mitek Systems, Inc. System and methods for obtaining insurance offers using mobile image capture
US10685223B2 (en) * 2008-01-18 2020-06-16 Mitek Systems, Inc. Systems and methods for mobile image capture and content processing of driver's licenses
JP4600491B2 (ja) * 2008-02-26 2010-12-15 富士ゼロックス株式会社 画像処理装置及び画像処理プログラム
KR101380777B1 (ko) * 2008-08-22 2014-04-02 정태우 영상에 포함된 객체를 색인하는 방법
US8352855B2 (en) * 2009-01-02 2013-01-08 Apple Inc. Selection of text in an unstructured document
JP5274305B2 (ja) 2009-02-27 2013-08-28 キヤノン株式会社 画像処理装置、画像処理方法、コンピュータプログラム
JP5197464B2 (ja) * 2009-03-27 2013-05-15 シャープ株式会社 画像処理方法、画像処理装置、画像形成装置、コンピュータプログラム及び記録媒体
JP5451196B2 (ja) * 2009-06-12 2014-03-26 キヤノン株式会社 電子文書生成装置、電子文書生成方法
JP5528121B2 (ja) * 2010-01-05 2014-06-25 キヤノン株式会社 画像処理装置、画像処理方法、及びプログラム
US8687004B2 (en) * 2010-11-01 2014-04-01 Apple Inc. Font file with graphic images
JP5854813B2 (ja) * 2011-12-19 2016-02-09 キヤノン株式会社 画像処理装置、画像処理方法、コンピュータプログラム。
CN103186911B (zh) * 2011-12-28 2015-07-15 北大方正集团有限公司 一种处理扫描书数据的方法及装置
US20130251261A1 (en) * 2012-03-23 2013-09-26 Marvell World Trade Ltd. Method And Apparatus For Image Data Compression
JP5783990B2 (ja) * 2012-11-20 2015-09-24 京セラドキュメントソリューションズ株式会社 画像処理装置、画像処理プログラム、画像処理方法
JP5971098B2 (ja) * 2012-12-03 2016-08-17 富士ゼロックス株式会社 情報処理装置及び情報処理プログラム
KR101445171B1 (ko) * 2014-03-28 2014-10-02 주식회사 한글과컴퓨터 종이 문서에 대한 전자 문서 변환 장치 및 방법
RU2604668C2 (ru) * 2014-06-17 2016-12-10 Общество с ограниченной ответственностью "Аби Девелопмент" Визуализация машинно-генерируемого изображения документа
US10062147B1 (en) * 2014-09-16 2018-08-28 American Megatrends, Inc. Scaling a fixed font used by a firmware interface
JP6468105B2 (ja) * 2015-07-16 2019-02-13 富士ゼロックス株式会社 通信システム、サーバ装置、クライアント装置及びプログラム
CN110100251B (zh) * 2016-12-30 2021-08-20 华为技术有限公司 用于处理文档的设备、方法和计算机可读存储介质
CN109275036B (zh) * 2018-07-25 2021-03-30 深圳市异度信息产业有限公司 一种用于教学直播的消息提醒方法、装置及设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10162024A (ja) 1996-11-29 1998-06-19 Canon Inc 電子ファイリング方法及び電子ファイリング装置
JPH10289226A (ja) 1997-02-17 1998-10-27 Just Syst Corp 文字処理装置, 文字処理システム, 文字処理方法およびその方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5164900A (en) * 1983-11-14 1992-11-17 Colman Bernath Method and device for phonetically encoding Chinese textual data for data processing entry
US5680479A (en) 1992-04-24 1997-10-21 Canon Kabushiki Kaisha Method and apparatus for character recognition
JP3376129B2 (ja) * 1993-12-27 2003-02-10 キヤノン株式会社 画像処理装置及びその方法
US5689620A (en) * 1995-04-28 1997-11-18 Xerox Corporation Automatic training of character templates using a transcription and a two-dimensional image source model
DE19522394C2 (de) 1995-06-23 1997-04-17 Licentia Gmbh Verfahren und Vorrichtung zur Bestimmung der Teilung bei Schriften mit fester Teilung
JP3264619B2 (ja) * 1996-06-05 2002-03-11 キヤノン株式会社 画像処理装置および方法
JP3335844B2 (ja) 1996-08-16 2002-10-21 富士通株式会社 文字列方向推定方法および装置
US6522330B2 (en) * 1997-02-17 2003-02-18 Justsystem Corporation Character processing system and method
US6006226A (en) * 1997-09-24 1999-12-21 Ricoh Company Limited Method and system for document image feature extraction
JPH11232276A (ja) 1998-02-17 1999-08-27 Canon Inc 文字処理装置と文字データの処理方法、及び記憶媒体
JP4235286B2 (ja) * 1998-09-11 2009-03-11 キヤノン株式会社 表認識方法及び装置
JP2000322417A (ja) 1999-05-06 2000-11-24 Canon Inc 画像ファイリング装置及び方法及び記憶媒体
JP4454789B2 (ja) * 1999-05-13 2010-04-21 キヤノン株式会社 帳票分類方法及び装置
US6501475B1 (en) * 1999-10-22 2002-12-31 Dynalab Inc. Glyph-based outline font generation independent of resolution
JP4631133B2 (ja) * 2000-06-09 2011-02-16 コニカミノルタビジネステクノロジーズ株式会社 文字認識処理のための装置、方法及び記録媒体
US7133565B2 (en) * 2000-08-25 2006-11-07 Canon Kabushiki Kaisha Image processing apparatus and method
JP4366003B2 (ja) 2000-08-25 2009-11-18 キヤノン株式会社 画像処理装置及び画像処理方法
US6741745B2 (en) 2000-12-18 2004-05-25 Xerox Corporation Method and apparatus for formatting OCR text
US7228501B2 (en) 2002-11-01 2007-06-05 Microsoft Corporation Method for selecting a font
JP4251629B2 (ja) * 2003-01-31 2009-04-08 キヤノン株式会社 画像処理システム及び情報処理装置、並びに制御方法及びコンピュータプログラム及びコンピュータ可読記憶媒体
US7391917B2 (en) * 2003-02-13 2008-06-24 Canon Kabushiki Kaisha Image processing method
JP4181892B2 (ja) * 2003-02-21 2008-11-19 キヤノン株式会社 画像処理方法
US7310769B1 (en) * 2003-03-12 2007-12-18 Adobe Systems Incorporated Text encoding using dummy font
JP4235583B2 (ja) 2003-05-26 2009-03-11 株式会社リコー 画像処理装置、画像処理用プログラム及び記憶媒体
JP2005259017A (ja) 2004-03-15 2005-09-22 Ricoh Co Ltd 画像処理装置、画像処理用プログラム及び記憶媒体
EP1555804A3 (en) * 2004-01-19 2006-08-16 Ricoh Company, Ltd. Image processing apparatus, image processing program and storage medium
JP4423076B2 (ja) * 2004-03-22 2010-03-03 キヤノン株式会社 認識対象切出し装置および方法
JP2005275863A (ja) 2004-03-25 2005-10-06 Murata Mach Ltd 複合機
JP4508100B2 (ja) 2005-12-21 2010-07-21 Tdk株式会社 超解像光記録媒体への情報記録方法及び情報記録装置
US7903266B2 (en) 2006-05-08 2011-03-08 Pitney Bowes Inc. System and method for using divided fonts to achieve proportional spacing
US7761783B2 (en) 2007-01-19 2010-07-20 Microsoft Corporation Document performance analysis
JP4402138B2 (ja) 2007-06-29 2010-01-20 キヤノン株式会社 画像処理装置、画像処理方法、コンピュータプログラム
JP4590433B2 (ja) 2007-06-29 2010-12-01 キヤノン株式会社 画像処理装置、画像処理方法、コンピュータプログラム
JP5376795B2 (ja) * 2007-12-12 2013-12-25 キヤノン株式会社 画像処理装置、画像処理方法、そのプログラム及び記憶媒体

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH10162024A (ja) 1996-11-29 1998-06-19 Canon Inc 電子ファイリング方法及び電子ファイリング装置
JPH10289226A (ja) 1997-02-17 1998-10-27 Just Syst Corp 文字処理装置, 文字処理システム, 文字処理方法およびその方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体

Also Published As

Publication number Publication date
EP2400454B1 (en) 2013-08-21
US8532388B2 (en) 2013-09-10
WO2009005021A1 (en) 2009-01-08
CN101558425B (zh) 2013-09-04
RU2437152C2 (ru) 2011-12-20
RU2010102958A (ru) 2011-08-10
EP2162859B1 (en) 2011-12-28
JP4402138B2 (ja) 2010-01-20
CN101558425A (zh) 2009-10-14
EP2400454A1 (en) 2011-12-28
JP2009009526A (ja) 2009-01-15
EP2162859A4 (en) 2010-07-28
EP2162859A1 (en) 2010-03-17
US20120082388A1 (en) 2012-04-05
US20100239160A1 (en) 2010-09-23
US8077971B2 (en) 2011-12-13
KR20090104071A (ko) 2009-10-05

Similar Documents

Publication Publication Date Title
KR101037458B1 (ko) 화상 처리 장치, 화상 처리 방법 및 기억 매체
US8503773B2 (en) Glyph selection and electronic document generation
US8396294B2 (en) Image processing device, image processing method, and program and recording medium thereof
JP5274305B2 (ja) 画像処理装置、画像処理方法、コンピュータプログラム
US7765477B1 (en) Searching dummy font encoded text
EP2270714B1 (en) Image processing device and image processing method
US20100171999A1 (en) Image processing apparatus, image processing method, and computer program thereof
JP2006350867A (ja) 文書処理装置、文書処理方法、プログラム及び情報記録媒体
JP5197694B2 (ja) 画像処理装置、画像処理方法、コンピュータプログラム
JP4892600B2 (ja) 画像処理装置
CN113449731A (zh) 信息处理装置

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

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150424

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160425

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170424

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180425

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190521

Year of fee payment: 9