KR101037458B1 - Image processing apparatus, image processing method and storage medium - Google Patents
Image processing apparatus, image processing method and storage medium Download PDFInfo
- 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
Links
- 238000003672 processing method Methods 0.000 title claims description 6
- 238000000034 method Methods 0.000 claims abstract description 105
- 230000008569 process Effects 0.000 claims description 57
- 238000007906 compression Methods 0.000 claims description 15
- 230000006835 compression Effects 0.000 claims description 14
- 238000004590 computer program Methods 0.000 claims description 9
- 239000003086 colorant Substances 0.000 claims description 5
- 238000004458 analytical method Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 239000000284 extract Substances 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 238000010422 painting Methods 0.000 description 2
- 241001270131 Agaricus moelleri Species 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 238000004321 preservation Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/12—Use of codes for handling textual entities
- G06F40/123—Storage facilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/40—Document-oriented image-based pattern recognition
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Processing Or Creating Images (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Document Processing Apparatus (AREA)
Abstract
본 발명은 문서 화상 내의 문자 화상들에 문자 인식을 적용하고, 문서 화상 상에 문자 인식 결과를 투명 컬러로 묘화함으로써 전자 문서를 생성한다. 이 전자 문서는 검색을 수행할 때 문서 화상 상에서 검색 키워드에 대응하는 부분을 특정하는 것을 가능하게 한다. 이 전자 문서가 생성될 때, 전자 문서는 문자 인식 결과를 묘화할 때 사용되는 폰트 데이터로서, 단순한 문자 형상의 글리프 데이터(폰트 데이터)를 복수의 문자 타입에 공통으로 사용하는데 필요한 기술을 포함한다. 따라서, 전자 문서가 폰트 데이터를 보존하는 것이 필요한 경우에도, 파일 사이즈의 증가는 최소화될 수 있다. 또한, 단순한 문자 형상을 이용하여 묘화함으로써, 폰트 데이터 자체의 데이터 사이즈도 감소할 수 있다.The present invention creates an electronic document by applying character recognition to character images in a document image and drawing the character recognition result in transparent color on the document image. This electronic document makes it possible to specify the portion corresponding to the search keyword on the document image when performing the search. When this electronic document is generated, the electronic document is font data used when drawing a character recognition result, and includes a technique necessary for common use of simple character-shaped glyph data (font data) for a plurality of character types. Therefore, even if the electronic document needs to preserve font data, the increase in file size can be minimized. In addition, by drawing using a simple character shape, the data size of the font data itself can also be reduced.
화상 처리 장치, 전자 문서, 문서 인식, 투명 컬러, 폰트 데이터 Image processing device, electronic document, document recognition, transparent color, font data
Description
본 발명은 종이 문서의 스캔 화상을 전자적으로 검색 가능한 데이터로 변환하기 위한 기술에 관한 것이다.The present invention relates to a technique for converting a scanned image of a paper document into electronically searchable data.
최근에, 스캐너들, 및 하드 디스크들 등과 같은 대용량 저장 장치들이 널리 보급되어 있으므로, 종이로 보존되어 왔던 문서들은 스캐닝되어 전자 문서들로서 보존된다. 이 경우에, 종이 문서를 스캐닝함으로써 얻어지는 화상 데이터에 대해 문자 인식 처리를 행하여 그 문서 내에 기재된 텍스트 정보를 판독하며, 텍스트 정보는 화상과 연관하여 보존된다. 사용자는 검색 키워드들을 이용하여 텍스트 정보와 연관된 전자 문서들을 검색할 수 있다. 이러한 방법으로 대량의 보존 문서 그룹들로부터 원하는 문서를 빠르게 검색하기 위해서는, 스캔 화상들에 대해서도 키워드 검색을 허가하는 것이 중요하다.Recently, since mass storage devices such as scanners, hard disks, and the like have become widespread, documents that have been preserved on paper are scanned and preserved as electronic documents. In this case, character recognition processing is performed on image data obtained by scanning a paper document to read text information described in the document, and the text information is stored in association with the image. The user can search the electronic documents associated with the text information using the search keywords. In order to quickly search for a desired document from a large group of archived documents in this way, it is important to permit keyword search even for scanned images.
예를 들어, 일본 특허공개공보 제2000-322417호는 이하의 기술을 설명하고 있다. 즉, 사용자가 검색 키워드들을 사용하여 텍스트 정보와 연관된 전자 문서를 검색하는 경우, 그 문서 화상 상의 검색 키워드들을 기재하는 텍스트 부분들은 사용자에게 식별될 수 있도록 강조 표시된다. 검색 키워드들에 대응하는 텍스트 부 분들이 강조 표시되기 때문에, 문서가 동일한 키워드들에 대한 복수의 기재 부분을 포함하면, 사용자는 페이지 화상들을 전환함으로써 기재 부분들을 효율적으로 식별할 수 있다.For example, Japanese Patent Laid-Open No. 2000-322417 describes the following technique. That is, when a user searches for an electronic document associated with text information using search keywords, the text portions describing the search keywords on the document image are highlighted so that the user can be identified. Since the text portions corresponding to the search keywords are highlighted, if the document includes a plurality of description portions for the same keywords, the user can efficiently identify the description portions by switching page images.
한편, 문자 인식 처리의 결과들을 투명 텍스트(묘화 컬러로서 투명 컬러가 지정된 문자 코드들)로서 화상 파일에 삽입하고, 이 화상 파일을 PDF(Portable Document Format) 포맷으로 보존하는 기술도 이용 가능하다. 이러한 방법으로 생성된 PDF 파일을 표시할 때, 투명 텍스트는 문서 화상 내의 문자 화상들 상에 묘화된다. 따라서, 키워드 검색을 수행할 때, 투명 텍스트가 발견되지만, 사용자는 투명 텍스트 자체를 볼 수 없으며, 화상이 발견된 것처럼 보이게 된다. 이러한 방법으로, 검색 키워드들을 사용하여 검색할 수 있는 화상은, 화상 및 텍스트를 묘화하는 것을 허가하는 페이지 기술 언어를 사용하여 기술된 포맷의 파일에 기초하여 묘화될 수 있다.On the other hand, a technique of inserting the results of the character recognition processing into the image file as transparent text (character codes designated with transparent color as the drawing color) and preserving the image file in PDF (Portable Document Format) format is also available. When displaying a PDF file created in this way, transparent text is drawn on the character images in the document image. Thus, when performing a keyword search, transparent text is found, but the user cannot see the transparent text itself, and the image appears to be found. In this way, an image that can be searched using search keywords can be drawn based on a file in a format described using a page description language that allows for drawing images and text.
PDF, SVG 등과 같은 페이지 기술 언어를 사용하는 전자 문서 내의 텍스트의 묘화는 각각의 문자의 문자 형상 정보, 즉, 폰트 데이터의 글리프(glyph)를 필요로 한다. 그러나, 폰트 데이터는 통상적으로 큰 사이즈를 갖기 때문에, 전자 문서 내에 폰트 데이터를 저장하지 않고, 전자 문서 내에 폰트 타입들을 지정하는 것만이 일반적이다. 이러한 방법으로, 애플리케이션은 개인용 컴퓨터에 설치된 폰트들을 사용하여 텍스트 데이터를 묘화할 수 있다.Drawing text in an electronic document using a page description language such as PDF, SVG, or the like requires character shape information of each character, that is, a glyph of font data. However, since font data typically have a large size, it is common to specify font types in an electronic document without storing the font data in the electronic document. In this way, the application can draw text data using fonts installed on the personal computer.
한편, 폰트 데이터를 전자 문서 내에 저장하는 것이 종종 요구된다. 예를 들어, 문서 생성 애플리케이션에 의해 생성된 전자 문서가 다른 개인용 컴퓨터에 의해 열리는 경우, 그 전자 문서에서 사용된 폰트 데이터가 개인용 컴퓨터에 설치되지 않은 경우, 전자 문서는 정확하게 열릴 수 없다. 다시 말하면, 지정된 폰트 데이터가 설치되지 않은 개인용 컴퓨터 또는 애플리케이션이 전자 문서를 재생(reproduce)하는 경우에도, 폰트 데이터들 자체가 전자 문서 내에 저장되어 있으면, 그 전자 문서를 정확하게 재생할 수 있다.On the other hand, storing font data in electronic documents is often required. For example, if the electronic document generated by the document generating application is opened by another personal computer, the electronic document cannot be opened correctly if the font data used in the electronic document is not installed in the personal computer. In other words, even when a personal computer or an application which does not have the designated font data installed reproduces the electronic document, if the font data itself is stored in the electronic document, the electronic document can be reproduced correctly.
일부의 경우들에서, 사용 애플리케이션들에 따라, 문자들을 묘화하는데 사용되는 폰트 데이터를 필수적인 조건으로서 전자 문서 내에 저장하는 것이 요구된다. 예를 들어, 장기간 동안 보존되어야 하는 파일들에 대하여, 디폴트로 설치된 폰트들은 장기간의 시간의 경과 후에 OS의 변경으로 인해 변경될 수 있다. 따라서, 폰트 데이터를 필수 포맷으로서 저장하는 것이 요구된다.In some cases, depending on the applications used, it is required to store in the electronic document the font data used to render the characters as an essential condition. For example, for files that must be preserved for long periods of time, fonts installed by default may change due to OS changes after a long period of time. Therefore, it is required to store font data as an essential format.
일부의 포맷들은 전자 문서 내에 폰트 데이터를 저장해야 하는 필수적인 조건을 갖는다. 예를 들어, XPS(XML Paper Specification) 포맷에서는, 텍스트 데이터의 보존 시에 폰트 데이터를 함께 보존하는 것이 필요하다.Some formats have an essential condition to store font data in an electronic document. For example, in XPS (XML Paper Specification) format, it is necessary to save font data together at the time of saving text data.
그러나, 전자 문서 내에 폰트 데이터를 저장하는 경우, 전자 문서 자체의 사이즈가 증가한다. 파일 사이즈가 증가하는 경우, 네트워크를 통해 전자 문서를 전송하는데 많은 시간이 걸리거나, 또는 문서를 저장하기 위해 큰 저장 사이즈가 필요하다.However, when storing font data in an electronic document, the size of the electronic document itself increases. If the file size increases, it takes a lot of time to transfer the electronic document over the network, or a large storage size is required to store the document.
이와 같이, 전자 문서 내에 저장된 폰트 데이터를 사용하여 문자들을 묘화하는 파일 포맷의 전자 문서에서는, 파일 사이즈가 증가하는 것을 방지하는 것이 요구된다. 특히, 스캔 화상, 문자 인식 결과로서의 텍스트 데이터 및 텍스트를 묘화 하는데 사용되는 폰트 데이터를 전자 문서 내에 함께 저장하는 경우, 파일 사이즈의 증가를 방지하는 것이 요구된다. 포맷, 시스템 등의 제한들로 인해 폰트 데이터를 전자 문서 내에 저장하는 것이 필요한 경우, 파일 사이즈의 증가는 종종 쉽게 문제를 일으킨다.In this way, in an electronic document of a file format in which characters are drawn using font data stored in the electronic document, it is required to prevent the file size from increasing. In particular, when storing scanned images, text data as a result of character recognition, and font data used for drawing text together in an electronic document, it is desired to prevent an increase in file size. In cases where it is necessary to store font data in an electronic document due to limitations in format, system, etc., the increase in file size often causes problems easily.
본 발명에 따르면, 전술된 문제들은, 문서 화상 내의 복수의 문자 화상에 대해 문자 인식 처리를 실행하여 문자 화상들 각각에 대응하는 문자 코드들을 취득하도록 구성되는 문자 인식 수단; 및 상기 문서 화상, 상기 문자 인식 수단에 의해 취득되는 복수의 문자 코드 및 상기 복수의 문자 코드에 대응하는 문자들을 묘화할 때 상기 복수의 문자 코드에 공통으로 사용되는 글리프 데이터를 포함하는 전자 문서를 생성하도록 구성되는 생성 수단을 포함하는 화상 처리 장치를 제공함으로써 해결된다.According to the present invention, the above-mentioned problems include: character recognition means configured to perform character recognition processing on a plurality of character images in a document image to obtain character codes corresponding to each of the character images; And glyph data commonly used for the plurality of character codes when drawing the document image, a plurality of character codes acquired by the character recognition means, and characters corresponding to the plurality of character codes. It is solved by providing an image processing apparatus including a generating means configured to be configured to do so.
본 발명의 추가의 특징들은 첨부 도면들을 참조하는 이하의 예시적인 실시예들의 설명으로부터 명확해질 것이다.Further features of the present invention will become apparent from the following description of exemplary embodiments with reference to the accompanying drawings.
도 1은 제1 실시예의 구성의 일례를 도시하는 블록도이다.1 is a block diagram showing an example of the configuration of the first embodiment.
도 2는 제1 실시예의 전자 문서 생성 처리의 일례를 도시하는 흐름도이다.Fig. 2 is a flowchart showing an example of the electronic document generation processing in the first embodiment.
도 3은 제1 실시예의 전자 문서 검색 및 브라우징 처리의 일례를 도시하는 흐름도이다.3 is a flowchart showing an example of the electronic document search and browsing process of the first embodiment.
도 4는 도 2의 단계 S208에서 실행되는 전자 문서 데이터 생성 처리의 세부 사항들을 도시하는 흐름도이다.FIG. 4 is a flowchart showing details of the electronic document data generation processing executed in step S208 of FIG.
도 5는 도 3의 단계 S306에서 실행되는 페이지 묘화 처리의 세부사항들을 도시하는 흐름도이다.FIG. 5 is a flowchart showing details of the page drawing process executed in step S306 of FIG.
도 6은 제1 실시예에 따라 생성되는 전자 문서의 일례를 도시한다.6 shows an example of an electronic document generated according to the first embodiment.
도 7은 처리될 페이지 화상의 일례를 도시한다.7 shows an example of a page image to be processed.
도 8은 영역 분할 처리 결과의 일례를 도시한다.8 shows an example of the result of region division processing.
도 9는 생성될 영역 데이터의 일례를 도시한다.9 shows an example of area data to be generated.
도 10은 문자 인식 처리의 실행 시에 문자 화상들이 추출될 때 실행되는 처리의 일례를 도시한다.10 shows an example of processing executed when character images are extracted at the time of execution of the character recognition processing.
도 11은 문자 인식 결과에 기초하여 생성되는 문자 코드열 데이터의 일례를 도시한다.11 shows an example of character code string data generated based on a character recognition result.
도 12는 문자 코드열 테이블의 일례를 도시한다.12 shows an example of a character code string table.
도 13은 검색 결과가 강조 표시된 페이지의 표시 예를 도시한다.Fig. 13 shows an example of display of a page on which a search result is highlighted.
도 14A 및 도 14B는 다른 강조 표시 처리에 의해 검색 결과가 강조 표시된 페이지의 표시 예를 도시한다.14A and 14B show display examples of pages on which a search result is highlighted by another highlight display process.
도 15는 제2 실시예에 따라 생성된 전자 문서의 일례를 도시한다.15 shows an example of an electronic document generated according to the second embodiment.
도 16은 검색 결과가 강조 표시된 페이지의 표시 예를 도시한다.16 shows an example of display of a page in which a search result is highlighted.
도 17은 처리될 페이지 화상의 일례를 도시한다.17 shows an example of a page image to be processed.
도 18은 검색 결과가 강조 표시된 페이지의 표시 예를 도시한다.18 shows an example of display of a page on which a search result is highlighted.
이하, 도면들을 참조하여 본 발명의 바람직한 실시예들을 상세히 설명한다. 본 실시예들에서 설명되는 컴포넌트들의 상대적인 배열, 수학식들 및 수치들은 구체적으로 달리 언급되지 않는 한 본 발명의 범위를 한정하지 않는다는 것에 유의해야 한다.Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings. It should be noted that the relative arrangement, equations, and numerical values of the components described in the present embodiments do not limit the scope of the present invention unless specifically stated otherwise.
<제1 실시예><First Embodiment>
도 1은 화상 처리 장치의 구성의 일례를 도시하는 블록도이다.1 is a block diagram illustrating an example of a configuration of an image processing apparatus.
화상 처리 장치(100)는 본 실시예를 구현하기 위한 장치이며, 문서 화상 데이터를 검색 가능한 전자 문서로 변환한다. 화상 처리 장치(100)는 스캐너(101), 중앙 처리 유닛(CPU)(102), 메모리(103), 하드 디스크(104), 네트워크 인터페이스(105) 및 유저 인터페이스(UI)(106)를 포함한다. 스캐너(101)는 종이 문서의 지면 정보를 스캔하여 그것을 문서 화상 데이터로 변환한다. CPU(102)는 화상 데이터를 해석하고 그것을 검색 가능한 전자 문서로 변환하는데 필요한 컴퓨터 프로그램 등을 실행하는 프로세서이다. 메모리(103)는 프로그램들 및 처리의 중간 데이터를 유지하고, CPU의 워크 스페이스(work space)로서 사용되는 기억 매체이다. 하드 디스크(104)는 컴퓨터 프로그램들 및 전자 문서들 등과 같은 데이터를 저장하는데 사용되는 대용량 기억 매체이다. 네트워크 인터페이스(105)는 네트워크(120)에 접속하는데 필요한 인터페이스이며, 스캔 화상, 변환된 검색 가능한 전자 문서 등과 같은 데이터를 외부 장치로 전송하고, 외부 장치로부터 데이터를 수신하는데 사용된다. 유저 인터페이스(106)는 사용자로부터 지시들을 수신하는데 사용되는 인터페이스이며, 입력 키들, 터치 패널 등을 포함하는 입력 디바이스, 및 액정 표 시 등과 같은 표시 디바이스를 포함한다. 본 발명의 장치의 구성은 그러한 특정한 구성에 한정되지 않는다는 것에 유의한다.The
화상 처리 장치(110)는 화상 처리 장치(100)에 의해 생성된 전자 문서들을 검색하고 브라우징할 수 있다. CPU(111)는 전자 문서들을 검색하고 브라우징하기 위한 처리를 실행하는데 필요한 컴퓨터 프로그램들을 실행한다. 메모리(112)는 프로그램들의 실행 시에 워크 스페이스로서 사용되고, 데이터를 일시적으로 보존하는 기억 매체이다. 하드 디스크(113)는 컴퓨터 프로그램들 및 전자 문서 등과 같은 데이터를 저장하는데 사용되는 대용량 기억 매체이다. 네트워크 인터페이스(114)는 외부 장치로부터 전자 문서들 등과 같은 데이터를 수신하고 데이터를 외부 장치로 전송하는데 사용되는 인터페이스이다. 유저 인터페이스(115)는 사용자로부터 지시들을 수신하는데 사용되는 인터페이스이며, 입력 키들, 터치 패널 등을 포함하는 입력 디바이스, 및 액정 표시 등과 같은 표시 디바이스를 포함한다.The
이하, 도 2 및 도 3에 도시된 흐름도들을 참조하여 제1 실시예의 처리를 설명한다.The processing of the first embodiment will now be described with reference to the flowcharts shown in FIGS. 2 and 3.
도 2는, 화상 처리 장치(100)가, 예를 들어, 종이 문서를 스캔함으로써 취득된 화상 데이터에 기초하여 검색 가능한 전자 문서를 생성하고, 그 전자 문서를 화상 처리 장치(110)로 전송하는 경우에 실행되는 처리의 일례를 도시하는 흐름도이다.2 illustrates a case in which the
단계 S201에서, CPU(102)는 사용자의 지시 조작에 따라 생성될 전자 문서의 전송처 및 전송 방법을 결정한다. 사용자는 유저 인터페이스(106)를 통해 지시들 을 발행한다. 전송 방법은 이메일, FTP를 사용하는 파일 전송 등과 같은 선택들로부터 선택된다.In step S201, the
사용자가 종이 문서를 세팅하고 스타트 키(start key)를 누르면, 단계 S202에서 CPU(102)는 스캐너(101)를 사용하여 세팅된 종이 문서를 스캔하여 문서 화상 데이터를 생성하며, 그 문서 화상 데이터를 메모리에 보존한다. 오토 다큐먼트 피더(auto document feeder) 등을 사용하여 복수의 페이지를 포함하는 문서를 입력하는 경우, 각각의 페이지는 1개의 페이지 화상 데이터로 변환되며, 변환된 페이지 화상 데이터는 그것들의 입력 순서대로 메모리(103)에 기억된다.When the user sets a paper document and presses a start key, in step S202 the
도 7은 페이지 화상의 일례를 도시한다. 도 7의 페이지 화상(701)은 문자열(character string) ""(702)과 문자열 ""(703) 및 사진(704)을 포함한다. 사진(704)은 간략화를 위해 실선의 직사각형으로 간단히 도시되지만, 그것은 실제로 자연 화상이라는 것에 유의한다. 도 7의 예시에서, 페이지 화상(701)은 문자열들(702, 703) 및 사진(704)만을 포함하지만, 그것은 그래픽 영역 등도 포함할 수 있다. 도 7의 예시는 일본어의 문자열들(702, 703)을 도시한다. 그러나, 본 발명은 일본어에 한정되지 않는다. 예를 들어, 알파벳 문자열들(영어 등)도 유사하게 처리될 수 있다. 도 17은 알파벳 문자열들(1702, 1703)을 포함하는 문서 화상(1701)의 일례를 도시한다.7 shows an example of a page image. The
페이지 화상 데이터의 포맷으로서, 예를 들어, 종이 문서가 컬러 문서인 경우, 페이지 화상 데이터는 R, G 및 B 각각에 대하여 8비트로 계조들을 표현하는 컬러 화상으로서 취급된다. 종이 문서가 흑백(monochrome) 문서인 경우, 페이지 화 상 데이터는 8비트로 휘도를 표현하는 그레이 화상(gray image) 또는 1비트로 흑백을 표현하는 이진 화상(binary image)으로서 취급된다.As a format of page image data, for example, when a paper document is a color document, the page image data is treated as a color image expressing grayscales in 8 bits for each of R, G, and B. When the paper document is a monochrome document, the page image data is treated as a gray image representing luminance in 8 bits or a binary image representing monochrome in 1 bit.
단계 S203에서, CPU(102)는 메모리(103)에 보존되어 있으나 아직 처리되지 않은 페이지 화상 데이터를 처리될 화상으로서 선택한다. 복수의 페이지의 화상이 존재하는 경우, CPU(102)는 입력 순서에 따라 1개의 페이지의 화상을 처리될 화상으로서 선택한다.In step S203, the
단계 S204에서, CPU(102)는 처리될 화상을 해석하고, 텍스트 영역, 그래픽 영역, 사진 영역, 테이블 영역 등과 같은 상이한 특성들을 갖는 영역들을 식별하여 각각의 식별된 영역들과 연관된 영역 데이터를 생성하기 위해 영역 해석 처리를 실행하고, 영역 데이터를 메모리(103)에 보존한다. 각각의 영역 데이터는 그 영역의 외접 직사각형의 좌측 상단의 위치 좌표(x 좌표 값 및 y 좌표 값), 외접 직사각형의 사이즈(폭 및 높이)를 나타내는 화소수의 값들 및 식별된 영역의 타입을 포함한다는 것에 유의한다. 영역 해석 처리는 최신 기술(영역 식별 처리, 영역 판별 처리, 영역 추출 처리로도 지칭됨)을 사용한다고 가정한다. 예를 들어, 일본 특허공개공보 제6-68301호에 개시된 기술을 사용하는 경우, 이진 문서 화상 데이터로부터, 유사한 사이즈들을 갖는 흑색 화소 클러스터들이 수직으로 또는 수평으로 연결되는 범위를 텍스트 영역으로서 추출할 수 있다.In step S204, the
도 7에 도시된 페이지 화상(701)에 대한 영역 해석 처리의 결과로서, 도 8에 도시된 바와 같이, 텍스트 영역(801) 및 사진 영역(802)이 식별된다. 도 9는 그 영역 해석 처리에 의해 취득된 영역 데이터의 일례를 도시한다. 알파벳 문자열들 을 포함하는 화상(예를 들어, 도 17의 화상(1701))에 대하여 영역 해석 처리를 행하는 경우, 도 7의 영역 해석 결과와 유사한 영역 해석 결과가 취득된다.As a result of the area analysis process for the
단계 S205에서, CPU(102)는 영역 해석 처리에 의해 식별된 텍스트 영역 내의 문자 화상들에 문자 인식 처리를 적용하여 문자 코드열(character code string)들의 데이터를 취득하고, 취득된 데이터를 메모리(103)에 보존한다. 각각의 문자 코드열의 데이터는, 텍스트 영역에 포함된 각각의 문자 화상에 대한 인식 결과로서의 문자 코드 정보, 및 그 문자 화상의 외접 직사각형 정보(외접 직사각형의 좌측 상단의 좌표들과 폭 및 높이의 정보)를 포함한다고 가정한다.In step S205, the
이하, 문자 인식 처리의 일례를 간략히 설명한다. 문자 화상을 문자로서 인식하기 위한 처리는 최신 기술을 사용할 수 있다는 것에 유의한다.An example of the character recognition processing will be briefly described below. Note that the processing for recognizing a character image as a character can use the latest technology.
문서 화상이 이진 화상이 아닌 경우, 예를 들어, 텍스트 영역 내의 화상을 이진화함으로써 각각의 텍스트 영역 내의 이진 화상을 취득한다. 히스토그램들은, 각각의 이진화된 텍스트 영역 내의 각각의 수직 라인 및 수평 라인에 대하여 흑색 화소수를 카운트함으로써 생성된다. 수직 히스토그램 및 수평 히스토그램에 기초하여, 주기적인 히스토그램들이 나타나는 방향을 라인 방향으로서 정의하고, 히스토그램들의 화소수가 미리 결정된 임계값보다 같거나 크게 되는 부분을 문자 라인을 형성하는 부분으로서 정의하여, 띠 형상의 라인 화상들을 취득한다. 라인 방향에 수직인 방향의 각각의 라인 화상에 대하여 히스토그램들을 계산하며, 히스토그램들의 결과에 기초하여 각각의 문자의 화상을 추출한다. 이 추출된 범위는 하나의 문자의 외접 직사각형 정보가 된다. 이 경우, 흑색 화소수를 카운트함으로써 취득된 히스토그램들을 사용하여 판별을 행한다. 대안으로, 각각의 문자 영역은 각각의 라인이 흑색 화소들을 포함하는지의 여부를 나타내는 사영(projection)을 사용하여 판별될 수 있다.When the document image is not a binary image, for example, the binary image in each text area is obtained by binarizing the image in the text area. Histograms are generated by counting the number of black pixels for each vertical and horizontal line in each binarized text area. Based on the vertical histogram and the horizontal histogram, the direction in which the periodic histograms appear is defined as the line direction, and the portion where the number of pixels of the histograms is equal to or larger than a predetermined threshold value is defined as the portion forming the character line, Acquire line images. Histograms are calculated for each line image in the direction perpendicular to the line direction, and an image of each character is extracted based on the result of the histograms. This extracted range becomes circumscribed rectangular information of one character. In this case, discrimination is made using histograms obtained by counting the number of black pixels. Alternatively, each character area can be determined using a projection that indicates whether each line contains black pixels.
특징 벡터를 취득하기 위해, 각각의 문자 화상의 외접 직사각형 내의 화상으로부터 에지 성분들 등을 추출하며, 취득된 특징 벡터를 사전에 등록된 문자 인식 사전 내의 특징 벡터들과 비교하여, 유사도들을 계산한다. 최대 유사도를 갖는 글자 타입(문자 타입)의 코드가 직사각형 내의 문자 화상에 대응하는 문자 코드로서 결정된다. 이러한 방법으로, 텍스트 영역에 포함된 문자들의 모든 외접 직사각형들에 문자 코드들을 할당함으로써 취득된 데이터를 취득한다. 다음으로, 각각의 텍스트 영역으로부터 취득된 문자 코드들이 문자 코드열을 형성한다.To obtain the feature vector, edge components and the like are extracted from the picture in the circumscribed rectangle of each character picture, and the similarity is calculated by comparing the acquired feature vector with the feature vectors in the previously registered character recognition dictionary. The code of the character type (character type) having the maximum similarity is determined as the character code corresponding to the character image in the rectangle. In this way, the acquired data is acquired by assigning the character codes to all circumscribed rectangles of the characters included in the text area. Next, the character codes obtained from each text area form a character code string.
또한, 영어 문자 영역들에 대하여, 이웃 문자들 사이에 단어간 스페이스(inter-word space)가 존재하는지의 여부를 체크한다. 예를 들어, 문자들 사이의 거리가 넓은지의 여부를 체크하고, 문자 화상들의 문자 인식 결과들의 문자열과 단어 사전 사이의 매칭을 실행함으로써 단어의 불연속을 체크한다. 따라서, 단어간 스페이스가 존재하는지의 여부를 체크할 수 있다. 단어간 스페이스가 존재한다고 판정되면, 그 스페이스의 문자 코드를 문자 코드열에 삽입한다.In addition, for English character areas, it is checked whether there is an inter-word space between neighboring characters. For example, it is checked whether the distance between the characters is wide, and the discontinuity of the word is checked by performing matching between the character dictionary of the character recognition results of the character images and the word dictionary. Therefore, it is possible to check whether or not a space between words exists. If it is determined that there is a space between words, the character code of the space is inserted into the character code string.
도 10 및 도 11은 도 8에 도시된 텍스트 영역(801)에 대한 문자 인식 처리의 결과의 일례를 도시한다. 문자 라인들(1001, 1002)은 도 10의 텍스트 영역(1000)으로부터 추출된다. 3개의 문자들(1011, 1012, 1013)은 문자 라인(1001)으로부터 추출되며, 각각 문자 인식 처리된다. 그 결과, 이 문자들에 대응하는 문자 코드들 이 취득되므로, 도 11의 문자 코드열 데이터(1101)가 생성된다. 마찬가지로, 문자 라인(1002)으로부터 추출된 3개의 문자들(1021, 1022, 1023)이 문자 인식 처리되므로, 도 11의 문자 코드열 데이터(1102)가 생성된다.10 and 11 show an example of the result of the character recognition process for the
상기 설명은 일례이며, 그외의 공지된 문자 인식 기술들을 이용하는 처리 방법들을 사용하여 문자 코드열을 취득할 수 있다는 것에 유의한다. 도 10 및 도 11은 일본어 텍스트 영역이 문자 인식 처리되는 경우를 도시한다. 그러나, 본 발명은 일본어에 한정되지 않는다. 예를 들어, 다른 언어들(예를 들어, 영어의 알파벳 등)을 포함하는 텍스트 영역들을 유사하게 문자 인식 처리하여 문자 코드들을 취득한다.Note that the above description is an example, and that a character code string can be obtained using processing methods using other known character recognition techniques. 10 and 11 show a case where the Japanese text area is subjected to character recognition processing. However, the present invention is not limited to Japanese. For example, text areas including other languages (eg, English alphabet, etc.) are similarly subjected to character recognition to obtain character codes.
단계 S206에서, CPU(102)는 처리될 페이지 화상 데이터, 영역 데이터 및 문자 코드열 데이터를 서로 연관시켜 메모리(103) 또는 하드 디스크(104)에 일시적으로 보존한다.In step S206, the
단계 S207에서, CPU(102)는 처리될 화상 데이터가 아직 남아 있는지를 체크한다. 처리될 화상 데이터가 아직 남아 있으면, 처리는 단계 S203으로 복귀하여 다음 페이지 화상 데이터를 처리한다. 그렇지 않은 경우, 처리는 단계 S208로 진행한다.In step S207, the
단계 S208에서, CPU(102)는 메모리(103) 또는 하드 디스크(104)에 보존된 모든 페이지들에 대한 데이터를 페이지 순서대로 결합하여, 복수의 페이지를 포함하는 검색 가능한 전자 문서를 생성한다.In step S208, the
단계 S208에서 생성된 전자 문서의 데이터는, 디스플레이 등에 각각의 페이 지 화상을 전자적으로 표시하거나 또는 프린터에 의해 각각의 페이지 화상을 인쇄하는데 필요한 묘화 정보, 및 사용자가 검색 키워드들을 사용하여 검색을 수행하는 것을 가능하게 하는 내용 정보 모두를 유지할 수 있다. 그러한 조건들을 만족시키는 데이터 포맷들로서, PDF, SVG 등이 이용 가능하다. 그러나, 본 실시예에서는, 생성될 전자 문서의 포맷으로서 폰트 데이터를 임베딩(embed)하는 것이 지정된다고 가정한다. 필수적인 조건으로 폰트 데이터의 임베딩을 포함하는 포맷으로서, 예를 들어, XPS 등이 공지되어 있다. XML 표현을 사용하는 페이지 기술 포맷(page description format)의 사양의 가정 하에 이하의 설명을 제공한다. 그러나, 본 발명은 그러한 특정한 포맷에 한정되지 않는다.The data of the electronic document generated in step S208 includes drawing information necessary for electronically displaying each page image on a display or the like, or for printing each page image by a printer, and the user performing a search using search keywords. It can keep all of the content information that makes it possible. As data formats that satisfy such conditions, PDF, SVG, and the like are available. However, in the present embodiment, it is assumed that embedding font data is designated as the format of the electronic document to be generated. As a format including embedding of font data under essential conditions, for example, XPS and the like are known. The following description is provided under the assumption of a specification of a page description format using an XML representation. However, the present invention is not limited to such specific format.
도 6은 2개의 페이지들에 대한 페이지 화상들을 포함하는 문서가 입력되는 경우 본 실시예의 설명에서 사용되는 페이지 기술 포맷의 사양에 기초하여 생성되는 전자 문서의 페이지 기술 예를 도시한다. 본 실시예에서는, 페이지 기술 포맷의 일례로서, 도 6에 도시된 바와 같이, 설명들이 단일 파일 내에 함께 행해진다. 그러나, 본 발명이 이에 한정되지 않는다. 예를 들어, 이하의 포맷(예를 들어, XPS)을 사용할 수 있다. 즉, 독립적인 폰트 데이터 파일이 준비되고, 본체 파일로부터 참조되며, 이 파일들은, 예를 들어, ZIP 압축 등에 의해 단일 전자 문서로 결합된다.Fig. 6 shows an example of page description of an electronic document generated based on a specification of a page description format used in the description of this embodiment when a document containing page pictures for two pages is input. In this embodiment, as an example of a page description format, as shown in FIG. 6, descriptions are performed together in a single file. However, the present invention is not limited to this. For example, the following format (for example, XPS) can be used. That is, an independent font data file is prepared and referenced from the main body file, which files are combined into a single electronic document by, for example, ZIP compression or the like.
이하, 도 4의 흐름도를 참조하여 단계 S208에서 실행되는 전자 문서 데이터 생성 처리의 일례를 설명한다.An example of the electronic document data generation processing executed in step S208 will be described below with reference to the flowchart in FIG. 4.
단계 S401에서, CPU(102)는 전자 문서의 시작 태그(start tag)를 기술한다. 본 설명의 페이지 데이터 기술 포맷 사양에서, 요소 <Document>는 전자 문서의 시작 태그를 나타낸다. <Document> 및 <Document>의 종료를 나타내는 </Document>에 의해 바운딩되는(bounded) 범위 내의 XML 기술은 이 문서에 포함된 각각의 페이지들과 연관된 기술 데이터에 대응한다는 것에 유의한다. 도 6의 예시에서, 참조 번호 601은 전자 문서의 시작 태그를 나타내며, 612는 종료 태그를 나타낸다.In step S401, the
단계 S402에서, CPU(102)는 기술되지 않은 페이지들 중 제1 페이지와 연관된 데이터를 특정하여, 처리될 데이터로서 정의한다.In step S402, the
단계 S403에서, CPU(102)는 처리될 페이지 데이터의 시작을 나타내는 태그를 생성하고 기술한다. 본 예시에서, 요소 태그 <Page>는 페이지 데이터의 시작을 나타내고, <Page> 및 종료 태그로서 기능하는 </Page>에 의해 바운딩되는 범위 내의 XML 기술은 이 페이지 내의 묘화 데이터 및 내용 데이터에 대응한다. <Page> 태그는 페이지의 화소 폭 및 높이를 나타내는 속성들 "Width"와 "Height" 및 해상도를 나타내는 속성 "Dpi"를 사용하여 페이지의 물리적인 사이즈를 기술하며, 페이지 번호를 나타내는 속성 "Number"를 사용하여 페이지 번호도 기술한다.In step S403, the
도 6의 기술 예에서, <Page> 요소의 시작 태그(602)는 페이지의 폭 "Width"가 "1680"이고, 높이 "Height"가 "2376"이고, 해상도 "Dpi"가 "200"이며, 페이지 번호 "Number"가 "1"이다고 기술한다. 제1 페이지의 데이터는 종료 태그(606)까지의 범위(요소들(603 내지 606)) 내에 기술된다.In the technical example of FIG. 6, the
단계 S404에서, CPU(102)는 페이지를 형성하는 데이터 중 화상의 묘화 데이터를 나타내는 태그를 생성하고 기술한다.In step S404, the
본 설명의 페이지 데이터 기술 포맷 사양에서는, 1개의 <Image> 요소가 1개의 화상의 묘화 데이터를 나타낸다고 가정한다. 또한, 화상 데이터의 내용들은 속성 "Data" 내에 기술되며, 페이지 내의 그 화상의 묘화 위치는 속성들 "X", "Y", "Width" 및 "Height"의 좌표 정보를 사용하여 기술된다고 가정한다. 페이지가 복수의 화상을 포함하면, 각각의 화상 데이터는 나타나는 순서대로 위쪽으로 복수의 라인 내에 기술된다. 속성 "Data"는 압축된 화상 데이터 포맷으로 화상 데이터의 내용들을 기술한다는 것에 유의한다. 압축 방법으로서, 컬러 또는 그레이 화상에 대하여 JPEG 압축된 코드열을 사용하거나, 또는 이진 화상에 대하여 MMR 압축된 코드열을 사용한다.In the page data description format specification of this description, it is assumed that one <Image> element represents drawing data of one image. Further, it is assumed that the contents of the image data are described in the attribute "Data", and the drawing position of the image in the page is described using the coordinate information of the attributes "X", "Y", "Width" and "Height". . If a page contains a plurality of images, each image data is described in a plurality of lines upwards in the order in which they appear. Note that the attribute "Data" describes the contents of the image data in the compressed image data format. As the compression method, a JPEG compressed code string is used for a color or gray image, or an MMR compressed code string is used for a binary image.
도 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)는 페이지를 형성하는 데이터 중 문자들의 묘화 데이터를 나타내는 기술을 생성한다.In step S405, the
본 설명의 페이지 기술 포맷 사양에서, 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"이 지정되지 않은 경우, 수평 작성이 디폴트로 설정된다는 것에 유의한다.In the page description format specification of this description, one <Text> element represents drawing data of characters for one line. Attribute data described in the <Text> element includes "Direction", "X", "Y", "Font", "Size", "Color", "String", "CWidth", "CGlyphId", and the like. Note that the attribute "Direction" indicates whether the string is written vertically or horizontally. The attributes "X" and "Y" specify the coordinates of the character start position. The attribute "Font" specifies the ID of the font data required for drawing the character code. The attribute "Size" specifies the font size. The attribute "Color" specifies the character color at the time of drawing using a set of four values, that is, an R channel value, a G component value, a B component value, and an alpha channel value representing transparency. The attribute "String" specifies the contents of the string (character code string). The attribute "CWidth" specifies the character spacing from each character in the "String" to the next character. The attribute "CGlyphId" specifies the IDs of the character shape data, that is, the glyphs used in the drawing of each character in the "String". Note that if "Direction" is not specified, horizontal creation is set by default.
각각의 <Text> 요소를 형성하는 문자 코드열으로서, 도 2의 단계 S205에서 생성된 문자 코드열들의 데이터는, 문자 라인들, 즉, 수직으로 또는 수평으로 연결되는 문자 세트들에 대응하여 추가로 분할되어 사용된다.As a character code string forming each <Text> element, the data of the character code strings generated in step S205 of FIG. 2 is further corresponding to character lines, that is, character sets connected vertically or horizontally. It is divided and used.
도 6의 기술 예에서, 2개의 <Text> 요소들(604, 605)은 제1 페이지의 문자 묘화 기술들, 즉, 도 11의 문자 코드열 데이터(1101, 1102)에 대응하는 기술들과 연관된다. 예를 들어, 도 11의 데이터(1101)의 3개의 문자들을 포함하는 수평으로 작성된 문자열 ""에 대응하는 <Text> 요소(604)에서는, 이하의 속성들이 지정된다.In the description example of FIG. 6, two <Text>
속성들 "X" 및 "Y"에서, X = "236" 및 Y = "272"는 3개의 문자들에 대한 외접 직사각형의 좌측 상단의 좌표들로서 지정된다. 속성 "Direction"에서는, 수평 작성을 나타내는 "Horizontal"이 지정된다.In the attributes "X" and "Y", X = "236" and Y = "272" are specified as the coordinates of the upper left corner of the circumscribed rectangle for three characters. In the attribute "Direction", "Horizontal" indicating horizontal creation is specified.
폰트 타입을 나타내는 속성 "Font"에서는, "Font01"이 지정된다. 폰트 사이즈를 나타내는 속성 "Size"에서는, 문자 라인 내의 문자들의 높이들로부터 유추하여 "97" 화소가 지정된다. 묘화 시의 문자 컬러를 나타내는 속성 "Color"에서는, R 성분 값 = G 성분 값 = B 성분 값 = 0 및 알파 채널 = 255가 지정된다(즉, 투명 컬러가 지정됨).In the attribute "Font" indicating the font type, "Font01" is specified. In the attribute "Size" representing the font size, "97" pixels are designated inferred from the heights of the characters in the character line. In the attribute "Color" representing the character color at the time of drawing, R component value = G component value = B component value = 0 and alpha channel = 255 are specified (that is, transparent color is specified).
문자열의 내용들(각각의 문자들에 대응하는 문자 코드들의 열)을 나타내는 속성 "String"에서는, "0x2422, 0x2424, 0x2426"이 지정된다. 전술된 예시에서는, 도 7에 도시된 일본어 문자열의 문자 인식 시에 취득되는 문자 코드들이 기술된다. 그러나, 도 17에 도시된 문서 화상 내의 영어 문자열의 문자 인식 시에는, 알파벳들의 문자 코드들이 기술된다. 각각의 문자들의 문자 간격을 나타내는 속성 "CWidth"에서, 최초의 2개의 문자들에 대한 우측의 이웃하는 문자와 좌측 끝 사이의 좌표 차이들, 및 최종 문자에 대한 자체 문자 폭에 대응하는 값, 즉, "104, 96, 59"가 지정된다.In the attribute "String" representing the contents of the string (a string of character codes corresponding to the respective characters), "0x2422, 0x2424, 0x2426" is specified. In the above example, the character codes acquired at the time of character recognition of the Japanese character string shown in FIG. 7 are described. However, in character recognition of the English character string in the document image shown in Fig. 17, character codes of alphabets are described. In the attribute "CWidth" representing the character spacing of each character, a value corresponding to the coordinate differences between the right neighboring character and the left end for the first two characters, and a value corresponding to its own character width for the final character, ie , "104, 96, 59" is specified.
속성 "CGlyphId"에서는, 각각의 문자의 문자 형상 데이터에 매칭되는 글리프의 ID가 일반적으로 지정된다. 그러나, 본 실시예에서, 투명 문자의 문자 형상이 스캔 화상 상에 묘화되므로, 사용자는 문자 형상에 관계없이 그것을 시각적으로 확인하지 못한다. 따라서, 본 실시예에서는, 상이한 문자들에 대해서도 문자 형상 데이터(폰트 데이터)를 감소시키기 위해 동일한 글리프 ID가 지정된다. 따라서, 도 6의 예시에서는, 동일한 속성 값들 "0, 0, 0"이 속성 "CGlyphId"에 기술된다. 이 글리프 ID에 의해 지정되는 문자 형상은 간단한 형상(예를 들어, 직사각형)일 수 있다. 글리프 형상의 세부사항들은 후술된다는 것에 유의한다.In the attribute "CGlyphId", the ID of the glyph matching the character shape data of each character is generally specified. However, in this embodiment, since the character shape of the transparent character is drawn on the scanned image, the user cannot visually confirm it regardless of the character shape. Therefore, in the present embodiment, the same glyph ID is designated to reduce the character shape data (font data) even for different characters. Thus, in the example of FIG. 6, the same attribute values "0, 0, 0" are described in the attribute "CGlyphId". The character shape designated by this glyph ID may be a simple shape (for example, a rectangle). Note that details of the glyph shape are described below.
상기 속성 값들은 단지 예시들이며, 동일한 의미들을 갖는 그외의 값들을 사용하여 기술될 수 있다는 것에 유의한다. 예를 들어, 폰트 사이즈를 나타내는 속성 "Size"는, 화소 높이 및 화상 해상도에 기초하여 화소수 대신에 포인트수 등과 같은 값을 사용하여 기술될 수 있다.Note that the attribute values are merely examples and may be described using other values having the same meanings. For example, the attribute "Size" representing the font size can be described using a value such as the number of points instead of the number of pixels based on the pixel height and the image resolution.
상기 예시에서는, 각각의 문자 라인의 외접 직사각형의 좌측 상단의 좌표 위치가 기준으로서 지정되고, 폰트 사이즈는 문자 라인의 높이와 매칭되도록 지정되어, 문자열은 스캔 화상의 문자 화상들의 위치들에 거의 오버레이(overlaid)되도록 묘화된다. 그러나, 본 발명은 이에 한정되지 않는다. 특히, 본 실시예에서는 묘화될 각각의 문자에 대하여 투명 컬러가 지정되고, 사용자는 그것을 보지 못하므로, 묘화될 문자열은 대응하는 문자 화상들의 바로 위에 오버레이될 필요가 없다. 예를 들어, 투명 문자열은 대응하는 문자 화상들의 하단 부분들에 묘화될 수 있다. 예를 들어, 도 6의 요소(604)의 예시에서, X = "236", Y = "368" 및 Size = "10"이 설정되면, 낮은 높이를 갖는 투명 문자열이 문자 화상들의 하단들에 묘화된다. 이때, 묘화될 투명 문자열의 사이즈(높이)는 문자 화상들보다 작은 미리 결정된 사이 즈(예를 들어, 10)이도록 설정된다.In the above example, the coordinate position of the upper left corner of the circumscribed rectangle of each character line is designated as a reference, and the font size is specified to match the height of the character line, so that the character string is almost overlaid on the positions of the character images of the scanned image ( overlaid). However, the present invention is not limited thereto. In particular, in this embodiment, a transparent color is specified for each character to be drawn, and the user does not see it, so that the character string to be drawn does not need to be overlaid on the corresponding character images. For example, the transparent character string can be drawn in the lower portions of the corresponding character images. For example, in the example of
묘화될 투명 문자열은 추후에 검색 키워드들을 사용하여 검색을 수행할 때 사용되며, 검색 키워드에 매칭되는 문자열은 강조 표시된다(예를 들어, 상이한 컬러를 갖도록 표시됨). 투명 문자열은 대응하는 문자 화상들의 위치들에 거의 대응하는 위치에 묘화되므로, 투명 문자열을 사용하여 검색이 수행되지만, 사용자에게는 문자 화상들이 검색에 의해 발견된 것처럼 보인다. 따라서, 검색을 수행할 때 문자들을 강조 표시하기 위해 투명 문자열을 사용하는 경우, 그것이 대응하는 문자 화상들의 하단들에 묘화되는 경우에도, 대응하는 문자 화상들은 그것들이 검색 시에 언더라인되는(underlined) 것처럼 강조 표시된다. 따라서, 아무런 문제가 발생하지 않는다. 투명 문자열의 묘화 위치는 하단에 한정되지 않는다. 예를 들어, 각각의 문자 화상의 하부 또는 상부의 절반 위치에 투명 문자열을 묘화하도록 기술이 행해질 수 있다.The transparent string to be drawn is used later when performing a search using the search keywords, and the string matching the search keyword is highlighted (e.g., displayed to have a different color). Since the transparent character string is drawn at a position almost corresponding to the positions of the corresponding character images, a search is performed using the transparent character string, but to the user, the character images appear to have been found by the search. Thus, when using a transparent string to highlight characters when performing a search, even if it is drawn at the bottoms of the corresponding character pictures, the corresponding character pictures are underlined in the search. Is highlighted. Thus, no problem occurs. The drawing position of a transparent string is not limited to the bottom. For example, a technique can be done to draw a transparent character string at the lower half or the upper half of each character image.
단계 S406에서, CPU(102)는 페이지의 종료를 나타내는 </Page>를 기술한다.In step S406, the
CPU(102)는 단계 S407에서 기술될 페이지가 아직 남아 있는지를 체크한다. 기술될 페이지가 아직 남아 있는 경우, 처리는 단계 S403으로 복귀하여 다음 페이지를 처리할 페이지 화상으로서 갖는다. 기술될 페이지가 남아 있지 않은 경우, 처리는 단계 S408로 진행한다.The
도 6의 기술 예에서, CPU(102)는 제2 페이지의 화상에 대하여 단계들 S404 내지 S406의 처리들을 실행하여, 요소들(607 내지 610)을 기술한다.In the technical example of FIG. 6, the
단계 S408에서, CPU(102)는 이 전자 문서 내의 문자열들을 묘화하는데 사용 되는 모든 글리프들을 포함하는 폰트 데이터의 내용들을 기술한다.In step S408, the
본 설명의 페이지 데이터 기술 포맷 사양에서, 폰트 데이터 내에 포함된 글리프 데이터는 <Font> 및 </Font>에 의해 바운딩되는 범위 내의 <Glyph> 요소로서 기술된다. <Font> 요소는 그 폰트의 타입을 나타내는 속성 "ID"를 포함한다. <Glyph> 요소는 글리프의 타입을 나타내는 속성 "ID", 및 그 ID에 대응하는 글리프(문자 형상)를 나타내는 속성 "Path"을 포함한다. 속성 "Path"는 좌측 하단의 위치를 원점으로 갖는 1024 × 1024 묘화 직사각형 단위 내에서 직선 또는 곡선 함수를 사용하여 글리프를 표현하도록 기술된다는 것에 유의한다.In the page data description format specification of the present description, the glyph data included in the font data is described as a <Glyph> element within a range bounded by <Font> and </ Font>. The <Font> element contains an attribute "ID" that indicates the type of the font. The <Glyph> element includes an attribute "ID" indicating the type of the glyph and an attribute "Path" indicating the glyph (character shape) corresponding to the ID. Note that the attribute "Path" is described to represent a glyph using a straight or curved function within a 1024 x 1024 drawing rectangle unit with the origin at the bottom left.
도 6의 기술 예에서, <Font> 요소(611)에서는, Id = "Font01"의 폰트가 정의되며, 글리프 Id = "0"의 하나의 타입의 글리프가 그 요소 내에 정의된다. 이 글리프의 문자 형상을 나타내는 "Path" 속성 "M0,0 V-1024 H1024 V1024 f"는 "원점 (0, 0)으로 이동(MOVE)하고, 위로 1024 단위 수직 라인을 묘화하고, 우측으로 1024 단위 수평 라인을 묘화하고, 아래로 1024 단위 수직 라인을 묘화하고, 현재 포인트에서 개시 포인트까지 라인들을 묘화함으로써 바운딩되는 범위를 페인팅함"을 나타내는 글리프를 기술한다. 즉, 이 속성은 1024 × 1024 직사각형을 페인팅함으로써 취득되는 정사각형의 글리프를 표현하는 기술을 갖는다.In the technical example of FIG. 6, in the <Font>
도 6의 <Font> 요소(611)의 기술은 일례이며, 삼각형, 원, 직선 등과 같은 그외의 간단한 문자 형상들을 정의할 수 있고, 문자 형상으로서 공백(스페이스 형상)을 정의할 수 있다는 것에 유의한다.Note that the description of the <Font>
단계 S409에서, CPU(102)는 전자 문서의 종료를 나타내는 </Document>를 기 술하므로, 전자 문서의 생성을 종료한다. 생성된 전자 문서는 화상 처리 장치(100) 내의 메모리(103) 또는 하드 디스크(104)에 파일로서 보존된다. 보존 시에, 파일은 공지된 텍스트 압축 기술을 사용하여 압축될 수 있다.In step S409, the
도 2를 다시 참조하면, 단계 S209에서, CPU(102)는 단계 S208에서 생성된 전자 문서를 단계 S201에서 지정된 전송 방법에 의해 전송처(예를 들어, 화상 처리 장치(110))로 전송한다. 데이터 전송 처리 자체는 최신 기술을 사용하며, 그 설명은 제공되지 않는다.Referring again to Fig. 2, in step S209, the
전송처인 화상 처리 장치(110)는 전송된 전자 문서를 네트워크 인터페이스(114)를 통해 수신하며, 그것을 하드 디스크(113)에 저장한다. 데이터 수신 처리는 최신 기술을 사용하며, 그 설명은 제공되지 않는다.The
장치의 하드 디스크에 저장된 전자 문서를 특정하기 위해 임의의 식별 정보(파일명 등)를 사용할 수 있다는 것에 유의한다. 예를 들어, 수신 시간과 연관된 문자열이 할당될 수 있다. 또한, 중복되지 않은 번호들이 선택되어 자동으로 할당될 수 있거나, 또는 사용자가 전자 문서의 생성 시에 그러한 정보를 지정할 수 있다.Note that any identification information (file name, etc.) can be used to specify the electronic document stored on the hard disk of the device. For example, a string associated with the reception time may be assigned. Also, non-overlapping numbers can be selected and automatically assigned, or the user can specify such information at the time of generation of the electronic document.
이하, 도 3의 흐름도를 참조하여 전자 문서들을 검색하고 브라우징하기 위한 처리의 일례를 설명한다. 화상 처리 장치(110)가 검색을 수행하는 경우가 이하에 예시될 것이다. 그러나, 본 발명은 이에 한정되지 않으며, 화상 처리 장치(110)는 검색을 수행하도록 설계될 수 있다.An example of a process for searching and browsing electronic documents is described below with reference to the flowchart of FIG. 3. The case where the
단계 S301에서, 사용자는 원하는 전자 문서의 문자열에 대하여 화상 처리 장 치(110)에 저장된 전자 문서 그룹을 검색하기 위해 유저 인터페이스(115)로부터 원하는 전자 문서의 텍스트 내에 포함될 수 있는 검색 키워드를 입력한다. k를 입력 문자열의 길이라고 한다.In step S301, the user inputs a search keyword that can be included in the text of the desired electronic document from the
단계 S302에서, CPU(111)는 화상 처리 장치(110)의 하드 디스크(113) 내의 모든 전자 문서 파일들이 검색 처리될 전자 문서 파일들을 포함하는지를 체크한다. 그러한 전자 문서 파일들이 포함되어 있으면, CPU(111)는 그것들로부터 하나의 전자 문서 파일을 특정하고, 그 파일이 압축되어 있으면 그 전자 문서 파일을 압축 해제한다. 다음으로, 처리는 단계 S303으로 진행한다. 검색 처리할 전자 문서가 존재하지 않으면, 처리는 단계 S312로 진행하여, 모든 전자 문서들에 대한 검색 처리가 완료되었다고 사용자에게 통지한다.In step S302, the
단계 S303에서, CPU(111)는 단계 S302에서 특정된 전자 문서 내의 텍스트 데이터에 대하여 검색을 수행하기 위한 준비들을 실행한다. 이 단계에서, CPU(111)는 문서 내의 텍스트(문자 코드들)를 일렬로 배열하고, 검색 개시 위치 n을 초기화한다, 즉, n = 0으로 설정한다.In step S303, the
이하, 단계 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부터 차례대로 할당된다.The following describes an example of the processing in step S303. The
단계 S304에서, CPU(111)는 문자 코드열 테이블 내의 각각의 문자 코드가 검색 개시 위치 n을 시작 지점으로서 갖는 검색 키워드의 문자 코드열과 매칭되는지를 체크한다. 검색 키워드와 매칭되는 부분이 검출되면, CPU(111)는 그때의 변수 n을 매칭 문자열의 헤드 위치로서 설정하고, 처리는 단계 S305로 진행한다.In step S304, the
단계 S304에서 매칭이 발견되지 않는다고 판정되면, 처리는 단계 S309로 진행하여, 문자 코드열 테이블 내의 모든 문자들이 검색 처리되었는지를 체크한다. 문자 코드열 테이블에 저장된 모든 문자 코드열의 검색 처리가 완료되었다고 판정되는 경우, 프로세스는 단계 S311로 진행하여, 검색 처리될 현재 문서인 전자 문서의 검색 처리의 완료를 통지한다. 반면에, 모든 문자열들의 검색 처리가 아직 완료되지 않았다고 판정되는 경우, 처리는 단계 S310으로 진행하여, 변수 n을 1만큼 증가시킨다. 다음으로, 처리는 단계 S304로 복귀하여, 테이블 내의 다음 검색 개시 위치 n에서의 문자 코드열이 검색 키워드와 매칭되는지를 체크한다. N을 문자 코드열 테이블 내에 저장된 문자 코드들의 총 수라고 하면, n < (N - k)이면, 단계 S309에서 모든 문자 코드열들의 검색 처리가 아직 완료되지 않았다고 판정되며, n ≥ (N - k)이면, 검색 처리가 완료되었다고 판정된다는 것에 유의한다.If it is determined in step S304 that no match is found, the process proceeds to step S309 to check whether all characters in the character code string table have been searched. If it is determined that the search processing for all the character code strings stored in the character code string table is completed, the process proceeds to step S311 to notify completion of the search process for the electronic document which is the current document to be searched. On the other hand, if it is determined that the search processing of all the character strings has not yet been completed, the process proceeds to step S310 to increase the variable n by one. Next, the process returns to step S304 to check whether the character code string at the next search start position n in the table matches the search keyword. If N is the total number of character codes stored in the character code string table, if n <(N-k), it is determined in step S309 that the search processing of all character code strings has not yet been completed, and n≥ (N-k) Note that it is determined that the search process is completed.
예를 들어, 검색 키워드 ""의 문자 코드열 "0x242b" 및 "0x242d"를 헤드로부터 스캔함으로써 그 검색 키워드와 매칭되는 부분에 대하여 도 12의 문자 코드열 테이블을 검색할 때, 단계들 S304, S309 및 S310의 처리들을 반복하여, 제1 매칭 문자열의 문자열 번호로서 n = 3을 추출한다.For example, search keyword " When searching the character code string table of Fig. 12 for the portion matching the search keyword by scanning the character code strings " 0x242b " and " 0x242d " from the head, the processes of steps S304, S309 and S310 are repeated. , N = 3 is extracted as the string number of the first matching string.
단계 S305에서, CPU(111)는 문자열 번호 n에 대응하는 문자열 데이터가 속하는 전자 문서의 페이지를 특정한다.In step S305, the
예를 들어, 전자 문서 데이터를 파스할 때, <Text> 요소를 기술하는 <Page> 요소가 판별되면, CPU(111)는 "Number" 속성에 기초하여 페이지 번호를 식별할 수 있다. 따라서, CPU(111)는 도 12로부터 단계 S305에서 특정된 위치 n에 대응하는 문자열의 기술 위치를 취득하며, 기술 위치가 사이에 존재하는 <Page> 요소들을 검출함으로써 그 문자열이 속하는 페이지를 특정한다. 단계 S303에서 전자 문서 데이터를 파스할 때, CPU(111)가 각각의 <Text> 요소들을 기술하는 <Page> 요소들을 판별하고, 그것들을 도 12의 문자 코드열 테이블에 저장하는 경우, 그것은 문자열 번호에 기초하여 페이지 번호를 쉽게 특정할 수 있다. 단계 S304에서의 매칭 문자열의 검출 방법 및 단계 S305에서의 페이지 번호의 특정 방법은 전술된 예시들에 한정되지 않는다는 것에 유의한다.For example, when parsing electronic document data, if the <Page> element describing the <Text> element is determined, the
단계 S306에서, CPU(111)는 단계 S305에서 판정된 페이지를 그 묘화 기술에 따라 묘화하고, 그 페이지를 유저 인터페이스(115) 상에 표시한다. 이때, n으로부터 n + k - 1까지의 범위 내에 있는 문자열 번호(No.)를 묘화하는 경우, CPU(111)는, 사용자가 그 문자에 대응하는 위치를 쉽게 식별하는 것을 가능하게 하도록 강조 표시 효과를 이용하여 그 문자들을 묘화한다. 이하, 검색 키워드에 매칭되는 부분에 강조 표시 효과를 제공하는 묘화의 세부사항들을 설명한다.In step S306, the
도 5의 흐름도를 참조하여 단계 S306에서 실행되는 페이지 묘화 처리를 설명한다.The page drawing process executed in step S306 will be described with reference to the flowchart in FIG. 5.
단계 S501에서, CPU(111)는 특정된 페이지 번호에 대응하는 <Page> 요소의 "Width" 및 "Height" 속성들의 값들에 기초하여 묘화 결과로서 페이지 화상의 사이즈를 결정한다.In step S501, the
단계 S502에서, CPU(111)는 페이지 화상의 화소 정보를 저장할 수 있는 메모리를 확보한다.In step S502, the
단계 S503에서, CPU(111)는 <Page> 요소의 자식 요소(child element)들 중 처리될 하나의 요소를 추출하고, 처리될 요소의 타입을 결정한다. 처리될 요소가 <Image>이다고 판정되면, 처리는 단계 S504로 진행하며, 처리될 요소가 <Text>이다고 판정되면, 처리는 단계 S505로 진행한다. <Page> 요소의 모든 자식 요소들이 이미 처리되었으면, 처리는 단계 S517로 진행한다.In step S503, the
단계 S504에서, CPU(111)는 <Image> 요소의 "Data" 속성 값으로 기술된 압축 화상을 추출한다. 또한, CPU(111)는 속성들 "X", "Y", "Width" 및 "Height"에 의해 표현되는 페이지 화상 내의 전체 묘화 직사각형 영역에 맞도록 추출된 화상을 스케일링하고, 그 화상을 단계 S502에서 확보된 페이지 화상 메모리의 영역에 덮어쓴다. 그 후에, 처리는 단계 S503으로 복귀한다.In step S504, the
단계 S505에서, CPU(111)는 처리될 <Text> 요소에 기술된 각각의 속성들로부터 문자 개시 위치 (X, Y), 문자 폰트 ID (F), 문자 사이즈 (S) 및 문자 컬러 (C)를 취득한다. 또한, CPU(111)는 그 <Text> 요소에 기술된 문자수 (N)을 취득한다.In step S505, the
단계 S506에서, CPU(111)는 글리프 화상을 생성하는데 필요한 메모리를 확보한다. 이 단계에서, CPU(111)는 1024 × 1024 화소들에 대한 이진 화상 메모리를 확보한다고 가정한다.In step S506, the
단계 S507에서, CPU(111)는 관심있는 문자를 나타내는 카운터 i를 "1"로 초기화한다.In step S507, the
CPU(111)는 단계 S508에서 i > N인지를 체크한다. i ≤ N이면, 처리는 단계 S509로 진행하고; i > N이면, CPU(111)는 그 <Text> 요소의 처리가 완료되었다고 판정하고, 처리는 단계 S503으로 복귀한다.The
단계 S509에서, CPU(111)는 <Text> 요소의 속성 "String"으로부터 i 번째 문자의 문자 코드 (P)를 취득하고, 속성 "CGlyphId"로부터 i 번째 문자의 글리프 ID (Q)를 취득한다.In step S509, the
단계 S510에서, CPU(111)는 폰트 ID = (F)를 갖는 <Font> 요소 기술에 대한 전자 문서를 검색하고, 그 <Font> 요소 기술의 자식 요소들 중 글리프 ID = (Q)를 갖는 <Glyph> 요소로부터 "Path" 속성을 취득한다.In step S510, the
단계 S511에서, CPU(111)는 단계 S510에서 취득된 "Path" 속성 값에 따라 단 계 S506에서 확보된 글리프 화상 생성 메모리 상에 글리프 이진 화상을 생성한다. 글리프 이진 화상은, 예를 들어, 묘화될 부분이 "1"로서 표현되고 묘화되지 않을 부분이 "0"으로서 표현되는 화상이라는 것에 유의한다. 묘화될 부분 "1"은 추후에 투명 컬러로 묘화된다는 것에 유의한다.In step S511, the
단계 S512에서, CPU(111)는 문자 사이즈 속성의 값 (S)에 따라 직사각형의 사이즈를 갖도록 글리프 이진 화상을 스케일링한다.In step S512, the
단계 S513에서, CPU(111)는 페이지 화상 메모리 내의 좌표 위치 (X, Y)를 기준으로 하는 직사각형 영역에, 단계 S512에서 스케일링된 글리프 이진 화상을 묘화한다. 페이지 화상 상에 중첩되도록 이진 화상을 묘화할 때의 각각의 화소의 화소 값은 이하의 식에 의해 정의된다. 글리프가 묘화되기 전의 페이지 화상의 화소 값 (r, g, b)에 대하여 글리프가 묘화된 후의 각각의 화소 값은 (r', g', b')가 된다고 가정한다.In step S513, the
글리프 이진 화상의 화소 값 "0"에 대응하는 화소: (r', g', b') = (r, g, b)Pixel corresponding to pixel value "0" in the glyph binary image: (r ', g', b ') = (r, g, b)
글리프 이진 화상의 화소 값 "1"에 대응하는 화소: (r', g', b') = (F(r, Cr), F(g, Cg), F(b, Cb))Pixel corresponding to pixel value "1" of the glyph binary image: (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)이다.Where F (r, Cr) = (r × A + Cr × (255-A)) / 255, F (g, Cg) = (g × A + Cg × (255-A)) / 255 and F (b, Cb) = (b x A + Cb x (255-A)) / 255. Also, A is the alpha channel value for letter color C, and Cr, Cg and Cb are the R, G and B values of letter color C. When "255" is specified as the alpha channel value, since this glyph binary image is transparent, (r ', g', b ') = (r also for the pixel corresponding to pixel value "1" of the glyph binary image. , g, b).
CPU(111)는 단계 S514에서, 예를 들어, 도 12에 도시된 문자 코드열 테이블을 사용하여 관심있는 i 번째 문자가, n으로부터 n + k - 1까지의 범위 내에 있는 문자열 번호(No.)인, 문자인지를 체크한다. 더 구체적으로, n으로부터 n + k - 1까지의 범위 내의 각각의 문자들의 기술 개시 위치들은 문자 코드열 테이블로부터 검출될 수 있기 때문에, 상기 체크 처리는 관심있는 i 번째 문자의 개시 위치가 이 기술 개시 위치들 중 하나와 매칭되는지의 여부에 기초하여 달성된다. 관심있는 i 번째 문자가 n으로부터 n + k - 1까지의 범위 내에 있는 문자열 번호인 문자이면, 처리는 단계 S515로 진행하며; 그렇지 않은 경우, 처리는 단계 S516으로 진행한다.The
단계 S515에서, CPU(111)는 관심있는 문자가 검색 문자열로서 검출된 범위 내에 있음을 나타내기 위해 강조 표시 처리를 실행한다. 더 구체적으로, 문자열이 묘화된 범위에 대응하고 페이지 화상 메모리의 위치 (X, Y)로부터 시작되는 직사각형의 범위 내의 화소들의 화소 값들 (r, g, b)는, 이하에 의해 주어지는 화소 값들 (r', g', b')로 변경된다:In step S515, the
(r', g', b') = (G(r), G(g), G(b))(r ', g', b ') = (G (r), G (g), G (b))
(G(r) = 255 - r, G(g) = 255 - g, G(b) = 255 - b에 대하여).(For G (r) = 255-r, G (g) = 255-g, G (b) = 255-b).
컬러를 반전시키는 강조 표시 처리는 일례이며, 그외의 종류의 강조 표시 처리를 사용할 수 있다는 것에 유의한다. 예를 들어, 글리프 이진 화상의 화소 값 "0"을 갖는 것들에 대응하는 화소들은 변경되지 않을 수 있으며, 글리프 이진 화상 의 화소 값 "1"을 갖는 것들에 대응하는 화소들의 화소 값들 (r, g, b)는 상기 (r', g', b')로 변경될 수 있다. 대안으로, 강조 표시될 직사각형 영역의 폭으로서, 글리프 이진 화상의 폭 대신에 문자들의 공간 폭을 지정하는 속성 "CWidth"의 값을 사용하여, 연속하는 검색 문자열을 간격 없이 채울 수 있다. 문자들의 문자 간격을 이용하여 강조 표시 처리를 실행하는 경우, 도 16에 도시된 바와 같이, 문자들 사이의 공간도 채워진다.Note that the highlight display processing for inverting the color is an example, and other types of highlight display processing can be used. For example, the pixels corresponding to those having the pixel value "0" of the glyph binary image may not be changed, and the pixel values (r, g of the pixels corresponding to those having the pixel value "1" of the glyph binary image , b) may be changed to (r ', g', b '). Alternatively, using the value of the attribute "CWidth" which specifies the space width of the characters instead of the width of the glyph binary image as the width of the rectangular area to be highlighted, successive search strings can be filled without gaps. When executing the highlight display process using the character intervals of the characters, the space between the characters is also filled as shown in FIG.
단계 S516에서, CPU(111)는 n 번째 문자의 문자 간격("CWidth" 속성의 값)을 X에 더하고, n을 1만큼 증가시킨다(n = n + 1). 다음으로, 처리는 단계 S508로 복귀한다.In step S516, the
단계 S517에서, CPU(111)는 1개의 페이지에 대한 묘화 결과, 즉, <Page> 요소 내의 <Image> 및 <Text> 요소 기술들이 묘화되는 페이지 화상 메모리의 내용들을 유저 인터페이스(115)의 표시 버퍼로 전송하여, 묘화 결과를 표시한다.In step S517, the
이하, 도 6에 도시된 전자 문서의 제1 페이지의 묘화 기술을 일례로 하여, 도 5에 도시된 흐름도의 처리를 실행하는 경우를 설명한다.Hereinafter, the case where the process of the flowchart shown in FIG. 5 is performed using the drawing technique of the 1st page of the electronic document shown in FIG. 6 as an example is demonstrated.
단계 S501에서의 처리에 의해, CPU(111)는 도 6의 제1 페이지의 <Page> 요소의 속성 값들 Width = "1680" 및 Height = "2376"에 기초하여 페이지의 화상 사이즈로서 1680 × 2376 화소들을 결정한다.By the processing in step S501, the
단계 S502에서의 처리에 의해, CPU(111)는, 예를 들어, 페이지 화상이 RGB 24비트 컬러로 표현되는 경우 1680 × 2376 × 3 바이트의 메모리를 확보한다.By the processing in step S502, the
단계 S504에서의 처리에 의해, CPU(111)는 도 6의 <Image> 요소(603)의 "Data" 속성 값에 기술된 압축된 코드로부터 화상을 추출하고, 그 화상을 페이지 화상 메모리의 전체 영역 상에 덮어쓴다. 본 예시에서 화상 데이터는 원래 페이지의 화소와 동일한 1680 × 2376 화소들의 사이즈를 갖기 때문에, CPU(111)는 스케일링 처리를 적용하지 않는다는 것에 유의한다.By the processing at step S504, the
단계 S505에서의 처리에 의해, CPU(111)는 도 6의 <Text> 요소(604)로부터 X = "236", Y = "272", 문자수 N = "3", 문자 폰트 ID = "Font01", 문자 사이즈 = "97" 및 문자 컬러 "0, 0, 0, 255"를 취득한다.By the processing in step S505, the
단계 S509에서의 처리에 의해, CPU(111)는 먼저 <Text> 요소의 "String" 속성의 제1 문자 코드 = 0x2422 및 GlyphId = "0"을 취득한다.By the processing in step S509, the
단계 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"로 채움으로써 화상을 생성한다.Before generating the glyph binary image in step S511, the
도 6에 도시된 전자 문서에 기술된 <Text> 요소들(604, 605) 내의 문자들의 모든 "GlyphId" 값들은 "0"이기 때문에, 모든 문자들에 대하여 단계 S511에서 생성된 글리프 화상들은 결과적으로 서로 동일하다. 따라서, CPU(111)는 단계 S511에서 생성된 글리프 화상을 메모리에 일시적으로 보존할 수 있으며, 다른 문자를 묘 화할 때 일시적으로 보존된 글리프 화상을 사용할 수 있다.Since all "GlyphId" values of the characters in the <Text>
단계 S512에서, CPU(111)는 문자 사이즈 = "97"에 기초하여 글리프 문자 화상을 97 × 97 화소들로 스케일링한다.In step S512, the
단계 S513에서, 페이지 화상 상의 위치 (X, Y) = (236, 272)로부터 시작하는 97 × 97 화소들의 직사각형의 범위는 스케일링된 글리프 문자 화상에 의해 묘화될 영역으로서 기능한다. 도 6의 예시에서, 문자 컬러 = "0, 0, 0, 255", 즉, 알파 채널 값 A = 255이기 때문에, 글리프 이진 화상 내의 대응하는 화소 값이 "1"인 경우에도 (r', g', b') = (r, g, b)가 항상 설정된다. 즉, 페이지 화상 내의 직사각형 영역 내의 화소 값들은 단계 S513의 처리 전후에 변경되지 않는다.In step S513, the rectangular range of 97 x 97 pixels starting from position (X, Y) = (236, 272) on the page image serves as an area to be drawn by the scaled glyph character image. In the example of FIG. 6, since the character color = "0, 0, 0, 255", that is, the alpha channel value A = 255, even if the corresponding pixel value in the glyph binary image is "1" (r ', g ', b') = (r, g, b) is always set. That is, the pixel values in the rectangular area in the page image are not changed before or after the process of step S513.
CPU(111)는, 단계 S514에서 문자 코드열 테이블에 기초하여, 도 6의 <Text> 요소(604) 내의 제1 문자가 문자열 번호들 중 n으로부터 n + k - 1까지의 범위에 대응하는 문자인지를 체크한다.The
이 경우, 도 12의 문자 코드열 테이블은, 예를 들어, 도 6의 전자 문서에 기초하여 생성되며, 도 3의 단계 S304에서 키워드에 매칭된다고 판정된 문자열 번호들의 범위는 3과 4이다고 가정한다. 이때, 도 6의 <Text> 요소(604) 내의 제1 문자 코드는 3과 4의 범위 내에 있지 않기 때문에, 처리는 단계 S516으로 진행한다. <Text> 요소(604) 내의 제1 문자 코드 기술의 시작 문자 위치는 1093이고, 문자 코드열 테이블 내의 문자열 번호들 3과 4의 범위 내의 문자들의 임의의 기술 위치와 매칭되지 않기 때문에, <Text> 요소(604)의 제1 문자는 3과 4의 범위에 대응하는 문자가 아니라고 판정될 수 있다.In this case, the character code string table of FIG. 12 is generated based on, for example, the electronic document of FIG. 6, and it is assumed that the range of character string numbers determined to match the keyword in step S304 of FIG. 3 is 3 and 4. do. At this time, since the first character code in the <Text>
그 후에, 도 6의 <Text> 요소(605) 내의 제1 문자의 처리의 실행 시에, 단계 S514에서 제1 문자가 문자 코드열 테이블 내의 3과 4의 범위 내의 문자들의 시작 위치와 매칭된다고 판정되며, 단계 S515에서 강조 표시 묘화 처리가 실행된다.Thereafter, upon execution of the processing of the first character in the <Text>
이 문자에 대하여, 단계 S515에서 CPU(111)는 페이지 화상 메모리의 위치 (236, 472)로부터 시작하는 92 × 92 영역 내의 화소 값들 (r, g, b)를 (G(r), G(g), G(b))로 변경한다.For this character, in step S515 the
모든 <Text> 요소들이 묘화된 후에, 전술된 바와 같이, 도 13에 도시된 페이지 화상을 취득한다. 단계 S304에서 키워드에 매칭된다고 판정된 범위 내의 문자들에 대응하는 영역들에 대하여, 휘도 값들은 각각의 직사각형에서 반전되며, <Image> 요소에 의해 묘화된 화상 데이터는 나머지 문자들에 대응하는 영역들에서 변경되지 않는다. 상기 예에서는 일본어 문서의 경우를 설명하였음에 유의한다. 또한, 영어 문서에 대하여 동일한 처리를 적용한다. 예를 들어, 도 4에 도시된 전자 문서 데이터 생성 처리가 도 17에 도시된 화상에 기초하여 실행되는 경우, 도 6의 전자 문서의 요소들(604, 605)이 알파벳 문자 코드들을 기술하는 전자 문서 데이터가 생성된다. 예를 들어, 문자열 "EF"를 사용하여 이 전자 문서 데이터에 대한 검색을 수행할 때, 도 5에 도시된 묘화 처리가 실행되며, 도 18에 도시된 바와 같이, 발견된 문자열에 대응하는 직사각형 영역들 내의 화상들이 강조 표시된다.After all <Text> elements are drawn, as described above, the page picture shown in Fig. 13 is obtained. For regions corresponding to characters in the range determined to match the keyword in step S304, the luminance values are inverted in each rectangle, and the image data drawn by the <Image> element is the regions corresponding to the remaining characters. Does not change in Note that the above example illustrates the case of the Japanese document. Also, the same processing is applied to English documents. For example, when the electronic document data generation process shown in FIG. 4 is executed based on the image shown in FIG. 17, the
이와 같이, 발견된 문자열이 강조 표시되므로, 사용자는 단계 S306에서 표시된 페이지의 화상만을 관찰함으로써 페이지 내의 검색 키워드의 위치를 쉽게 판정할 수 있다.In this way, since the found character string is highlighted, the user can easily determine the position of the search keyword in the page by observing only the image of the page displayed in step S306.
도 14A 및 도 14B는 다른 방법에 의한 강조 표시 설정을 채택할 때 페이지 화상을 표시하는 방법을 나타내는 일례를 도시한다. 도 14A의 페이지 묘화 기술은, 각각의 문자 화상보다 작은 사이즈(예를 들어, Size = "10")를 갖는 투명 문자가, 도 4의 단계 S405에서 <Text> 요소의 속성 데이터를 기술할 때 대응하는 문자 화상의 하부(하단)에 대응하는 위치에 묘화된다고 기술한다. 이러한 페이지 묘화 기술에 기초하여, 각각의 문자의 문자 간격 × 문자 사이즈의 직사각형 범위가 단계 S515의 강조 표시 처리에서 강조 표시되는 경우, 도 14B에 도시된 바와 같이, 강조 표시된 페이지 화상이 생성된다. 이와 같이, 언더라인된 발견 부분이 강조 표시된 것처럼 보이기 때문에, 사용자는 페이지 내의 발견된 문자열의 위치를 쉽게 판정할 수 있다. 도 14A 및 도 14B는 일본어 문자열들을 포함하는 문서 화상의 예시를 도시하며, 영어(알파벳) 문자열들을 포함하는 문서 화상에 동일한 처리를 적용할 수 있다는 것에 유의한다.14A and 14B show an example showing a method of displaying a page image when adopting the highlight display setting by another method. The page drawing technique of FIG. 14A corresponds when transparent characters having a size smaller than each character image (eg, Size = "10") describe attribute data of the <Text> element in step S405 of FIG. It is described that it is drawn in the position corresponding to the lower part (lower part) of the character image. Based on this page drawing technique, when the rectangular range of the character interval x character size of each character is highlighted in the highlight display process of step S515, the highlighted page image is generated as shown in Fig. 14B. As such, since the underlined discovery portion appears to be highlighted, the user can easily determine the location of the found string within the page. 14A and 14B show examples of document images containing Japanese character strings, and note that the same processing can be applied to document images containing English (alphabetic) character strings.
도 3을 다시 참조하면, 단계 S307에서, CPU(111)는 사용자에게 검색 및 브라우징 처리를 종료할지 또는 다른 검색 부분에 대한 검색을 계속할지를 선택하게 한다. 사용자가 종료를 선택하면, 도 3의 처리가 종료되며; 사용자가 계속을 선택하면, 처리는 단계 S308로 진행한다.Referring back to FIG. 3, in step S307, the
단계 S308에서, CPU(111)는 n = n + k로 설정하고, 처리는 단계 S304로 복귀하여, 검색 키워드와 매칭되는 다음 부분을 검색한다.In step S308, the
전술된 바와 같이, 본 발명의 제1 실시예에 따르면, 종이 문서를 전자 문서로 변환할 때, 전자 문서는 페이지 화상 상에 페이지로부터 추출된 문자들을 투명 컬러로 묘화하는데 필요한 기술을 포함한다. 이 전자 문서에 대하여, 사용자는 검색 키워드와 매칭되는 부분 각각이 강조 표시된 페이지들을 확인하면서 검색을 진행할 수 있다.As described above, according to the first embodiment of the present invention, when converting a paper document into an electronic document, the electronic document includes a technique necessary for drawing characters extracted from the page on the page image in transparent color. With respect to this electronic document, the user can proceed with the search while checking the pages in which each matching portion of the search keyword is highlighted.
이 전자 문서는 하나의 단순한 문자 형상(예를 들어, 직사각형)의 폰트 데이터를 포함하며, 단순한 문자 형상을 사용하여 문서 내의 다양한 문자 타입들의 투명 문자들을 묘화하도록 기술된다. 즉, 1개의 문자 형상이 복수의 문자 타입에 대하여 공통으로 사용된다. 따라서, 전자 문서에서 사용되는 폰트 데이터가 그 전자 문서 내에 보존되는 것이 필요한 경우에도, 전자 문서의 파일 사이즈(데이터 사이즈)가 억제될 수 있다.This electronic document contains font data in one simple character shape (eg, rectangular), and is described to draw transparent characters of various character types in the document using the simple character shape. That is, one character shape is commonly used for a plurality of character types. Therefore, even when font data used in an electronic document needs to be stored in the electronic document, the file size (data size) of the electronic document can be suppressed.
<제2 실시예>Second Embodiment
도 15는 제2 실시예에 의해 생성된 전자 문서의 일례를 도시한다. 제1 실시예에서와 같이, 화상 처리 장치(100)는 전자 문서를 생성하고 전송하며, 화상 처리 장치(110)는 전자 문서를 수신하고, 브라우징하고, 검색한다고 가정한다.Fig. 15 shows an example of the electronic document generated by the second embodiment. As in the first embodiment, it is assumed that the
도 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 실시예와의 차이점들을 설명할 것이다.The description of the electronic document generation processing of the second embodiment is almost the same as that of the first embodiment using Figs. 2 and 4, and the description of the electronic document search and browsing processing is of the first embodiment using Figs. Since it is almost the same, differences from the first embodiment will be described.
도 15의 텍스트 묘화를 나타내는 <Text> 요소들(1504, 1505, 1509)은 각각의 문자의 글리프 ID를 지정하는 임의의 속성 "CGlyphId"를 기술하지 않으며, 폰트 데이터(1511)의 글리프 ID 대신에 속성 "CString" 내에 작성된 문자 코드들 자체를 사용한다.The <Text>
폰트 데이터(1511) 내에 정의된 6개의 문자 타입의 "Path" 데이터는 동일한 문자 형상을 정의한다. 이러한 방법으로 기술된 폰트 데이터는 LZ77 등과 같은 공지된 압축 기술을 사용하여 높은 압축률로 압축될 수 있다.Six character types of "Path" data defined in the
본 발명의 제2 실시예에 따르면, 종이 문서를 전자 문서로 변환할 때, 전자 문서는 페이지 화상 상에 페이지로부터 추출된 문자들을 투명 컬러로 묘화하는데 필요한 기술을 포함한다. 이 전자 문서에 대하여, 사용자는 검색 키워드와 매칭되는 부분 각각이 강조 표시된 페이지들을 확인하면서 검색을 진행할 수 있다.According to the second embodiment of the present invention, when converting a paper document into an electronic document, the electronic document includes a technique necessary for drawing characters extracted from the page on the page image in transparent color. With respect to this electronic document, the user can proceed with the search while checking the pages in which each matching portion of the search keyword is highlighted.
이 전자 문서는 문서 내에 기술된 각각의 문자들에 대한 동일한 타입의 문자 형상 데이터에 의해 구성되는 폰트 데이터를 보존한다. 동일한 타입의 문자 형상 데이터에 의해 구성되는 폰트 데이터는 일반적인 텍스트 압축 기술에 의해 높은 압 축률로 압축될 수 있기 때문에, 제2 실시예도 전자 문서에서 사용되는 폰트 데이터를 유지하면서 전자 문서의 데이터 사이즈를 억제할 수 있다. 제2 실시예에서도, 글리프에 의해 기술되는 문자 형상이 간략화되고 보존되기 때문에, 문자 형상 데이터 자체의 데이터 사이즈도 억제될 수 있다.This electronic document stores font data constituted by the same type of character shape data for each character described in the document. Since the font data composed of the same type of character shape data can be compressed at a high compression rate by a general text compression technique, the second embodiment also suppresses the data size of the electronic document while maintaining the font data used in the electronic document. can do. Also in the second embodiment, since the character shape described by the glyph is simplified and preserved, the data size of the character shape data itself can also be suppressed.
<제3 실시예>Third Embodiment
전술된 실시예들은 <Image> 요소 내의 스캔 화상에 JPEG 압축 등을 적용함으로써 취득되는 전체 페이지 화상을 기술하고 <Text> 요소 내의 투명 텍스트를 기술하는 전자 문서를 생성한다. 그러나, 본 발명은 그러한 특정한 문서에 한정되지 않는다.The above-described embodiments describe the entire page image obtained by applying JPEG compression or the like to the scanned image in the <Image> element and generate an electronic document describing the transparent text in the <Text> element. However, the present invention is not limited to such specific document.
예를 들어, <Image> 요소는, 전체 스캔 화상의 JPEG 압축된 화상의 기술 대신에 텍스트 영역과 그래픽 영역의 각각의 컬러들에 대하여 MMR 압축된 이진 화상들, 및 나머지 영역의 JPEG 압축된 화상을 저장할 수 있다. 문서 화상 내에 포함된 영역들을 해석하고 압축 처리를 적응적으로 적용하는 방법으로서, 예를 들어, 일본 특허공개공보 제07-236062호, 일본 특허공개공보 제2002-077633호 등에 기술된 방법들을 사용할 수 있다. 본 발명의 투명 텍스트를 묘화할 때 사용되는 폰트 데이터의 데이터 사이즈를 억제하기 위한 처리 및 그러한 화상 압축 처리를 결합하여, 보다 높은 압축률을 갖는 전자 화상을 생성한다.For example, the <Image> element may contain MMR compressed binary images for the respective colors of the text area and the graphics area instead of the description of the JPEG compressed picture of the entire scanned picture, and the JPEG compressed picture of the remaining area. Can be stored. As a method of interpreting the regions included in the document image and adaptively applying the compression process, for example, the methods described in JP-A-07-236062, JP-A-2002-077633, etc. can be used. have. The processing for suppressing the data size of the font data used when drawing the transparent text of the present invention and such image compression processing are combined to generate an electronic image having a higher compression ratio.
전체 페이지 화상 대신에, 텍스트 영역, 그래픽 영역, 테이블 영역, 사진 영역 등과 같은 부분 영역들만이 그것들의 위치 데이터와 함께 보존될 수 있다.Instead of a full page picture, only partial areas such as text area, graphic area, table area, picture area and the like can be preserved with their position data.
<제4 실시예><Fourth Embodiment>
전술된 실시예들에서, 검색 결과에 대응하는 부분은 화상의 컬러 (r, g, b)를 반전시킴으로써 강조 표시된다. 그러나, 본 발명은 사용되는 그러한 색에 한정되지 않는다. 예를 들어, 검색 결과를 특정하는데 사용되는 미리 결정된 컬러(예를 들어, 황색)는 반투명하게(예를 들어, 알파 채널 128) 묘화될 수 있다. 대안으로, 문자 컬러 (Cr, Cg, Cb)를 사용하여 강조 표시 컬러를 결정할 수 있다.In the above-described embodiments, the portion corresponding to the search result is highlighted by inverting the colors (r, g, b) of the image. However, the present invention is not limited to such colors used. For example, the predetermined color (eg, yellow) used to specify the search results may be rendered translucent (eg, alpha channel 128). Alternatively, the character color (Cr, Cg, Cb) can be used to determine the highlight color.
<제5 실시예><Fifth Embodiment>
전술된 실시예들에서, 도 3 및 도 5를 참조하여 기술된 바와 같이, 검색의 수행 시에, 키워드에 매칭되는 문자열은 문서의 헤드로부터 차례대로 검색되고, 최초로 발견된 문자열이 강조 표시된다. 다음으로, 사용자가 "다음 검색" 지시를 입력하면, 키워드에 매칭되는 다음 문자열이 차례대로 검색되며, 검색 결과가 강조 표시된다. 이러한 방법으로, 전술된 실시예들에서, 검색 키워드에 매칭되는 문자열은 헤드로부터 차례대로 검색되고, 검색 키워드가 히트(hit)될 때마다 검색 결과가 강조 표시된다. 그러나, 본 발명은 이에 한정되지 않는다. 예를 들어, 전자 문서 내에 포함된 모든 문자열들을 검색 키워드와 비교하고, 키워드와 매칭되는 모든 문자열들을 특정할 수 있으며, 키워드와 매칭되는 모든 이 문자열들을 동시에 강조 표시할 수 있다.In the above-described embodiments, as described with reference to Figs. 3 and 5, when performing a search, the string matching the keyword is searched sequentially from the head of the document, and the first found string is highlighted. Next, when the user enters the "next search" instruction, the next string matching the keyword is searched in order, and the search result is highlighted. In this manner, in the above-described embodiments, the character string matching the search keyword is searched in turn from the head, and the search result is highlighted whenever the search keyword is hit. However, the present invention is not limited thereto. For example, all strings contained in an electronic document can be compared to a search keyword, all strings matching the keyword can be specified, and all of these strings matching the keyword can be highlighted at the same time.
<그외의 실시예들><Other embodiments>
또한, 본 발명의 목적들은, 전술된 실시예들의 기능들을 구현하는 소프트웨어의 프로그램 코드(컴퓨터 프로그램)를 기억한 컴퓨터 판독가능한 기억 매체를 시스템 또는 장치에 제공함으로써 달성된다는 것에 유의한다. 또한, 본 발명의 목적 들은, 시스템 또는 장치의 컴퓨터(또는 CPU 또는 MPU)가 기억 매체에 기억된 프로그램 코드를 판독하고 실행하는 경우 달성된다.It is also noted that the objects of the present invention are achieved by providing a system or apparatus with a computer readable storage medium storing program code (computer program) of software for implementing the functions of the above-described embodiments. Furthermore, the objects of the present invention are achieved when the computer (or CPU or MPU) of the system or apparatus reads out and executes the program code stored in the storage medium.
본 발명의 컴퓨터 프로그램은, 장치가 전술된 흐름도들에 기술된 각각의 단계들을 실행하게 한다. 즉, 이 컴퓨터 프로그램은 컴퓨터가 흐름도들의 각각의 단계들에 대응하는 각각의 처리 유닛들(각각의 처리 수단)로서 기능하게 하기 위한 프로그램이다. 이 경우, 컴퓨터 판독가능한 기억 매체로부터 판독된 프로그램 코드 자체는 전술된 실시예들의 기능들을 구현하며, 그 프로그램 코드를 기억한 기억 매체는 본 발명을 구성한다.The computer program of the present invention allows the apparatus to perform the respective steps described in the above-described flow charts. That is, this computer program is a program for causing the computer to function as respective processing units (each processing means) corresponding to respective steps of the flowcharts. In this case, the program code itself read out from the computer readable storage medium implements the functions of the above-described embodiments, and the storage medium storing the program code constitutes the present invention.
프로그램 코드를 제공하기 위한 기억 매체로서, 예를 들어, 플렉시블 디스크, 하드 디스크, 광 디스크, 광자기 디스크, CD-ROM, CD-R, 비휘발성 메모리 카드, ROM 등을 사용할 수 있다.As a storage medium for providing the program code, for example, a flexible disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a nonvolatile memory card, a ROM, or the like can be used.
또한, 본 발명은 컴퓨터 상에서 실행되는 OS(operating system) 등이 프로그램 코드의 지시들에 기초하여 실제의 처리들의 일부 또는 모두를 실행하여 전술된 실시예들을 구현하는 경우를 포함한다.In addition, the present invention includes a case where an operating system (OS) or the like running on a computer implements the above-described embodiments by executing some or all of the actual processes based on the instructions of the program code.
전술된 제1 및 제2 실시예들에서, CPU는 메모리, 하드 디스크, 표시 디바이스 등과 협동하여 흐름도들의 각각의 단계들을 실행한다. 본 발명은 전술된 구성에 한정되지 않으며, 흐름도들을 사용하여 기술된 각각의 단계들의 처리들의 일부 또는 모두는 CPU 대신에 전용의 전자 회로에 의해 구성될 수 있다.In the first and second embodiments described above, the CPU executes respective steps of the flowcharts in cooperation with a memory, a hard disk, a display device, and the like. The present invention is not limited to the above-described configuration, and some or all of the processes of the respective steps described using the flowcharts may be configured by dedicated electronic circuits instead of the CPU.
본 발명에 따르면, 문서 화상 내의 문자 화상들에 문자 인식을 적용하고, 문서 화상 상에 문자 인식 결과를 투명 컬러로 묘화함으로써 전자 문서를 생성한다. 이러한 방법으로, 전자 문서는 검색을 수행할 때 문서 화상 상에서 검색 키워드에 대응하는 부분을 특정하는 것을 가능하게 한다. 이 전자 문서를 생성하는 경우, 그것은 문자 인식 결과를 묘화할 때 사용되는 폰트 데이터로서, 단순한 문자 형상의 폰트 데이터를 복수의 문자 타입에 공통으로 사용하는데 필요한 기술을 포함한다. 따라서, 전자 문서가 폰트 데이터를 보존하는 것을 필요로 하는 경우에도, 파일 사이즈의 증가를 최소화할 수 있다. 또한, 단순한 문자 형상을 사용하여 묘화함으로써, 폰트 데이터 자체의 데이터 사이즈를 감소시킬 수 있다.According to the present invention, an electronic document is generated by applying character recognition to character images in a document image, and drawing the character recognition result in transparent color on the document image. In this way, the electronic document makes it possible to specify the portion corresponding to the search keyword on the document image when performing the search. When generating this electronic document, it is font data used when drawing a character recognition result, and contains the technique required to use simple character-shaped font data in common for a plurality of character types. Therefore, even if the electronic document needs to preserve font data, an increase in file size can be minimized. In addition, by drawing using a simple character shape, the data size of the font data itself can be reduced.
또한, 동일한 문자 형상을 폰트 데이터로서 사용하여, 파일 사이즈를 감소시킬 수 있다.Also, by using the same character shape as the font data, the file size can be reduced.
예시적인 실시예들을 참조하여 본 발명을 설명하였지만, 본 발명은 개시된 예시적인 실시예들로 제한되는 것이 아님을 이해해야 한다. 이하의 특허청구범위의 범주는 그러한 모든 변경들과 등가의 구조물들 및 기능들을 포함하도록 최광의로 해석되어야 한다.Although the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
본 출원은 2007년 6월 29일자로 출원된 일본 특허출원번호 제2007-172736호의 이익을 주장하며, 이에 의해 그 전체가 본 명세서에 참조로서 포함된다.This application claims the benefit of Japanese Patent Application No. 2007-172736, filed June 29, 2007, which is hereby incorporated by reference in its entirety.
Claims (19)
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JPJP-P-2007-172736 | 2007-06-29 | ||
JP2007172736A JP4402138B2 (en) | 2007-06-29 | 2007-06-29 | Image processing apparatus, image processing method, and computer program |
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 (en) | 2009-10-05 |
KR101037458B1 true KR101037458B1 (en) | 2011-05-26 |
Family
ID=40226066
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020097015655A KR101037458B1 (en) | 2007-06-29 | 2008-06-23 | Image processing apparatus, image processing method and storage medium |
Country Status (7)
Country | Link |
---|---|
US (2) | US8077971B2 (en) |
EP (2) | EP2400454B1 (en) |
JP (1) | JP4402138B2 (en) |
KR (1) | KR101037458B1 (en) |
CN (1) | CN101558425B (en) |
RU (1) | RU2437152C2 (en) |
WO (1) | WO2009005021A1 (en) |
Families Citing this family (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4590433B2 (en) * | 2007-06-29 | 2010-12-01 | キヤノン株式会社 | Image processing apparatus, image processing method, and computer program |
JP4402138B2 (en) | 2007-06-29 | 2010-01-20 | キヤノン株式会社 | Image processing apparatus, image processing method, and computer program |
US20090110288A1 (en) * | 2007-10-29 | 2009-04-30 | Kabushiki Kaisha Toshiba | Document processing apparatus and document processing method |
US8983170B2 (en) | 2008-01-18 | 2015-03-17 | Mitek Systems, Inc. | Systems and methods for developing and verifying image processing standards for mobile deposit |
US9292737B2 (en) | 2008-01-18 | 2016-03-22 | Mitek Systems, Inc. | Systems and methods for classifying payment documents during mobile image processing |
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 |
US9842331B2 (en) | 2008-01-18 | 2017-12-12 | Mitek Systems, Inc. | Systems and methods for mobile image capture and processing of checks |
US10102583B2 (en) | 2008-01-18 | 2018-10-16 | Mitek Systems, Inc. | System and methods for obtaining insurance offers using mobile image capture |
US10528925B2 (en) | 2008-01-18 | 2020-01-07 | Mitek Systems, Inc. | Systems and methods for mobile automated clearing house enrollment |
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 (en) * | 2008-02-26 | 2010-12-15 | 富士ゼロックス株式会社 | Image processing apparatus and image processing program |
US8929657B2 (en) * | 2008-08-22 | 2015-01-06 | KyongHee Yi | System and method for indexing object in image |
US8719701B2 (en) * | 2009-01-02 | 2014-05-06 | Apple Inc. | Identification of guides and gutters of a document |
JP5274305B2 (en) | 2009-02-27 | 2013-08-28 | キヤノン株式会社 | Image processing apparatus, image processing method, and computer program |
JP5197464B2 (en) * | 2009-03-27 | 2013-05-15 | シャープ株式会社 | Image processing method, image processing apparatus, image forming apparatus, computer program, and recording medium |
JP5451196B2 (en) * | 2009-06-12 | 2014-03-26 | キヤノン株式会社 | Electronic document generation apparatus and electronic document generation method |
JP5528121B2 (en) * | 2010-01-05 | 2014-06-25 | キヤノン株式会社 | Image processing apparatus, image processing method, and program |
US10891475B2 (en) | 2010-05-12 | 2021-01-12 | Mitek Systems, Inc. | Systems and methods for enrollment and identity management using mobile imaging |
US8687004B2 (en) * | 2010-11-01 | 2014-04-01 | Apple Inc. | Font file with graphic images |
JP5854813B2 (en) * | 2011-12-19 | 2016-02-09 | キヤノン株式会社 | Image processing apparatus, image processing method, and computer program. |
CN103186911B (en) * | 2011-12-28 | 2015-07-15 | 北大方正集团有限公司 | Method and device for processing scanned book data |
US20130251261A1 (en) * | 2012-03-23 | 2013-09-26 | Marvell World Trade Ltd. | Method And Apparatus For Image Data Compression |
CN102831106A (en) * | 2012-08-27 | 2012-12-19 | 腾讯科技(深圳)有限公司 | Electronic document generation method of mobile terminal and mobile terminal |
JP5783990B2 (en) * | 2012-11-20 | 2015-09-24 | 京セラドキュメントソリューションズ株式会社 | Image processing apparatus, image processing program, and image processing method |
JP5971098B2 (en) * | 2012-12-03 | 2016-08-17 | 富士ゼロックス株式会社 | Information processing apparatus and information processing program |
US10963535B2 (en) | 2013-02-19 | 2021-03-30 | Mitek Systems, Inc. | Browser-based mobile image capture |
KR101445171B1 (en) * | 2014-03-28 | 2014-10-02 | 주식회사 한글과컴퓨터 | Apparatus and method for converting paper document into electronic document |
RU2604668C2 (en) * | 2014-06-17 | 2016-12-10 | Общество с ограниченной ответственностью "Аби Девелопмент" | Rendering computer-generated document image |
US10062147B1 (en) * | 2014-09-16 | 2018-08-28 | American Megatrends, Inc. | Scaling a fixed font used by a firmware interface |
JP6468105B2 (en) * | 2015-07-16 | 2019-02-13 | 富士ゼロックス株式会社 | COMMUNICATION SYSTEM, SERVER DEVICE, CLIENT DEVICE, AND PROGRAM |
US11158057B2 (en) | 2016-12-30 | 2021-10-26 | Huawei Technologies Co., Ltd. | Device, method, and graphical user interface for processing document |
CN109275036B (en) * | 2018-07-25 | 2021-03-30 | 深圳市异度信息产业有限公司 | Message reminding method, device and equipment for teaching live broadcast |
US11393272B2 (en) | 2019-09-25 | 2022-07-19 | Mitek Systems, Inc. | Systems and methods for updating an image registry for use in fraud detection related to financial documents |
US11495039B2 (en) * | 2020-10-19 | 2022-11-08 | Accenture Global Solutions Limited | Processing digitized handwriting |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10162024A (en) | 1996-11-29 | 1998-06-19 | Canon Inc | Electronic filing method and electronic filing device |
JPH10289226A (en) | 1997-02-17 | 1998-10-27 | Just Syst Corp | Character processor, character processing system, character processing method, and computer readable recording medium recorded with program for executing the method by computer |
Family Cites Families (34)
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 (en) | 1993-12-27 | 2003-02-10 | キヤノン株式会社 | Image processing apparatus and method |
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 (en) * | 1995-06-23 | 1997-04-17 | Licentia Gmbh | Method and device for determining the division of fonts with a fixed division |
JP3264619B2 (en) | 1996-06-05 | 2002-03-11 | キヤノン株式会社 | Image processing apparatus and method |
JP3335844B2 (en) | 1996-08-16 | 2002-10-21 | 富士通株式会社 | Character string direction estimation method and apparatus |
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 (en) | 1998-02-17 | 1999-08-27 | Canon Inc | Character processor, processing method of character data and storage medium |
JP4235286B2 (en) | 1998-09-11 | 2009-03-11 | キヤノン株式会社 | Table recognition method and apparatus |
JP2000322417A (en) | 1999-05-06 | 2000-11-24 | Canon Inc | Device and method for filing image and storage medium |
EP1052593B1 (en) | 1999-05-13 | 2015-07-15 | Canon Kabushiki Kaisha | Form search apparatus and method |
US6501475B1 (en) * | 1999-10-22 | 2002-12-31 | Dynalab Inc. | Glyph-based outline font generation independent of resolution |
JP4631133B2 (en) * | 2000-06-09 | 2011-02-16 | コニカミノルタビジネステクノロジーズ株式会社 | Apparatus, method and recording medium for character recognition processing |
US7133565B2 (en) | 2000-08-25 | 2006-11-07 | Canon Kabushiki Kaisha | Image processing apparatus and method |
JP4366003B2 (en) | 2000-08-25 | 2009-11-18 | キヤノン株式会社 | Image processing apparatus and image processing method |
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 (en) | 2003-01-31 | 2009-04-08 | キヤノン株式会社 | Image processing system, information processing apparatus, control method, computer program, and computer-readable storage medium |
US7391917B2 (en) | 2003-02-13 | 2008-06-24 | Canon Kabushiki Kaisha | Image processing method |
JP4181892B2 (en) | 2003-02-21 | 2008-11-19 | キヤノン株式会社 | Image processing method |
US7310769B1 (en) * | 2003-03-12 | 2007-12-18 | Adobe Systems Incorporated | Text encoding using dummy font |
JP4235583B2 (en) | 2003-05-26 | 2009-03-11 | 株式会社リコー | Image processing apparatus, image processing program, and storage medium |
JP2005259017A (en) | 2004-03-15 | 2005-09-22 | Ricoh Co Ltd | Image processing apparatus, image processing program and storage medium |
EP1555804A3 (en) * | 2004-01-19 | 2006-08-16 | Ricoh Company, Ltd. | Image processing apparatus, image processing program and storage medium |
JP4423076B2 (en) * | 2004-03-22 | 2010-03-03 | キヤノン株式会社 | Recognition object cutting apparatus and method |
JP2005275863A (en) * | 2004-03-25 | 2005-10-06 | Murata Mach Ltd | Composite machine |
JP4508100B2 (en) | 2005-12-21 | 2010-07-21 | Tdk株式会社 | Information recording method and information recording apparatus for super-resolution optical recording medium |
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 (en) * | 2007-06-29 | 2010-01-20 | キヤノン株式会社 | Image processing apparatus, image processing method, and computer program |
JP4590433B2 (en) | 2007-06-29 | 2010-12-01 | キヤノン株式会社 | Image processing apparatus, image processing method, and computer program |
JP5376795B2 (en) | 2007-12-12 | 2013-12-25 | キヤノン株式会社 | Image processing apparatus, image processing method, program thereof, and storage medium |
-
2007
- 2007-06-29 JP JP2007172736A patent/JP4402138B2/en not_active Expired - Fee Related
-
2008
- 2008-06-23 EP EP11182530.3A patent/EP2400454B1/en active Active
- 2008-06-23 RU RU2010102958/08A patent/RU2437152C2/en active
- 2008-06-23 CN CN2008800010966A patent/CN101558425B/en active Active
- 2008-06-23 US US12/439,994 patent/US8077971B2/en not_active Expired - Fee Related
- 2008-06-23 KR KR1020097015655A patent/KR101037458B1/en active IP Right Grant
- 2008-06-23 EP EP08777694A patent/EP2162859B1/en active Active
- 2008-06-23 WO PCT/JP2008/061788 patent/WO2009005021A1/en active Application Filing
-
2011
- 2011-11-17 US US13/299,283 patent/US8532388B2/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10162024A (en) | 1996-11-29 | 1998-06-19 | Canon Inc | Electronic filing method and electronic filing device |
JPH10289226A (en) | 1997-02-17 | 1998-10-27 | Just Syst Corp | Character processor, character processing system, character processing method, and computer readable recording medium recorded with program for executing the method by computer |
Also Published As
Publication number | Publication date |
---|---|
US8077971B2 (en) | 2011-12-13 |
CN101558425B (en) | 2013-09-04 |
RU2437152C2 (en) | 2011-12-20 |
EP2400454A1 (en) | 2011-12-28 |
JP4402138B2 (en) | 2010-01-20 |
JP2009009526A (en) | 2009-01-15 |
CN101558425A (en) | 2009-10-14 |
WO2009005021A1 (en) | 2009-01-08 |
US20100239160A1 (en) | 2010-09-23 |
EP2400454B1 (en) | 2013-08-21 |
US20120082388A1 (en) | 2012-04-05 |
KR20090104071A (en) | 2009-10-05 |
RU2010102958A (en) | 2011-08-10 |
EP2162859B1 (en) | 2011-12-28 |
EP2162859A1 (en) | 2010-03-17 |
US8532388B2 (en) | 2013-09-10 |
EP2162859A4 (en) | 2010-07-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101037458B1 (en) | Image processing apparatus, image processing method and storage medium | |
US8503773B2 (en) | Glyph selection and electronic document generation | |
US8396294B2 (en) | Image processing device, image processing method, and program and recording medium thereof | |
JP5274305B2 (en) | Image processing apparatus, image processing method, and computer program | |
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 (en) | Document processing device, method, program, and information storage medium | |
JP5197694B2 (en) | Image processing apparatus, image processing method, and computer program | |
JP4892600B2 (en) | Image processing device | |
CN113449731A (en) | Information processing apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
PA0105 | International application |
Patent event date: 20090724 Patent event code: PA01051R01D Comment text: International Patent Application |
|
PA0201 | Request for examination | ||
PG1501 | Laying open of application | ||
E902 | Notification of reason for refusal | ||
PE0902 | Notice of grounds for rejection |
Comment text: Notification of reason for refusal Patent event date: 20101223 Patent event code: PE09021S01D |
|
E701 | Decision to grant or registration of patent right | ||
PE0701 | Decision of registration |
Patent event code: PE07011S01D Comment text: Decision to Grant Registration Patent event date: 20110225 |
|
GRNT | Written decision to grant | ||
PR0701 | Registration of establishment |
Comment text: Registration of Establishment Patent event date: 20110520 Patent event code: PR07011E01D |
|
PR1002 | Payment of registration fee |
Payment date: 20110520 End annual number: 3 Start annual number: 1 |
|
PG1601 | Publication of registration | ||
FPAY | Annual fee payment |
Payment date: 20140424 Year of fee payment: 4 |
|
PR1001 | Payment of annual fee |
Payment date: 20140424 Start annual number: 4 End annual number: 4 |
|
FPAY | Annual fee payment |
Payment date: 20150424 Year of fee payment: 5 |
|
PR1001 | Payment of annual fee |
Payment date: 20150424 Start annual number: 5 End annual number: 5 |
|
FPAY | Annual fee payment |
Payment date: 20160425 Year of fee payment: 6 |
|
PR1001 | Payment of annual fee |
Payment date: 20160425 Start annual number: 6 End annual number: 6 |
|
FPAY | Annual fee payment |
Payment date: 20170424 Year of fee payment: 7 |
|
PR1001 | Payment of annual fee |
Payment date: 20170424 Start annual number: 7 End annual number: 7 |
|
FPAY | Annual fee payment |
Payment date: 20180425 Year of fee payment: 8 |
|
PR1001 | Payment of annual fee |
Payment date: 20180425 Start annual number: 8 End annual number: 8 |
|
FPAY | Annual fee payment |
Payment date: 20190521 Year of fee payment: 9 |
|
PR1001 | Payment of annual fee |
Payment date: 20190521 Start annual number: 9 End annual number: 9 |
|
PR1001 | Payment of annual fee |
Payment date: 20200507 Start annual number: 10 End annual number: 10 |
|
PR1001 | Payment of annual fee |
Payment date: 20210426 Start annual number: 11 End annual number: 11 |