Source: https://patents.google.com/patent/ES2240451T3/en
Timestamp: 2019-06-26 17:28:04+00:00

Document:
ES2240451T3 - Systems and methods for generating visual representations of graphical data. - Google Patents
Systems and methods for generating visual representations of graphical data.
ES2240451T3
ES2240451T3 ES01929774T ES01929774T ES2240451T3 ES 2240451 T3 ES2240451 T3 ES 2240451T3 ES 01929774 T ES01929774 T ES 01929774T ES 01929774 T ES01929774 T ES 01929774T ES 2240451 T3 ES2240451 T3 ES 2240451T3
ES01929774T
Majid c/o Picsel Technologies Limited ANWAR
Picsel Res Ltd
2000-04-14 Priority to GB0009129 priority Critical
2000-10-31 Priority to US703502 priority
2001-04-17 Application filed by Picsel Res Ltd, Picsel Research Ltd filed Critical Picsel Res Ltd
2001-04-17 Priority to PCT/GB2001/001742 priority patent/WO2001080178A2/en
2005-10-16 Publication of ES2240451T3 publication Critical patent/ES2240451T3/en
2009-02-13 First worldwide family litigation filed litigation Critical https://patents.darts-ip.com/?family=26244100&utm_source=google_patent&utm_medium=platform_link&utm_campaign=public_patent_search&patent=ES2240451(T3) "Global patent litigation dataset” by Darts-ip is licensed under a Creative Commons Attribution 4.0 International License.
Método para redibujar una presentación visual de datos gráficos, según lo cual una visualización actual es sustituida por una visualización actualizada, que comprende, en respuesta a una solicitud (100, 112) de redibujo, sustituir (102, 114) inmediatamente la visualización actual con una primera representación aproximada de la visualización actualizada, generar (104, 116) una visualización actualizada final y sustituir (106, 118) la representación aproximada con la visualización actualizada final; Method for redrawing a visual display of graphical data whereby a current display is replaced by an updated display, comprising, in response to a request (100, 112) redraw, replacing (102, 114) immediately the current display with a first approximate representation of the updated display, generating (104, 116) a final updated display, and replacing (106, 118) the approximate representation with the final updated display; caracterizado porque: al menos dicha primera representación aproximada incluye al menos una representación de un mapa (120) de bits que tiene una resolución menor que la requerida en la visualización actualizada final y ajustada (124) a escala para aproximar el contenido requerido de dicha visualización actualizada. characterized in that: at least said first approximate representation includes at least a representation of a map (120) of bits having a lower resolution than that required in the final and set date display (124) scaled to approximate the required content of said display updated.
Sistemas y métodos para generar representaciones visuales de datos gráficos. Systems and methods for generating visual representations of graphical data.
La invención se refiere a métodos y sistemas de procesamiento de datos. The invention relates to methods and data processing systems. Más particularmente, la invención se refiere a métodos y sistemas para procesar "datos gráficos" y "documentos digitales" (tal como se definen en la presente memoria) ya dispositivos que incorporan tales métodos y sistemas. More particularly, the invention relates to methods and systems for processing "graphical data" and "digital documents" (as defined herein) and devices incorporating such methods and systems. En términos generales, la invención se ocupa de generar representaciones de salida de datos y documentos de origen, por ejemplo, como una presentación visual o como una copia impresa. Generally speaking, the invention is concerned with generating output representations of source data and documents, such as a display or as a printout.
Tal como se emplean en la presente memoria, los términos "datos gráficos", "objeto gráfico" y "documento digital" se emplean para describir una representación digital de cualquier tipo de datos procesados por un sistema de procesamiento de datos a la que se pretende dar salida en última instancia en alguna forma, al completo o en parte, para un usuario humano, normalmente presentándose o reproduciéndose visualmente (por ejemplo, por medio de una unidad de presentación visual o una impresora), o por conversión de texto a habla, etc. As used herein, the terms "graphical data", "graphical object" and "digital document" is used to describe a digital representation of any type of data processed by a processing system data which is intended outputting ultimately somehow full or in part, to a human user, typically appearing or visually reproducing (for example, by a display unit or printer), or by converting text to speech, etc. Tales datos, objetos y documentos pueden incluir cualquier característica capaz de representarse, incluyendo pero no limitándose a los siguientes: texto; Such data, objects and documents may include any feature capable represented, including but not limited to the following: text; imágenes gráficas; graphic images; imágenes gráficas animadas; animated graphic images; imágenes de vídeo en movimiento; moving video images; iconos interactivos, botones, menús o hipervínculos. interactive icons, buttons, menus or hyperlinks. Un documento digital también puede incluir elementos no visuales tales como elementos de audio (sonido). A digital document may also include non-visual elements such as audio elements (sound). Generalmente, un documento digital incluye o consiste en datos gráficos y/o al menos un objeto gráfico. Generally, a digital document includes or consists of graphical data and / or at least one graphic object.
El documento EP0513584 da a conocer un sistema gráfico informático que reproduce un modelo en 3D que comprende facetas o primitivas en, por ejemplo, un entorno CAD. The document EP0513584 discloses a computer graphics system that reproduces a 3D model comprising facets or primitives that, for example, a CAD environment. Al recibirse una solicitud de dibujo, el modelo se reproduce utilizando un cierto número de primitivas que representan el modelo. Following a request of drawing, the pattern is reproduced using a number of primitives that represent the model. Si el modelo no se mueve (por ejemplo, se rota mediante una entrada de ratón) en un cierto periodo de tiempo desde la solicitud de dibujo, el modelo se reproduce una vez más empleando un mayor número de primitivas. If the model is not moved (for example, rotated by mouse input) within a certain period of time from the application drawing, the pattern is reproduced again using more primitives. De otro modo, el número de primitivas se deja sin cambios. Otherwise, the number of primitives is left unchanged.
Chua Lye Heng "Image Compression: JPEG", publicado el 19 de mayo de 1997, http:/pascalzone.amirmelamed.co. Chua Heng Lye "Image Compression: JPEG" published on May 19, 1997, http: /pascalzone.amirmelamed.co.
it/Graphics/JPEG/JPEG.htm, da a conocer la visualización sucesivamente mejorada de imágenes JPEG comprimidas, es decir, JPEG progresivo. it / Graphics / JPEG / JPEG.htm, discloses the successively improved display JPEG compressed images, ie, progressive JPEG. Este concepto también se conoce con imágenes PNG y GIF. This concept is also known PNG and GIF images. Este método se basa en imágenes comprimidas que han de descomprimirse antes de que ellas (o al menos una parte de las mismas) puedan visualizarse. This method is based on compressed images to be decompressed before they (or at least a portion thereof) can be visualized.
Normalmente, a los sistemas de procesamiento de datos, tales como los sistemas informáticos personales, se les requiere procesar "documentos digitales" que pueden proceder de una cualquiera de un número de fuentes locales o remotas y que pueden existir en uno de una gran variedad de formatos de datos ("formatos de archivo"). Typically, systems processing data, such as personal computer systems are required to process "digital documents" that can come from any one of a number of local or remote sources and which may exist in one of a variety of data formats ( "file formats"). Para generar una versión de salida del documento, ya sea como una presentación visual o como una copia impresa, por ejemplo, resulta necesario que el sistema informático interprete el archivo de datos original y genere una salida compatible con el dispositivo de salida relevante (por ejemplo, un monitor u otro dispositivo de presentación visual, o una impresora). To generate an output version of the document, whether as a display or as a hard copy, for example, it is necessary that the computer system interprets the original data file and generate a compatible output device relevant output (eg , a monitor or other display device, or printer). En general, este proceso implicará a un programa de aplicación adaptado para interpretar el archivo de datos, el sistema operativo del ordenador, un "controlador" de software específico del dispositivo de salida deseado y, en algunos casos (particularmente, para monitores u otras unidades de presentación visual), hardware adicional en forma de tarjeta de expansión. In general, this process will involve an application program adapted to interpret the data file, the computer operating system, a "driver" specific software desired output device and, in some cases (particularly for monitors or other units display), additional hardware in the form of expansion card.
Este enfoque convencional al procesamiento de documentos digitales a fin de generar una salida es ineficiente en términos de recursos de hardware, operaciones auxiliares de software y tiempo de procesamiento, y es totalmente inadecuado para sistemas de procesamiento de datos portátiles de baja potencia, incluyendo los sistemas de telecomunicación inalámbrica, o para sistemas de procesamiento de datos de bajo coste, tales como terminales de red, etc. This conventional approach to digital document processing to generate an output is inefficient in terms of hardware resources, auxiliary operations software and processing time, and is totally unsuitable for processing systems portable low-power data, including systems wireless telecommunication or data processing systems of low cost, such as network terminals, etc. En los sistemas convencionales de procesamiento de documentos digitales se dan otros problemas, incluyendo la necesidad de configurar múltiples componentes de sistema (incluyendo componentes tanto de hardware como de software) para que interactúen de la manera deseada, e inconsistencias en el procesamiento de material fuente idéntico por sistemas diferentes (por ejemplo, diferente de formateo, reproducción del color, etc.). In conventional systems of digital document processing occur other problems, including the need to configure multiple system components (including components both hardware and software) to interact in the desired manner, and inconsistencies in the processing of material identical source by different systems (eg different formatting, color reproduction, etc.). Además, el enfoque convencional al procesamiento de documentos digitales es incapaz de explotar la comunidad y/o la manejabilidad de los componentes del formato de archivo. In addition, the conventional approach to digital document processing is unable to exploit the community and / or handling of components file format.
Es un objeto de la invención proporcionar métodos y sistemas para procesar datos gráficos, objetos gráficos y documentos digitales y dispositivos que incorporen tales métodos y sistemas que soslayen o mitiguen las desventajas anteriormente mencionadas de los métodos y sistemas convencionales. It is an object of the invention to provide methods and systems for processing graphical data, graphical objects and digital documents, and devices incorporating such methods and systems that circumvent or mitigate the aforesaid disadvantages of conventional methods and systems.
La invención, en sus varios aspectos, se define en las reivindicaciones adjuntas a la presente memoria. The invention in its various aspects is defined in the appended claims herein. Por la presente descripción resultarán evidentes aspectos y características adicionales de la invención. For the present disclosure will become apparent aspects and features of the invention.
En un primer aspecto, la invención se refiere a un método para redibujar una presentación visual de datos gráficos, según lo cual una visualización actual es sustituida por una visualización actualizada, que comprende, en respuesta a una solicitud de redibujo, sustituir inmediatamente la visualización actual con una primera representación aproximada de la visualización actualizada, generar una visualización actualizada final y sustituir la representación aproximada con la visualización actualizada final; In a first aspect, the invention relates to a method of redrawing a visual display of graphical data whereby a current display is replaced by an updated display, comprising, in response to a request redraw, immediately replacing the current display with a first approximate representation of the updated display, generating a final updated display, and replacing the approximate representation with the final updated display; caracterizado porque: al menos dicha primera representación aproximada incluye al menos una representación de mapa de bytes que tiene una resolución menor que la requerida en la visualización actualizada final y ajustada a escala para aproximar el contenido requerido de dicha visualización characterized in that: at least said first approximate representation includes at least one map representation bytes having a lower resolution than that required in the final updated display and scaled to approximate set the required content of said display
actualizada. updated.
En un segundo aspecto, la invención se refiere a un método para generar representaciones visuales variables de datos gráficos, que comprende dividir dichos datos gráficos en una pluralidad de archivos de mapa de bytes de tamaño fijo, predeterminado, almacenar dichos archivos en una matriz indexada en una memoria intermedia fuera de pantalla y ensamblar una representación visual requerida de dichos datos gráficos de un conjunto seleccionado de dichos archivos almacenados en dicha memoria intermedia fuera de pantalla. In a second aspect, the invention relates to a method for generating visual representations variables graphical data, comprising dividing said graphical data into a plurality of map files bytes of fixed size, default, store said files in an indexed array in a buffer off screen and assembling a required visual representation of said graphical data from a selected set of said files stored in said buffer offscreen.
Los métodos de dicho segundo aspecto pueden emplearse en métodos del primer aspecto. The methods of said second aspect may be employed in methods of the first aspect.
Un tercer aspecto de la invención se refiere a un método para procesar un documento digital, comprendiendo dicho documento una pluralidad de objetos gráficos dispuestos en al menos una página, que comprende dividir dicho documento en una pluralidad de zonas y generar, para cada zona, una lista de objetos contenidos dentro y que se solapan a dicha zona. A third aspect of the invention relates to a method for processing a digital document, said document a plurality of graphics objects arranged in at least one page, comprising dividing said document into a plurality of areas and generating, comprising for each zone, a list of objects contained within and overlapping said zone.
Los métodos del segundo aspecto pueden emplearse en los métodos del tercer aspecto. The methods of the second aspect may be employed in the methods of the third aspect.
De acuerdo con un cuarto aspecto de la invención, se proporciona un sistema de procesamiento de documentos digitales para implementar los métodos de cualquiera de los primer a tercer aspectos. According to a fourth aspect of the invention, a system of digital document processing is provided to implement the methods of any of the first to third aspects.
Un sistema preferido de acuerdo con el cuarto aspecto de la invención comprende: A preferred system according to the fourth aspect of the invention comprises:
un mecanismo de entrada para recibir un flujo de bytes de entrada que representa datos fuente en uno de una pluralidad de formatos de datos predeterminados; an input mechanism for receiving a stream of input bytes representing source data in one of a plurality of predetermined data formats;
un mecanismo de interpretación para interpretar dicho flujo de bytes; interpretation mechanism for interpreting said flow of bytes;
un mecanismo de conversión para convertir un contenido interpretado de dicho flujo de bytes en un formato de datos de representación interna; a mechanism for converting interpreted content from said one flow of bytes in a data format internal representation; y Y
un mecanismo de procesamiento para procesar dichos datos de representación interna para generar datos de representación de salida adaptados para accionar un dispositivo de salida. processing mechanism for processing said internal representation data to generate output representation data adapted to drive an output device.
En un aspecto adicional, la invención se refiere a una interfaz gráfica de usuario con presentaciones visuales interactivas para un sistema de procesamiento de datos, en el que dichas presentaciones visuales interactivas se generan por medio de un sistema de procesamiento de documentos de acuerdo con el cuarto aspecto de la invención, ya sistemas de procesamiento de datos que incorporan una interfaz gráfica de usuario de este tipo. In a further aspect, the invention relates to a graphical user interface with interactive visual displays to a system of data processing, in which said interactive visual displays are generated by means of a document processing according to the fourth aspect of the invention, and data processing systems incorporating a graphical user interface of this type.
En otros aspectos adicionales, la invención se refiere a varios tipos de dispositivo que incorpora un sistema de procesamiento de documentos digitales de acuerdo con el cuarto aspecto de la invención, que incluye dispositivos de hardware, sistemas de procesamiento de datos y dispositivos periféricos. In further aspects, the invention relates to various types of device incorporating a digital processing system documents according to the fourth aspect of the invention, including hardware devices, data processing systems and peripheral devices.
A continuación se describirán realizaciones de la invención, a título de ejemplo únicamente, con referencia a los dibujos adjuntos. Embodiments of the invention, by way of example only, with reference to the accompanying drawings will be described.
La figura 1 es un diagrama de bloques que ilustra una realización de un sistema de procesamiento de documentos digitales preferido que puede emplearse en la implementación de varios aspectos de la presente invención; Figure 1 is a block diagram illustrating an embodiment of a processing system digital documents that may be employed in preferred implementation of various aspects of the present invention;
la figura 2A es un diagrama de flujo que ilustra una primera realización de un primer aspecto de la presente invención; 2A is a flowchart illustrating a first embodiment of a first aspect of the present invention;
la figura 2B es un diagrama de flujo que ilustra una segunda realización de un primer aspecto de la invención; 2B is a flow chart illustrating a second embodiment of a first aspect of the invention;
la figura 3 es un diagrama que ilustra un método de ajustar a escala un mapa de bits en una realización preferida del primer aspecto de la invención; Figure 3 is a diagram illustrating a method of scaling a bitmap in a preferred embodiment of the first aspect of the invention;
la figura 4A es un diagrama que ilustra un método convencional para utilizar una memoria intermedia fuera de pantalla para paronamizar una presentación visual de un documento digital; 4A is a diagram illustrating a conventional method for using a buffer offscreen to paronamizar a visual display of a digital document;
la figura 4B es un diagrama que ilustra un método para usar una memoria intermedia fuera de pantalla para paronamizar una presentación visual de un documento digital de acuerdo con un segundo aspecto de la presente invención; 4B is a diagram illustrating a method for using an offscreen buffer for paronamizar a visual display of a digital document according to a second aspect of the present invention;
la figura 5A es un diagrama que ilustra una asignación y fragmentación de memoria asociadas con el método convencional de la figura 4A; 5A is a diagram illustrating a mapping and memory fragmentation associated with the conventional method of Figure 4A;
la figura 5B es un diagrama que ilustra una asignación y fragmentación de memoria asociadas con el método de la figura 4B; 5B is a diagram illustrating a mapping and memory fragmentation associated with the method of Figure 4B;
la figura 5C es un diagrama que ilustra un método preferido para implementar el método de la figura 4B; 5C is a diagram illustrating a preferred method for implementing the method of Figure 4B;
la figura 6 es un diagrama que ilustra el uso de múltiples modelos procesadores paralelos para implementar el método de la figura 4B; 6 is a diagram illustrating the use of multiple parallel processors models to implement the method of Figure 4B; y Y
las figuras 7 y 8 son diagramas que ilustran un método para procesar un documento digital de acuerdo con un tercer aspecto de la invención. Figures 7 and 8 are diagrams illustrating a method for processing a digital document according to a third aspect of the invention.
Haciendo ahora referencia a los dibujos, la figura 1 ilustra un sistema 8 de procesamiento de documentos digitales preferido en el que pueden implementarse los métodos de los varios aspectos de la presente invención. Referring now to the drawings, Figure 1 illustrates a system 8 preferred digital document processing that can be implemented in the methods of the various aspects of the present invention. Antes de describir los métodos de la invención con detalle, primero se describirá el sistema 8 a modo de antecedentes. Before describing the methods of the invention in detail, first the system 8 will be described by way of background. Se entenderá que los métodos de la presente invención pueden implementarse en sistemas de procesamiento distintos del sistema 8 tal como se describe en la presente memoria. It means that the methods of the present invention can be implemented in different systems processing system 8 as described herein.
En términos generales, el sistema 8 procesará uno o más documentos 10 fuente que comprenden archivos de datos en formatos conocidos. In general terms, the system 8 will process one or more documents source 10 comprising data files in popular formats. La entrada al sistema 8 es un flujo de bytes que comprende el contenido del documento fuente. The input to the system 8 is a byte stream comprising the contents of the source document. Un módulo 11 de entrada identifica el formato de archivo del documento fuente basándose en uno cualquiera de una variedad de criterios, tal como una identificación explícita del tipo de archivo en el documento, del nombre del archivo (particularmente la extensión del nombre del archivo) o de características conocidas del contenido de tipos concretos de archivo. A module 11 entry identifies the file format of the source document based on any of a variety of criteria, such as an explicit identification of the file type in the document, the file name (particularly the file name extension of the file) or known features content specific file types. El flujo de bytes se introduce en un "agente 12 de documentos", específico del tipo de formato de archivo del documento fuente. The byte stream is introduced into a "document agent 12" type specific file format of the source document. El agente 12 de documentos está adaptado para interpretar el flujo de bytes entrante y para convertirlo en un formato estándar empleado por el sistema 8, lo que da como resultado una representación 14 interna de los datos fuente en un formato "nativo" adecuado para ser procesado por el sistema 8. Generalmente, el sistema 8 incluirá una pluralidad de agentes 12 de documentos diferentes, cada uno adaptado para procesar uno de una pluralidad correspondiente de formatos de archivo predeterminados. The agent 12 of documents is adapted to interpret the incoming bytes and to convert it into a standard format employed by the system 8, which results in an internal representation 14 of the source data in a suitable "native" format to be processed by the system 8. Generally, the system 8 includes a plurality of different document agents 12, each adapted to process one of a corresponding plurality of predetermined file formats.
El sistema 8 puede aplicarse también a entradas recibidas de un dispositivo de entrada tal como una cámara digital o un escáner. The system 8 can also be applied to input received from an input device such as a digital camera or scanner. En este caso, el flujo de bytes de entrada puede provenir directamente del dispositivo de entrada en vez de proceder de un "documento fuente" como tal. In this case, the input byte stream may come directly from input device rather than from a "source document" as such. Sin embargo, el flujo de bytes de entrada estará todavía en un formato de datos predecible, adecuado para ser procesado por el sistema, ya efectos del sistema, la entrada recibida de un dispositivo de entrada así puede considerarse como un "documento fuente". However, the input byte stream will still be in a predictable format suitable data to be processed by the system, and effects of the system, input received from an input device and can be considered a "source document".
El agente 12 de documentos emplea una biblioteca 16 de objetos estándar para generar la representación 14 interna, la cual describe el contenido del documento fuente en términos de una colección de objetos genéricos cuyos tipos son como se definen en la biblioteca 16, junto con parámetros que definen las propiedades de ejemplos específicos de los varios objetos genéricos en el documento. The agent 12 documents employs a library 16 of standard objects to generate the internal representation 14, which describes the content of the source document in terms of a collection of generic objects whose types are as defined in the library 16, together with parameters defining the properties of specific examples of the various generic objects within the document. Se entenderá que la representación interna puede guardarse/almacenarse en un formato de archivo nativo del sistema y que la gama de documentos 10 fuente posibles introducidos en el sistema 8 puede incluir documentos en el formato de archivo nativo del sistema. It is understood that the internal representation may be saved / stored in a native file format of the system and that the range of possible source documents 10 input to the system 8 may include documents in the native file format system. Es también posible que la representación 14 interna se convierta en cualquiera de una gama de otros formatos de archivo si resulta necesario, utilizando agentes de conversión adecuados (no mostrados). It is also possible that the internal representation 14 becomes any of a range of other file formats if necessary, using suitable conversion (not shown).
Normalmente, los objetos genéricos empleados en la representación 14 interna incluirán: texto, gráficos de mapa de bits y gráficos vectoriales (que pueden o no ser animados y que pueden ser bi o tridimensionales), vídeo, audio y una variedad de tipos de objeto interactivo tales como botones e iconos. Typically, generic objects used in the 14 internal representation include: text, graphics, bitmap and vector graphics (which may or may not be animated and can be two- or three-dimensional), video, audio and a variety of types of interactive object such as buttons and icons. Los parámetros que definen ejemplos específicos de objetos genéricos incluirán en general coordenadas dimensionales que definen la forma, el tamaño y la ubicación físicos del objeto y de cualquier dato temporal relevante para definir objetos cuyas propiedades varían con el tiempo (lo que permite al sistema tratar estructuras de documentos y/o funciones de visualización dinámicas). The parameters defining specific examples of generic objects will generally include dimensional coordinates that define the shape, size and the physical location of the object and any relevant to define objects temporary data whose properties vary with time (allowing the system to treat structures document and / or functions of dynamic display). Para objetos de texto, los parámetros también incluirán normalmente un tipo de fuente y un tamaño a aplicar a una cadena de caracteres. For text objects, the parameters will normally also include a font and size to be applied to a character string. Los parámetros de objetos también pueden definir otras propiedades, tal como la transparencia. Object parameters may also define other properties, such as transparency.
El formato de la representación 14 interna separa la "estructura" (o "diseño") de los documentos, tal como describen los tipos de objeto y sus parámetros, del "contenido" de los distintos objetos; The format of the internal representation 14 separates the "structure" (or "layout") of the documents, as described by the object types and their parameters, from the "content" of the various objects; por ejemplo, la cadena de caracteres (contenido) de un objeto de texto se separa de los parámetros dimensionales del objeto; for example, the character string (content) of a text object is separated from the dimensional parameters of the object; los datos de imagen (contenido) de un objeto gráfico se separan de sus parámetros dimensionales. the image data (content) of a graphic object is separated from its dimensional parameters. Esto permite definir estructuras de documento de una manera muy compacta y proporciona la opción de que el sistema almacene a distancia datos de contenido y los traiga sólo cuando sean necesarios. This allows you to define document structures in a very compact manner and provides the option that the system remotely stored content data and bring only when necessary.
La representación 14 interna describe el documento y sus objetos constituyentes en términos de descripciones de "alto nivel". The internal representation 14 describes the document and its constituent objects in terms of descriptions of "high level".
Los datos de la representación 14 interna se introducen en un módulo 18 de análisis sintáctico y presentación que genera una representación 20 o "vista" específica del contexto del documento representado por la representación 14 interna. Data internal representation 14 is input to a parsing module 18 and presentation generating a representation 20 or specific "view" of the document context represented by the internal representation 14. La vista requerida puede ser de todo el documento o de parte(s) (subconjunto(s)) del mismo. The required view may be of the whole document or of part (s) (subset (s)) thereof. El analizador sintáctico/presentador 18 recibe entradas 40 de control de vista que definen el contexto de visión y cualquier parámetro temporal relacionado de la vista de documento específica que hay que generar. The parser / host 18 receives inputs 40 control view that define the context of vision and any related temporal parameters of the specific document view to be generated. Por ejemplo, puede requerirse del sistema que genere una vista ampliada de parte de un documento y que luego panoramice o deslice la vista ampliada para visualizar partes adyacentes del documento. For example, the system may be required to generate an enlarged view of part of a document and then pan or slide the enlarged view to display adjacent portions of the document. El analizador sintáctico/presentador 18 interpreta las entradas 40 de control de vista a fin de determinar qué partes de la representación interna son necesarias para una vista concreta y cómo, cuándo y durante cuánto tiempo ha de visualizarse la vista. The syntactic / presenter analyzer 18 interprets the control inputs 40 view to determine which parts of the internal representation are required for a particular view and how, when and for how long the view is to be displayed.
La representación/vista 20 específica del contexto se expresa en términos de formas primitivas y parámetros. Representation / view 20 specific context is expressed in terms of primitive shapes and parameters.
El analizador sintáctico/presentador 18 también puede realizar funciones adicionales de preprocesamiento sobre las partes relevantes de la representación 14 interna cuando genera la vista 20 del documento 10 fuente. The syntactic / presenter 18 analyzer can also perform additional functions preprocessing on the relevant parts of the internal representation 14 when generating the view 20 of the document 10 source. La representación 20 de la vista se introduce en un módulo 22 procesador de formas para un procesamiento final para generar una salida 24 final en un formato adecuado para accionar un dispositivo 26 de salida (o múltiples dispositivos de salida), tal como un dispositivo de visualización o una impresora. The representation 20 of the eye is inserted into a module 22 processor forms for final processing to generate an output 24 end in a format suitable for driving a device 26 output (or multiple output devices), such as a display device or printer.
Las funciones de preprocesamiento del analizador sintáctico/presentador 18 pueden incluir la corrección del color, el ajuste/mejora de la resolución y el suavizado. Preprocessing functions parser / presenter 18 may include color correction, adjustment / resolution enhancement and smoothing. La mejora de la resolución puede comprender funciones de ajuste a escala que preservan la legibilidad del contenido de los objetos cuando son visualizados o reproducidos por el dispositivo de salida objetivo. The resolution enhancement may comprise scaling functions which preserve the legibility of the content of objects when they are displayed or reproduced by the target output device. El ajuste de la resolución puede ser sensible al contexto; The resolution setting can be sensitive to the context; por ejemplo, la resolución de visualización de objetos concretos puede reducirse mientras se panoramiza o desliza el documento visualizado o aumentarse cuando la vista del documento es estática (tal como se describe más abajo en relación con el primer aspecto de la invención). for example, the display resolution of particular objects may be reduced while panned or slides the document displayed or increased when the document view is static (as described below in connection with the first aspect of the invention).
Puede existir un camino 42 de realimentación entre el analizador sintáctico/presentador 18 y la representación 14 interna; There may be a feedback path 42 between the parser / presenter 18 and the internal representation 14; por ejemplo, con la finalidad de provocar una actualización del contenido de la representación 14 interna, tal como en el caso en el que el documento 10 representado por la representación interna comprende una animación multitrama. for example, in order to cause an update of the content of the internal representation 14, such as in the case where the document 10 represented by the internal representation comprises a multiframe animation.
La representación 20 de salida del analizador sintáctico/presentador 18 expresa el documento en términos de objetos "primitivos". The representation 20 output parser / presenter 18 expresses the document in terms of "primitive" objects. Para cada objeto del documento, la representación 20 preferiblemente define el objeto al menos en términos de un recuadro de frontera rectangular, físico, la forma real del objeto delimitado por el recuadro de frontera, el contenido de datos del objeto y su transparencia. For each document object, the representation 20 preferably defines the object at least in terms of a rectangular box, physical border, the actual shape of the object bounded by the boundary box, the data content of the object and its transparency.
El procesador 22 de formas interpreta la representación 20 y la convierte a un formato 24 de trama de salida apropiado para el dispositivo 26 de salida objetivo, por ejemplo, un mapa de puntos para una impresora, un conjunto de instrucciones vectoriales para un trazador o un mapa de bits para un dispositivo de visualización. The processor 22 forms interprets the representation 20 and converts it to a format 24 frame appropriate output for the device 26 target output, for example, a spot map for a printer, a set of vector instructions to a plotter or bitmap for a display device. Una entrada 44 de control de la salida al procesador 22 de formas define los parámetros necesarios para que el procesador 22 de formas genere la salida 24, adecuada para un dispositivo 26 de salida concreto. A control input 44 to output 22 forms processor defines the parameters necessary for the processor 22 to generate output 24 forms, suitable for a device 26 specific output.
El procesador 22 de formas procesa preferiblemente los objetos definidos por la representación 20 de la vista en términos de "forma" (es decir, la forma del contorno del objeto), "relleno" (el contenido de datos del objeto) y "alfa" (la transparencia del objeto), realiza un ajuste a escala y un recorte apropiados para la vista requerida y el dispositivo de salida y expresa el objeto en términos apropiados para el dispositivo de salida (normalmente en términos de píxeles por discretización o similar para la mayor parte de los tipos de dispositivo de visualización o impresora). The processor 22 forms preferably processes the objects defined by the representation 20 of the eye in terms of "shape" (i.e. the outline shape of the object), "fill" (the data content of the object) and "alpha" (transparency of the object) performs a scaling and appropriate cut to the required view and output device, and expresses the object in terms appropriate to the output device (typically in terms of pixels per discretization or similar for most types of display device or printer).
El procesador 22 de formas incluye preferiblemente una memoria intermedia de bordes que define la forma de un objeto en términos de píxeles discretizados y aplica preferiblemente un suavizado a la forma del contorno. The processor 22 forms preferably includes an edge buffer which defines the shape of an object in terms of pixels quantized and preferably applies a smoothing contour shape. El suavizado se realiza preferiblemente de una manera determinada por las características del dispositivo 26 de salida (es decir, basándose en la entrada 44 de control) aplicando una pendiente de escala de grises a través de la frontera del objeto. The smoothing is preferably performed in a particular way by the characteristics of the device 26 output (i.e., based on the input control 44) using a gradient of gray scale through the object boundary. Este enfoque permite procesos de recorte de formas y de intersección de formas con buen rendimiento de memoria. This approach allows cutting processes intersection forms and shapes with good memory performance.
Puede emplearse una tabla de consulta para definir múltiples curvas de respuesta tonal, lo que permite un control de presentación no lineal (corrección gama). a lookup table may be used to define multiple tonal response curves, allowing control of nonlinear presentation (gamma correction).
Los objetos individuales procesados por el procesador 22 de formas se combinan en la trama 24 compuesta de salida. The individual objects processed by processor 22 shapes are combined in the frame 24 output composite. La calidad de la salida final también puede ser controlada por el usuario a través de la entrada 44 de control de la salida. The quality of the final output by the user can also be controlled through the inlet 44 of the output control.
El procesador 22 de formas tiene una arquitectura pipeline que se presta al procesamiento en paralelo de múltiples objetos o de múltiples documentos o de múltiples subconjuntos de uno o más documentos utilizando múltiples ejemplos del pipeline del procesador de formas. The processor 22 has a pipelined architecture forms that lends itself to parallel processing of multiple objects or multiple documents or multiple subsets of one or more files using multiple examples of pipelined processor forms. La arquitectura pipeline también se modifica fácilmente para incluir funciones de procesamiento adicionales (por ejemplo, funciones de filtrado) si resulta necesario. Pipeline architecture is also easily modified to include additional processing functions (e.g. filter functions) if required. Las salidas de múltiples procesadores 22 de formas pueden generar múltiples tramas 24 de salida o pueden combinarse en una sola trama 24 de salida. The outputs of multiple processors 22 may generate multiple frames forms 24 output or combined into a single frame 24 output.
La arquitectura del sistema es de naturaleza modular. The system architecture is modular in nature. Esto permite, por ejemplo, añadir agentes de documento adicionales según y cuándo se precise para tratar formatos de archivo fuente adicionales. This allows, for example, adding additional agents document as and when required to treat additional source file formats. La arquitectura modular también permite modificar o modernizar los módulos individuales, tales como la biblioteca 16, el analizador sintáctico/presentador 18 o el procesador 22 de formas, sin requerir cambios en otros módulos. The modular architecture also allows to modify or upgrade the individual modules such as the library 16, parser / presenter 18 or processor 22 forms, without requiring changes to other modules.
La arquitectura del sistema en conjunto también se presta al paralelismo en todo o en parte para el procesamiento simultáneo de múltiples documentos 10a, 10b, etc. The architecture of the whole system is also provided to parallelism in whole or in part for simultaneous processing of multiple documents 10a, 10b, etc. de entrada o de subconjuntos de documentos, en uno o más formatos de archivo, a través de uno o más agentes 12, 12a de documentos. input or subsets of documents in one or more file formats, through one or more agents 12, 12a of documents. La naturaleza modular integrada del sistema permite la generación de múltiples ejemplos de módulos del sistema en un sistema o dispositivo de procesamiento de datos según y cuando sea necesario, limitada únicamente por los recursos disponibles de procesamiento y de The integrated system modular nature allows the generation of multiple examples of system modules on a system or data processing device as and when required, limited only by available processing resources and
El potencial para el paralelismo flexible proporcionado por el sistema en conjunto y el procesador 22 de formas en particular muestra el camino de visualización para un cierto dispositivo a optimizar para el ancho de banda y la memoria disponibles. The potential for flexible parallelism provided by the system as a whole and the processor 22 forms in particular shows the path display for a certain device to optimize bandwidth and available memory. Las actualizaciones de visualización y las animaciones pueden mejorarse, lo cual es más rápido y requiere menos memoria. Display updates and animations may be improved, which is faster and requires less memory. El modelo de documento de objetos/parámetros empleado es determinista y consistente. The document model object / parameter employed is deterministic and consistent. El sistema es totalmente escalable y permite múltiples ejemplos del sistema a través de múltiples CPU. The system is fully scalable and allows multiple instances of the system across multiple CPUs.
El analizador sintáctico/presentador 18 y el procesador 22 de formas interaccionan dinámicamente en respuesta a las entradas 40 de control de vista de una manera que optimiza el uso de la memoria y el ancho de banda disponibles. The parser / presenter 18 and the processor 22 interact dynamically forms in response to input 40 of control view in a way that optimizes memory usage and bandwidth available. Esto se aplica especialmente a las funciones de redibujo cuando se acciona una presentación visual, por ejemplo cuando un usuario está deslizando o panoramizando la visualización. This applies especially to the functions redraw when a display is operated, for example when a user is sliding or panning display.
En primer lugar, el sistema puede implementar un modelo de redibujo diferido escalable, de acuerdo con un primer aspecto de la invención, de manera que la resolución de visualización de una vista de documento, o de uno o más objetos en una vista, varíe dinámicamente según la manera en la que ha de modificarse la visualización. First, the system may implement a model scalable deferred redrawing, according to a first aspect of the invention, so that the display resolution of a document view, or of one or more objects in a view, varies dynamically in the manner in which the display is to be modified. Normalmente, esto puede conllevar que un objeto se visualice con una resolución reducida mientras se mueve en pantalla y se visualice a resolución plena cuando esté en reposo. Typically, this may mean that an object is displayed at a reduced resolution while moving on the screen and displayed at full resolution when at rest. El sistema puede emplear múltiples niveles de calidad de visualización con esta finalidad. The system may employ multiple levels of display quality for this purpose. Normalmente, esto implicará representaciones en mapa de bits preconstruidas de baja resolución de objetos de documento y/o mapas de bits construidos y ajustados a escala dinámicamente, con o sin interpolación. Typically, this will involve representations bit map of prebuilt low-resolution document object and / or maps constructed bits and scaled dynamically, with or without interpolation. Este enfoque proporciona una visualización altamente sensible que hace el mejor uso de la memoria/ancho de banda disponible. This approach provides a highly responsive display which makes best use of memory / bandwidth available.
En las figuras 2A y 2B se ilustran métodos que plasman este primer aspecto de la presente invención. 2A and 2B methods that embody this first aspect of the present invention are illustrated.
Cuando en el sistema se inicia una solicitud de redibujo, se hace necesario que la totalidad o parte de la trama actual se re-presente y se visualice. When a request is initiated Redraw in the system, it is necessary that all or part of the current frame is present and re-display. El proceso de re-presentación de la trama puede tardar una cantidad de tiempo significativa. The process of re-presentation of the frame may take a significant amount of time.
Con referencia a la figura 2A, cuando se inicia una solicitud 100 de redibujo, la trama de salida se actualiza inmediatamente (102) utilizando una o más representaciones en mapa de bits ("miniatura") de resolución reducida del documento o de partes del mismo que se ajustan a escala para aproximarse al contenido requerido de la visualización redibujada. Referring to Figure 2A, when an application 100 redraw is initiated, the output frame is immediately updated (102) using one or more representations bitmap ( "thumbnail") of reduced resolution of the document or parts thereof which are scaled to approximate the required content of the redrawn display. En el sistema 8 de la figura 1, la(s) representación(ones) de mapa de bits empleadas con esta finalidad puede(n) ser reconstruida(s) por el analizador sintáctico/presentador 18 y almacenadas para su uso en respuesta a solicitudes de redibujo. In the system 8 of Figure 1, the (s) representation (ones) bitmap used for this purpose may (n) be rebuilt (s) by the parser / host 18 and stored for use in response to requests redraw. Esta aproximación de la visualización redibujada puede generarse mucho más rápido que la re-presentación completa de la visualización, lo que proporciona una visualización temporal mientras se termina la re-presentación. This approximation of the redrawn display can be generated much faster than the complete re-presentation of the display, providing a temporary display while re-presentation is completed. En la realización de la figura 2A, la presentación completa de la visualización (104) se realiza en paralelo con el redibujo 102 aproximado y sustituye a la visualización temporal una vez se termina (106). In the embodiment of Figure 2A, the full presentation of the display (104) is performed in parallel with the approximate redraw 102, and replaces the temporary display once ends (106). El método puede incluir una o más actualizaciones 108 intermedias adicionales de la visualización temporal aproximada mientras se termina la totalidad de la re-presentación 104. Estas actualizaciones intermedias pueden "embellecer" progresivamente la visualización temporal (es decir, proporcionar aproximaciones sucesivamente mejores de la visualización final); The method may include one or more additional updates 108 intermediate temporary display approximate while the entire re-presentation 104. These intermediate updates may "beautify" progressively temporary display (i.e. provide estimates on top of the display ends final); por ejemplo, al usar mapas de bits ajustados a escala de mejor calidad y/o al superponer contornos vectoriales de objetos sobre el (los) mapa(s) de bits. for example, using bit maps scale adjusted better quality and / or overlay vector outlines of objects on (the) Map (s) of bits.
El método de la figura 2A también muestra el proceso de redibujo a ser interrumpido por una nueva solicitud de redibujo (110). The method of Figure 2A also shows redraw process to be interrupted by a new redraw request (110). Todo el proceso 104 de re-presentación puede detenerse sencillamente, y el sistema procesa la nueva solicitud de redibujo al igual que antes. The whole process of re-presentation 104 can simply stop, and the system processes the new request Redraw as before.
La figura 2B ilustra una realización alternativa en la que una solicitud 112 de redibujo viene seguida, como antes, por un redibujo 114 aproximado basado en una miniatura, y el redibujo 116 de la trama completa viene detrás en serie después del redibujo aproximado (en vez de en paralelo, tal como en la figura 2A) para generar la visualización 118 final a plena resolución. 2B illustrates an alternative embodiment in which an application 112 redraw is followed, as before, for an approximate redraw 114 based on a thumbnail, and redraws 116 of the complete frame comes back in series after the approximate redraw (instead in parallel, as in figure 2A) to generate the display 118 final full resolution. Este proceso también puede ser interrumpido en cualquier etapa por una nueva solicitud de redibujo. This process can also be interrupted at any stage by a new redraw request.
Los métodos de las figuras 2A y 2B pueden aplicarse a todo tipo de solicitudes de redibujo, incluyendo reconstrucciones de pantalla, deslizamiento, panoramización y ajuste a escala (ampliación). The methods of Figures 2A and 2B can be applied to all types of redraw requests, including screen rebuilds, sliding, panning and scaling (enlargement).
La figura 3 ilustra un método preferido de ampliar/ajustar a escala un mapa de bits en miniatura. Figure 3 illustrates a preferred expand / scaling a thumbnail bitmap method. Tal como se ha descrito anteriormente, el sistema crea y almacena en alguna etapa anterior un mapa 120 de bits básico. As described above, the system creates and stores in some earlier stage basic map 120 bits. Suponiendo que se requiera ajustar a escala el mapa de bits por algún factor arbitrario (por ejemplo, un factor de 4.4), la miniatura 120 básica se ajusta a escala en dos etapas: primero, la miniatura se ajusta a escala por cantidad fraccional (122) correspondiente al factor de ajuste a escala final dividido por la parte de número entero de la misma (4,4 dividido por 4 es igual a 1,1 en este ejemplo) y luego multiplicado por una cantidad entera (124) correspondiente a la parte de número entero del factor de ajuste a escala final (es decir, x4 en este ejemplo). Assuming required scaling the bitmap by some arbitrary factor (e.g. a factor of 4.4), the thumbnail 120 Basic is scaled in two stages: first, the thumbnail is scaled by fractional amount (122 ) corresponding to the adjustment factor to final scale divided by the whole number part thereof (4.4 divided by 4 equals 1.1 in this example) and then multiplied by a corresponding entire amount (124) to the part integer factor end adjustment scale (i.e. x4 in this example). Esto resulta más rápido que una ampliación de una sola etapa de 4.4, a expensas de un pequeño incremento del requisito de memoria. This is faster than a single stage expansion of 4.4, at the expense of a small increase in memory requirement.
Las operaciones de ajuste de escala descritas más arriba pueden realizarse con o sin interpolación. Operations scaling described above can be performed with or without interpolation. La figura 3 muestra el mapa 124 de bits ampliado, final, interpolado para proporcionar una resolución de 16 x 16 en comparación con el mapa 120 de bits original de 8 x 8. La interpolación puede realizarse empleando cualquiera de una variedad de métodos de interpolación conocidos. Figure 3 shows the map 124 of extended bits, final, interpolated to provide a resolution of 16 x 16 compared to the original bit map 120 of 8 x 8. The interpolation may be accomplished using any of a variety of interpolation methods known .
La capacidad para procesar objetos transparentes es una característica fundamental del sistema de la figura 1. Sin embargo, esto requiere el uso de almacenamiento temporal fuera de pantalla en el procesador 22 de formas a fin de ensamblar una trama final de salida. The ability to process transparent objects is a fundamental characteristic of the system of Figure 1. However, this requires the use of off-screen buffering in the shape processor 22 to assemble a final output frame. Normalmente, tal como se muestra en la figura 4A, una memoria 130 intermedia fuera de pantalla, convencional, cubrirá un área mayor que el área de visualización inmediata, permitiendo un grado limitado de panoramización/deslizamiento en el área de almacenamiento temporal, pero hay que volver a centrar y reconstruir toda la memoria intermedia cuando la visualización requerida se mueve fuera de estos límites. Normally, as shown in Figure 4A, a memory 130 intermediate offscreen conventional, cover a larger area than the area immediately display, allowing limited panning / sliding in the temporary storage area level, but must refocusing and rebuild the entire buffer when the required display moves outside these limits. Esto requiere una operación de copia de bloques dentro de la memoria intermedia y redibujar el resto del "rectángulo sucio" (132) antes de copiar por bloques el contenido actualizado de la memoria intermedia en la pantalla 134. This requires a block copy operation within the buffer and redrawing of the remaining "dirty rectangle" (132) before copying the updated content block buffer on the display 134.
De acuerdo con un segundo aspecto de la presente invención, tal como se ilustra en la figura 4B, el rendimiento de tales procesos de almacenamiento intermedio se mejora definiendo el contenido de la memoria intermedia como una matriz 136 de baldosas indexada en una lista ordenada. According to a second aspect of the present invention, as illustrated in Figure 4B, the performance of such processes buffering is improved by defining the content of the buffer as an array 136 of tile indexed in an ordered list. Cada baldosa comprende un mapa de bits de tamaño fijo (por ejemplo, 32 x 32 ó 64 x 64) y puede considerarse como una "mini memoria intermedia". Each tile comprises a bitmap of fixed size (for example, 32 x 32 or 64 x 64) and may be considered a "mini buffer". Cuando la vista de la visualización requerida se mueve fuera de estos límites, sólo es necesario entonces descartar aquellas baldosas que ya no se requieren, construir nuevas baldosas para cubrir la nueva área de la visualización y actualizar la lista de baldosas (138). When the required display view moves outside these limits, it is only necessary then discard those tiles that are no longer required, build new tiles to cover the new area of ​​the display and update the list of tiles (138). Esto resulta más rápido y eficiente que los procesos convencionales de almacenamiento temporal, puesto que no se requiere copia por bloques en la memoria intermedia y no se precisa mover o copiar memoria física. This is faster and efficient than conventional processes temporary storage, since not copied blocks required in the buffer and not required to move or copy physical memory.
El esquema de embaldosado descrito puede utilizarse globalmente para proporcionar una reserva de baldosas para todas las operaciones de redibujo de documentos y pantallas. The tiling scheme described can be used globally to provide a reserve of tiles for all operations redraw documents and displays. Las baldosas se emplean para almacenar temporalmente a alta velocidad el (los) documento(s) fuera de pantalla y permitir una panoramización y un recentrado eficientes y rápidos de las vistas. The tiles are used for temporarily storing at high speed (the) document (s) off-screen and pan and allow efficient and rapid recentering the view.
El uso de una reserva de baldosas tal como la descrita también contempla un uso más eficiente de los recursos de memoria y del procesador. Using a reservation tile as described also provides for more efficient use of memory resources and processor. La figura 5A muestra cómo los métodos convencionales de almacenamiento temporal fuera de pantalla, que implican bloques de datos que tienen tamaños arbitrarios e impredecibles, dan como resultado la fragmentación de memoria debido a requisitos impredecibles de asignación de bloques contiguos. 5A shows how conventional methods temporary storage offscreen, involving data blocks which have arbitrary, unpredictable sizes, result in memory fragmentation due to unpredictable allocation requirements contiguous blocks. Los bloques de memoria requeridos por las operaciones de almacenamiento temporal no corresponden con los bloques de la unidad de gestión de memoria (MMU) del procesador, de manera que la reasignación de memoria se vuelve poco eficiente, lo que requiere grandes cantidades de operaciones de copia en la memoria física, y la consistencia de la memoria caché se ve afectada. The memory blocks required by operations temporary storage not correspond to the blocks of the memory management unit (MMU) of the processor, so that the memory remapping becomes inefficient, requiring large amounts of copying operations in physical memory, and cache consistency is affected. Mediante el uso de baldosas de un tamaño fijo y predeterminado, los requisitos de memoria se vuelven mucho más predecibles, de manera que los recursos de memoria y del procesador pueden emplearse y gestionarse con mucha más eficiencia, la fragmentación puede ser ilimitada sin afectar a la manejabilidad y la necesidad de operaciones de copia en memoria puede eliminarse sustancialmente para muchos tipos de operaciones de almacenamiento temporal. By using tiles of fixed, predetermined size, memory requirements become much more predictable, so that memory resources and processor can be used and managed much more efficiently, fragmentation may be unlimited without affecting the handling and the need for memory copy operations may be substantially eliminated for many types of temporary storage operations. Idealmente, el tamaño de archivo se seleccionar para corresponder con el tamaño de bloque de la MMU del procesador. Ideally, the file size is selected to match the block size of the MMU processor.
La figura 5C ilustra un esquema preferido para gestionar archivos en la reserva de baldosas. Figure 5C illustrates a preferred method for managing files in booking tiles scheme. El número cero de baldosa siempre se reserva para construir cada baldosa nueva. The number zero tile is always reserved to build each new tile. Una vez que se ha construido una baldosa nueva, se vuelve a numerar empleando el siguiente número libre disponible (es decir, cuando la reserva de baldosas puede albergar un máximo de n baldosas, el número de direcciones de baldosa asignadas se restringe a n-1). Once built a new tile, is renumbered using the next free number available (ie, when the reservation tile can accommodate a maximum of n tiles the number of addresses assigned tile is restricted to n-1 ). En caso de un fallo de renumeración de baldosas cuando la reserva de baldosas está llena y no hay más baldosas libres, la nueva baldosa 0 se escribe directamente en pantalla y se inicia un proceso de fondo (hilo) para la recogida de basura (por ejemplo, la identificación y eliminación de baldosas "antiguas") y/o la asignación de direcciones de baldosa adicionales. In case of failure renumbering tile when booking tile is full and no more free tiles, the new tile 0 is written directly on the screen and a background process (thread) for garbage collection starts (eg the identification and removal of "old" tiles) and / or address assignment of additional floors. Esto proporciona un mecanismo adaptativo para tratar fallos de asignación de recursos. This provides an adaptive mechanism for dealing with resource allocation failures.
El esquema de embaldosado descrito se presta al procesamiento en paralelo, tal como se ilustra en la figura 6. El procesamiento de un conjunto de baldosas puede dividirse entre múltiples procesos paralelos (por ejemplo, entre múltiples ejemplos del procesador 22 de formas de la figura 1). The tiling scheme described lends itself to parallel processing, as illustrated in Figure 6. The processing of a set of tiles can be divided between multiple parallel processes (e.g. between multiple instances of the processor 22 of Figure 1 forms ). Por ejemplo, un conjunto de baldosas 1-20 puede dividirse basándose en las posiciones en pantalla de las baldosas de manera que un procesador WASP-A se encargue del procesamiento de las baldosas 1-10 y un segundo procesador WASP-B se encargue del procesamiento de las baldosas 11-20. For example, a set of tiles 1-20 can be divided based on the positions it on the screen of the tiles so that a WASP-A processor handle the processing of tiles 1-10 and a second processor WASP-B is responsible for processing 11-20 of tiles. Por consiguiente, si una orden de redibujo requiere que se redibujen las baldosas 1-3, 7-9 y 12-14, WASP-A se encarga de las baldosas 3-4 y 7-9 y WASP-B, de las baldosas 12-14. Accordingly, if a redraw command requires tiles 1-3, 7-9 and 12-14 are redrawn, WASP-A handles 3-4 and 7-9 and WASP-B tiles, the tiles 12 -14. Alternativamente, el conjunto de baldosas puede dividirse basándose en la ubicación de los archivos en un mapa de memoria de baldosas dividiendo la memoria de baldosas en una memoria A para el procesamiento por WASP A y una memoria B para el procesamiento por WASP-B. Alternatively, the set of tiles can be divided based on the location of files in a memory map tile dividing the tile memory into memory A for processing by WASP A and memory B for processing by WASP-B.
El esquema de embaldosado descrito facilita el uso de almacenamiento temporal múltiple y de almacenamiento temporal a alta velocidad fuera de pantalla. The tiling scheme described facilitates the use of multiple buffering and buffering high speed offscreen. También facilita funciones de redibujo interrumpibles (por ejemplo, para que pueda interrumpirse un redibujo actual e iniciarse un redibujo en respuesta a una entrada de usuario), una conversión de color/visualización y una aplicación de ruido aleatorio eficientes, una rotación rápida de 90 grados (retrato/paisaje) de toda la visualización en el software, y reduce la memoria de redibujo requerida para objetos individuales. It also facilitates functions interruptible redraw (for example, so that it can be interrupted one current redraw and start a redraw in response to user input), a color conversion / display and application of efficient random noise, rapid rotation of 90 degrees (portrait / landscape) of the whole display in software, and reduces the redraw memory required for individual objects. Se apreciará también que un sistema tal como el de la figura 1 puede emplear una reserva común de baldosas para todas It will also be appreciated that a system such as that of Figure 1 may employ a common pool of tiles for all
las funciones de visualización de aplicaciones y de sistema operativo/GUI de un sistema de procesamiento de datos. display functions of applications and operating system / GUI system processing system data.
Se entenderá que los métodos de embaldosado del segundo aspecto de la invención pueden combinarse ventajosamente con los métodos de redibujo del primer aspecto de la invención. It means that the methods of tiling the second aspect of the invention can be advantageously combined with methods redraw the first aspect of the invention.
De acuerdo con un tercer aspecto de la presente invención, el procesamiento de un documento implica dividir cada página del documento a visualizar en zonas (esto implicaría la interacción del analizador sintáctico/presentador 18 y el procesador 22 de formas en el sistema 8 de la figura 1), tal como se ilustra en la figura 7. Cada zona A, B, C, D tiene asociada a ella una lista de todos los objetos 1-8 contenidos dentro de la esa zona o que la solapan. According to a third aspect of the present invention, the processing of a document involves dividing each page of the document to be displayed in zones (this would involve interaction of the syntactic / presenter 18 analyzer and processor 22 forms in the system 8 of Figure 1), as illustrated in figure 7. Each zone a, B, C, D has associated with it a list of all objects 1-8 contained within that area or the overlap. Luego los redibujos pueden procesarse basándose en las zonas, de manera que el sistema sólo necesita procesar objetos asociados con las zonas relevantes afectadas por el redibujo. Then redraws can be processed based on the areas, so that the system only needs to process objects associated with the relevant areas affected by the redraw. Este enfoque facilita el procesamiento en paralelo y mejora el rendimiento y reduce la redundancia. This approach facilitates parallel processing and improves performance and reduces redundancy. El uso de zonas también facilita el uso del sistema para generar diferentes salidas para distintos dispositivos de visualización (por ejemplo, para generar una salida compuesta/de mosaico para ser visualizada por un conjunto de pantallas de visualización distintas). The use of zones also facilitates the use of the system to generate different outputs for different display devices (for example, to generate an output composite / mosaic to be displayed by a different set of screens display).
Tal como se ilustra en la figura 8, sin el uso de la zonificación, cualquier actualización de pantalla relativa a el área 142 sombreada requeriría la comprobación de cada uno de los ocho objetos 1 a 8 para ver si el recuadro de delimitación de cada objeto interseca a el área 142 a fin de determinar si es necesario trazar ese objeto. As illustrated in Figure 8, without the use of zoning, any screen update relating to the area 142 shaded require checking each of the eight objects 1 to 8 to see if the bounding box of each intersecting object to the area 142 to determine whether to draw the object. Con la zonificación, resulta posible determinar, en primer lugar, qué zonas intersecan al área 142 (en este ejemplo, sólo la zona D), en segundo lugar, qué objetos intersecan a la(s) zona(s) relevante(s) (en este caso, sólo el objeto 2), y luego sólo es necesario comprobar si los recuadros de delimitación de esos objetos que intersecan a la(s) zona(s) relevante(s) también intersecan al área 142. En muchos casos, esto reducirá enormemente las operaciones auxiliares implicadas en la extracción y comparación de objetos en el área 142 de interés. With zoning, it is possible to determine, first, what areas intersect the 142 area (in this example, only the area D), secondly, what objects intersect the (s) area (s) relevant (s) ( in this case, only the object 2), and is then only necessary to check whether the bounding boxes of those objects that intersect the (s) area (s) relevant (s) also intersected the area 142. in many cases, this greatly reduce the auxiliary operations involved in extracting and comparing objects in the area 142 of interest.
Se apreciará que, en algunos casos (por ejemplo, el caso extremo en el que todos los objetos en una página intersecan a todas las zonas de la página), la zonificación de este tipo puede aportar poco o ningún beneficio; It will be appreciated that in some cases (for example, the extreme case where all objects on a page intersect all zones of the page), the zoning of this type may provide little or no benefit; la relación entre el tamaño de zona y el tamaño típico de objeto puede resultar significativo a este respecto. the relationship between the zone size and the typical object size may be significant in this respect. Con la finalidad de determinar la naturaleza de cualquier zonificación aplicada a una página concreta, puede emplearse un algoritmo para analizar el contenido de la página y determinar un esquema de zonificación (el número, tamaño y forma de las zonas) que pueda utilizarse con utilidad para esa página. In order to determine the nature of any zoning applied to a particular page, an algorithm to analyze the page content and to determine a zoning scheme (the number, size and shape of zones) which can be used with advantage can be used to that page. Sin embargo, para el contenido típico de página, que por lo común incluirá muchos objetos pequeños y localmente apiñados, es probable que una división arbitraria de la página en zonas arroje beneficios significativos. However, for the typical page content, which usually include many small and locally clustered objects, it is likely that an arbitrary division of the page into zones shed significant benefits.
En principio, los esquemas de zonificación y de embaldosado descritos más arriba son independientes, pero pueden combinarse ventajosamente; In principle, zoning schemes and tiled described above are independent, but may be combined advantageously; es decir, las zonas pueden correlacionarse con una o más baldosas. i.e. zones may correlate with one or more tiles. De nuevo, esto facilita el paralelismo y optimiza el uso de los recursos del sistema. Again this facilitates parallelism and optimizes use of system resources.
Con referencia de nuevo a la figura 1, el sistema emplea preferiblemente un modelo de color independiente del dispositivo, adecuadamente un modelo de luminancia/crominancia tal como el modelo CIE L*a*b* de 1976. Esto reduce la redundancia en los objetos gráficos, mejora la compresibilidad de los datos y mejora la consistencia de la salida de color entre distintos dispositivos de salida. Referring again to Figure 1, the system preferably employs a model of device-independent color, suitably a model luma / chroma as the model CIE L * a * b * of 1976. This reduces redundancy in graphic objects improves the compressibility of the data and improves consistency of color output between different output devices. Al procesador 22 de formas puede aplicársele una corrección del color dependiente del dispositivo basándose en la entrada 44 de control dependiente del dispositivo. The processor 22 forms can disqualifies dependent color correction device 44 based on the input control device dependent.
La figura 1 muestra el sistema con un extremo de entrada en el que se recibe el flujo de bytes fuente y un extremo de salida por el que se da salida del sistema a la trama 24 de salida final. Figure 1 shows the system with an inlet end wherein the stream source bytes and an outlet end through which is output to the frame system 24 receives final output. Sin embargo, se entenderá que el sistema puede incluir entradas y salidas intermedias en otras etapas intermedias, tales como para extraer contenido de datos o para ahorrar/convertir datos generados en el transcurso del proceso. However, it is understood that the system may include intermediate inputs and outputs at other intermediate, such as to extract data content or for saving / converting data generated in the course of the process stages.
Pueden incorporarse de una serie de maneras diferentes sistemas de procesamiento de documentos digitales de acuerdo con el cuarto aspecto de la presente invención en una variedad de tipos de sistemas y dispositivos de procesamiento de datos y en dispositivos periféricos. They can be incorporated in a number of ways different processing digital document according to the fourth aspect of the present invention in a variety of systems and data processing devices and peripheral devices.
En un sistema de procesamiento de datos de uso general (el "sistema principal"), el sistema de la presente invención puede incorporarse junto al sistema operativo ya las aplicaciones del sistema principal o puede incorporarse completa o parcialmente en el sistema operativo principal. In a data processing system for general use (the "host system"), the system of the present invention may be incorporated alongside the operating system and host applications or may be incorporated fully or partially into the main operating system.
Por ejemplo, el sistema de la presente invención permite una rápida visualización de una variedad de tipos de archivos de datos en dispositivos portátiles de procesamiento de datos con pantallas LCD sin requerir el uso de navegadores o de programas de aplicación. For example, the system of the present invention enables rapid display of a variety of types of data files on portable data processing devices with LCD displays without requiring the use of browsers or application programs. Esta clase de dispositivos de procesamiento de datos requiere procesadores de baja potencia y pequeño tamaño para la portabilidad. This class of data processing devices requires low power processors and small size for portability. Normalmente, esto requiere el uso de procesadores centrales avanzados de tipo RISC designados en ASIC (circuitos integrados específicos de la aplicación) a fin de que el paquete electrónico sea tan pequeño y altamente integrado como sea posible. Typically, this requires the use of advanced RISC core processors designated ASIC (application specific integrated circuits application) so that the electronics package is so small and highly integrated as possible. Este tipo de dispositivo también tiene una memoria de acceso aleatorio limitada y normalmente no tiene una memoria de datos no volátil (por ejemplo, un disco duro). This type of device also has a limited random access memory and typically has no non-volatile data memory (eg, hard disk). Los modelos convencionales de sistema operativo, tales como que se emplean en los sistemas de computación de sobremesa (PC), requieren procesadores centrales de alta potencia y grandes cantidades de memoria a fin de procesar documentos digitales y generar una salida útil y resultan totalmente inadecuados para este tipo de dispositivo de procesamiento de datos. Conventional models of operating, such as used in computer systems (PC) require central processor high power and large amounts of memory in order to process digital documents and generate useful output and resulting system totally unsuitable for this type of data processing device. En particular, los sistemas convencionales no prevén el procesamiento de múltiples formatos de archivo de una manera integrada. In particular, conventional systems do not provide for the processing of multiple file formats in an integrated manner. En comparación, la presente invención puede utilizar procesos y pipelines comunes para todos los formatos de archivo, proporcionando así un sistema de procesamiento de documentos altamente integrado que es extremadamente eficiente en términos de consumo de energía y de uso de los recursos del sistema. In comparison, the present invention may utilize common processes and pipelines for all file formats, thus providing a processing system highly integrated documents is extremely efficient in terms of energy consumption and use of system resources.
El sistema de la presente invención puede integrarse a nivel BIOS de los dispositivos portátiles de procesamiento de datos para permitir el procesamiento y producción de documentos con operaciones auxiliares mucho más reducidas que los modelos de sistema convencionales. The system of the present invention can be integrated into BIOS level of portable data processing devices to enable document processing and output with much smaller than conventional system models auxiliary operations. Alternativamente, la invención puede implementarse a nivel más bajo del sistema, justo por encima de la pila del protocolo de transporte. Alternatively, the invention may be implemented at a lower system level just above the transport protocol stack. Por ejemplo, el sistema puede incorporarse en un dispositivo (tarjeta) o sistema de red para proporcionar un procesamiento en línea de tráfico de red (por ejemplo, trabajando a nivel de paquetes en un sistema TCP/IP). For example, the system can be incorporated into a device (card) or system network to provide online processing of network traffic (e.g. working at the packet level in a TCP / IP system).
En un dispositivo concreto, el sistema de la invención se configura para funcionar con un conjunto predeterminado de formatos de archivo de datos y dispositivos de salida concretos; In a particular device, the system of the invention is configured to operate with a predetermined data file formats and particular output devices set; por ejemplo, la unidad de presentación visual del dispositivo y/o al menos un tipo de impresora. for example, the display unit of the device and / or at least one type of printer.
Ejemplos de dispositivos portátiles de procesamiento de datos que pueden emplear el presente sistema incluyen los ordenadores "de palma", asistentes digitales portátiles (PDA, incluyendo PDA de tipo tabla en las que la interfaz de usuario principal comprende una pantalla gráfica con la que el usuario interacciona con directamente por medio de un dispositivo de estilo), teléfonos móviles habilitados para Internet y otros dispositivos de comunicación, etc. Examples of portable data processing that may employ the present system include computers "palm", portable digital assistants (PDAs, including PDAs table type in which the primary user interface comprises a graphical display with which the user interacts directly by means of a device style), Internet-enabled mobile phones and other communication devices, etc.
El sistema también puede incorporarse en terminales de procesamiento de dato de bajo coste tales como teléfonos ampliados y terminales "delgadas" de cliente de red (por ejemplo, terminales de red con recursos locales de procesamiento y almacenamiento limitados) y "receptores decodificadores integrados" par el uso en sistemas de TV por cable interactivos/habilitados para Internet. The system can also be incorporated into processing terminals data low cost such as expanded phone and terminals "thin" network client (e.g. network terminals with local processing resources and limited storage) and "receivers integrated decoders" pair use in systems for interactive TV / Internet-enabled cable.
Cuando se integra con el sistema operativo de un sistema de procesamiento de datos, el sistema de la presente invención también puede formar la base para una interfaz gráfica de usuario (GUI) novedosa para el sistema operativo (OS). When integrated with the operating system of a data processing system, the system of the present invention may also form the basis for a novel graphical user interface (GUI) for the operating system (OS). Los documentos procesados y visualizados por el sistema pueden incluir características interactivas tales como menús, botones, iconos, etc., que proporcionan la interfaz de usuario a las funciones subyacentes del sistema operativo. Documents processed and displayed by the system may include interactive features such as menus, buttons, icons, etc., that provide the user interface to the underlying operating system functions. Por extensión, un OS/GUI entero puede expresarse, procesarse y visualizarse en términos de "documentos" del sistema. By extension, an OS / GUI integer can be expressed, processed and visualized in terms of "documents" system. El OS/GUI podría comprender un solo documento con múltiples "capítulos". The OS / GUI could comprise a single document with multiple "chapters".
El sistema de la presente invención puede incorporarse también en dispositivos periféricos tales como dispositivos de impresión (impresoras y trazadores), dispositivos de visualización (tales como proyectores digitales), dispositivos de red, dispositivos de entrada (cámaras, escáneres, etc.) y también periféricos multifuncionales (MFP). The system of the present invention can also be incorporated into peripheral devices such as printing devices (printers and plotters), display devices (such as digital projectors), networking devices, input devices (cameras, scanners etc.) and also multifunction peripherals (MFP).
Cuando se incorpora a una impresora, el sistema puede permitir que la impresora reciba archivos de datos brutos del sistema principal de procesamiento de datos y reproducir el contenido del archivo de datos original correctamente sin necesitar aplicaciones o controladores concretos proporcionados el sistema principal. When incorporated into a printer, the system can allow the printer to receive raw data files from the host data processing and reproducing the contents of the source data correctly without requiring specific applications or drivers provided the host. Esto evita la necesidad de configurar un sistema informático para accionar un tipo particular de impresora. This avoids the need to configure a computer system to operate a particular type of printer. El presente sistema puede generar directamente una imagen correlacionada por puntos del documento fuente adecuada para darle salida por la impresora (esto es cierto independientemente de si el sistema se incorpora en la propia impresora o en el sistema principal). The present system may directly generate a correlated points of the source document suitable for output by the printer image (ie whether the system is incorporated into the printer itself or a host). Consideraciones similares se aplican a otros dispositivos de impresión tales como los trazadores. Similar considerations apply to other printing devices such as plotters.
Cuando se incorpora en un dispositivo de visualización, tal como un proyector, el sistema de nuevo puede permitir que el dispositivo visualice el contenido del archivo de datos original correctamente sin el uso de aplicaciones o controladores en el sistema principal y sin la necesidad de una configuración específica del sistema principal y/o del dispositivo de visualización. When incorporated into a display device such as a projector, the system can again allow the device to display the contents of the source data correctly without the use of applications or drivers on the host system without the need for configuration specific host and / or display device. Los sistemas periféricos de estos tipos, cuando se equipan con el presente sistema, pueden recibir y dar salida a archivos de datos procedentes de cualquier fuente a través de cualquier tipo de red de comunicación de datos. Peripheral systems of these types, when equipped with the present system, may receive and output data files from any source through any type of network data communication.
Por lo anterior, se entenderá que el sistema de la presente invención puede estar "integrado"; Therefore, it is understood that the system of the present invention may be "integrated"; por ejemplo, implementado en una ROM y/o integrado en ASIC u otros sistemas monochip, o puede implementarse como firmware (una ROM programable tal como un ePROM flash) o como software, almacenándose localmente o a distancia y extrayéndose y ejecutándose según requiera un dispositivo concreto. for example, implemented in ROM and / or integrated into ASICs or other single-chip systems, or may be implemented as firmware (programmable ROM such as a flash EPROM) or as software, being stored locally or remotely and being extracted and running as required a particular device .
Pueden incorporarse mejoras y modificaciones sin apartarse del alcance de la presente invención tal como está definida por las reivindicaciones adjuntas. Improvements and enhancements and modifications without departing from the scope of the present invention as defined by the appended claims.
1. Método para redibujar una presentación visual de datos gráficos, según lo cual una visualización actual es sustituida por una visualización actualizada, que comprende, en respuesta a una solicitud (100, 112) de redibujo, sustituir (102, 114) inmediatamente la visualización actual con una primera representación aproximada de la visualización actualizada, generar (104, 116) una visualización actualizada final y sustituir (106, 118) la representación aproximada con la visualización actualizada final; 1. A method for redrawing a visual display of graphical data whereby a current display is replaced by an updated display, comprising, in response to a request (100, 112) redraw, replacing (102, 114) immediately display current with a first approximate representation of the updated display, generating (104, 116) a final updated display, and replacing (106, 118) the approximate representation with the final updated display; caracterizado porque: characterized in that:
al menos dicha primera representación aproximada incluye al menos una representación de un mapa (120) de bits que tiene una resolución menor que la requerida en la visualización actualizada final y ajustada (124) a escala para aproximar el contenido requerido de dicha visualización actualizada. at least it said first approximate representation includes at least a representation of a map (120) of bits having a lower resolution than that required in the final updated display and adjusted (124) scaled to approximate the required content of said updated display.
2. Método según la reivindicación 1, que incluye sustituir (108) dicha primera representación aproximada con una o más representaciones aproximadas mejoradas, sucesivas, de la visualización actualizada antes de sustituir la última representación aproximada visualizada con la visualización actualizada final. 2. Method according to claim 1, including replacing (108) said first approximate representation with one or more improved approximate representations, successive, of the updated display before replacing the last displayed approximate representation with the final updated display.
3. Método según la reivindicación 1 o la reivindicación 2, en el que la sustitución (102, 108) de la visualización actual por dicha primera y cualquier representación subsiguiente se realiza en paralelo con la generación (104) de dicha visualización actualizada final. 3. Method according to claim 1 or claim 2, wherein the substitution (102, 108) of the current display by said first and any subsequent representation is performed in parallel with generating (104) said final updated display.
4. Método según cualquier reivindicación anterior, en el que una representación aproximada mejorada, subsiguiente, comprende dicha versión ajustada a escala de una representación de mapa de bits de resolución reducida de dicha visualización actualizada con contornos vectoriales superpuestos a la misma. 4. Method according to any preceding claim, wherein an improved approximate representation, subsequent comprises said adjusted scaled version of a representation bitmap reduced resolution of said display updated with the same superimposed vector contours.
5. Método según cualquiera de las reivindicaciones 1 a 4, para generar representaciones visuales variables de dichos datos gráficos, en el que dichas presentaciones visuales se ensamblan dividiendo dichos datos gráficos en una pluralidad de baldosas (136) de mapa de bits de tamaño fijo, predeterminado, almacenando dichas baldosas en una matriz indexada en una memoria intermedia fuera de pantalla y ensamblando una representación visual requerida de dichos datos gráficos a partir de un conjunto seleccionado de dichas baldosas almacenado en dicha memoria intermedia fuera de pantalla. 5. Method according to any of claims 1 to 4 for generating variable visual representations of said graphical data, wherein said visual displays are assembled by dividing said graphical data into a plurality of tiles (136) bitmap of fixed size, default, storing said tiles in an indexed array in an off-screen buffer and assembling a required visual representation of said graphical data from a selected set of said tiles stored in said off-screen buffer.
6. Método según la reivindicación 5, en el que una representación visual actual de dichos datos gráficos se actualiza: 6. The method of claim 5, wherein a current visual representation of said graphical data is updated:
a) descartando archivos redundantes de dicho conjunto seleccionado almacenado en dicha memoria intermedia fuera de pantalla; a) discarding redundant files of said selected set stored in said off-screen buffer;
b) construyendo nuevas baldosas para cubrir un área de la visualización actualizada no representada por las baldosas existentes; b) building new tiles to cover an area display updated not represented by the existing tiles;
c) añadiendo las nuevas baldosas a dicho conjunto (138) seleccionado, sustituyendo los archivos redundantes en dicha memoria intermedia fuera de pantalla y actualizando el indexado de dicha matriz indexada; c) adding the new tiles to said assembly (138) selected by replacing redundant files in said buffer off screen and updating the indexing of said indexed array; y Y
d) ensamblando la representación visual actualizada a partir de la matriz actualizada. d) assembling the updated from the updated matrix display.
7. Método según la reivindicación 5 o la reivindicación 6, en el que dicha matriz de baldosas representa datos gráficos procedentes de múltiples fuentes. 7. Method according to claim 5 or claim 6, wherein said matrix tiles represents graphical data from multiple sources.
8. Método según la reivindicación 7, en el que múltiples fuentes incluyen aplicaciones que se ejecutan en un sistema de procesamiento de datos y un sistema operativo de dicho sistema de procesamiento de datos. 8. Method according to claim 7, wherein multiple sources include applications running on a data processing system and an operating system of said data processing system.
9. Método según cualquiera de las reivindicaciones 5 a 8, que incluye procesar subconjuntos de dichas baldosas en paralelo. 9. Method according to any of claims 5 to 8, including processing subsets of said tiles in parallel.
10. Método según cualquier reivindicación anterior, para procesar un documento digital a fin de generar dichas representaciones visuales, comprendiendo dicho documento una pluralidad de objetos (1-8) gráficos dispuesto en al menos una página, comprendiendo el método dividir dicho documento en una pluralidad de zonas (AD) y, para cada zona, generar una lista de objetos contenidos en dicha zona y solapándola. 10. Method according to any preceding claim for processing a digital document in order to generate said visual representations, said document comprising a plurality of objects (1-8) graphics disposed on at least one page, the method comprising dividing said document into a plurality of zones (AD) and, for each zone, generating a list of objects contained in said area and overlapping it.
11. Método según la reivindicación 10, en el que se genera una representación visual de parte (142) de dicho documento determinando cuál de dichas zonas (AD) interseca a dicha parte de dicho documento, determinando un conjunto de dichos objetos (1-8) asociado con dichas zonas que interseca dicha parte de dicho documento y procesando dicho conjunto de objetos para generar dicha representación visual. 11. Method according to claim 10, wherein a visual representation of part (142) of said document determining which of said intersects said portion of said document zones (AD), determining a set of said objects is generated (1-8 ) associated with said zones which intersect said part of said document and processing said set of objects to generate said visual representation.
12. Método según la reivindicación 10 o la reivindicación 11, cuando depende de cualquiera de las reivindicaciones 5 a 9, en el que cada una de dichas zonas (AD) corresponde a al menos uno de dichos archivos (136). 12. Method according to claim 10 or claim 11, when dependent on any of claims 5 to 9, wherein each of said zones (AD) corresponding to at least one of said files (136).
13. Método según cualquier reivindicación anterior, en el que el paso de sustituir la visualización actual con una primera representación aproximada de la visualización actualizada comprende sustituir al menos parte de la visualización actual con una representación aproximada de la actualización de esa parte de la visualización. 13. Method according to any preceding claim, wherein the step of replacing the current display with a first approximate representation of the updated display comprises replacing at least part of the current display with an approximate representation of the update of that part of the display.
14. Método según cualquier reivindicación anterior, en el que se actualiza una vista de un mapa de bits ajustando a escala el mapa de bits de una primera resolución (120) a una segunda resolución (124) utilizando interpolación. 14. Method according to any preceding claim, which updates a view of a bitmap by scaling the bitmap from a first resolution (120) to a second resolution (124) using interpolation.
15. Sistema de procesamiento de documentos digitales que comprende medios de procesamiento de datos adaptados para implementar el método de cualquiera de las reivindicaciones 1 a 14. 15. System digital document processing comprising processing means adapted to implement data the method of any of claims 1 to 14.
16. Sistema según la reivindicación 15, que comprende: 16. The system of claim 15, comprising:
un mecanismo (11) de entrada para recibir un flujo de bytes de entrada que representa datos (10, 10a, 10b) fuente en uno de una pluralidad de formatos de datos predeterminados; a mechanism (11) input for receiving a byte stream representing the input data (10, 10a, 10b) source in one of a plurality of predetermined data formats;
un mecanismo (12) de interpretación para interpretar dicho flujo de bytes; a mechanism (12) for interpreting said interpretive byte stream;
un mecanismo (12) de conversión para convertir un contenido interpretado de dicho flujo de bytes en un formato (14) de datos de representación interna; a mechanism (12) for converting interpreted content from said one byte stream in a format (14) internal representation data; y Y
un mecanismo (18, 22) de procesamiento para procesar dichos datos de representación interna para generar datos (24) de representación de salida adaptados para accionar un dispositivo (26) de salida. a mechanism (18, 22) of processing to process said data internal representation to generate data (24) representing output adapted to drive a device (26) output.
17. Sistema según la reivindicación 16, en el que dichos datos (10, 10a, 10b) fuente definen el contenido y la estructura de un documento digital y en el que dichos datos (14) de representación interna describen dicha estructura en términos de objetos genéricos que definen una pluralidad de tipos y parámetros de datos que definen propiedades de ejemplos específicos de objetos genéricos por separado a dicho contenido. 17. The system of claim 16, wherein said data (10, 10a, 10b) defines the content source and the structure of a digital document and said data (14) of said structure internal representation described in terms of objects generic defining a plurality of types of data and parameters that define properties of specific examples of generic objects separately to said content.
18. Sistema según la reivindicación 17, que incluye además una biblioteca (16) de tipos de objeto genérico, basándose dichos datos (14) de representación interna en el contenido de dicha biblioteca. 18. The system of claim 17, further including a library (16) of generic object types, said data based (14) internal representation in the content of said library.
19. Sistema según la reivindicación 17 o la reivindicación 18, que incluye un módulo (18) de análisis sintético y presentación adaptado para generar una representación (20) basada en objetos y parámetros de una vista específica de al menos parte de dichos datos (14) de representación interna basándose en una primera entrada (40) de control a dicho módulo de análisis sintético y presentación. 19. The system of claim 17 or claim 18 including a module (18) of synthetic analysis and adapted to generate a representation (20) based on objects and parameters of a specific view of at least part of said data (14 ) internal representation based on a first input (40) to said control module synthetic analysis and presentation.
20. Sistema según la reivindicación 19, que incluye además un módulo (22) de procesamiento de formas adaptado para recibir dicha representación (20) basada en objetos y parámetros de dicha vista específica de dicho módulo (18) de análisis sintético y presentación y convertir dicha representación (20) basada en objetos y parámetros en un formato (24) de datos de salida adecuado para accionar un dispositivo (26) de salida concreto. 20. The system of claim 19, further including a module (22) forms processing adapted to receive said representation (20) based on objects and parameters of said specific view of said module (18) of synthetic analysis and presentation and convert said representation (20) based on objects and parameters in a format (24) suitable output data for driving a device (26) specific output.
21. Sistema según la reivindicación 20, en el que dicho módulo (22) de procesamiento de formas procesa dichos objetos basándose en un recuadro de frontera que define la frontera de un objeto, definiendo una forma la forma real del objeto delimitado por el recuadro de frontera, el contenido de datos del objeto y la transparencia del 21. The system of claim 20, wherein said module (22) forms processing processes said objects based on a boundary box defining the boundary of an object, defining a form the actual shape of the object bounded by the box border, the data content of the object and the transparency of
objeto. object.
22. Sistema según la reivindicación 21, en el que dicho módulo (22) de procesamiento de formas está adaptado para aplicar un suavizado en escala de grises a los bordes de dichos objetos. 22. The system of claim 21, wherein said module (22) forms processing is adapted to apply a smoothing grayscale to the edges of said objects.
23. Sistema según la reivindicación 20, la reivindicación 21 o la reivindicación 22, en el que dicho módulo (22) de procesamiento de formas tiene una arquitectura pipeline. 23. The system of claim 20, claim 21 or claim 22, wherein said module (22) forms processing has a pipelined architecture.
24. Sistema según cualquiera de las reivindicaciones 17 a 23, en el que dichos parámetros de objeto incluyen parámetros dimensionales, físicos y temporales. 24. System according to any of claims 17 to 23, wherein said object parameters include dimensional, physical and temporal parameters.
25. Sistema según cualquiera de las reivindicaciones 16 a 24, en el que el sistema emplea un modelo de color basado en la crominancia/luminancia para describir datos de color. 25. System according to any of claims 16 to 24, wherein the system uses a color model based on the chrominance / luminance color data to describe.
26. Sistema según cualquiera de las reivindicaciones 16 a 25, en el que el sistema está adaptado para una implementación múltiple en paralelo en todo o en parte para procesar uno o más conjuntos de datos fuente de una o más fuentes de datos y para generar uno o más conjuntos de datos de representación de salida. 26. System according to any of claims 16 to 25, wherein the system is adapted for multiple parallel implementation in whole or in part for processing one or more sets of source data from one or more data sources and for generating one or more sets of output representation data.
27. Interfaz gráfica de usuario con presentaciones visuales interactivas para un sistema de procesamiento de datos, en el que dichas presentaciones visuales interactivas se generan por medio de un sistema de procesamiento de documentos digitales según cualquiera de las reivindicaciones 15 a 26. 27. Graphical user interface with interactive visual displays for a data processing system, wherein said interactive visual displays are generated by a digital processing system documents according to any of claims 15 to 26.
28. Dispositivo de procesamiento de datos que incorpora una interfaz gráfica de usuario según la reivindicación 27. 28. Device data processing incorporating a graphical user interface according to claim 27.
29. Dispositivo de hardware para procesar y/o almacenar datos, incluyendo dicho dispositivo de hardware un sistema de procesamiento de documentos digitales según cualquiera de las reivindicaciones 15 a 26. 29. A hardware device for processing and / or storing data, said device including hardware system processing digital document according to any of claims 15 to 26.
30. Dispositivo de hardware según la reivindicación 29, que incluye además un sistema procesador central. 30. A hardware device of claim 29, further comprising a central processor system.
31. Dispositivo de hardware según la reivindicación 20, en el que dicho procesador central es un procesador RISC. 31. Hardware device according to claim 20, wherein said host processor is a RISC processor.
32. Sistema de procesamiento de datos que incluye un sistema de procesamiento de documentos digitales según cualquiera de las reivindicaciones 15 a 26. 32. System data processing system including a digital document processing according to any of claims 15 to 26.
33. Sistema de procesamiento de datos según la reivindicación 32, en el que dicho sistema de procesamiento de datos comprende un dispositivo portátil de procesamiento de datos. 33. System data processing according to claim 32, wherein said data processing system comprises a portable data processing device.
34. Sistema de procesamiento de datos según la reivindicación 33, en el que dicho dispositivo portátil de procesamiento de datos comprende un dispositivo inalámbrico de telecomunicación. 34. System data processing according to claim 33, wherein said portable data processing device comprises a wireless telecommunications device.
35. Sistema de procesamiento de datos según la reivindicación 32, en el que dicho sistema de procesamiento de datos comprende una terminal de usuario de red. 35. System data processing according to claim 32, wherein said data processing system comprises a network user terminal.
36. Dispositivo periférico para el uso con un sistema de procesamiento de datos, incluyendo dicho dispositivo periférico un sistema de procesamiento de documentos digitales según cualquiera de las reivindicaciones 15 a 26. 36. A peripheral device for use with a data processing system, said peripheral device including a processing system digital document according to any of claims 15 to 26.
37. Dispositivo periférico según la reivindicación 36, en el que dicho dispositivo periférico es un dispositivo de presentación visual. 37. Peripheral device according to claim 36, wherein said peripheral device is a display device.
38. Dispositivo periférico según la reivindicación 26, en el que dicho dispositivo periférico es un dispositivo de salida de impresión. 38. Peripheral device according to claim 26, wherein said peripheral device is a print output.
39. Dispositivo periférico según la reivindicación 36, en el que dicho dispositivo periférico es un dispositivo de entrada. 39. Peripheral device according to claim 36, wherein said peripheral device is an input device.
40. Dispositivo periférico según la reivindicación 36, en el que dicho dispositivo periférico es un dispositivo de red. 40. Peripheral device according to claim 36, wherein said peripheral device is a network device.
41. Dispositivo periférico según la reivindicación 36, en el que dicho dispositivo periférico es un dispositivo periférico multifuncional. 41. Peripheral device according to claim 36, wherein said peripheral device is a multifunction peripheral device.
ES01929774T 2000-04-14 2001-04-17 Systems and methods for generating visual representations of graphical data. Active ES2240451T3 (en)
GB0009129 2000-04-14
US703502 2000-10-31
PCT/GB2001/001742 WO2001080178A2 (en) 2000-04-14 2001-04-17 Systems and methods for generating visual representations of graphical data
ES2240451T3 true ES2240451T3 (en) 2005-10-16
ES01929774T Active ES2240451T3 (en) 2000-04-14 2001-04-17 Systems and methods for generating visual representations of graphical data.
KR100748802B1 (en) 2007-08-13 A method for rendering an image, a system and a computer program storage medium for processing graphic objects for rendering an image
US7716605B2 (en) 2010-05-11 Thumbnail image browsing method in an embedded system
EP1528510B1 (en) 2017-01-18 Advanced Shape Processor
Schikore et al. 2000 High-resolution multiprojector display walls

References: resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución 
 resolución