KR20050071843A - Transforming tabular information for rendering on a limited-area display - Google Patents
Transforming tabular information for rendering on a limited-area display Download PDFInfo
- Publication number
- KR20050071843A KR20050071843A KR1020040000198A KR20040000198A KR20050071843A KR 20050071843 A KR20050071843 A KR 20050071843A KR 1020040000198 A KR1020040000198 A KR 1020040000198A KR 20040000198 A KR20040000198 A KR 20040000198A KR 20050071843 A KR20050071843 A KR 20050071843A
- Authority
- KR
- South Korea
- Prior art keywords
- label
- adjacent
- pair
- column
- cells
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/14—Digital output to display device ; Cooperation and interconnection of the display device with other functional units
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Transfer Between Computers (AREA)
Abstract
제한된 영역의 디스플레이를 구비하는 단말기에 렌더링하기 위해 표 정보를 변환하는 시스템이 네트워크 개체를 포함한다. 상기 네트워크 개체는 표(들)를 포함하는 표 정보를 포함하는 전자 문서를 수신할 수 있는 문서 변환기를 포함한다. 상기 문서 변환기는 각 표의 순서에 기초하여, 그리고 추가로 적어도 하나의 표가 적어도 하나의 레이블을 포함하는 경우 적어도 하나의 레이블에 기초하여 상기 표(들)를 상기 표(들)의 선형화된 표현으로 변환할 수 있다. 보다 상세하게는, 상기 문서 변환기는 표(들) 각각이 열 우선(row-major) 순서 또는 행 우선(column-major) 순서와 같은 소정의 순서를 갖도록 상기 표(들)를 배열함으로써 상기 표(들)를 변환할 수 있다. 그 다음, 상기 문서 변환기는 표(들)가 적어도 하나의 레이블을 포함하는 경우 각 레이블을 배치할 수 있고, 그 다음 배열된 표(들)에 기초하여, 그리고 추가로 표(들)가 적어도 하나의 레이블을 포함하는 경우 각 배치된 레이블에 기초하여 표(들)를 선형화할 수 있다.A system for converting table information for rendering to a terminal having a limited area display includes a network entity. The network entity includes a document converter capable of receiving an electronic document containing table information including table (s). The document converter converts the table (s) into a linearized representation of the table (s) based on the order of each table, and further based on at least one label if at least one table includes at least one label. I can convert it. More specifically, the document converter arranges the table (s) by arranging the table (s) such that each of the table (s) has a predetermined order, such as row-major order or column-major order. Can be converted). The document converter can then place each label if the table (s) includes at least one label, and then based on the arranged table (s), and additionally at least one table (s). If it contains a label, the table (s) can be linearized based on each placed label.
Description
본 발명은 일반적으로 표 정보를 렌더링하기 위한 시스템 및 방법에 관한 것이며, 특히 제한된 디스플레이 영역을 가지는 단말기 상에서 렌더링하기 위하여 표 정보를 변환하는데 사용되는 메모리를 예비 할당(reserve)하기 위한 시스템, 방법 및 컴퓨터 프로그램에 대한 것이다.The present invention relates generally to a system and method for rendering table information, and more particularly to a system, method and computer for preserving memory used to transform table information for rendering on a terminal having a limited display area. It's about the program.
웹 페이지, 전자 우편 메시지, 워드 프로세서 파일들과 같은 전자 문서들을 생성하는 기업 및 개인들은, 전자 문서들이 표시될 전형적인 목적지 플랫폼(target platform)을 고려하고 있다. 일반적으로, 이러한 플랫폼은 적당한 크기의 저장 용량, 메모리, 대역폭 및 큰(전형적으로는 적어도 대각선으로 14인치 크기를 가지는) 디스플레이를 포함하는 데스크 톱 컴퓨터이다. 이러한 목적지 플랫폼을 고려하여 생성된 파일들은 흔히 표, 프레임, 그림, 이동 도움 기호들(navigational aids)을 포함하는 복잡한 포맷의 정보를 포함하는데, 이런 복잡한 정보 모두는 이 문서가 어떻게 렌더링되어야 하는지를 정의한다.Companies and individuals that produce electronic documents, such as web pages, e-mail messages, word processor files, are considering a typical target platform on which electronic documents will be displayed. In general, such platforms are desktop computers that include adequately sized storage capacity, memory, bandwidth, and large (typically at least 14 inches diagonally) displays. Files created for these destination platforms often contain complex formats of information, including tables, frames, pictures and navigational aids, all of which define how the document should be rendered. .
사용자는 어떤 문서가 표시될 것을 고려하여 원래 설계된 바와 다른 매체를 통하여 그 문서에 접근하여야 할 필요가 있을 수 있는데, 이러한 매체의 예를 들면 인터넷에 의하여 동작되는 이동 전화기(Internet-enabled mobile phone), 개인용 디지털 단말기(PDA), 또는 휴대용 컴퓨터 등이 있다. 이러한 장치들은 제한된 디스플레이 영역, 해상도 및 렌더링 능력을 가지고 있으며, 복잡한 전자 문서들이 원래 설계된 바와 같이 렌더링하기가 불가능하거나, 매우 저속 및/또는 불편한 방식으로 렌더링할 수 밖에 없다. 예를 들어, 인터넷에 의하여 동작하는 이동 전화기는 겨우 몇 줄의 문자열 밖에는 표시할 수 없으며, 이러한 장치가 이미지를 렌더링할 수 있는 능력은 흑백 또는 소형 크기의(thumbnail-sized) 이미지 들에 한정되거나, 아예 아무 이미지 렌더링을 하지 못할 수도 있다. 디스플레이에 의하여 제한되는 매체의 극단적인 예를 들면 음성이 있다. 음성에 대하여, AT&T VoiceTM Text-to-Speech 엔진과 같은 시스템은, 사용자가 문자-대-음성 변환 기술을 이용하는 서비스에 전화를 걸고, 전화를 통하여 문서의 내용을 구술함으로써 사용자로 하여금 전자 문서에 전화를 이용하여 억세스하는 것을 허용한다. 구술(dictation)은 반드시 텍스트의 1차원 "렌더링"이지만, 2차원 표 내에 내장되어 있는 복잡한 레이아웃의 정보를 표시할 수는 없다.The user may need to access the document through a medium other than the one originally designed in view of which document is to be displayed. Examples of such a medium include Internet-enabled mobile phones, Personal digital assistants (PDAs), or portable computers. Such devices have limited display area, resolution, and rendering capabilities, and complex electronic documents cannot render as originally designed or render in very slow and / or inconvenient ways. For example, a mobile phone operated by the Internet can only display a few lines of text, and the ability of such a device to render an image is limited to black and white or thumbnail-sized images, You may not be able to render any images at all. There is an extreme example of speech being limited by the display. For voice, systems such as the AT & T VoiceTM Text-to-Speech engine allow users to call electronic documents by calling a service using text-to-speech technology and dictating the contents of the document over the phone. Allow access using. While dictation is necessarily one-dimensional "rendering" of text, it cannot display the information of complex layouts embedded within a two-dimensional table.
종래 기술에 의하면, 제한된 스크린 크기, 해상도 및 렌더링 능력 때문에 이러한 전자 문서들을 자신들이 원래 설계된 바로 렌더링할 수 없는 장치들은 이러한 문서들을 렌더링하기를 요청받을 경우, 자유 기능(liberty)을 채택한다. 이러한 측면에서, 표 형태의 2차원 정보를 포함하는 문자를 처리할 때, 종래 기술에 의한 어떤 장치들은 이러한 표들을 생략한다. 다른 장치들은 표가 장치의 디스플레이 영역 내에 합치되도록 하기에는 표가 너무 클 경우에는 하나 또는 그 이상의 선택된 열을 생략한다. 또한, 다른 장치들은 표에 "기계적 선형화(rote linearization)"을 수행하는데, 이것은 표의 각 셀을 독립적으로 렌더링하는 방법으로써, 소정의 순서에 의하여 표 내의 셀들을 방문하는데(예를 들어, 좌측에서 우측으로, 또는 상부에서 하부로), 전형적으로는 표 내에 포함된 이러한 셀들의 내용의 자연적인 순서에 따라 방문하여 선형화를 수행한다. 더 나아가, 다른 장치들은 전체 표의 부분적인 "관점(viewport)"만을 렌더링하는데, 이 경우 장치의 사용자가 표 내에서 관점을 이동하려고 원한다는 것을 지시해 주길 요구한다(예를 들어 방향 키를 이용하여 지시할 것을 요구한다). 예를 들어, 사용자는 좌측에서 우측으로 관점을 이동하여 표의 상이한 부분을 노출시킬 수 있다. 표를 렌더링하기 위한 이러한 기술들이 가끔은 적절하지만, 모든 표 정보가 제공되도록 하는 방법으로, 또한 표 내의 정보들이 이러한 정보를 표시하는 사용자에게 보다 더 잘 이해되도록 하는 방법으로 제한된 디스플레이 상에 표 정보를 렌더링하기 위해 표 정보를 변환하기 위한 개선된 시스템 및 방법을 설계하는 것이 바람직하다.According to the prior art, devices that cannot render such electronic documents as they were originally designed because of limited screen size, resolution and rendering capabilities, adopt liberty when asked to render such documents. In this respect, when processing characters containing tabular two-dimensional information, some devices of the prior art omit such tables. Other devices omit one or more selected columns if the table is too large to allow the table to fit within the display area of the device. Other devices also perform "rote linearization" on the table, which is a way of rendering each cell of the table independently, visiting the cells in the table in a certain order (e.g., left to right). , Or from top to bottom), typically in the natural order of the contents of these cells included in the table to perform linearization. Furthermore, other devices render only a partial "viewport" of the entire table, which in this case requires the user of the device to indicate that he or she wants to move the viewpoint within the table (e.g. using a direction key). To do). For example, the user may move the viewpoint from left to right to expose different parts of the table. While these techniques for rendering tables are sometimes appropriate, they render table information on a limited display in a way that ensures that all the table information is provided and also makes the information in the table better understood by the user who displays this information. It is desirable to design an improved system and method for transforming table information.
종래 기술에 대한 전술된 바와 같은 관점에서, 본 발명의 한 목적은 적어도 하나의 표를 포함하는 표 정보를 변환하기 위한 개선된 시스템 및 관련 단말기, 방법 및 컴퓨터 프로그램을 제공하는 것이다. In view of the prior art as described above, one object of the present invention is to provide an improved system and associated terminals, methods and computer programs for converting table information comprising at least one table.
본 발명의 다른 목적은 제한된 영역의 디스플레이를 가지는 단말기에 의하여 후속 렌더링을 수행하기 위하여 표를 변환하는 경우 종래 기술에 의한 방법들과는 다르게 이러한 정보를 표시하는 사용자에게 표의 내용이 더 용이하고 더 쉽게 이해되도록 하는 방법으로 제공하는 것이다.Another object of the present invention is to make the contents of the table easier and easier to understand for users who display this information, unlike the methods of the prior art, when converting a table for subsequent rendering by a terminal having a limited area display. Is to provide a way.
본 발명의 또 다른 목적은 표 내의 레이블들을 각 레이블과 관련된 셀들로 지역화(localizing)함으로써, 이러한 단말기 상에서 표들을 렌더링하기 위한 종래 기술과는 달리, 본 발명의 실시예들은 표로부터 하나 또는 그 이상의 열을 선택하여 절단하지 않고서도, 표의 전 내용을 렌더링하는 것이다.Yet another object of the present invention is that, unlike the prior art for rendering tables on such a terminal by localizing the labels in the table to the cells associated with each label, embodiments of the present invention provide one or more columns from the table. Select to render the entire contents of the table without truncation.
종래 기술에 대한 전술된 바와 같은 관점에서, 본 발명의 실시예들은 적어도 하나의 표를 포함하는 표 정보를 변환하기 위한 개선된 시스템 및 관련 단말기, 방법 및 컴퓨터 프로그램을 제공한다. 본 발명의 실시예들은 제한된 영역의 디스플레이를 가지는 단말기에 의하여 후속 렌더링을 수행하기 위하여 표를 변환할 수 있는데, 이 경우 종래 기술에 의한 방법들과는 다르게 이러한 정보를 표시하는 사용자에게 표의 내용이 더 용이하고 더 쉽게 이해되도록 하는 방법으로 제공한다. 이 때, 본 발명에 의한 실시예들은 표 내의 레이블들을 각 레이블과 관련된 셀들로 지역화(localizing)한다. 그러므로, 이러한 단말기 상에서 표들을 렌더링하기 위한 종래 기술과는 달리, 본 발명의 실시예들은 표로부터 하나 또는 그 이상의 열을 선택하여 절단하지 않고서도, 표의 전 내용을 렌더링할 수 있는데, 본 발명의 실시예들은 표 내의 이러한 셀들의 내용의 고유 순서(natural ordering)를 고려하지 않고 표의 각 셀들을 렌더링함으로써 표의 기계적 선형화를 수행하여, 장치의 사용자로 하여금 관점을 이동시키도록 요구하여 전체 표의 부분적인 관점만을 렌더링하는 것이 아니다.In view of the prior art as described above, embodiments of the present invention provide an improved system and associated terminal, method and computer program for transforming table information comprising at least one table. Embodiments of the present invention can convert a table to perform subsequent rendering by a terminal having a display of a limited area, in which case the contents of the table are easier for a user to display this information, unlike conventional methods. Provide it in a way that makes it easier to understand. At this time, embodiments of the present invention localize the labels in the table to cells associated with each label. Therefore, unlike the prior art for rendering tables on such a terminal, embodiments of the present invention can render the entire contents of a table without selecting and truncating one or more columns from the table. Examples perform mechanical linearization of a table by rendering each cell of the table without taking into account the natural ordering of the contents of these cells in the table, requiring the user of the device to shift the view so that only a partial view of the entire table is present. It is not rendering.
본 발명의 일 실시예에 따르면, 제한된 영역의 디스플레이를 가지는 단말기 상에 렌더링하기 위해 표 정보를 변환하기 위한 시스템에 제공된다. 본 발명의 일 실시예에 따르는 시스템은 이동 단말기, 원 서버(origin server), 프록시/게이트웨이, 단문 서비스 센터(SMSC, short messaging service center), 멀티미디어 메시지 서비스 센터(MMSC, multimedia messaging service center), 게이트웨이 GRPS 서비스 노드(GGSN, Gateway GPRS Servicing Node), 사용자 프로세서 또는 이와 같은 네트워크 개체(network entity)들을 포함한다. 네트워크 개체는 표(들)를 포함하는 표 정보를 가지는 전자 문서를 수신할 수 있는 문서 변환기(document converter)를 포함한다. 이러한 관점에서, 문서 변환기는 표(들)를 각 표의 순서에 기반하여, 및 더 나아가 적어도 하나의 표가 적어도 하나의 레이블을 포함할 경우 적어도 하나의 레이블에 기반하여 선형화된 표현(linearized representation)으로 변환할 수 있다. 특히, 문서 변환기는 표(들)가 열-우선 순서(row-major ordering) 또는 행-우선 순서(column-major ordering)와 같은 소정 순서를 가지도록 표(들)를 배열함으로써 표들을 변환할 수 있을 수 있다. 그러면, 문서 변환기는 표가 적어도 하나의 레이블을 포함할 때 각 레이블을 지역화 하고, 소정 순서를 가지도록 배열된 표에 기반하여 그 표를 선형화하며, 더 나아가 표(들)가 적어도 하나의 레이블을 포함할 경우 각 지역화된 레이블에 기반하여 선형화한다. According to one embodiment of the invention, a system is provided for converting table information for rendering on a terminal having a limited area display. The system according to an embodiment of the present invention is a mobile terminal, an origin server, a proxy / gateway, a short messaging service center (SMSC), a multimedia messaging service center (MMSC), a gateway. It includes a GRPS Service Node (GGSN), a User Processor, or such network entities. The network entity includes a document converter capable of receiving an electronic document having table information including table (s). In this regard, the document converter converts the table (s) into a linearized representation based on the order of each table, and further based on at least one label if at least one table includes at least one label. I can convert it. In particular, the document converter can convert the tables by arranging the table (s) such that the table (s) have a predetermined order, such as row-major ordering or column-major ordering. There may be. The document converter then localizes each label when the table contains at least one label, linearizes the table based on the table arranged to have a predetermined order, and furthermore, the table (s) may select at least one label. If included, linearize based on each localized label.
문서 변환기는 단말기가 패닝(panning)을 지원하는지 여부를 결정할 수 있을 수 있다. 그러면, 만일 단말기가 패닝을 지원하지 않는다면, 문서 변환기는 표를 변환하거나, 그 전자 문서를 표(들)를 변환하지 않은 채 전달하는 것 중에 하나를 선택할 수 있다. 그 이후, 선택이 표를 변환하는 과정을 포함한다면, 문서 변환기가 이 표(들)를 변환할 수 있다.The document converter may determine whether the terminal supports panning. Then, if the terminal does not support panning, the document converter may choose to either convert the table or deliver the electronic document without converting the table (s). Thereafter, if the selection involves converting the table, the document converter can convert this table (s).
후술되는 바와 같이, 각 표는 적어도 하나의 행 및 적어도 하나의 열에 정돈되는 것이 전형적인 것이다. 그러므로, 문서 변환기는 그 표(들)의 고유 순서를 식별하여 그 표(들)를 정돈할 수 있으며, 그 표(들)가 소정 순서와 다른 고유 순서를 가질 경우에는 소정 순서와 다른 고유 순서를 가지는 표들(를)이 소정 순서를 가지도록 정렬할 수 있다. 문서 변환기는 하나 이상의 상이한 방법으로 고유 순서를 결정할 수 있다. 예를 들어, 문서 변환기는 표의 각 셀의 특성 벡터( characteristic vector)를 결정할 수 있으며, 각 셀의 특성 벡터에 기반하여 인접 셀들 간의 거리를 결정할 수 있다. 그 이후에, 문서 변환기는 표 내의 동일한 행에 있는 인접 셀들의 쌍들 간의 평균 거리 및 표 내의 동일한 열에 있는 인접 셀들의 쌍들 간의 평균 거리를 결정할 수 있다. 그리하여, 문서 변환기는 평균 거리에 기반하여 표의 고유 순서를 식별할 수 있다.As described below, each table is typically arranged in at least one row and at least one column. Therefore, the document converter can order the table (s) by identifying the unique order of the table (s), and if the table (s) has a unique order that is different from the predetermined order, The branches may be arranged in a predetermined order. The document converter can determine the unique order in one or more different ways. For example, the document converter may determine a characteristic vector of each cell of the table, and determine the distance between adjacent cells based on the characteristic vector of each cell. Thereafter, the document converter can determine the average distance between pairs of adjacent cells in the same row in the table and the average distance between pairs of adjacent cells in the same column in the table. Thus, the document converter can identify the unique order of the table based on the average distance.
문서 변환기는 동일한 방법으로 다수의 상이한 방법을 통해 각 표 내의 레이블들을 지역화할 수 있다. 예를 들어, 문서 변환기는 하나 또는 그 이상의 스팬 레이블(span label)들 및/또는 하나 또는 그 이상의 직접 레이블(direct label)들을 식별할 수 있다. 후술되는 바와 같이, 각 스팬 레이블은 표의 복수 개의 열 또는 행들과 관련되고, 직접 레이블은 표의 단일 열 또는 행과 관련된다. 스팬 또는 직접 레이블(들)을 식별한 이후, 문서 변환기는 스팬 레이블 및/또는 직접 레이블과 관련된 표의 각 셀의 레이블 스트링(label string)을 결정하여 각 스팬 레이블 및 각 직접 레이블을 그 레이블(들)이 참조하는 표의 색@@(들)에 관하여 지역화 할 수 있으며, 이 경우 각 레이블 스트링은 스팬 레이블 및 직접 레이블 중 적어도 하나를 포함한다.The document converter can localize the labels in each table in a number of different ways in the same way. For example, the document converter may identify one or more span labels and / or one or more direct labels. As described below, each span label is associated with a plurality of columns or rows of the table, and a direct label is associated with a single column or row of the table. After identifying the span or direct label (s), the document converter determines the label string of each cell in the table associated with the span label and / or the direct label, and assigns each span label and each direct label to its label (s). It may be localized with respect to the color @ (s) of this referenced table, in which case each label string includes at least one of a span label and a direct label.
문서 변환기는 표의 인접 행 또는 인접 열 간의 측정된 유사성에 기반하여 직접 레이블(들)을 식별할 수 있을 수 있다. 예를 들어, 문서 변환기는 인접 행 또는 열의 각 쌍 간의 유사성의 측정치를 결정할 수 있다. 예를 들어, 문서 변환기는 인접 행들 또는 열들의 각 쌍의 각 셀을 위한 특정 벡터를 결정하고, 개별 셀들의 특성 벡터에 기반하여, 동일한 열 또는 행들 내의 각 셀들 간의 거리를 결정함으로써 유사성의 측정치를 결정할 수 있다. 그 이후에, 문서 변환기는 인접 행들의 열들의 거리 또는 인접 열들의 행들의 거리를 합산하여, 인접 행들 또는 열들 각각 간의 유사성의 측정치를 결정할 수 있다. 그러면, 유사성의 측정치를 결정한 이후에, 문서 변환기는 유사성의 측정치에 기반하여, 인접 행들 또는 열들 각각의 다른 쌍들에 비하여 주어진 퍼센트만큼 더 상이한(dissimilar) 인접 행들 또는 열들의 쌍을 식별할 수 있다. 그러면, 문서 변환기는 인접 행들 또는 열들의 식별된 쌍의 행 또는 열을 식별할 수 있는데, 이것들이 적어도 하나의 직접 레이블을 포함하는 것으로 식별할 수 있다.The document converter can identify the label (s) directly based on the measured similarity between adjacent rows or adjacent columns of the table. For example, the document converter can determine a measure of similarity between each pair of adjacent rows or columns. For example, the document converter determines a particular vector for each cell of each pair of adjacent rows or columns and measures the similarity by determining the distance between each cell in the same column or rows based on the characteristic vector of the individual cells. You can decide. Thereafter, the document converter can sum the distances of the columns of adjacent rows or the distances of the rows of adjacent columns to determine a measure of similarity between each of the adjacent rows or columns. Then, after determining the measure of similarity, the document converter may identify a pair of dissimilar adjacent rows or columns based on the measure of similarity by a given percentage relative to other pairs of each of the adjacent rows or columns. The document converter can then identify the row or column of the identified pair of adjacent rows or columns, which can be identified as including at least one direct label.
본 발명의 다른 측면에 따르면, 적어도 하나의 표를 포함하는 표 정보를 변환하기 위한 단말기, 방법 및 컴퓨터 프로그램이 제공된다. 그러므로, 본 발명의 실시예들은 적어도 하나의 표를 포함하는 표 정보를 변환하기 위한 시스템 및 관련 단말기, 방법 및 컴퓨터 프로그램을 제공한다. 본 발명의 실시예들에 따른 시스템 및 관련 단말기, 방법 및 컴퓨터 프로그램은 이동 전화기와 같은 단말기에 의하여 후속 렌더링이 수행되도록 하기 위하여 표를 변환할 수 있다. 종래 기술에 방법들과 반대로, 본 발명에 의한 시스템, 관련 단말기, 방법 및 컴퓨터 프로그램은 단말기가 표의 전체 내용을 제공할 수 있도록 허용하는 방법으로 표를 변환한다. 또한, 본 발명에 따른 시스템, 관련 단말기, 방법 및 컴퓨터 프로그램은 표 내의 레이블들을 각 레이블에 관련된 셀들에 지역화 할 수 있으며, 그리함으로써 표들이 원래 표의 설계에 더욱 조화되도록 하는 방법으로 렌더링될 수 있도록 한다. 그러므로, 본 발명의 실시예에 따른 시스템, 관련 단말기, 방법 및 컴퓨터 프로그램은 종래 기술에 의한 문제점들을 식별함은 물론, 추가적인 장점을 제공한다.According to another aspect of the present invention, there is provided a terminal, method and computer program for converting table information including at least one table. Therefore, embodiments of the present invention provide a system and associated terminal, method and computer program for converting table information including at least one table. Systems and associated terminals, methods, and computer programs in accordance with embodiments of the present invention may convert tables to allow subsequent rendering to be performed by a terminal, such as a mobile phone. In contrast to the methods in the prior art, the system, the associated terminal, the method and the computer program according to the present invention convert the table in a manner that allows the terminal to provide the full contents of the table. In addition, the system, associated terminals, methods and computer programs according to the present invention can localize the labels in a table to the cells associated with each label, thereby allowing the tables to be rendered in a way that allows them to more harmonize with the design of the original table. . Therefore, the system, associated terminal, method and computer program according to an embodiment of the present invention not only identify problems with the prior art but also provide further advantages.
일반적인 용어를 이용하여 본 발명을 설명하는데 있어서, 첨부된 도면을 참조하여야 하는데, 이러한 도면들은 반드시 정밀하게 도시된 것은 아니다.In describing the present invention using general terms, reference should be made to the accompanying drawings, which are not necessarily drawn to scale.
본 발명은 바람직한 실시예가 도시된 첨부된 도면을 참조하여 상세히 설명될 것이다. 본 발명은 상이한 형태로 구현될 수 있으나, 반드시 이에 한정되는 것은 아니며 본 명세서에 예시된 실시예들에 한정되어 이해되어서는 안된다. 오히려, 본 명세서에 예시된 실시예들은 본 발명에 대한 이해를 보다 완벽하게 하기 위하여 제공된 것이며, 당업자에게 본 발명의 기술적 사상을 완전하게 전달하기 위하여 제공된 것이다. 본 명세서에서, 동일한 참조부호는 동일한 부재를 나타낸다. The invention will be described in detail with reference to the accompanying drawings, in which preferred embodiments are shown. The present invention may be implemented in different forms, but is not necessarily limited thereto and should not be construed as limited to the embodiments illustrated herein. Rather, the embodiments illustrated in this specification are provided to more fully understand the present invention, and are provided to completely convey the technical idea of the present invention to those skilled in the art. In the present specification, the same reference numerals denote the same members.
도 1을 참조하면, 본 발명의 이점을 적용한 단말기 및 시스템의 한 타입의 일례가 제공된다. 본 발명의 실시예에 따르는 시스템, 단말기, 방법 및 컴퓨터 프로그램은 이동 통신 응용 기능에 관련하여 우선 설명될 것이다. 그러나, 본 발명의 실시예에 따르는 시스템, 단말기, 방법 및 컴퓨터 프로그램이 이동 통신 산업 분야 내의 다양한 기능 및 이동 통신 분야 외의 다양한 응용 기술들과 결합되어 사용될 수 있음을 이해해야 한다. 예를 들어, 본 발명의 실시예에 따르는 시스템, 단말기, 방법 및 컴퓨터 프로그램은 유선 및/또는 무선 네트워크(예를 들어 인터넷과 같은) 응용 분야와 결합되어 사용될 수 있다.1, an example of one type of terminal and system to which the advantages of the present invention are applied is provided. The system, terminal, method and computer program according to an embodiment of the present invention will first be described with regard to mobile communication application functionality. However, it should be understood that the systems, terminals, methods, and computer programs according to embodiments of the present invention may be used in combination with various functions within the mobile communications industry and various application technologies outside the mobile communications sector. For example, systems, terminals, methods, and computer programs according to embodiments of the present invention may be used in conjunction with wired and / or wireless networks (such as the Internet, for example).
도시된 바와 같이, 단말기(10)는 신호를 기지 사이트(base station) 또는 기지국(base station, BS)(14)에 전송하거나, 신호를 기지국으로부터 수신하기 위한 안테나(12)를 포함할 수 있다. 기지국은 네트워크를 운용하기 위하여 요구되는 구성 요소를 포함하는 이동 교환 센터(MSC, mobile switching center)(16)와 같은 무선 네트워크의 일 부분이다. 또한, 당업자에게 공지된 바와 같이, 무선 네트워크는 기지국/MSC/Interworking function(BMI)라고 불릴 수도 있다. 동작시에, MSC는 단말기가 통화를 걸거나 수신할 때, 통화를 단말기로 연결하거나 단말기로부터 수신할 수 있다. 또한, MSC는 단말기가 통화중일 경우 유선 트렁크(landline trunks)에 연결도 제공할 수 있다. 뿐만 아니라, MSC는 단말기로 메시지를 전달하거나, 단말기로부터 메시지를 전달받을 수 있으며, 단문 메시지 서비스(SMS) 메시지들을 SMS 센터(SMSC)(17)에 연결하거나 SMS 센터로부터 수신하는 것과 같이, 단말기를 위한 메시지를 메시지 센터에 전달하거나 메시지 센터로부터 수신하는 것을 제어할 수도 있다.As shown, the terminal 10 may include an antenna 12 for transmitting signals to a base station or base station (BS) 14 or for receiving signals from the base station. A base station is part of a wireless network, such as a mobile switching center (MSC) 16, which contains the components required to operate the network. In addition, as is known to those skilled in the art, a wireless network may be called a base station / MSC / Interworking function (BMI). In operation, the MSC may connect or receive a call from the terminal when the terminal makes or receives a call. The MSC can also provide connectivity to landline trunks when the terminal is busy. In addition, the MSC may deliver a message to the terminal, receive a message from the terminal, connect the short message service (SMS) messages to the SMS center (SMSC) 17 or receive the terminal from the SMS center. It is also possible to control the delivery of messages to or from the message center.
MSC(16)는 지역 네트워크(LAN), 도시 지역 네트워크(MAN, metropolitan area network), 및/또는 광대역 통신망(WAN, wide area network)과 같은 데이터 네트워크에 연결될 수 있다. MSC는 데이터 네트워크에 직접 연결될 수 있다. 그러나, 본 발명의 전형적인 실시예에서, MSC는 프록시(18), 게이트웨이(GTW)와 같은 장비들에 연결되고, 프록시는 인터넷(20)과 같은 WAN에 연결된다. 예를 들어, MSC는 무선 응용 프로토콜(WAP, wireless application protocol)(GTW)에 연결될 수 있는데, 이것은 인터넷에 연결된다. 또한, 처리 요소(processing element)와 같은 장치들도 인터넷을 통해 단말기(10)에 연결될 수 있다(개인용 컴퓨터, 및 서버 컴퓨터 및 이와 같은 장치들에 연결될 수 있다). 예를 들어, 후술되는 바와 같이 처리 요소는 원 서버(22) 또는 이와 같은 장치들과 관련되는 하나 또는 그 이상의 처리 요소를 포함할 수 있으며, 이들 중 하나의 예가 도 1에 도시된다.The MSC 16 may be connected to a data network, such as a local area network (LAN), metropolitan area network (MAN), and / or wide area network (WAN). The MSC can be connected directly to the data network. However, in a typical embodiment of the present invention, the MSC is connected to devices such as proxy 18, gateway (GTW), and the proxy is connected to a WAN, such as Internet 20. For example, the MSC may be connected to a wireless application protocol (WAP), which is connected to the Internet. In addition, devices such as processing elements may also be connected to the terminal 10 via the Internet (personal computer and server computer and such devices). For example, as described below, the processing element may include one or more processing elements associated with the origin server 22 or such devices, one example of which is shown in FIG.
또한, BS(14)는 신호를 보내는 GPRS(범용 패킷 무선 서비스)(General Packet Radio Service) 지원 노드(SGSN)(24)에 연결될 수도 있다. 당업자에게 공지된 바와 같이, SGSN은 전형적으로 패킷 교환 서비스를 위한 MSC(16)과 유사한 동작을 수행할 수 있다. MSC와 같은 SGSN은 인터넷(20)과 같은 데이터 네트워크에 연결될 수 있다. SGSN은 데이터 네트워크에 직접 연결될 수 있다. 그러나, 더 전형적인 실시예에서, SGSN은 GPRS 코어 네트워크(26)와 같은 패킷-교환 코어 네트워크에 연결된다. 그러면, 패킷-교환 코어 네트워크는 GTW GPRS 지원 노드(GGSN)(28)와 같은 다른 GTW에 연결되고, GGSN은 인터넷에 연결된다. 또한, GGSN은 멀티미디어 메시지 서비스(MMS, multimedia messaging service) 센터(30)와 같은 메시지 센터에 연결될 수 있다. 이러한 관점에서, GGSN 및 MSC와 같은 SGSN은 MMS 메시지와 같은 메시지들의 전달을 제어할 수 있다. GGSN 및 SGSN은 또한 단말기가 메시지 센터로 메시지를 전달하거나 메시지 센터로부터 메시지를 전달받는 것을 제어할 수도 있다.The BS 14 may also be connected to a General Packet Radio Service (GPRS) Support Node (SGSN) 24 that sends a signal. As is known to those skilled in the art, SGSNs can typically perform operations similar to the MSC 16 for packet switched services. SGSNs, such as MSCs, may be connected to data networks, such as the Internet 20. SGSN may be directly connected to the data network. However, in a more typical embodiment, the SGSN is connected to a packet-switched core network, such as GPRS core network 26. The packet-switched core network is then connected to another GTW, such as GTW GPRS Support Node (GGSN) 28, and the GGSN is connected to the Internet. The GGSN may also be connected to a message center, such as a multimedia messaging service (MMS) center 30. In this regard, SGSNs such as GGSN and MSC may control the delivery of messages such as MMS messages. GGSN and SGSN may also control the terminal forwarding messages to or receiving messages from the message center.
게다가, SGSN(24)를 GPRS 코어 네트워크(26) 및 GGSN(28)에 결합시킴으로써, 원 서버들(original servers)(22)과 같은 장치들은 인터넷(20), SGSN 및 GGSN을 통하여 터미널에 결합될 수 있다. 이러한 점에서, 원 서버들과 같은 장치들은 SGSN, GPRS, 및 GGSN을 통해서 터미널과 통신할 수 있다. 예를 들어, 멀티미디어 브로드케스트 서비스(Multimedia Broadcast Multicast Service, MBMS)와 같은 것에 따라서, 원 서버들(original servers)은 컨텐트를 터미널에 제공할 수 있다. MBMS에 대한 더욱 상세한 정보를 위해서, 멀티미디어 브로드케스트 멀티캐스트 서비스(Multimedia Broadcast Multicast Service, MBMS)로 명명된 제3 세대 파트너쉽 프로젝트(Third Generation Partnership Project, 3GPP) 기술 명세(specification) 3GPP TS 22.146을 참조하여야 하며, 여기서는 그의 완전한 설명(entirety)은 참조로서 통합된다.In addition, by coupling the SGSN 24 to the GPRS core network 26 and the GGSN 28, devices such as original servers 22 can be coupled to the terminal via the Internet 20, SGSN and GGSN. Can be. In this regard, devices such as origin servers can communicate with the terminal via SGSN, GPRS, and GGSN. For example, according to something like a Multimedia Broadcast Multicast Service (MBMS), original servers may provide content to a terminal. For more detailed information on MBMS, refer to the Third Generation Partnership Project (3GPP) specification 3GPP TS 22.146, named Multimedia Broadcast Multicast Service (MBMS). Here its full description is incorporated by reference.
터미널(10)은 하나 이상의 무선 엑세스 포인트들(Access Points, APs)(32)에 더 결합될 수 있다. 무선 엑세스 포인트들(APs)은 예를 들면, 무선 주파수(Radio Frequency, RF), 블루투스(Bluetooth), 적외선(Infrared, IrDA) 또는 WLAN 기술들을 포함하는 다수의 다른 무선 네트워킹 기술들중 하나와 같은 기술들에 따라 터미널과 통신하도록 구성된 엑세스 포인트들을 포함할 수 있다. 부가하여, 또는 대안적으로, 터미널은 하나 이상의 사용자 프로세서(34)에 결합될 수 있다. 각각의 사용자 프로세서는 퍼스널 컴퓨터들, 랩탑 컴퓨터들 또는 유사한 것들과 같은 컴퓨팅 시스템을 포함할 수 있다. 이러한 점에서, 사용자 프로세서들은 예를 들면, RF, BT, IrDA, 또는 LAN, 및/또는 WLAN 기술들을 포함하는 다수의 다른 유선(wireline) 또는 무선 통신 기술들중 어느 하나와 같은 기술들에 따라서 터미널과 통신하도록 구성될 수 있다. 하나 이상의 사용자 프로세서들은 부가적으로 또는 대안적으로 컨텐트를 저장할 수 있는 탈착 가능한 메모리를 포함할 수 있는데, 상기 컨텐트는 그후에 터미널로 전달될 수 있다.Terminal 10 may be further coupled to one or more wireless access points (APs) 32. Wireless access points (APs) are technologies such as one of a number of other wireless networking technologies including, for example, Radio Frequency (RF), Bluetooth, Infrared (IrDA) or WLAN technologies. And may include access points configured to communicate with a terminal. In addition, or in the alternative, the terminal may be coupled to one or more user processors 34. Each user processor may include a computing system such as personal computers, laptop computers or the like. In this regard, the user processors are terminal in accordance with any one of a number of other wireline or wireless communication technologies, including, for example, RF, BT, IrDA, or LAN, and / or WLAN technologies. It may be configured to communicate with. One or more user processors may additionally or alternatively include a removable memory capable of storing content, which content may then be delivered to a terminal.
AP들(32) 및 사용자 프로세서(34)는 인터넷(20)에 연결될 수 있다. MSC(16)과 유사하게, AP들 및 사용자 프로세서들은 직접 인터넷에 연결될 수 있다. 그러나, 한가지 유리한 실시예에서, AP들은 프록시(18)를 통하여 인터넷에 간접적으로 연결될 수 있다. 이하에서 평가되듯이, 직접 또는 간접적으로 다수의 다른 장치들중 어느 하나뿐 아니라 터미널들 및 원 서버(22)를 결합시킴으로써, 터미널들은 상호간에, 원 서버 등과 통신할 수 있으며, 이를 통해서 데이터, 컨텐트 또는 유사한 것들을 원 서버로 전송하거나 및/또는 원 서버로부터 컨텐트, 데이터 또는 유사한 것을 원 서버로부터 수신하는 다양한 기능들을 수행할 수 있다. 여기서 사용된 용어들 "데이터(data)", "컨텐트(content)", "정보(information)" 그리고 유사한 용어들은 전송될 수 있고, 수신될 수 있고 및/또는 본 발명의 실시예들에 따라 저장될 수 있는 데이터를 지칭하는데 교환적으로 사용될 수 있다. 따라서, 그러한 용어들의 사용은 본 발명의 정신 및 범위를 제한하여서는 안된다. The APs 32 and user processor 34 may be connected to the Internet 20. Similar to the MSC 16, APs and user processors may be directly connected to the Internet. However, in one advantageous embodiment, the APs may be indirectly connected to the Internet through the proxy 18. As assessed below, by combining the terminals and origin server 22 as well as any of a number of other devices, directly or indirectly, the terminals can communicate with each other, the origin server, and so on, through which data, content Or send similar ones to the origin server and / or receive content, data or the like from the origin server from the origin server. As used herein, the terms “data”, “content”, “information” and similar terms may be transmitted, received and / or stored in accordance with embodiments of the present invention. It may be used interchangeably to refer to data that may be. Therefore, use of such terms should not limit the spirit and scope of the present invention.
도 2를 참조하면, 터미널(10), 원 서버(22), 프록시(18), SMSC(17), MMSC(30), GGSN(28) 및/또는 사용자 프로세서(34)로서 동작할 수 있는 네트워크 개체(Network Entity)와 같은 네트워크 개체(Network Entity)의 블록도가 본 발명의 일 실시예예 따라 도시되어 있다. 비록 별개의 개체들로서 도시되었지만, 다른 실시예들에서는 하나 이상의 개체들은 개체(들)내에서 논리적으로 분리되었지만 공존(co-located)된 터미널, 프록시, 원서버들, 및/또는 사용자 프로세서를 지원할 수 있다. 예를 들면, 단일의 개체는 논리적으로 분리되었지만 공존(co-located)된 터미널 및 프록시를 지원할 수 있다. 또한, 예를 들면 단일의 개체는 논리적으로 분리되었지만 공존되는 원 서버 및 사용자 프로세서를 지원할 수 있다.2, a network capable of operating as a terminal 10, origin server 22, proxy 18, SMSC 17, MMSC 30, GGSN 28, and / or user processor 34. A block diagram of a network entity, such as a network entity, is shown in accordance with one embodiment of the present invention. Although shown as separate entities, in other embodiments one or more entities may support co-located terminals, proxies, origin servers, and / or user processors that are logically separated within the entity (s). have. For example, a single entity can support logically separated but co-located terminals and proxies. Also, for example, a single entity may support origin servers and user processors that are logically separated but coexist.
도시된 바와 같이, 네트워크 개체(network entity)는 일반적으로 메모리(38)에 연결된 프로세서(36)를 포함할 수 있다. 프로세서는 인터페이스(40) 또는 데이터, 컨텐트 또는 유사한 것을 전송하거나 및/또는 수신하기 위한 다른 수단에 또한 연결될 수 있다. 메모리는 휘발성 및 또는 비휘발성 메모리를 포함할 수 있으며, 전형적으로 컨텐트, 데이터, 또는 유사한 것을 저장할 수 있다. 예를 들어, 메모리는 프로세서가 본 발명의 실시예들에 따라 개체(entity)의 동작과 관련된 단계들을 수행하기 위한 소프트웨어 어플리케이션들, 지시들(instructions), 또는 유사한 것을 전형적으로 저장할 수 있다. 부가적으로, 이하에서 기술되는 바와 같이, 메모리들은 터미널(10)에 의해 렌더링하기 위한 표 정보(tabular information)를 변환할 수 있는 문서 변환기(document converter)를 저장할 수 있다. 또한 예를 들어, 메모리는 다른 네트워크 개체로부터 같은 네트워크 개체로부터 전송되거나 또는 수신되는 컨텐트를 저장할 수 있다.As shown, a network entity may generally include a processor 36 coupled to the memory 38. The processor may also be coupled to the interface 40 or other means for transmitting and / or receiving data, content or the like. The memory may include volatile and or nonvolatile memory, and typically may store content, data, or the like. For example, the memory may typically store software applications, instructions, or the like for the processor to perform steps related to the operation of an entity in accordance with embodiments of the present invention. Additionally, as described below, the memories can store a document converter capable of converting tabular information for rendering by terminal 10. Also, for example, the memory may store content transmitted or received from the same network entity from another network entity.
도 3은 본 발명의 실시예들에 따라서 터미널(10)로서 동작할 수 있는 이동국(Mobile station)의 기능적 블록도를 기술한다. 여기서 그리고 이후에서 기술되는 이동국은 단지 본 발명에 따른 터미널의 한가지 타입의 단지 예시이며, 따라서 본 발명의 범주를 제한하여서는 안된다는 점을 이해하여야 한다. 이동국의 다른 실시예들이 기술되고 예시의 목적으로 이후에서 기술되는 동안, 개인 휴대 정보 단말기들(Personal Digital Assistants, PDAs), 페이저들(pagers), 랩탑 컴퓨터들(Laptop Computers) 및 다른 타입의 음성 및 텍스트 통신 시스템들과 같은 다른 타입의 이동국들은 기꺼이 본 발명을 채용할 수 있다. 3 illustrates a functional block diagram of a mobile station capable of operating as a terminal 10 in accordance with embodiments of the present invention. It is to be understood that the mobile stations described herein and below are merely exemplary of one type of terminal according to the present invention and should therefore not limit the scope of the present invention. While other embodiments of a mobile station are described and described hereinafter for purposes of illustration, personal digital assistants (PDAs), pagers, Laptop Computers and other types of voice and Other types of mobile stations, such as text communication systems, are willing to adopt the present invention.
이동국은 송신기(transmitter)(42), 수신기(receiver)(44), 및 송신기 및 수신기로부터 송신하고 수신하기 위한 신호들을 제공하는 제어기(46)와 같은 프로세서를 포함한다. 이러한 신호들은 응용 가능한 셀룰러 시스템의 무선 인터페이스 표준에 따른 신호 정보(signalling information), 및 사용자 음성 및/또는 사용자 생성 데이터(user generated data)를 포함한다. 이러한 점에서, 이동국은 하나 이상의 무선 인터페이스 표준들(air interface standards), 통신 프로토콜들, 변조 타입들(modulation types) 및 엑세스 타입들을 가지고 동작할 수 있다. 더욱 상세하게, 이동국은 다수의 제1 세대(1 Generation), 제2 세대(2 Generation), 및 2.5 세대(2.5 Generation) 및/또는 제3 세대(3 Generation) 통신 프로토콜들 및 유사한 것들중 어느 하나에 다라서 동작할 수 있다. 예를 들어, 이동국은 제2세대 무선 통신 프로토콜 IS 136(TDMA), GSM, 및 IS-95(CDMA)에 따라서 동작할 수 있다. 또한, 예를 들어 이동국은 제2.5 세대 무선 통신 프로토콜들 GPRS, 개선된 데이터 GSM 환경(EDGE: Enhanced DATA GSM Environment), 또는 유사한 것에 따라서 동작할 수 있다. 이동국은 부가적으로 또는 대안적으로 DVB 기술(예를 들면, DVB-T, ETSI 표준 EN 300 744)과 같은 다수의 다른 디지털 브로드캐스팅 기술들중 하나에 따라서 도작할 수 있다. 이동국은 또한 다수의 다른 브로드케스트 및/또는 MBMS 기술들(예를 들면, 3GPP TS 22.146)과 같은 멀티캐스트 기술들과 같은 다수의 기술들중 하나에 따라서 동작할 수 있다. 게다가, 이동국은 ISDB-T, DAB, ATSC 기술들 또는 유사한 것에 따라서 동작할 수 있다. 듀얼 또는 높은 이동국들(예를 들어, 디지털/아날로그 또는 TDMA/CDMA/아날로그 폰들)이 그러하듯이, TACS 뿐 아니라 좁은 밴드 AMPS(NAMPS: Narrow-band AMPS), 이동국은 또한 본 발명의 실시예에서 이익을 얻는다. The mobile station includes a processor such as a transmitter 42, a receiver 44, and a controller 46 that provides signals for transmitting and receiving from the transmitter and the receiver. Such signals include signaling information in accordance with the air interface standard of the applicable cellular system, and user voice and / or user generated data. In this regard, the mobile station can operate with one or more air interface standards, communication protocols, modulation types, and access types. More specifically, the mobile station can be any one of a number of first generation, second generation, and 2.5 generation and / or third generation communication protocols and the like. Can work. For example, the mobile station can operate in accordance with the second generation wireless communication protocols IS 136 (TDMA), GSM, and IS-95 (CDMA). Also, for example, the mobile station can operate in accordance with the 2.5 th generation wireless communication protocols GPRS, Enhanced Data GSM Environment (EDGE), or the like. The mobile station may additionally or alternatively operate according to one of a number of other digital broadcasting technologies, such as DVB technology (eg DVB-T, ETSI standard EN 300 744). The mobile station can also operate in accordance with one of a number of technologies, such as multicast technologies such as a number of other broadcast and / or MBMS technologies (eg, 3GPP TS 22.146). In addition, the mobile station may operate in accordance with ISDB-T, DAB, ATSC technologies or the like. As with dual or high mobile stations (e.g., digital / analog or TDMA / CDMA / analog phones), not only TACS but also narrow-band AMPS (NAMPS), the mobile station is also in an embodiment of the present invention. Gain
제어기(46)는 이동국의 오디오 및 로직 기능들을 구현하기 위해 필요한 회로부를 포함한다고 이해된다. 예를 들어, 제어기는 디지털 신호 프로세서 디바이스, 마이크로 프로세서 디바이스, 및 다양한 아날로그 투 디지털 콘버터들, 디지털 투 아날로그 콘버터들 및 다른 지원 회로들로 이루어질 수 있다. 이동국의 제어 및 신호 처리 기능들은 그들 각각의 능력들(capabilities)에 따라서 이러한 장치들간에 할당된다. 따라서 제어기는 변조(modulation) 및 전송전에 메시지 및 데이터를 반복적으로(convolutionally) 인코딩하고 인터리브(interleave)하는 기능을 또한 포함한다. 제어기는 내부 음성 코더(VC: Voice Coder)(46A)를 부가적으로 포함할 수 있고, 내부 데이터 모뎀(DM: Data Modem)(46B)을 포함할 수 있다. 게다가, 제어기는 메모리에 저장될 수 있는 하나 이상의 소프트웨어 어플리케이션들을 동작시키는 기능을 포함한다.It is understood that the controller 46 includes circuitry necessary to implement the audio and logic functions of the mobile station. For example, the controller may be comprised of a digital signal processor device, a microprocessor device, and various analog to digital converters, digital to analog converters, and other support circuits. The control and signal processing functions of the mobile station are assigned between these devices according to their respective capabilities. Thus, the controller also includes the ability to convolutionally encode and interleave messages and data prior to modulation and transmission. The controller may additionally include an internal voice coder (VC) 46A and may include an internal data modem (DM) 46B. In addition, the controller includes the ability to operate one or more software applications that can be stored in memory.
이동국은 또한 종래의 이어폰 또는 스피커(48), 링거(ringer)(52), 디스플레이(54), 및 사용자 입력 인터페이스를 포함하는 사용자 인터페이스를 포함하며, 이 모든 것들은 제어기(46)에 결합된다. 이동국으로 하여금 데이터를 수신하게 하는 사용자 입력 인터페이스는 이동국으로 하여금 데이터를 수신하도록 하는 키패드(56), 터치 디스플레이(미도시), 또는 다른 입력 장치와 같은 다수의 디바이스들중 어느 하나를 포함할 수 있다. 키패드를 포함하는 실시예들에서, 키패드는 종래의 숫자(0-9) 및 관련된 키들(#, *) 및 이동국을 동작시키는 다른 키들을 포함한다.The mobile station also includes a user interface including conventional earphones or speakers 48, a ringer 52, a display 54, and a user input interface, all of which are coupled to the controller 46. The user input interface that allows the mobile station to receive data may include any of a number of devices, such as a keypad 56, a touch display (not shown), or other input device that allows the mobile station to receive data. . In embodiments involving a keypad, the keypad includes a conventional number (0-9) and associated keys (#, *) and other keys for operating the mobile station.
이동국은 또한 다수의 다른 유선 및/또는 무선 기술들중 어느 하나에 따라서, 다른 터미널(10), 프록시(18), 원 서버(22), AP(32), 사용자 프로세서(24) 또는 유사한 것과 같은 전자 장치들로부터 데이터를 공유 및/또는 얻기 위한 하나 이상의 수단을 또한 포함한다. 예를 들어, 이동국은 이동국이 무선 주파수 및/또는 적외선 기술들에 따라서 데이터를 공유하거나 및/또는 얻도록 무선 주파수(RF :Radio Frequency) 송수신기(transceiver)(58) 및/또는 적외선(IR: Infrared) 송수신기(transceiver)(60)를 포함할 수 있다. 또한, 예를 들어 블루투스(Bluetooth) 전달 기술들에 따라서 이동국이 데이터를 공유하거나 및/또는 얻도록 이동국은 블루투스(BT: Bluetooth) 송수신기(transceiver)(62)를 포함할 수 있다. 비록 도시되어 있지는 않지만, 이동국은 부가적으로 또는 대안적으로 다수의 다른 유선(wireline) 및/또는 LAN 및/또는 WLAN 기술들을 포함하는 무선 네트워킹 기술들에 따라서 전자 장치들(electronic devices)로부터 데이터를 전송하고 및/또는 수신할 수 있다.The mobile station may also be in accordance with any of a number of other wired and / or wireless technologies, such as another terminal 10, proxy 18, origin server 22, AP 32, user processor 24, or the like. It also includes one or more means for sharing and / or obtaining data from electronic devices. For example, a mobile station may use a radio frequency (RF) transceiver 58 and / or an infrared (IR) infrared to enable the mobile station to share and / or obtain data in accordance with radio frequency and / or infrared technologies. Transceiver 60 may be included. In addition, the mobile station may include a Bluetooth (BT) transceiver 62 to allow the mobile station to share and / or obtain data, for example in accordance with Bluetooth delivery techniques. Although not shown, the mobile station additionally or alternatively receives data from electronic devices in accordance with wireless networking technologies including a number of other wireline and / or LAN and / or WLAN technologies. Transmit and / or receive.
이동국은 가입자 식별 모듈(SIM: Subscriber Identity Module)(64), 탈착 가능한 사용자 식별 모듈(R-UIM: Removable User Identityodule) 또는 유사한 것과 같은 메모리를 더 포함할 수 있으며, 이것은 이동 가입자(mobile subscriber)에 관련된 정보 요소들을 전형적으로 저장한다. SIM에 부가하여, 이동국은 다른 메모리를 포함할 수 있다. 이러한 점에서, 이동국은 내장될 수 있거나 및/또는 탈착 가능한 휘발성 메모리(66) 및/또는 다른 비휘발성 메모리(68)를 포함할 수 있다. 예를 들어, 다른 비-휘발성 메모리는 내장된 또는 탈착 가능한 멀티미디어 메모리카드들(Multimedia Memory Cards), 메모리 스틱들(memory sticks), EEPROM, 플래시 메모리, 하드디스크 또는 유사한 것을 포함할 수 있다.The mobile station may further include a memory, such as a Subscriber Identity Module (SIM) 64, a Removable User Identity Module (R-UIM), or the like, which is incorporated into the mobile subscriber. Typically stores related information elements. In addition to the SIM, the mobile station may include other memory. In this regard, the mobile station may include embedded and / or removable volatile memory 66 and / or other nonvolatile memory 68. For example, other non-volatile memory may include embedded or removable Multimedia Memory Cards, memory sticks, EEPROM, flash memory, hard disk or the like.
메모리들(64, 66, 68)은 이동국의 기능들을 구현하기 위해 이동국에 의해 사용되는 다수의 정보 및 데이터의 조각들을 저장할 수 있다. 예를 들어, 메모리들은 MSC(16)와 같은 것에 대해 이동국을 유일하게 식별할 수 있는 국제 이동 장치 식별(IMEI: International Mobile Equipment Identification) 코드, 국제 이동 가입자 식별(IMSI: International Mobile Subscriber Identification) 코드, 이동국 통합 서비스들 디지털 네트워크(MSISDN: Mobile Station Integrated Services Digital Network) 코드 또는 유사한 것과 같은 식별자(identifier)를 저장할 수 있다. 메모리들은 또한 원 서버(origin server)(22) 및/또는 사용자 프로세서(34)로부터 수신된 것과 같은 컨텐트를 저장한다. 또한, 예를 들어 메모리들은 종래의 텍스트 뷰어, 오디오 플레이어, 비디오 플레이어, 멀티미디어 뷰어 또는 유사한 것과 같은 하나 이상의 프리젠테이션 어플리케이션들을 저장할 수 있다. 부가하여, 이하에서 기술된 바와 같이, 메모리들은 이동국에 의해 렌더링하기 위한 표 정보(tabular information)를 변환할 수 있는 문서 변환기(document converter)를 저장할 수 있다.The memories 64, 66, 68 may store a number of pieces of information and data used by the mobile station to implement the functions of the mobile station. For example, the memories may include an International Mobile Equipment Identification (IMEI) code, an International Mobile Subscriber Identification (IMSI) code, which may uniquely identify the mobile station for such things as MSC 16; An identifier such as Mobile Station Integrated Services Digital Network (MSISDN) code or the like may be stored. The memories also store content as received from an origin server 22 and / or user processor 34. Also, for example, the memories can store one or more presentation applications, such as a conventional text viewer, audio player, video player, multimedia viewer, or the like. In addition, as described below, the memories may store a document converter capable of converting tabular information for rendering by the mobile station.
배경 기술 부분에서 기술된 바와 같이, 터미널들(10)은 근본적으로 제한된 디스플레이 영역, 해상도, 및 그러한 터미널들의 렌더링 기능들에 기인해서 근본적으로 설계되므로, 터미널들(10)은 일반적으로 전자 문서들을 렌더링할 수 없다. 예를 들어, 많은 터미널들은 전형적으로 디스플레이(예를 들어 디스플레이(54))상에서 단지 소수 라인들의 텍스트들을 렌더링할 수만 있고, 그레이 스케일(grayscale), 작은 크기의 이미지들(thumbnail-sized images)을 렌더링하거나 또는 이미지들을 전혀 렌더링할 수 없다. 이러한 점에서, 터미널들은 일반적으로 표 정보(tabular information)가 근본적으로 설계된 바와 같이 전자 문서들의 표 정보를 렌더링할 수 없다. 예를 들어, 몇몇 종래의 장치들은 그러한 표 정보(tabular information)를 생략한다. 다른 디바이스들은 표들의 선택된 열(들)(column(s))을 자르거나, 또는 표의 기계적 선형화(rote linearization)를 수행하여, 전형적으로 표내에 그러한 셀들의 컨텐트의 자연적 순서를 고려하지 않고 표의 각 셀을 독립적으로 렌더링한다. 여전히 다른 디바이스들은 전체 표의 부분적 뷰포트(fractional viewport)만을 렌더링함으로써, 장치의 사용자는 표내에서 뷰포트(fractional viewport)를 왼쪽에서 오른쪽으로 움직이게 하고 따라서 표의 다른 부분을 노출시키도록 할 필요가 있다.As described in the background section, the terminals 10 are essentially designed due to the inherently limited display area, resolution, and rendering capabilities of those terminals, so that the terminals 10 generally render electronic documents. Can not. For example, many terminals typically only render a few lines of text on a display (e.g., display 54) and render grayscale, thumbnail-sized images. Or render images at all. In this regard, terminals generally cannot render tabular information in electronic documents, as tabular information is fundamentally designed. For example, some conventional devices omit such tabular information. Other devices cut selected column (s) of the tables, or perform a linear linearization of the table, typically each cell of the table without considering the natural order of the contents of those cells in the table. Renders independently. Still other devices render only a partial viewport of the entire table, so that the user of the device needs to move the fractional viewport from left to right in the table and thus expose other parts of the table.
따라서, 본 발명의 다른 실시예들은 제한된 디스플레이 영역의 디스플레이, 해상도 및/또는 렌더링 기능들을 가지는 터미널에 의해 렌더링하기 위해 전자 문서들을 변형(transforming)시킬 수 있다. 더욱 상세하게는, 본 발명의 실시예들은 그러한 터미널에 의해 렌더링하기 위한 전자 문서들의 표 정보를 변형시킬 수 있다. 그러한 터미널들에서 표들을 렌더링하기 위한 종래의 기술들과 다르게, 본 발명의 실시예들은 따라서 표들의 하나 이상의 선택된 열들(columns)을 자르지 않고 그러한 표들의 전체 컨텐트들을 렌더링할 수 있고, 표내에서 그러한 셀들의 컨텐트들의 자연적 순서(natural ordering)를 고려하지 않고 표의 각 셀들을 렌더링함에 의하여 표의 기계적 선형화(rote linearization)를 수행하고, 전체 표의 부분적 뷰포트만을 렌더링하지 않고, 그에 의해 장치의 사용자가 뷰포트를 이동시킬 필요가 있다.Accordingly, other embodiments of the present invention may transform electronic documents for rendering by a terminal having display, resolution, and / or rendering functions of a limited display area. More specifically, embodiments of the present invention may transform the table information of electronic documents for rendering by such a terminal. Unlike conventional techniques for rendering tables in such terminals, embodiments of the present invention can thus render the entire contents of such tables without truncating one or more selected columns of the tables, and such cells within the table. Perform linear linearization of the table by rendering each cell of the table without taking into account the natural ordering of the contents of the tables, and not rendering only the partial viewport of the entire table, thereby allowing the user of the device to move the viewport. There is a need.
본 발명의 실시예들에 따라서, 전자 문서들의 표 정보(tabular information)는 일반적으로 하나 이상의 표들을 포함하며, 각각은 데이터, 정보 또는 유사한 것과 같은 컨텐트의 2차원 매트릭스(two-dimensional matrix)를 캡슐화한다. 당해 분야의 통상의 지식을 가진 자에게 이해되는 바와 같이, 그러한 2차원 표는 일반적으로 적어도 하나의 행(row) 및 적어도 하나의 열(column)을 포함한다. 또한, 그러한 표는 복잡한 구조들(예를 들면 포개진 표들(nested tables) 또는 이미지들)을 포함할 수도 있고, 전형적으로 포함하지 않을 수도 있다. 부가적으로, 구문적(syntactic) 그리고 의미적(semantic) 일관성(coherence) 모두의 높은 수준은 전형적으로 그러한 표의 행(들)과 열(들)간에 존재한다.In accordance with embodiments of the present invention, tabular information of electronic documents generally includes one or more tables, each of which encapsulates a two-dimensional matrix of content such as data, information or the like. do. As will be understood by one of ordinary skill in the art, such two-dimensional tables generally comprise at least one row and at least one column. Also, such a table may or may not include complex structures (eg nested tables or images). In addition, high levels of both syntactic and semantic coherence typically exist between the row (s) and column (s) of such a table.
참조가 이제 도 4 및 5에 도시되는데, 이것들은 본 발명의 한가지 실시예에 따라서 프록시(18)의 기능적 블록도 및 흐름도를 개별적으로 기술하며, 그리고 전자 문서에서 표 정보를 변형시키는 방법을 기술한다. 더욱 상세하게는, 도 4는 본 발명의 일 실시예에 따라 터미널(10), 원 서버(22), SMSC(17), MMSC(30), GGSN(28), 사용자 프로세서(34) 또는 유사한 것과 같은 컨텐트 서버(100)로부터 전자 문서를 수신하고 그리고 전송하는 프록시의 기능적 블록도를 기술한다. 그러나 전자 문서를 전송하기 전에, 프록시는 전자 문서를 수신할 수 있고, 그리고 그후에 터미널(10)에 의해 렌더링하기 위한 문서의 표 정보를 변형시킬 수 있는 문서 변환기(document converter)(102)를 작동시킬 수 있다. 다음에 프록시는 터미널, 더욱 상세하게는 터미널의 디스플레이(예를 들면 디스플레이 56)에 의해 렌더링하기 위해 변형된 표 정보를 포함하는 전자 문서를 터미널로 전송한다.Reference is now made to FIGS. 4 and 5, which individually describe functional block diagrams and flowcharts of proxy 18, and how to transform table information in an electronic document, in accordance with one embodiment of the present invention. . More specifically, FIG. 4 is similar to terminal 10, origin server 22, SMSC 17, MMSC 30, GGSN 28, user processor 34, or the like in accordance with one embodiment of the present invention. A functional block diagram of a proxy that receives and sends electronic documents from the same content server 100 is described. However, prior to sending the electronic document, the proxy can receive the electronic document and then operate a document converter 102 that can transform the table information of the document for rendering by the terminal 10. Can be. The proxy then sends to the terminal an electronic document containing the modified table information for rendering by the terminal, more specifically the display of the terminal (eg, display 56).
비록, 프록시(18)는 도시되고 여기서 기술된 바와 같이 문서 변환기(102)를 작동시키지만, 문서 변환기는 예를 들면 터미널 자체(10) 또는 컨텐트 소스(100)를 포함하는 시스템내의 다른 다수의 네트워크 개체들중 어떤 것으로부터 작동될 수 있다. 이러한 점에서, 문서 변환기는 단일의 네트워크 개체상에 구현될 수 있거나, 또는 대안적으로 문서 변환기의 부분들은 하나 이상의 네트워크 개체상에서 구현될 수 있다. 또한, 여기서 기술된 바와 같이, 문서 변환기는 전형적으로 메모리(예를 들면 메모리 38)내에 저장될 수 있고, 프로세서(예를 들면, 프로세서 36)에 의해 작동될 수 있는 소프트웨어를 포함할 수 있다. 그러나, 문서 변환기는 대안적으로 본 발명의 정신 및 범주를 벗어나지 않고 펌웨어 또는 하드웨어를 포함할 수 있다는 점은 이해되어야 한다. 게다가, 문서 변환기는 터미널에 의한 전자 문서의 렌더링을 용이하게 하기 위하여 표를 변형시키기보다는 전자 문서상에서 동작들을 수행할 수 있다는 점이 이해되어야 한다. 그런 다양한 동작들에 대한 더욱 상세한 정보에 대해서는 예를 들면, 2001년 5월 8일 출원된 미국 특허 출원번호 09/851,404 및 2003년 3월 6일 공개된 미국 출원 공개 번호 2003/0046318을 참조하며, 그것들의 컨텐트들은 그 전체로서 여기서 참조로서 통합되어 있다.Although the proxy 18 operates the document converter 102 as shown and described herein, the document converter is for example a terminal itself 10 or a number of other network entities in the system including the content source 100. It can work from any of these. In this regard, the document converter may be implemented on a single network entity, or alternatively portions of the document converter may be implemented on one or more network entities. In addition, as described herein, a document converter may typically be stored in memory (eg, memory 38) and may include software that may be operated by a processor (eg, processor 36). However, it should be understood that the document converter may alternatively include firmware or hardware without departing from the spirit and scope of the present invention. In addition, it should be understood that the document converter may perform operations on the electronic document rather than modifying the table to facilitate rendering of the electronic document by the terminal. For more detailed information on such various operations, see, eg, US Patent Application No. 09 / 851,404, filed May 8, 2001 and US Application Publication No. 2003/0046318, published March 6, 2003, Their contents are hereby incorporated by reference in their entirety.
도 5의 블록 104에 도시된 바와 같이, 적어도 하나의 표를 포함하는 표 정보(table information)를 변형시키는 방법은 컨텐트 소스(100)로부터 전자 문서를 수신하는 문서 변환기(102)를 포함한다. 본 발명의 실시예들에 따라서, 전자 문서는 하나 이상의 표들을 포함하며, 각각의 표는 적어도 하나의 행 컨텐트 및 적어도 하나의 열 컨텐트를 포함한다. 전자 문서는 다수의 다른 포맷들중 어느 하나를 포함한다. 예를 들어, 전자 문서는 하이퍼텍스트 전달 프로토콜(HTTP: Hypertext Transfer Protocol) 문서, 전자 메일 문서, 피디 에프 포맷(PDF: Portable Document Format) 문서, 포스트스크립트(postscript) 문서, 아스키 텍스트(ASCII text) 포맷 (TXT) 문서, 확장 마크업 언어(XML: eXtensible Markup Language) 문서, Microsoft??WordTM(DOC) 문서, Microsoft??ExcelTM(XLS) 문서 또는 유사한 것을 포함할 수 있다.As shown in block 104 of FIG. 5, a method of transforming table information that includes at least one table includes a document converter 102 that receives an electronic document from a content source 100. According to embodiments of the present invention, an electronic document includes one or more tables, each table comprising at least one row content and at least one column content. The electronic document includes any one of a number of different formats. For example, an electronic document may be a Hypertext Transfer Protocol (HTTP) document, an email document, a Portable Document Format (PDF) document, a postscript document, an ASCII text format. (TXT) documents, extensible markup language (XML) documents, Microsoft® Word ™ (DOC) documents, Microsoft® Excel ™ (XLS) documents, or the like.
전자 문서를 수신한 후에, 문서 변환기(102)는 전자 문서를 도 106에 도시된 바와 같이 전자 문서의 중간 데이터 구조 표현(intermediate data structure representation)으로 변환할 수 있다. 전자 문서를 표현할 수 있는 다수의 다른 중간 데이터 구조(intermediate data structure)들중 어느 하나를 생성하기 위하여 문서 변환기는 다수의 방식들중 어느 하나로 전자 문서를 변환한다. 이러한 점에서, 문서 변환기는 전자 문서를 전자 문서의 공통적인 내부 트리-기반 표현(common internal tree-based representation)을 포함하는 중간 데이터 구조(intermediate data structure)로 변환할 수 있다. 예를 들면, 문서 변환기는 전자 문서를 상기 전자 문서의 확장 하이퍼텍스트 마크업 언어(XHTML: eXtensible HyperText Markup Language) 문서 객체 모델(DOM: Document Object Model) 표현으로 변환할 수 있다.After receiving the electronic document, document converter 102 may convert the electronic document into an intermediate data structure representation of the electronic document as shown in FIG. 106. The document converter converts the electronic document in any of a number of ways to create one of a number of different intermediate data structures capable of representing the electronic document. In this regard, the document converter can convert the electronic document into an intermediate data structure that includes a common internal tree-based representation of the electronic document. For example, the document converter can convert an electronic document into an eXtensible HyperText Markup Language (XHTML) Document Object Model (DOM) representation of the electronic document.
문서 변환기(102)는 전자 문서를 다수의 다른 방식들의 XHTML DOM 데이터 구조로 변환할 수 있다. 예를 들면, 일 실시예에서 데이터 변환기는 전자 문서를 HTML 문서로 변환시키고(만약 HTML 문서가 아니라면), HTML 문서를 XHTML 문서로 변환시키고, 그후에 XHTML 문서를 XHTML DOM 데이터 구조로 변환시킴으로써 전자 문서를 변환시킬 수 있다. XHTML DOM 데이터 구조를 생성하기 위하여 전자 문서를 앞선 포맷들의 문서들로 변환시키기 위하여, 문서 변환기는 다수의 다른 기지의 변환 루틴들을 수행할 수 있다.The document converter 102 can convert the electronic document into XHTML DOM data structures in a number of different ways. For example, in one embodiment the data converter converts an electronic document into an HTML document (if not an HTML document), converts the HTML document into an XHTML document, and then converts the electronic document into an XHTML DOM data structure. Can be converted. In order to convert an electronic document into documents of the preceding formats to create an XHTML DOM data structure, the document converter can perform a number of different known conversion routines.
문서 변환기(102)는 부가적으로 또는 대안적으로 프록시(18) 또는 다른 네트워크 개체상에서 동작하는 다른 소프트웨어, 하드웨어 또는 펌웨어 모듈과 통신할 수 있으며, 여기서 다른 모듈은 전자 문서를 XHTML DOM 데이터 구조로 변환하는데 있어서 문서 변환기를 보조하기 위한 하나 이상의 변환 루틴들을 수행할 수 있다. 예를 들어, 문서 변환기는 DOC 문서들을 HTML 문서들로 변환하기 위해서 wvWARE Project에서 개발된 wvWare 소프트웨어 패키지와 통신할 수 있다. 또한, 예를 들어, XLS 문서들을 HTML 문서들로 변환하기 위해서 문서 변환기는 Chicago Project에서 개발된 xlHtml 소프트웨어 패키지와 통신할 수 있다. 차례로, 예를 들어, HTML 문서들을 XHTML 문서들로 변환하기 위해서 문서 변환기는 Tidy Project에서 개발된 HTML Tidy 소프트웨어 패키지와 통신할 수 있다.The document converter 102 can additionally or alternatively communicate with other software, hardware or firmware modules operating on the proxy 18 or other network entity, where the other module converts the electronic document into an XHTML DOM data structure. One or more conversion routines may be performed to assist the document converter in doing so. For example, the document converter can communicate with the wvWare software package developed by the wvWARE Project to convert DOC documents into HTML documents. Also, for example, to convert XLS documents into HTML documents, the document converter can communicate with the xlHtml software package developed by the Chicago Project. In turn, for example, to convert HTML documents into XHTML documents, the document converter can communicate with the HTML Tidy software package developed by the Tidy Project.
게다가, 예를 들면, 문서 변환기(102)는 XHTML 문서들을 XHTML DOM 데이터 구조로 변환하기 위해서 Xerces XMI, (Apache XML Project에서 개발된) parser 소프트웨어 패키지와 같은 XML parser와 통신할 수 있다. 문서 변환기(document converter)가 전자 문서를 전자 문서를 나타내는 데이터 구조로 변환하는 방법에 관계없이, 데이터 구조는 문서 변환기 및 전자 문서가 전형적으로 위치하는 비휘발성 메모리에 반하여 휘발성 메모리에 저장될 수 있으나, 반드시 그럴 필요는 없다. 이하에서 평가되듯이, 데이터 구조는 근원적인 HTML 문서의 태그들에 기초할 수 있는 변환된 XHTML 문서의 태그들에 대응하는 다수의 노드들(nodes)을 전형적으로 포함한다. 예를 들어 HTML 문서에 대하여 다음 소스 코드를 생각하기로 한다.In addition, for example, document converter 102 may communicate with an XML parser such as Xerces XMI, a parser software package (developed in the Apache XML Project) to convert XHTML documents to XHTML DOM data structures. Regardless of how a document converter converts an electronic document into a data structure representing an electronic document, the data structure may be stored in volatile memory as opposed to the nonvolatile memory in which the document converter and the electronic document are typically located, It doesn't have to be. As assessed below, the data structure typically includes a number of nodes corresponding to the tags of the converted XHTML document that may be based on the tags of the underlying HTML document. For example, consider the following source code for an HTML document:
위에서 언급된 소스 코드에 의해 도시된 바와 같이, HTML 문서는 2개의 행들(rows) 및 3개의 열들(columns)을 포함하는데, 여기서 각 행의 2열은 이미지를 포함한다. HTML 문서는 또한 3번째 이미지 및 작은 폰트의 블록 텍스트를 포함한다. 그러한, HTML 문서로부터, 문서 변환기는 도 6에 도시된 바와 같은 XHTML DOM 데이터 구조를 생성한다.As shown by the source code mentioned above, the HTML document contains two rows and three columns, where two columns of each row contain an image. The HTML document also contains block text of the third image and the small font. From such an HTML document, the document converter creates an XHTML DOM data structure as shown in FIG.
문서 변환기(102)가 전자 문서를 전자 문서의 중간 데이터 구조 표현( intermediate data structure representation)으로 변환하는 방법에 관계없이, 문서 변환기가 전자 문서를 중간 데이터 구조로 변환함에 따라 또는 변환 후에, 문서 변환기는 도 5의 블록(108)에서 도시된 바와 같이, 중간 데이터 구조 내에서 어떤 "내재하는(implicit)" 표들(tables)을 식별할 수 있다. 알 수 있는 바와 같이, HTML 문서의 태그들(즉, "<table></table>")처럼, 전자 문서의 포맷팅에서 달리 식별되는 테이블들에 대해, 문서 변환기는 일반적으로 테이블들을 특별하게 식별할 필요가 없다. 그러나, 다른 테이블들에 대해서, 전자 문서는 정보가 테이블로서 그 정보를 나타내는 포맷팅을 달리 포함하지 않고 표 형태가 되도록 설계될 수 있다. 상기 문서 변환기는 "암시적" 테이블들을 식별할 수 있는데, 여기서 상기 암시적 테이블들은 전형적으로 상기 문서 변환기가 상기 전자 문서를 데이터 구조로 변환한 후에 데이터 구조의 테이블 노드들에 의해 달리 표현되지 않는다. 그 다음, 문서 변환기는 상기 데이터 구조가 상기 테이블들에 대한 테이블 노드들을 포함하도록 재공식화할 수 있다.Regardless of how document converter 102 converts an electronic document into an intermediate data structure representation of the electronic document, as or after the document converter converts the electronic document to an intermediate data structure, the document converter As shown in block 108 of FIG. 5, certain "implicit" tables can be identified within the intermediate data structure. As can be seen, for tables that are otherwise identified in the formatting of an electronic document, such as tags in an HTML document (ie, "<table> </ table>"), the document converter will typically identify the tables specifically. no need. However, for other tables, the electronic document may be designed such that the information is in tabular form without otherwise including formatting representing the information as a table. The document converter can identify "implicit" tables, where the implicit tables are typically not otherwise represented by table nodes of a data structure after the document converter converts the electronic document into a data structure. The document converter can then reformulate the data structure to include table nodes for the tables.
예를 들어, 아래의 TXT 문서 내의 포맷된 ASCII를 고려하면 다음과 같다:For example, considering the formatted ASCII in the TXT document below:
활동 칼로리/시간Activity calories / hour
에어로빅 660Aerobics 660
농구 550Basketball 550
달리기 925Running 925
테니스 450Tennis 450
외관상, 상기의 ASCII 포맷 텍스트는 명확하게 테이블을 나타낸다. 그러나, TXT 포맷은 테이블과 같은 텍스트를 명시적으로 표시하는 메카니즘(예, 태그들)을 포함하지 않는다. TXT 문서를 데이터 구조로 변환하는 문서 변환기를 이용하는 기술에 따라, 상기 문서 변환기는 테이블과 같은 텍스트 블록을 인식할 수 있다. 그러나, 다양한 다른 예에 있어서, 문서 변환기(102)는 테이블과 같은 텍스트 블록을 인식할 수 없다. 어떤 예에서, 문서는 도 7A에 도시한 바와 같은 데이터 구조를 생성할 수 있다. 도시한 바와 같이, 상기 데이터 구조는 텍스트를 체계화되지 않은 텍스트로 식별한다. 그러므로, 상기 문서 변환기는 또한 암시적 테이블들을 예들로 인식할 수 있는데, 이 예들에서 전자 문서는 암시적 테이블들을 포함하고 전자 문서를 변환하는 동안 상기 문서 변환기에 의해 달리 인식되지 않거나 상기 데이터 구조의 테이블 노드들로도 달리 표현되지 않는다. In appearance, the above ASCII format text clearly represents a table. However, the TXT format does not include a mechanism (e.g. tags) that explicitly represents text such as a table. According to a technique using a document converter to convert a TXT document into a data structure, the document converter can recognize a block of text such as a table. However, in various other examples, document converter 102 cannot recognize text blocks such as tables. In some instances, the document may generate a data structure as shown in FIG. 7A. As shown, the data structure identifies text as unstructured text. Therefore, the document converter can also recognize implicit tables as examples, in which the electronic document contains implicit tables and is not otherwise recognized by the document converter during conversion of the electronic document or in the table of the data structure. Nodes are not otherwise represented.
문서 변환기(102)는 전용 구문 해석계 및 자동 학습 기술을 통해 구비되는 다수의 다른 공지된 방법의 어떤 것으로 암시적 테이블들을 식별할 수 있다. 암시적 테이블들을 식별하는 다수의 공지된 기술의 예는, Jianying et al., A System of Understanding and Reformulating Tables, FOURTH ICPR WORKSHOP ON DOCUMENT ANALYSIS SYSTEM (200); Mathew Hurst & Shona Douglas, Layout and Language: Preliminary Investigations in Recognizing the Structure of Tables, PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON DOCUMENT ANALYSIS AND RECOGNITION (ICDAR) 1043-1047 (1997); and Ilwee Tou Ng et al., Learning 'o Recognize Table in Free Text, Proceedings of the 37th Annual Meeting of ACL 443-450 (1999),에 개시되어 있고, 이들의 모든 내용은 그들 전체가 참조로서 본 명세서에 통합된다.The document converter 102 may identify implicit tables in any of a number of other known methods provided through dedicated syntax parsers and automatic learning techniques. Examples of many known techniques for identifying implicit tables include, but are not limited to, Jianying et al., A System of Understanding and Reformulating Tables, FOURTH ICPR WORKSHOP ON DOCUMENT ANALYSIS SYSTEM 200; Mathew Hurst & Shona Douglas, Layout and Language: Preliminary Investigations in Recognizing the Structure of Tables, PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON DOCUMENT ANALYSIS AND RECOGNITION (ICDAR) 1043-1047 (1997); and Ilwee Tou Ng et al., Learning 'o Recognize Table in Free Text, Proceedings of the 37th Annual Meeting of ACL 443-450 (1999), all of which are herein incorporated by reference in their entirety. Are integrated.
문서 변환기(102)가 암시적 테이블들을 식별하는 방법에 상관없이, 상기 문서 변환기가 전자 문서에서 하나 또는 그 이상의 암시적 테이블을 식별하면, 상기 문서 변환기는 상기 텍스트를 테이블처럼 식별하기 위해 상기 데이터 구조를 생성하거나 재공식화할 수 있다. 예를 들면, 상기 문서 변환기는 텍스트 블록을 테이블처럼 인식할 수 있고, 전자 문서를 HTML 문서로 변환하는 동안, 적절한 HTML 태그들(예, <table>, <tr>, <td>, 등)로 텍스트 블록을 캡슐화함으로써 텍스트 블록을 테이블처럼 식별하도록 포맷된 HTML 문서를 생성할 수 있다. TXT 문서의 텍스트 블록에 대해 상기한 예를 지속하면, 상기 문서 변환기는 텍스트 블록을 암시적 테이블처럼 식별할 수 있고, 이후에 도 7B에 도시한 것 처럼 암시적 테이블을 명시적 테이블처럼 포함하는 데이터 구조를 생성하거나 재공식화할 수 있다.Regardless of how document converter 102 identifies the implicit tables, if the document converter identifies one or more implicit tables in an electronic document, the document converter identifies the data structure to identify the text as a table. Can be created or reformed. For example, the document converter can recognize a block of text as a table, and with the appropriate HTML tags (e.g., <table>, <tr>, <td>, etc.) while converting an electronic document into an HTML document. By encapsulating the text block, you can generate an HTML document formatted to identify the text block like a table. Continuing the example above for a text block of a TXT document, the document converter may identify the text block as an implicit table, and then include the implicit table as an explicit table as shown in FIG. 7B. The structure can be created or reformulated.
문서 변환기(102)가 어떤 암시적 테이블들을 명시적 테이블들 처럼 재구성하는 전자 문서의 데이터 구조 표현을 생성한 후에, 상기 문서 변환기는 블록(110)에 도시된 것 처럼 미리 정의된 순서를 갖도록 전자 문서의 테이블들을 재배열할 수 있다. 여기서, 전자 변환기는 열-우선 순서(row-major ordering) 또는 행(column)-우선 순서 중의 어느 하나에 따라 전자 문서 테이블들의 셀들의 자연 순서를 식별할 수 있다. 당업자가 알 수 있는 바와 같이, 테이블의 내용이 열로 배열될 때 테이블은 일반적으로 열-우선 순서를 가진다. 반대로, 테이블의 내용이 행으로 배열될 때 테이블은 일반적으로 행-우선 순서를 가진다. After document converter 102 generates a data structure representation of the electronic document that reconstructs certain implicit tables as explicit tables, the document converter has an electronic document to have a predefined order as shown in block 110. You can rearrange the tables in. Here, the electronic converter may identify the natural order of the cells of the electronic document tables according to either row-major ordering or column-first order. As will be appreciated by those skilled in the art, tables generally have a column-first order when the contents of the table are arranged in columns. In contrast, tables generally have a row-first order when the contents of the table are arranged in rows.
전자 문서 테이블들의 셀들의 자연 순서를 식별한 후에, 문서 변환기(102)는 모든 테이블들이 미리 정의된 순서를 갖도록 테이블들을 재배열할 수 있다. 전형적인 일실시예에 있어서, 예를 들어, 상기 문서 변환기는 모든 테이블들이 열-우선 순서를 갖도록 테이블들을 재배열할 수 있다. 어떤 예에서, 행-우선 순서를 가지는 테이블들에 대해, 상기 문서 변환기는 자연 순서가 열-우선가 되도록 테이블을 바꿀 수 있다. 그러나, 상기 문서 변환기는 상기 테이블들이 조정된 문서 변환기의 다른 동작에 따라 행-우선 순서를 갖도록 상기 테이블들을 택일적으로 재배열할 수 있다. After identifying the natural order of the cells of the electronic document tables, document converter 102 may rearrange the tables such that all the tables have a predefined order. In one exemplary embodiment, for example, the document converter may rearrange the tables such that all the tables have a column-first order. In some instances, for tables with row-first order, the document converter may alter the table such that the natural order is column-first. However, the document converter may alternatively rearrange the tables such that the tables have a row-first order according to another operation of the adjusted document converter.
문서 변환기(102)는 어떤 다른 방법으로 테이블들의 자연 순서를 식별할 수 있다. 예를 들면, 상기 문서 변환기는 각 테이블의 인접 셀들 중에서 유사한 패턴을 찾도록 구성될 수 있다. 여기서, 예를 들어 각 셀에서 이미지를 포함하는 두번째 열을 가지는 행-열 테이블을 고려한다. 열의 모든 셀들이 상호간에 유사하고 상기 테이블이 행-우선 순서를 갖는다는 사실은, 명백하지만 그럼에도 불구하고 일반적으로 결정적이지는 않다. 택일적으로, 예를 들어, 각 셀에서 이미지를 포함하는 두번째 행과 각 행에서 퍼센트 표시가 있는 숫자를 포함하는 다섯번째 행을 가지는 열-우선 테이블을 고려한다. 행의 셀들이 상호간에 유사하고 열-우선 순서를 갖는다는 사실은, 명백하지만 다시 일반적으로 결정적이지 않다. The document converter 102 can identify the natural order of the tables in some other way. For example, the document converter may be configured to find a similar pattern among adjacent cells of each table. Here, consider a row-column table with, for example, a second column containing an image in each cell. The fact that all cells in a column are similar to each other and that the table has a row-first order is clear but nevertheless generally not deterministic. Alternatively, consider a column-first table, for example, with a second row containing an image in each cell and a fifth row containing a number with a percent mark in each row. The fact that the cells in a row are similar to each other and have a column-first order is obvious but again not generally deterministic.
전형적인 일실시예에 있어서, 문서 변환기(102)는 각 셀의 정보를 특성 벡터로 표현됨으로써 테이블의 자연 순서를 식별한다. 예를 들면, 각 셀은 주어진 길이 N의 특성 이진 벡터로 표현될 수 있는데, 그 벡터에서 각 위치는 각 셀의 정보 특성을 나타내는 술어(예/아니오(yes/no) 질문) 값에 대응한다. 알 수 있는 바와 같이, 특성 벡터 표현은 테이블의 각 셀의 구조적인 특성을 엔코드하기 위한 방법이다. 그러므로, 유사하게-보이는 셀들은 일반적으로 유사한 특성 벡터 표현을 가진다. In one exemplary embodiment, document converter 102 identifies the natural order of the table by representing the information in each cell as a characteristic vector. For example, each cell may be represented by a characteristic binary vector of a given length N, where each position corresponds to a predicate (yes / no question) value representing the information characteristic of each cell. As can be seen, the characteristic vector representation is a method for encoding the structural characteristics of each cell of the table. Thus, similarly-visible cells generally have similar feature vector representations.
상기 특성 벡터는 어떤 다른 수의 벡터에 대응하는 어떤 비트들(bits)(N)을 포함한다. 예를 들면, 상기 특성 벡터는 아래와 같은 술어에 대응하는 각 비트를 가지는, 13 비트들(즉, N=13)을 포함할 수 있다:The characteristic vector contains some bits (N) corresponding to some other number of vectors. For example, the feature vector may include 13 bits (ie, N = 13), with each bit corresponding to the following predicate:
셀이 이미지를 포함하면 그리고 단지 포함하면(iff; i.e., if and only if), 비트 1은 "1"이다If the cell contains an image and only contains (iff; i.e., if and only if), bit 1 is "1"
셀이 숫자를 포함하면 그리고 단지 포함하면, 비트 2는 "1"이다 If the cell contains a number and only contains it, bit 2 is "1"
셀이 하이퍼링크를 포함하면 그리고 단지 포함하면, 비트 3은 "1"이다If the cell contains a hyperlink and only contains it, bit 3 is "1".
셀이 굵은 텍스트를 포함하면 그리고 단지 포함하면, 비트 4는 "1"이다 If the cell contains bold text and only contains it, bit 4 is "1"
셀이 이태리 텍스트를 포함하면 그리고 단지 포함하면, 비트 5는 "1"이다 If the cell contains Italian text and only contains it, bit 5 is "1"
셀이 구두점을 포함하면 그리고 단지 포함하면, 비트 6은 "1"이다 If the cell contains punctuation and only contains, bit 6 is "1"
셀이 0과 5사이의 문자를 포함하면 그리고 단지 포함하면, 비트 7은 "1"이다 If the cell contains a character between 0 and 5 and only contains, bit 7 is "1"
셀이 6과 10사이의 문자를 포함하면 그리고 단지 포함하면, 비트 8은 "1"이다 If the cell contains characters between 6 and 10 and only contains, bit 8 is "1".
셀이 11과 15사이의 문자를 포함하면 그리고 단지 포함하면, 비트 9는 "1"이다 If the cell contains characters between 11 and 15 and only contains, bit 9 is "1".
셀이 16과 20사이의 문자를 포함하면 그리고 단지 포함하면, 비트 10은 "1"이다 If the cell contains characters between 16 and 20 and only contains, bit 10 is "1"
셀이 21과 25사이의 문자를 포함하면 그리고 단지 포함하면, 비트 11은 "1"이다 If the cell contains characters between 21 and 25 and only contains, bit 11 is "1".
셀이 26과 30사이의 문자를 포함하면 그리고 단지 포함하면, 비트 12는 "1"이다 If the cell contains characters between 26 and 30 and only contains, bit 12 is "1"
셀이 31 이상의 문자를 포함하면 그리고 단지 포함하면, 비트 13은 "1"이다 If the cell contains more than 31 characters and only contains, bit 13 is "1".
테이블과 이 테이블의 셀들에 대한 특성 벡터들이 도 8A와 도 8B에 각각 간략하게 참조로서 도시되어 있다. 도시한 테이블을 참조하면, 예를 들어, 첫번째 열의 셀과, 첫번째 행의 셀은 공백이다. 따라서, 첫번째 열의 셀과 첫번째 행의 셀은, 유일한 "1" 비트 값이 0과 5 문자 사이에 포함되는 셀에 대응하는, 특성 벡터 0000001000000로 표현될 수 있다. 대조적으로, 두번째 열의 셀과, 첫번째 행의 셀은, 특성 벡터 0000001000000로 표현될 수 있는, 구(phrase) "납입 적립금5M 한도액(equity reserve5M line)을 포함한다. 도시된 바와 같이, 앞서의 유일한 "1" 비트 값은 21과 25 문자 사이를 포함하는 셀에 대응한다(상기 구는 카운팅 스페이스, 21 문자들을 포함한다).The characteristic vectors for the table and the cells of the table are shown for brief reference in FIGS. 8A and 8B, respectively. Referring to the table shown, for example, the cells of the first column and the cells of the first row are blank. Thus, the cells of the first column and the cells of the first row may be represented by the characteristic vector 0000001000000, which corresponds to a cell whose unique "1" bit value is contained between 0 and 5 characters. In contrast, the cell of the second column cell and the first line, and includes, nine (phrase) "paid reserve 5M limit (equity reserve 5M line) which may be represented as a feature vector 0.000001 trillion. As shown, only the previously A "1" bit value corresponds to a cell containing between 21 and 25 characters (the phrase includes counting spaces, 21 characters).
각 셀의 정보를 특성 벡터로 표현한 후에, 문서 변환기(102)는 특성 벡터들에 근거한 테이블에서 셀들 사이의 유사성 정도를 결정할 수 있다. 상기 문서 변환기는, 인접 셀들 사이의 "맨해탄(Manhattan)" 거리를 결정하는 것과 같은 다수의 다른 방법으로 인접 셀들 사이의 유사성 값을 결정할 수 있다. 이와 관련하여, 상기 거리는 각 셀의 특성 벡터 사이에서 다른 비트들 수를 확인함으로써 2개의 인접 셀에 대하여 결정될 수 있다. 예를 들면, 0111,과 1110 사이의 거리는 2이다. 알 수 있는 바와 같이, 인접 셀들 사이의 거리가 작으면 작을수록, 각 셀들의 유사성은 더 커진다. 본 발명의 실시예에 의해 결정된 도 8A의 테이블의 셀들 사이의 거리 정도에 대한 도면을 도 8B에 나타내 보였다. After representing the information of each cell as a feature vector, document converter 102 may determine the degree of similarity between cells in the table based on the feature vectors. The document converter can determine the similarity value between adjacent cells in a number of different ways, such as by determining a "Manhattan" distance between adjacent cells. In this regard, the distance can be determined for two adjacent cells by checking the number of different bits between the feature vectors of each cell. For example, the distance between 0111 and 1110 is two. As can be seen, the smaller the distance between adjacent cells, the greater the similarity of each cell. A diagram of the distance between cells of the table of FIG. 8A determined by the embodiment of the present invention is shown in FIG. 8B.
또한, 다양한 예에 있어서, 특성 벡터의 각 비트 값(들)에 대응하는 하나 또는 그 이상의 술어는 다른 술어들 보다 더 큰 셀 유사성을 나타낼 수 있다. 예를 들면, 상기한 13 비트 특성 벡터에서 첫번째 비트는 10번째 비트 보다 더 큰 셀 유사성을 나타낼 수 있다. 그러므로, 본 발명의 실시예에 따르면, 하나 또는 그 이상의 비트들은, 2개의 특성 벡터들 사이의 거리가 각 비트들이 인접 셀들 사이에서 상이할 때, 합산으로, 그 연관된 가중치를 포함하도록 연관된 가중치를 가질 수 있다. Also, in various examples, one or more predicates corresponding to each bit value (s) of the feature vector may exhibit greater cell similarity than other predicates. For example, the first bit in the 13-bit feature vector may indicate cell similarity greater than the 10th bit. Therefore, according to an embodiment of the present invention, one or more bits will have an associated weight so as to include their associated weights, in sum, when the distance between two feature vectors differs between adjacent cells. Can be.
테이블의 인접 셀들 사이의 유사성 정도 또는 거리가 정확하게 결정되는 방법에 상관없이, 상기 거리를 결정한 후에, 문서 변환기(102)는 상기 테이블이 열-우선 순서인지 행-우선 순서인지를 결정할 수 있다. 더 상세하게는, 상기 문서 변환기는 테이블의 다양한 열 및 행을 교차하는 상기 거리들에 기초한 테이블의 순서를 결정할 수 있다. 예를 들면, 상기 문서 변환기는 테이블에서 같은 열에 있는 인접 셀들 쌍 사이의 평균 거리, 를 결정할 수 있고; 테이블에서 같은 행에 있는 인접 셀들 쌍 사이의 평균 거리,를 결정할 수 있다. 같은 열에 있는 인접 셀들 사이의 더 낮은 평균 거리는 일반적으로 테이블의 열들이 유사한 셀들을 포함하는 것을 나타내는데, 이 유사한 셀들은 상기 테이블이 행-우선 순서를 가질 수 있음을 암시한다. 반대로, 같은 행에 있는 인접 셀들 사이의 더 낮은 평균 거리는 테이블의 행들이 유사한 셀들을 포함하는 것을 나타내는데, 이 유사한 셀들은 상기 테이블이 열-우선 순서를 가질 수 있음을 암시한다. 기수법적으로 쓰면, 상기 문서 변환기는 아래의 공식에 따라 와 를 결정할 수 있다:Regardless of how the degree of similarity or distance between adjacent cells of a table is accurately determined, after determining the distance, document converter 102 may determine whether the table is in column-first or row-first order. More specifically, the document converter can determine the order of the table based on the distances across the various columns and rows of the table. For example, the document converter converts the average distance between pairs of adjacent cells in the same column in a table, Can be determined; Average distance between pairs of adjacent cells in the same row in a table, Can be determined. Lower average distances between adjacent cells in the same column generally indicate that the columns of the table contain similar cells, which suggest that the table may have a row-first order. Conversely, a lower average distance between adjacent cells in the same row indicates that the rows of the table contain similar cells, which suggest that the table may have a column-first order. When used notationally, the document converter is based on the following formula: Wow Can be determined:
상기 공식 (1)과 (2)에 나타나 있는 바와 같이, 은 테이블에서 열들을 나타내고; 는 행들을 나타낸다. 또한, 는 상기 테이블의 인접 셀들을 나타내고, 는 각 인접 셀들 사이의 거리를 나타낸다. 도 8A의 테이블에서, 그리고 도 8B에 도시된 거리로부터, =2.4(즉, 24/10)이고, =0.583(즉, 7/12)이다.As shown in formulas (1) and (2) above, Represents columns in a table; Indicates rows. Also, Represents adjacent cells of the table, Denotes the distance between each adjacent cell. In the table of FIG. 8A and from the distance shown in FIG. 8B, = 2.4 (ie 24/10), = 0.583 (ie, 7/12).
문서 변환기(102)가 같은 열 와 같은 행 의 인접 셀들 쌍 사이의 평균 거리를 결정했으면, 상기 문서 변환기는 상기 테이블이 열-우선 순서인지 또는 행-우선 순서인지를 결정할 수 있다. 예를 들면, 상기 문서 변환기는 상기 평균 거리를 비교함으로써 상기 순서를 결정할 수 있다. 만일, 상기 같은 행 의 인접 셀들의 쌍 사이의 평균 거리가 상기 같은 열 의 인접 셀들의 쌍 사이의 평균 거리보다 더 크면(즉, ), 상기 문서 변환기는 상기 테이블이 행-우선 순서를 갖는 것으로 결정할 수 있고, 그렇지 않으면 상기 테이블이 열-우선 순서를 갖는 것으로 결정할 수 있다. 열-우선 순서처럼, 전자 문서의 테이블들이 미리 정해진 순서를 갖도록 재배열하기 위해, 문서 변환기는 모든 테이블들이 열-우선 순서를 갖도록 행-우선 순서를 갖는 테이블들을 바꿀 수 있다. 기수법적인 용어에서, 전자 문서 테이블은 각 셀 이 각 셀 로 교체되도록 DOM 트리를 재구성함으로써 바뀌어질 수 있다.Document converter 102 has the same column Rows such as Having determined the average distance between adjacent pairs of cells of the document converter, the document converter can determine whether the table is in column-first or row-first order. For example, the document converter can determine the order by comparing the average distance. If same row above The average distance between pairs of adjacent cells of the same column Is greater than the average distance between pairs of adjacent cells of The document converter may determine that the table has a row-first order, or else determine that the table has a column-first order. Like the column-first order, in order to rearrange the tables of the electronic document to have a predetermined order, the document converter can change the tables with the row-first order such that all the tables have a column-first order. In notational terms, an electronic document table is represented by each cell Each of these cells This can be changed by reconstructing the DOM tree to be replaced with.
알 수 있는 바와 같이, 다양한 예에서 와 는 매우 유사할 수 있고, 이들은 원하는 것으로부터 반대되는 순서를 갖도록 바뀌어진 테이블로 될 수 있다. 따라서, 문서 변환기(102)는 주어진 테이블을 어느 정도 쉽게 바꿀수 있도록 비교하는 동안 또는 에 가중치를 줄 수 있다. 예를 들면, 상기 문서 변환기는 일 또는 그 이상의 값을 가지는 바이어스, C로 를 곱할 수 있다. 그 다음, 와 를 비교하는 동안(즉, > C*), 상기 바이어스가 증가함에 따라 상기 문서 변환기가 행-우선 테이블들을 바꿀 때 상기 문서 변환기는 테이블을 바꾸기가 좀 더 쉽지 않게 되고, 그리고 와 는 유사한 값을 갖는다.As can be seen, in various examples Wow Can be very similar, and they can be in tables that have been reversed in order from the desired. Thus, document converter 102 makes it easier to change a given table to some extent during the comparison. or Can be weighted. For example, the document converter may have a bias of one or more values, C, Can be multiplied by next, Wow While comparing (i.e. > C * ), As the bias increases, the document converter becomes less easy to change tables when the document converter changes row-first tables, and Wow Has a similar value.
미리 정해진 순서를 갖도록 상기 테이블들을 재배열한 후에, 문서 변환기(102)는 상기 테이블들의 셀 내용의 일-차원 시퀀스로 상기 테이블을 선형화할 수 있는데, 선형화된 내용들은 테이블 내에 달리 포함되지 않는다. 그러나, 유리하게, 상기 테이블들을 선형화하기 전에, 문서 변환기(102)는 도 5의 블록(112)에 도시된 바와 같이, 상기 테이블 내에 포함된 어떤 레이블들을 지역화할 수 있다. 알 수 있는 바와 같이, 다수의 테이블들은 하나 또는 그 이상의 다른 셀에 대한 레이블들로서 기능하는 셀들을 포함한다. 이와 관련해서, 어떤 레이블이 셀의 단일 열 또는 행을 참조할 때, 상기 레이블은 종종 "직접(direct)" 레이블로서 언급된다. 대조적으로, 어떤 레이블이 한개 열 또는 한개 행 이상을 참조할 때, 상기 레벨은 종종 "스팬(span)" 레이블로 언급된다. 도 9의 테이블에 도시된 바와 같이, 예를 들어, "YR," "TM," "GP," 및 "G," 같은 레이블들은 직접 레이블들이고, 반면에 레이블들 "레귤러 시즌(Regular Season)" 및 "포스트 시즌(Post Season)"은 스팬 레이블이다. After rearranging the tables to have a predetermined order, document converter 102 may linearize the table into a one-dimensional sequence of cell contents of the tables, which are not otherwise included in the table. Advantageously, however, prior to linearizing the tables, document converter 102 may localize any labels contained within the table, as shown in block 112 of FIG. As can be seen, multiple tables include cells that serve as labels for one or more other cells. In this regard, when a label refers to a single column or row of cells, the label is often referred to as a "direct" label. In contrast, when a label refers to more than one column or more than one row, the level is often referred to as a "span" label. As shown in the table of FIG. 9, for example, labels such as "YR," "TM," "GP," and "G," are direct labels, while the labels "Regular Season". And “Post Season” are span labels.
알 수 있는 바와 같이, 도 9에 도시되어 있는 것처럼, 행 레이블들을 가지는 열-우선 테이블을 선형화함으로써 행 레이블들은 그 레이블들이 참조하는 셀들로부터 분리되게 할 수 있다. 이 같이, 주어진 테이블은 제한된 디스플레이 영역을 가지는 단말기(10)에서 이해하는 것이 어려울 수 있다. 이와 관련해서, 단말기 디스플레이에 대한 도 9의 테이블의 일부분을 도시한 도 10A와 도 10B를 참조하면, 그곳에서 상기 테이블은 직접 선형화 과정을 통해 진행했다. 알 수 있는 바와 같이, 열 레이블들은 그 레이블들이 참조하여 상기 테이블이 이해하기 어렵게 하는 셀들로부터 분리된다. 더 상세하게는, 도시된 바와 같이, 다수의 직접 레이블들(예, "YR," "TM," "GP," "G," 등)을 포함하는 상기 열은 그것이 참조하는 데이터로부터, 즉 각 레이블들 아래의 각 행들의 셀들로부터 외관상 분리된다. As can be seen, as shown in FIG. 9, by linearizing a column-first table with row labels, row labels can be separated from the cells to which they are referenced. As such, a given table can be difficult to understand in terminal 10 having a limited display area. In this regard, referring to FIGS. 10A and 10B, which show a portion of the table of FIG. 9 for a terminal display, the table has gone through a direct linearization process. As can be seen, the column labels are separated from the cells that the labels refer to, making the table difficult to understand. More specifically, as shown, the column comprising a number of direct labels (e.g., "YR," "TM," "GP," "G,", etc.) is derived from the data it refers to, ie each It is apparently separated from the cells of each row below the labels.
레이블들이 참조하는 데이터로부터 행 레이블들을 분리하는 것을 피하기 위해, 한 유리한 실시예의 문서 변환기(102)는 전자 문서 테이블들 내에 위치된 (만일 그렇다면) 레이블들을 지역화한다. 더 상세하게는, 상기 문서 변환기는 상기 레이블들이 기술하는 데이터와 인접하여 상기 레이블들이 위치되도록 상기 레이블들을 재배열한다. 이와 같이, 상기 문서 변환기는 연속적으로 주어진 테이블에 대한 사용자의 이해를 도울 수 있다. In order to avoid separating row labels from the data to which the labels refer, the document converter 102 of one advantageous embodiment localizes the labels (if any) located within the electronic document tables. More specifically, the document converter rearranges the labels such that the labels are positioned adjacent to the data that the labels describe. As such, the document converter can help the user understand a given table in succession.
문서 변환기(102)는 전자 문서의 테이블들 내의 레이블들을 어떤 다수의 다른 방법으로 지역화할 수 있다. 레이블들을 지역화하는 아주 유리한 기술은 도 11을 참조하여 이하에 설명된다. 이하에 설명되는 바와 같이, 상기 문서 변환기는 적어도 한 레이블을 포함하는 적어도 한 열을 갖는 열-우선 테이블에 대한 레이블들을 지역화한다. 그러나, 상기 문서 변환기는 다수의 다른 상황에서도 레이블들을 지역화할 수 있다. 예를 들면, 상기 문서 변환기는 적어도 한 레이블을 포함하는 적어도 한 행을 갖는 행-우선 테이블에 대한 레이블들을 지역화할 수 있다. 이 같은 예에서, 레이블들을 지역화하는 프로세스는 일반적으로 본 명세서에 기재된 바와 같이 행들의 토대에서 수행되는 열들의 토대에서 수행된 동작들과 같이 진행될 수 있고, 그리고, 열들의 토대에서 수행되는 행들의 토대에서 수행된 동작들과 같이 진행될 수 있다. 또한, 상기 문서 변환기는 테이블들내의, 특별하게 어떤 레이블들을 포함하지 않는 테이블들에 대한 레이블들을 지역화할 필요가 없다. 일반적으로, 상기 문서 변환기가 테이블들을 열-우선 테이블들로 재배열할 때 상기 문서 변환기는 또한 레이블들을 지역화하지 않고, 상기 테이블들은 레이블들을 갖는 어떤 열들도 포함하지 않는다. The document converter 102 can localize the labels in the tables of the electronic document in any number of other ways. A very advantageous technique for localizing labels is described below with reference to FIG. As described below, the document converter localizes labels for a column-first table having at least one column that includes at least one label. However, the document converter can localize labels in many other situations. For example, the document converter may localize labels for a row-first table having at least one row that includes at least one label. In such an example, the process of localizing labels can generally proceed with the operations performed on the base of the columns performed on the base of the rows as described herein, and the base of the rows performed on the base of the columns. It may proceed with the operations performed in. In addition, the document converter does not need to localize labels for tables in the tables, especially those that do not contain any labels. In general, when the document converter rearranges tables into column-first tables, the document converter also does not localize labels, and the tables do not include any columns with labels.
어떤 기술에 따르면, 문서 변환기(102)는 스팬 레이블들, 즉 도 11의 블록(118)에 도시된 바와 같은 한 행 이상을 스팬하는 레이블들을 포함하는 열들을 먼저 식별함으로써 레이블들을 지역화할 수 있다. 더 상세하게는, 상기 문서 변환기는 테이블 데이터(예, <td>) 또는 테이블 헤더(예, <th>)를 포함하는 셀들을 식별하는 태그들에 대한 소정 개수의 열들(예, 3개 열)의 셀들을 검사할 수 있는데, 여기서 상기 셀들은 또한 멀티행 속성(예, "콜스팬(colspan)")을 가진다. 알 수 있는 바와 같이, 상기한 속성은 테이블의 한 행 이상을 스팬하는 셀을 일반적으로 나타낸다. 예를 들면, 도 9의 테이블에 있어서, 첫번째 열은 각각 한 행 이상을 스팬하는 2개의 셀(즉, "레귤러 시즌" 및 "포스트 시즌")을 포함한다.According to some techniques, document converter 102 may localize labels by first identifying columns containing span labels, ie, labels spanning one or more rows as shown in block 118 of FIG. 11. More specifically, the document converter includes a predetermined number of columns (e.g., three columns) for tags that identify cells containing table data (e.g., <td>) or table headers (e.g., <th>). Cells may be examined, where the cells also have a multi-row attribute (eg, "colspan"). As can be seen, the above attributes generally represent cells spanning more than one row of the table. For example, in the table of FIG. 9, the first column contains two cells each spanning one or more rows (ie, "regular season" and "post season").
스팬 레이블들을 포함하는 열들을 식별한 후에, 문서 변환기(102)는 직접 레이블들, 즉 블록(120)에 도시된 바와 같이 각각이 단일 행으로 참조되는 레이블들을 포함하는 어떤 열들을 식별할 수 있다. 앞서와 유사하게, 상기 문서 변환기는 어떤 직접 레이블들에 대한 소정 개수의 열들(예, 3개 열)의 셀들을 검사할 수 있다. 상기 문서 변환기는 다수의 다른 어떤 방법으로 상기 직접 레이블들을 위치시킬 수 있다. 예를 들면, 일실시예에 있어서, 상기 문서 변환기는 인접 열들 사이에서 유사성 정도(예, 거리)에 기초하여 직접 레이블들을 위치시키는데, 여기서 인접 열들 사이의 상기 유사성 정도는 전술한 바와 같이 인접 열들의 셀들 사이의 유사성 정도에 기초한다. 이와 관련하여, 당업자가 알 수 있는 바와 같이, 직접 행 레이블들의 열은 다수의 다른 측면에서 테이블의 열의 나머지와 종종 다르다. 예를 들면, 직접 행 레이블들을 이루는 도 9의 두번째 열은 전체적으로 문자를 구성하는데 반해, 상기 두번째 열 아래의 열들은 전체적으로 거의 숫자를 구성한다. After identifying the columns containing span labels, document converter 102 may directly identify any columns that contain labels, that is, labels, each referred to as a single row, as shown in block 120. Similar to the above, the document converter can examine a predetermined number of columns (eg, three columns) of cells for certain direct labels. The document converter can place the direct labels in any number of other ways. For example, in one embodiment, the document converter places labels directly based on the degree of similarity (eg, distance) between adjacent columns, where the degree of similarity between adjacent columns is determined as described above. Based on the degree of similarity between the cells. In this regard, as those skilled in the art will appreciate, the columns of direct row labels are often different from the rest of the columns of the table in many other respects. For example, the second column of FIG. 9, which constitutes direct row labels, constitutes a character as a whole, whereas the columns below the second column generally constitute almost a number.
테이블의 직접 레이블들의 위치를 정하기 위해, 문서 변환기(102)는 테이블의 인접 열들 사이에서 그 유사성 또는 거리를 결정할 수 있는데, 여기서 상기 유사성은 각 열들 내의 수직-인접 셀들의 유사성에 기초하여 결정된다. 기수법적으로 쓰면, 상기 문서 변환기는 아래 공식 (3)에 따라 테이블의 인접 열들 사이의 거리 을 결정할 수 있다:To locate the direct labels of the table, document converter 102 can determine its similarity or distance between adjacent columns of the table, where the similarity is determined based on the similarity of vertical-adjacent cells within each column. Written in notation, the document converter uses the distance between adjacent columns of the table according to the following formula (3): You can decide:
상기 공식에서, 은 적어도 한 스팬 레이블을 포함하지 않는 테이블의 첫번째 열을 나타낸다.In the above formula, Indicates the first column of the table that does not contain at least one span label.
인접 열들 사이의 거리를 결정한 후에, 상기 문서 변환기(102)는 다음의 인접 열들의 어떤 쌍 보다 훨씬 더 큰 비유사성(dissimilarity)을 가지는 인접 열들의 어떤 쌍을 식별할 수 있는데, 여기서, 상당한 비유사성은 직접 레이블들을 포함하는 각 쌍의 첫번째 열을 나타낸다. 다른 말로 하면, 상기 문서 변환기는 인접 열들의 어떤 쌍 사이의 거리가 인접 열들의 어떤 다음 쌍 사이의 거리보다 상당히 더 큰지를 결정할 수 있고, 직접 레이블들을 포함하는 것과 같은 어떤 쌍의 첫번째 열을 식별할 수 있다. 더 상세하게는, 예를 들어, 상기 문서 변환기는 각 을, 을 시작으로, 인접 열들의 다음 쌍들 사이의 거리와 비교할 수 있다. 그 다음, 인접 열들의 어떤 다음 쌍 보다 적어도 주어진 퍼센트(예, 50%) 보다 더 큰 첫번째 에 대해, 열 는 직접 레이블들을 포함하는 열로서 식별될 수 있다.After determining the distance between adjacent columns, the document converter 102 can identify any pair of adjacent columns that have much greater dissimilarity than any pair of next adjacent columns, where significant dissimilarity. Represents the first column of each pair containing the labels directly. In other words, the document converter can determine whether the distance between any pair of adjacent columns is significantly greater than the distance between any next pair of adjacent columns and identify the first column of any pair, such as directly containing labels. Can be. More specifically, for example, the document converter may of, Starting with, we can compare the distance between the next pair of adjacent columns. Then, the first greater than at least a given percentage (eg, 50%) than any next pair of adjacent columns About, open Can be identified directly as a column containing labels.
문서 변환기(102)가 스팬 레이블들 및/또는 직접 레이블들을 포함하는 열을 식별했으면, 상기 문서 변환기는 도 11의 블록(122)에 도시된 바와 같은 다수의 공지 기술 중에서 어떤 것에 의해 테이블의 레이블 트리 표현을 생성할 수 있다. 더 상세하게는, 예를 들어, 상기 문서 변환기는 상기 레이블들을 지역화하는데 사용되는 또 다른 데이터 구조를 생성할 수 있는데, 여기서 상기 데이터 구조는 테이블의 개별적인 셀들에 대한 스팬 및 직접 행 레이블들의 연관성을 반영한다. "레이블 트리"로 참조되는 이 데이터 구조는 이전에 식별된 스팬 및 직접 행 레이블들의 구조를 캡처할 수 있다. 이와 관련하여, 도 12는 일실시예에 따른 도 9의 테이블의 레이블 트리 표현을 나타낸다. Once the document converter 102 has identified a column containing span labels and / or direct labels, the document converter has a label tree of the table by any of a number of known techniques as shown in block 122 of FIG. You can create an expression. More specifically, for example, the document converter can create another data structure that is used to localize the labels, where the data structure reflects the association of span and direct row labels to individual cells of a table. do. This data structure, referred to as the "label tree," can capture the structure of span and direct row labels previously identified. In this regard, FIG. 12 illustrates a label tree representation of the table of FIG. 9, according to an embodiment.
문서 변환기(102)는 상기 테이블의 상기 레이블 트리 표현을 생성한 후에, 상기 테이블의 레이블들을 지역화할 수 있다. 블록(124)에 도시한 바와 같이, 상기 문서 변환기는 상기 테이블의 선형화된 표현 내의 레이블들의 위치를 결정하기 위해 상기 레이블 트리와 데이터 구조 표현을 횡단함으로써 상기 레이블들을 지역화할 수 있다. 이와 같이, 상기 테이블은 이후에 각 테이블 셀들 근처에 위치된 레이블들을 포함하도록 선형화될 수 있다. 알 수 있는 바와 같이, 상기 레이블 트리 표현과 데이터 구조는 다수의 어떤 다른 방법으로 횡단될 수 있다. 일 실시예에 있어서, 예를 들어, 문서 변환기는 스팬(span) 또는 다이렉트 레이블들을 포함하는 어떤 셀(들) 및 내용을 갖지않는 어떤 셀(들), 즉 공백 셀(들)을 제외하고 각 열(j = 1, ..., R)의 각 행(i = 1, .., C)의 각 셀을 검사한다. After document converter 102 generates the label tree representation of the table, it may localize the labels of the table. As shown at block 124, the document converter may localize the labels by traversing the label tree and data structure representation to determine the position of labels in the linearized representation of the table. As such, the table may then be linearized to include labels located near each table cell. As can be appreciated, the label tree representation and data structure can be traversed in any number of other ways. In one embodiment, for example, the document converter is each column except for any cell (s) including span or direct labels and any cell (s) without content, ie blank cell (s). Examine each cell of each row (i = 1, ..., C) of (j = 1, ..., R).
이때, 공백 및 레이블 셀(들)을 제외한 각 열의 각 행에 대해, 문서 변환기는 루트 노드로부터 표(도 12 참조)의 트리 레이블 표현의 가지의 잎(L)으로 레이블 경로 xk = {x1, x2, ..., xL}를 정의할 수 있다. 상기 각 잎은 상기 표의 각 행과 관련된다. 추가로, 문서 변환기는 레이블 스트링(sij)을 정의할 수 있다. 상기 각 레이블 스트링은 각 셀에 대해 제로 값으로 초기화된다. 상기 표의 레이블 트리 표현의 각 레이블 경로(k = 1, ..., L)의 각 노드에 대해, xk가 스팬 레이블을 포함하고 xk+1이 xk 아래 제1 노드를 포함하는 경우, 문서 변환기(102)는 신규 라인을 스팬 레이블, 다른 신규 라인 및 적어도 하나의 공백 문자(예를 들어 탭(tab))와 함께 레이블 스트링(sij)에 추가할 수 있다. 다른 한편, xk가 다이렉트 레이블을 포함하는 경우, 문서 변환기는 다이렉트 레이블을 콜론과 같은 분리 문자와 함께 레이블 스트링(sij)에 추가할 수 있다. 그 다음, 표 셀들을 검사하고 레이블 스트링들(sij )을 생성한 후에, 문서 변환기는 예를 들어 후술되는 상기 표의 선형화 동안 각 셀(xij)에 각 레이블 스트링을 추가할 수 있다.At this time, for each row of each column except the blank and label cell (s), the document converter goes from the root node to the leaf (L) of the branch of the tree label representation of the table (see FIG. 12), label path x k = {x 1 , x 2 , ..., x L } can be defined. Each leaf is associated with each row of the table. In addition, the document converter may define a label string s ij . Each label string is initialized to a zero value for each cell. For each node in each label path (k = 1, ..., L) in the label tree representation of the table above, if x k contains span labels and x k + 1 contains the first node below x k , The document converter 102 can add a new line to the label string s ij along with the span label, another new line, and at least one space character (eg, a tab). On the other hand, if x k includes a direct label, the document converter can add the direct label to the label string s ij with a separator such as a colon. Then, after examining the table cells and generating the label strings s ij , the document converter may add each label string to each cell x ij , for example, during linearization of the table described below.
예를 들어, 도 9의 표 및 도 12의 레이블 트리 표현을 고려해 보자. 상기 표는 다수의 스팬 및 다이렉트 레이블들을 포함한다. 이 경우에 있어서, 표의 셀들의 검사는 값 "84-85"을 포함하는 셀(3,1)을 가지고 시작할 수 있다. 레이블 트리 표현의 루트 노드를 제3 열과 관련된 잎에 이어, 문서 변환기(102)는 레이블 경로 xk = {x1 = "YR"}를 정의할 수 있다. 추가로, 문서 변환기는 레이블 스트링(s3,1 )을 정의할 수 있고, 상기 레이블 스트링은 제로 값으로 초기화된다. 이때, x1이 다이렉트 레이블을 포함하기 때문에, 문서 변환기는 다이렉트 레이블을 콜론과 함께 레이블 스트링(sij)에 추가할 수 있다. 따라서 s3,1 = {"YR:"}. 그 다음, 동일한 과정이 셀(3,2)에 대해 반복될 수 있다. 여기서s3,2 = {"TM:"}. 다른 한편, 셀(3,3)에 대해, 문서 변환기는 레이블 경로 xk = {x1 = "Regular Season"; x2 = "GP"}를 정의할 수 있다. 레이블 스트링(s3,3)을 제로로 초기화 한 이후에, x1은 스팬 레이블을 포함하고 x2(즉, xi+1)는 x1 아래 제1 노드를 포함하기 때문에, 문서 변환기는 신규 라인을 스팬 레이블, 다른 신규 라인 및 탭과 함께 레이블 스트링(s3,3)에 추가할 수 있다. 그 다음, x2에 대해, 문서 변환기는 다이렉트 레이블 및 콜론을 레이블 스트링(s3,3)에 더 추가할 수 있다. 따라서, 레이블 스트링(s3,3)은 다음과 같이 표현될 수 있다: s3,3 = {\n; "Regular Season";\n;\t;"GP:"}, 여기서 "\n" 및 "\t"는 레이블 스트링이 단말기(10)에 의해 표현되는 경우 각각 신규 라인 및 탭을 나타낸다.For example, consider the table of FIG. 9 and the label tree representation of FIG. 12. The table includes a number of span and direct labels. In this case, the examination of the cells of the table can begin with the cells 3,1 containing the values "84-85". Following the leaf node associated with the third column with the root node of the label tree representation, document converter 102 may define the label path x k = {x 1 = " YR "}. In addition, the document converter may define a label string s 3,1 , which is initialized to a zero value. At this time, since x 1 includes a direct label, the document converter may add the direct label to the label string s ij with a colon. S 3,1 = {"YR:"}. The same process can then be repeated for cells 3 and 2. Where s 3,2 = {"TM:"}. On the other hand, for cells 3 and 3, the document converter has the label path x k = {x 1 = "Regular Season"; x 2 = "GP"}. After initializing the label string (s 3,3 ) to zero, the document converter is new because x 1 contains the span label and x 2 (ie, x i + 1 ) contains the first node below x 1. Lines can be added to the label string (s 3,3 ) along with span labels, other new lines, and tabs. Then, for x 2 , the document converter may further add a direct label and a colon to the label string s 3 , 3 . Thus, the label string s 3,3 can be expressed as follows: s3,3 = {\n; "Regular Season"; \ n; \ t; "GP:"}, where "\ n" and "\ t" represent a new line and a tab, respectively, when the label string is represented by the terminal 10.
다시 도 5를 참조하면, 일단 문서 변환기(102)가 레이블 스트링(sij)을 결정하고 그것에 의해 레이블들을 위치시킨 경우, 문서 변환기는 블록 114에 도시된 바와 같이 표를 셀들의 1차원 시퀀스로 선형화할 수 있다. 문서 변환기는 다수의 상이한 방식들 중 하나로 상기 표를 선형화할 수 있다. 예를 들어, 일 실시예에 있어서, 문서 변환기는 표를 하나 이상의 개별 단락(예를 들어, <p>)으로 대체함으로써 상기 표를 선형화할 수 있다. 여기서, 각단락은 원래 표의 셀들의 하나 이상을 포함한다. 이 점에 있어서, 문서 변환기는 전형적으로 상부 가장 좌측 셀에서 시작하여 하부 가장 우측 셀에서 끝나는 열 우선(row-major) 순서를 갖는 표를 가로지를 수 있고, 특히 문서 변환기가 전자 문서의 표(들)를 열-우선 순서를 갖도록 배열하는 경우, 각 셀들의 내용들을 표의 선형화된 표현의 각 단락으로 이동시킬 수 있다.Referring again to FIG. 5, once the document converter 102 determines the label string s ij and thereby positions the labels, the document converter linearizes the table into a one-dimensional sequence of cells as shown in block 114. can do. The document converter can linearize the table in one of a number of different ways. For example, in one embodiment, the document converter can linearize the table by replacing the table with one or more individual paragraphs (eg, <p>). Here, each paragraph contains one or more of the cells of the original table. In this regard, the document converter may traverse a table having a row-major order, typically starting at the top leftmost cell and ending at the bottom rightmost cell, in particular the document converter being able to ) Can be arranged in a column-first order, moving the contents of each cell to each paragraph of the linearized representation of the table.
일 실시예에 있어서, 문서 변환기(102)는 표의 데이터 구조 표현을 검사함으로써 표를 선형화할 수 있다. 예를 들어, 도 13a에 도시된 표를 포함하는 전자 문서의 데이터 구조 표현을 고려해보자. 각 표 노드에 대해, 문서 변환기는 각 표 노드와 같은 레벨로 데이터 구조에 신규 임시 노드(도 13b에 노드 "X"로서 도시된)를 생성할 수 있다. 그 다음, 전형적으로 공백 및 레이블 셀들을 제외하고 표의 셀을 나타내는 각 열 노드(즉, <tr>)의 각 데이터 노드(즉, <td>)에 대해, 문서 변환기는 노드 "X"의 차일드(child)로서 단락 노드(예를 들어, <p>)를 추가할 수 있다. 도 13b에 도시된 바와 같이, 그 다음, 문서 변환기는 각 데이터 노드의 내용 노드(즉, C1, C2 등), 또는 보다 상세하게는 각 단락 노드 아래 각 셀의 내용들(xij)을 이동시킬 수 있다. 도 13b에 있어서, 제1 및 제2 내용 노드들(C1 및 C2)만이 이동되는 것으로 도시된다. 각 단락 노드 아래 각 내용 노드를 이동하는 것에 추가하여, 문서 변환기는 각 셀이 대응하는 레이블 스트링을 구비하는 경우 각 레이블 스트링(sij)을 각 셀의 내용들에 추가할 수 있다.In one embodiment, document converter 102 may linearize a table by examining the data structure representation of the table. For example, consider a data structure representation of an electronic document that includes the table shown in FIG. 13A. For each table node, the document converter can create a new temporary node (shown as node "X" in FIG. 13B) at the same level as each table node. Then, for each data node (i.e. <td>) of each column node (i.e. <tr>) representing cells of the table, typically excluding blank and label cells, the document converter is a child of node "X" ( As a child, you can add paragraph nodes (for example, <p>). As shown in FIG. 13B, the document converter then moves the contents node of each data node (i.e., C1, C2, etc.), or more specifically the contents (x ij ) of each cell below each paragraph node. Can be. In FIG. 13B, only the first and second content nodes C1 and C2 are shown to be moved. In addition to moving each content node below each paragraph node, the document converter can add each label string s ij to the contents of each cell if each cell has a corresponding label string.
각 단락 노드들 아래 각 열 노드의 각 데이터 노드의 내용 노드를 이동시킨 후에, 문서 변환기(102)는 표 노드 및 표 노드 아래 관련 열 노드(들), 데이터 노드(들) 및 내용 노드(들)을 삭제할 수 있다. 비록 문서 변환기가 각 열 노드의 각 데이터 노드의 내용 노드를 이동시킨 후에 표 노드 및 관련 노드들을 삭제할 수 있다 하더라도, 대안으로 상기 문서 변환기는 각 노드의 모든 칠드른(children)(즉, 관련 노드들)을 이동하거나 그렇지 않으면 삭제한 후에 각 노드를 삭제할 수 있다. 따라서, 예를 들어 문서 변환기는 각 단락 노드 아래 각 내용 노드들(즉, C1, C2, C3 등)을 이동시킨 후에 각 표 데이터 노드(즉, <td>)를 삭제할 수 있다. 유사하게, 예를 들어 문서 변환기는 각 표 데이터 노드들(즉, <td>)을 삭제한 후에 각 표 열 노드(즉, <tr>)를 삭제할 수 있다.After moving the content node of each data node of each column node below each paragraph node, document converter 102 causes the table node and the associated column node (s), data node (s) and content node (s) below the table node. Can be deleted. Although the document converter may delete the table node and related nodes after moving the content node of each data node of each column node, the document converter alternatively all children of each node (ie related nodes). You can delete each node after moving or otherwise deleting). Thus, for example, the document converter may delete each table data node (ie, <td>) after moving each content node (ie, C1, C2, C3, etc.) under each paragraph node. Similarly, for example, the document converter may delete each table column node (ie, <tr>) after deleting each table data node (ie, <td>).
하지만, 각 단락 노드들 아래 각 열 노드의 각 데이터 노드의 내용 노드를 이동시킨 후에 문서 변환기(102)가 표 노드를 삭제하는 경우와 상관없이, 문서 변환기는 문서 구조로부터 노드 "X"를 삭제할 수 있고, 도 13c에 도시된 바와 같이, 전자 문서의 데이터 구조 표현에서 노드 "X" 아래 노드들 각각을 위로 이동시킬 수 있다. 따라서, 도시된 바와 같이, (공백 및 레이블 셀들을 제외한) 표의 각 셀(xij)을 나타내는 각 내용 노드(즉, C1, C2 등)는 전자 문서의 데이터 구조 표현의 각 단락 노드내에 포함될 수 있다. 이 경우에 있어서 알 수 있는 바와 같이, 어떤 추가된 레이블 스트링들(sij)을 포함하는 원래 표의 각 셀은 별개의 단락 노드 아래 포함될 수 있다. 하지만, 대안으로 문서 변환기는 하나보다 많은 셀이 별개의 단락 노드 아래 포함되도록 표를 선형화할 수 있는 것으로 이해되어야 한다. 예를 들어, 상기 문서 변환기는 표의 셀들의 각 열이 각 단락 노드 아래 포함되도록 표를 선형화할 수 있다. 이러한 경우의 예로서, 표의 하나 이상의 셀들이 추가된 레이블 스트링들을 포함하는 도 9의 표의 선형화된 표현을 나타내는 도 14를 참조한다.However, regardless of the case where document converter 102 deletes a table node after moving the content node of each data node of each column node below each paragraph node, the document converter can delete node "X" from the document structure. And as shown in FIG. 13C, each of the nodes below node “X” may be moved up in the data structure representation of the electronic document. Thus, as shown, each content node (ie, C1, C2, etc.) representing each cell (x ij ) of the table (except for blank and label cells) may be included in each paragraph node of the data structure representation of the electronic document. . As can be seen in this case, each cell of the original table containing any added label strings s ij may be included under a separate paragraph node. However, it should be understood that alternatively the document converter can linearize the table so that more than one cell is included under a separate paragraph node. For example, the document converter may linearize the table such that each column of cells of the table is included under each paragraph node. As an example of this case, reference is made to FIG. 14, which shows a linearized representation of the table of FIG. 9 that includes label strings to which one or more cells of the table have been added.
일단 문서 변환기(102)가 표를 선형화한 경우, 문서 변환기는 (표의 선형화된 표현을 포함하는) 전자 문서의 데이터 구조 표현을 도 5의 블록(116)에서 도시된 바와 같이 다시 전자 문서로 변환할 수 있다. 알 수 있는 바와 같이, 문서 변환기는 문서 변환기가 전자 문서를 중간 데이터 구조로 변환(블록 106 참조)한 방식의 반대 방식과 같은 다수의 상이한 방식들로 데이터 구조를 변환할 수 있다. 그 다음, 일단 문서 변환기(102)가 원래 전자 문서에 포함된 각 표의 선형화된 표현을 포함하는 전자문서로 다시 데이터 구조를 변환한 경우, 블록 117에 도시된 바와 같이 프록시(18)는 전자 문서를 단말기(10)로 전달할 수 있다. 그 다음, 상기 단말기는 예를 들어 디스플레이(예를 들어 디스플레이(54))상에서 상기 전자 문서를 나타낼 수 있다. 이 점에 있어서, 상기 디스플레이 상에 도 9의 표의 예시적인 표시를 위해 도 15를 참조한다.Once the document converter 102 linearizes the table, the document converter will convert the data structure representation of the electronic document (including the linearized representation of the table) back to the electronic document as shown in block 116 of FIG. Can be. As can be seen, the document converter can convert the data structure in a number of different ways, such as the way in which the document converter converted the electronic document into an intermediate data structure (see block 106). Then, once document converter 102 converts the data structure back to an electronic document that contains a linearized representation of each table contained in the original electronic document, proxy 18 then processes the electronic document as shown in block 117. It may be delivered to the terminal 10. The terminal can then present the electronic document, for example on a display (eg display 54). In this regard, reference is made to FIG. 15 for an exemplary representation of the table of FIG. 9 on the display.
본 명세서에 도시되고 상술된 바와 같이, 문서 변환기(102)는 적어도 하나의 표를 포함하는 전자 문서를 수신하여 단말기(10)에 의해 표시하기 위해 상기 문서의 표 정보를 변환할 수 있다. 그 다음 상기 문서 변환기는 변환된 표 정보를 포함하는 전자 문서를 단말기에 전달하여 상기 단말기, 또는 보다 상세하게는 상기 단말기의 디스플레이(예를 들어 디스플레이(56))에 의해 표시할 수 있다. 다양한 경우들에 있어서 문서 변환기는 문서의 표 정보를 변환하지 않고 전자 문서를 전달할 수 있다는 점에 유념해야 한다. 이 점에 있어서, 알 수 있는 바와 같이, 다양한 예들에 있어서, 단말기는 단말기의 디스플레이 보다 더 폭이 큰 디스플레이 윈도우 내에서 좌우 패닝(panning)을 지원할 수 있다. 따라서, 문서 변환기는 표 정보를 변환하기 전에 전자 문서의 수신 단말기가 좌우 패닝을 지원하는지 여부를 결정할 수 있다. 이때, 문서 변환기는 표 정보를 변환하지 않고 전자 문서를 전달할 수 있다. 대안으로, 문서 변환기는 예를 들어 단말기의 사용자로부터, 전자 문서의 표 정보를 변환할 것인지 또는 표 정보를 변환하지 않고 전자 문서를 전달할 것인지에 대한 선택을 요청할 수 있다.As shown and described herein, document converter 102 may receive an electronic document that includes at least one table and convert table information of the document for display by terminal 10. The document converter can then deliver the electronic document containing the converted table information to the terminal for display by the terminal, or more particularly the display (eg display 56) of the terminal. It should be noted that in various cases the document converter can deliver an electronic document without converting the table information of the document. In this regard, as can be seen, in various examples, the terminal may support panning left and right within a display window that is wider than the display of the terminal. Thus, the document converter may determine whether the receiving terminal of the electronic document supports left and right panning before converting the table information. In this case, the document converter may transmit the electronic document without converting the table information. Alternatively, the document converter may request, for example, from the user of the terminal whether to convert the table information of the electronic document or to deliver the electronic document without converting the table information.
상기 문서 변환기(102)는 다수의 상이한 방식으로 전자 문서를 팬(pan)하기 위한 단말기(10)의 능력을 결정할 수 있다. 예를 들어, 문서 변환기는 하나 이상의 수신 장치들의 리스트를 포함하고 각 장치가 전자 문서 패닝을 지원하는지 여부를 나타내는 내부 "장치 능력(device capability)" 룩업 표를 유지할 수 있다. 이러한 경우들에 있어서, 문서 변환기는 예를 들어 단말기 및 내용 소스(100)(예를 들어, HTTP GET)간에 통신 세션의 설정 동안 단말기 수신자를 결정할 수 있고, 그 다음 "장치 능력" 룩업 표에서 단말기의 검색을 수행할 수 있다. 그 다음, 표 정보를 변환할지 여부의 선택을 요청한 후에, 문서 변환기는 선택을 수신하고 그에 따라 상기 선택을 처리할 수 있다. 이 점에 있어서, 사용자가 표 정보를 변환하지 않고 전자 문서가 전달되도록 선택한 경우, 상기 문서 변환기는 그에 따라 동작할 수 있다. 그렇지 않고, 사용자가 표 정보가 변환되도록 선택하거나 단말기가 패닝을 지원하지 않는 경우, 상기 문서 변환기는 상술된 바와 같이 표 정보를 변환할 수 있다.The document converter 102 can determine the ability of the terminal 10 to pan electronic documents in a number of different ways. For example, the document converter may maintain an internal "device capability" lookup table that includes a list of one or more receiving devices and indicates whether each device supports electronic document panning. In such cases, the document converter may determine the terminal receiver during the establishment of the communication session, for example between the terminal and the content source 100 (eg HTTP GET), and then the terminal in the "device capability" lookup table. You can perform a search of. Then, after requesting the selection of whether to convert the table information, the document converter can receive the selection and process the selection accordingly. In this regard, if the user chooses to deliver the electronic document without converting the table information, the document converter can act accordingly. Otherwise, if the user chooses to convert the table information or if the terminal does not support panning, the document converter may convert the table information as described above.
또한, 본 명세서에 도시되고 상술된 바와 같이, 문서 변환기(102)는 원 서버(origin server, 22), SMSC(17), MMSC(30), GGSN(28), 사용자 프로세서(34) 또는 그런 종류의 다른 것과 같은 내용 소스 또는 단말기(10), 프록시(18)와 같은 다수의 상이한 네트워크 개체들 중 어떤 것에서 동작될 수 있다. 하지만, 알 수 있는 바와 같이, 문서 변환기의 다양한 동작들, 특히 전자 문서내에 적어도 하나의 표를 포함하는 표 정보를 변환하는 경우 상기 동작들은 네트워크 접속과 독립하여 수행될 수 있다. 따라서, 문서 변환기를 동작시키는 네트워크 개체는 네트워크에 접속되지 않는 단말기 또는 내용 소스(예를 들어, 원 서버, SMSC, MMSC, 사용자 프로세서 등)와 같은 개체를 포함할 수 있다는 것이 이해되어야 한다. 이러한 경우들에 있어서, 예를 들어 네트워크에 독립적인 다수의 상이한 방식들 중 어떤 방식으로 전자 문서가 네트워크 개체에 제공될 수 있고 그 다음 문서 변환기는 예를 들어 상술된 방식으로 상기 전자 문서의 표(들)를 변환할 수 있다.Further, as shown and described herein, document converter 102 may be origin server 22, SMSC 17, MMSC 30, GGSN 28, user processor 34, or the like. May operate on any of a number of different network entities, such as a content source or terminal 10, proxy 18, or the like. As can be appreciated, however, the various operations of the document converter, in particular when converting table information including at least one table in an electronic document, can be performed independently of the network connection. Thus, it should be understood that a network entity operating a document converter may include an entity such as a terminal or content source (eg, origin server, SMSC, MMSC, user processor, etc.) that is not connected to the network. In such cases, for example, the electronic document may be provided to the network entity in any of a number of different ways that are independent of the network, and then the document converter may for example have a table of the electronic document in the manner described above. Can be converted).
본 발명의 일 태양에 따라, 본 발명의 시스템의 전부 또는 일부, 예를 들어 단말기(10), 프록시(18), 원 서버(22), SMSC(17), MMSC(30), GGSN(28) 및/또는 사용자 프로세서(34)의 전부 또는 일부는 일반적으로 컴퓨터 프로그램 생성물(예를 들어 문서 변환기(102))의 제어하에 동작한다. 본 발명의 실시예들의 방법들을 수행하기 위한 컴퓨터 프로그램 생성물은 비휘발성 저장 매체와 같은 컴퓨터 독출가능 저장 매체, 및 상기 컴퓨터 독출가능 저장 매체에 포함되는 일련의 컴퓨터 명령들과 같은 컴퓨터 독출가능 프로그램 코드 부분들을 포함한다.According to one aspect of the present invention, all or part of the system of the present invention, for example, terminal 10, proxy 18, origin server 22, SMSC 17, MMSC 30, GGSN 28 And / or all or part of user processor 34 generally operates under the control of a computer program product (eg, document converter 102). A computer program product for performing the methods of embodiments of the present invention is a computer readable storage medium, such as a nonvolatile storage medium, and a computer readable program code portion, such as a series of computer instructions contained in the computer readable storage medium. Include them.
이 점에 있어서, 도 5 및 도 11은 본 발명에 따른 시스템, 프로그램 생성물 및 방법의 흐름도이다. 흐름도의 각 블록 또는 단계 및 흐름도에서의 블록들의 조합은 컴퓨터 프로그램 명령들에 의해 수행될 수 있다는 것으로 이해될 것이다. 상기 컴퓨터 프로그램 명령들은 컴퓨터 또는 다른 프로그램 가능 장치에 로딩되어 머신을 생성할 수 있고, 따라서 컴퓨터 또는 다른 프로그램 가능 장치에서 수행되는 명령들은 흐름도 블록(들) 또는 단계(들)에 명시된 기능들을 수행하는 수단을 생성한다. 상기 컴퓨터 프로그램 명령들은 또한 컴퓨터 또는 다른 프로그램 가능 장치로 하여금 특정 방식으로 동작하게 할 수 있는 컴퓨터 독출 가능 메모리에 저장될 수 있고, 따라서 컴퓨터 독출 가능 메모리에 저장된 명령들은 흐름도 블록(들) 또는 단계(들)에 명시된 기능을 수행하는 명령 수단을 포함하는 하나의 제품을 생성한다. 상기 컴퓨터 프로그램 명령들은 또한 컴퓨터 또는 다른 프로그램 가능 장치에 로딩되어 컴퓨터 또는 다른 프로그램 가능 장치에서 수행되는 일련의 동작 단계들이 컴퓨터 수행 과정을 생성하게 하고, 따라서 컴퓨터 또는 다른 프로그램 가능 장치에서 수행되는 명령들은 흐름도 블록(들) 또는 단계(들)에 명시된 기능들을 수행하는 단계들을 제공한다.5 and 11 are flow charts of systems, program products and methods in accordance with the present invention. It will be understood that each block or step of the flowchart and the combination of blocks in the flowchart can be performed by computer program instructions. The computer program instructions may be loaded into a computer or other programmable device to create a machine, such that the instructions executed in the computer or other programmable device are means for performing the functions specified in the flowchart block (s) or step (s). Create The computer program instructions may also be stored in a computer readable memory that may cause a computer or other programmable device to operate in a particular manner, such that the instructions stored in the computer readable memory may be flow chart block (s) or step (s). Create a product that includes command means to perform the functions specified in. The computer program instructions are also loaded into a computer or other programmable device such that a series of operational steps performed on the computer or other programmable device generates a computer-implemented process, and thus the instructions executed on the computer or other programmable device are flow charts. Provides steps for performing the functions specified in the block (s) or step (s).
따라서, 흐름도의 블록들 또는 단계들은 특정 기능들을 수행하는 수단의 조합, 특정 기능들을 수행하는 단계들의 조합, 및 특정 기능들을 수행하는 프로그램 명령 수단을 지원한다. 또한 흐름도의 각 블록 또는 단계 및 흐름도의 블록들 또는 단계들의 조합들은 특정 기능 또는 단계들 또는 특수 목적 하드웨어 및 컴퓨터 명령들의 조합을 수행하는 특수 목적 하드웨어 기반 컴퓨터 시스템들에 의해 수행될 수 있는 것으로 이해될 것이다.Thus, the blocks or steps in the flowchart support a combination of means for performing certain functions, a combination of steps for performing certain functions, and a program instruction means for performing certain functions. It is also to be understood that each block or step of the flowchart and combinations of blocks or steps in the flowchart can be performed by special purpose hardware based computer systems that perform particular functions or steps or combinations of special purpose hardware and computer instructions. will be.
상기 설명들 및 관련 도면들에서 제공된 교시를 이용하여 본 발명의 많은 변형들 및 다른 실시예들을 당업자는 생각할 수 있을 것이다. 예를 들어, 일 구현에서 상술된 바와 같이, 문서 변환기는 표들이 열 우선 순서를 갖도록 표(들)를 배열하거나 재배열하고 그 다음 상기 열 우선 순서에 기초하여 상기 표들을 처리한다. 하지만, 대안 구현에 있어서, 문서 변환기는 표들이 행 우선 순서를 갖도록 표들을 배열하거나 재배열할 수 있고, 문서 변환기의 다른 동작들이 그에 따라 조정될 수 있다. 예를 들어, 문서 변환기는 적어도 하나의 레이블을 포함하는 적어도 하나의 행을 갖는 행 우선 표에 대해 레이블들을 배치할 수 있고, 배치 과정은 상술된 방식과 유사한 방식으로 수행될 수 있으며, 전형적으로 열에 기초하여 수행된 동작들이 행들에 기초하여 수행되거나 그 반대로 수행될 수 있다. 따라서, 본 발명은 개시된 특정 실시예들에 제한되지 않고 변형들 및 다른 실시예들이 첨부된 청구범위내에 포함되는 것으로 이해되어야 한다. 비록 특정 용어들이 본 명세서에 사용되었지만, 상기 용어들은 일반적인 의미로 설명하기 위해 사용된 것이고 제한을 위해 사용된 것이 아니다.Many modifications and other embodiments of the invention will occur to those skilled in the art using the teachings provided in the foregoing descriptions and the associated drawings. For example, as described above in one implementation, the document converter arranges or rearranges the table (s) such that the tables have a column priority order and then processes the tables based on the column priority order. However, in an alternative implementation, the document converter can arrange or rearrange the tables so that the tables have a row priority order, and other operations of the document converter can be adjusted accordingly. For example, the document converter can place labels on a row first table having at least one row that includes at least one label, and the placement process can be performed in a similar manner as described above, typically in columns. The operations performed on the basis may be performed based on the rows or vice versa. Accordingly, it is to be understood that the invention is not limited to the specific embodiments disclosed and that modifications and other embodiments are included within the scope of the appended claims. Although certain terms have been used herein, the terms are used for the purpose of explanation in a general sense and not for the purpose of limitation.
본 발명은 적어도 하나의 표를 포함하는 표 정보를 변환하기 위한 개선된 시스템 및 관련 단말기, 방법 및 컴퓨터 프로그램을 제공하여, 제한된 영역의 디스플레이를 가지는 단말기에 의하여 후속 렌더링을 수행하기 위하여 표를 변환하는 경우 종래 기술에 의한 방법들과는 다르게 이러한 정보를 표시하는 사용자에게 표의 내용이 더 용이하고 더 쉽게 이해되도록 하는 방법으로 제공하고, 또한 표 내의 레이블들을 각 레이블과 관련된 셀들로 지역화(localizing)함으로써, 이러한 단말기 상에서 표들을 렌더링하기 위한 종래 기술과는 달리, 본 발명의 실시예들은 표로부터 하나 또는 그 이상의 열을 선택하여 절단하지 않고서도, 표의 전 내용을 렌더링한다.The present invention provides an improved system and associated terminal, method, and computer program for converting table information including at least one table, to convert the table for subsequent rendering by a terminal having a limited area display. In the case where the information of the table is made easier and easier to understand by the user who displays this information, unlike the methods of the related art, and also by localizing the labels in the table to cells associated with each label, such a terminal Unlike the prior art for rendering tables on, embodiments of the present invention render the entire contents of a table without selecting and truncating one or more columns from the table.
도 1은 본 발명의 일 실시예에 의한 무선 통신 시스템을 나타내는 개념적인 블록도로서, 단말기가 무선 RF 링크에 의하여 양방향으로 연결된 무선 네트워크 및 데이터 네트워크를 포함한다.1 is a conceptual block diagram illustrating a wireless communication system according to an embodiment of the present invention, in which a terminal includes a wireless network and a data network connected in both directions by a wireless RF link.
도 2는 본 발명에 의한 실시예에 따르는 단말기, 원 서버(origin server), 프록시/게이트웨이, SMSC, MMSC, GGSN, 및/또는 사용자 프로세서로서 동작할 수 있는 개체를 개념적으로 나타내는 블록도이다. 2 is a block diagram conceptually illustrating an entity capable of operating as a terminal, origin server, proxy / gateway, SMSC, MMSC, GGSN, and / or user processor in accordance with an embodiment of the present invention.
도 3은 본 발명의 실시예에 따르는 단말기로서 동작할 수 있는 이동국( mobile station)을 개념적으로 나타내는 블록도이다.3 is a block diagram conceptually illustrating a mobile station capable of operating as a terminal according to an embodiment of the present invention.
도 4는 본 발명의 일 실시예에 따르는 단말기를 기능적으로 나타내는 블록도로서, 도 4에 도시된 단말기는 표를 포함하는 전자 문서를 다운로드 또는 수신한다.4 is a block diagram functionally illustrating a terminal according to an embodiment of the present invention, in which the terminal shown in FIG. 4 downloads or receives an electronic document including a table.
도 5는 본 발명의 일 실시예에 따르는, 전자 문서 내의 표 정보를 변환하기 위한 방법의 다양한 단계들을 예시하는 흐름도이다.5 is a flow diagram illustrating various steps of a method for converting table information in an electronic document, in accordance with an embodiment of the present invention.
도 6은 본 발명의 일 실시예에 따르는 표를 포함하는 전자 문서에 대한 트리-기반의(tree-based) 데이터 구조 표현의 블록도이다. 6 is a block diagram of a tree-based data structure representation for an electronic document including a table in accordance with one embodiment of the present invention.
도 7a는 본 발명의 일 실시예에 따르는 암시적 표(implicit table)를 포함하는 전자 문서에 대한 트리-기반의 데이터 구조 표현의 블록도이다.7A is a block diagram of a tree-based data structure representation for an electronic document that includes an implicit table in accordance with an embodiment of the present invention.
도 7b는 본 발명의 일 실시예에 따르는 도 7a의 트리-기반의 데이터 구조의 블록도로서, 도 7a의 암시적 표가 명시적인 표(explicit table)로 대체된 도면이다.FIG. 7B is a block diagram of the tree-based data structure of FIG. 7A in accordance with an embodiment of the present invention, in which the implicit table of FIG. 7A is replaced with an explicit table.
도 8a는 본 발명의 일 실시예에 따라, 전자 문서 내에 포함될 수 있는 표를 예시하는 도면이다.8A is a diagram illustrating a table that may be included in an electronic document, in accordance with an embodiment of the present invention.
도 8b는 본 발명의 일 실시예에 따라 도 8a의 표를 나타내는 블록도로서, 셀들 간의 유사성 측정치는 물론, 표의 셀들을 위한 특성 벡터들을 포함한다.8B is a block diagram illustrating the table of FIG. 8A in accordance with an embodiment of the present invention, including similarity measures between cells, as well as feature vectors for the cells of the table.
도 9는 본 발명의 일 실시예에 따라, 전자 문서 내에 포함될 수 있는 다른 표를 예시하는 도면이다.9 illustrates another table that may be included in an electronic document, in accordance with an embodiment of the present invention.
도 10a 및 10b는 단말기 디스플레이 상에 렌더링된 도 9의 표의 일부분을 예시하는 개념적인 블록도 들이며, 이 표는 표의 레이블을 지역화하지 않고 선형화되었다.10A and 10B are conceptual block diagrams illustrating a portion of the table of FIG. 9 rendered on a terminal display, which has been linearized without localizing the label of the table.
도 11은 본 발명의 일 실시예에 따라, 전자 문서 내에 포함될 수 있는 표의 레이블(들)을 지역화하기 위한 방법의 다양한 단계를 예시하는 흐름도이다. 11 is a flowchart illustrating various steps of a method for localizing label (s) of a table that may be included in an electronic document, in accordance with an embodiment of the present invention.
도 12는 본 발명의 일 실시예에 따라, 전자 문서 내에 포함될 수 있는 표를 나타내는 레이블 트리의 블록도이다.12 is a block diagram of a label tree representing a table that may be included in an electronic document, in accordance with an embodiment of the present invention.
도 13a 내지 도 13c는 표를 포함하는 전자 문서의 트리에 기반한 데이터 구조 표현의 블록도로서, 도면에 도시된 표는 본 발명의 일 실시예에 따라 선형화된다.13A-13C are block diagrams of data structure representations based on a tree of electronic documents including tables, wherein the tables shown in the figures are linearized in accordance with one embodiment of the present invention.
도 14는 본 발명의 일 실시예에 따라, 도 9에 도시된 표의 선형화된 표현을 예시하는 도면이다. 14 is a diagram illustrating a linearized representation of the table shown in FIG. 9, in accordance with an embodiment of the present invention.
도 15는 단말기 디스플레이 상에 렌더링된 도 9에 도시된 표의 일부분을 예시하는 개념적인 블록도로서, 도시된 표는 본 발명의 일 실시예에 따라서 변환되었다.FIG. 15 is a conceptual block diagram illustrating a portion of the table shown in FIG. 9 rendered on a terminal display, wherein the table shown has been converted in accordance with one embodiment of the present invention.
Claims (40)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040000198A KR20050071843A (en) | 2004-01-03 | 2004-01-03 | Transforming tabular information for rendering on a limited-area display |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020040000198A KR20050071843A (en) | 2004-01-03 | 2004-01-03 | Transforming tabular information for rendering on a limited-area display |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20050071843A true KR20050071843A (en) | 2005-07-08 |
Family
ID=37261485
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020040000198A KR20050071843A (en) | 2004-01-03 | 2004-01-03 | Transforming tabular information for rendering on a limited-area display |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20050071843A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100692101B1 (en) * | 2006-06-30 | 2007-03-12 | 주식회사 인프라웨어 | System and method of providing file service for transmitting files remotely |
US8428356B2 (en) | 2009-07-01 | 2013-04-23 | Canon Kabushiki Kaisha | Image processing device and image processing method for generating electronic document with a table line determination portion |
-
2004
- 2004-01-03 KR KR1020040000198A patent/KR20050071843A/en not_active Application Discontinuation
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100692101B1 (en) * | 2006-06-30 | 2007-03-12 | 주식회사 인프라웨어 | System and method of providing file service for transmitting files remotely |
US8428356B2 (en) | 2009-07-01 | 2013-04-23 | Canon Kabushiki Kaisha | Image processing device and image processing method for generating electronic document with a table line determination portion |
KR101447932B1 (en) * | 2009-07-01 | 2014-10-07 | 캐논 가부시끼가이샤 | Image processing device and image processing method |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7565605B2 (en) | Reorganizing content of an electronic document | |
US8707164B2 (en) | Integrated document viewer | |
US10452756B2 (en) | Platform for rendering content for a remote device | |
US9021035B2 (en) | Formatting rich text data into a JSON array | |
US20060230100A1 (en) | Web content transcoding system and method for small display device | |
US20030093565A1 (en) | System and method for converting an attachment in an e-mail for delivery to a device of limited rendering capability | |
US20060107206A1 (en) | Form related data reduction | |
US8583743B1 (en) | System and method for message gateway consolidation | |
US20090069000A1 (en) | Method of Enabling the Downloading of Content | |
US20180203826A1 (en) | System and method for generating web page layouts | |
Schilit et al. | m-links: An infrastructure for very small internet devices | |
Mirri et al. | Augment browsing and standard profiling for enhancing web accessibility | |
CN113382083B (en) | Webpage screenshot method and device | |
WO2021093673A1 (en) | E-mail sending method, apparatus and device, and computer-readable storage medium | |
TW200524381A (en) | Multi-language wireless email transmission method for mobile communication | |
US10198408B1 (en) | System and method for converting and importing web site content | |
CN113705181A (en) | Method for annotating files in browser | |
CN113127776A (en) | Breadcrumb path generation method and device and terminal equipment | |
US11354358B1 (en) | Organization and retrieval of conditioned data | |
US20150180946A1 (en) | Interactive System | |
KR20050071843A (en) | Transforming tabular information for rendering on a limited-area display | |
CN100592300C (en) | Data display method and device | |
JP2005196711A (en) | Conversion of table information for rendering on area-restricted display | |
EP1550961A1 (en) | Handling tabular information | |
Kim et al. | Device-independent web browsing based on CC/PP and annotation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |