WO2001079984A1 - Digital document processing - Google Patents

Digital document processing Download PDF

Info

Publication number
WO2001079984A1
WO2001079984A1 PCT/GB2001/001678 GB0101678W WO0179984A1 WO 2001079984 A1 WO2001079984 A1 WO 2001079984A1 GB 0101678 W GB0101678 W GB 0101678W WO 0179984 A1 WO0179984 A1 WO 0179984A1
Authority
WO
WIPO (PCT)
Prior art keywords
data
processing system
output
document
data processing
Prior art date
Application number
PCT/GB2001/001678
Other languages
French (fr)
Inventor
Majid Anwar
Original Assignee
Picsel (Research) Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority to GBGB0009129.8A priority Critical patent/GB0009129D0/en
Priority claimed from US09/703,502 external-priority patent/US7055095B1/en
Priority to DE60120670T priority patent/DE60120670T2/en
Priority to CN2006101543439A priority patent/CN1924794B/en
Priority to CNB018080073A priority patent/CN1279430C/en
Priority to AT01921577T priority patent/ATE330276T1/en
Priority to EP01921577A priority patent/EP1272922B1/en
Priority to AU48551/01A priority patent/AU4855101A/en
Application filed by Picsel (Research) Limited filed Critical Picsel (Research) Limited
Priority to EP04013996.6A priority patent/EP1457872B1/en
Priority to KR1020077004359A priority patent/KR100799019B1/en
Priority to PCT/GB2001/001678 priority patent/WO2001079984A1/en
Priority to JP2001576584A priority patent/JP2003531429A/en
Priority to ES01921577T priority patent/ES2266185T3/en
Publication of WO2001079984A1 publication Critical patent/WO2001079984A1/en
Priority to HK03108956A priority patent/HK1056636A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1228Printing driverless or using generic drivers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • G06F3/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2340/00Aspects of display data processing
    • G09G2340/10Mixing of images, i.e. displayed pixel being the result of an operation, e.g. adding, on the corresponding input pixels
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Definitions

  • the invention relates to data processing systems. More particularly, the invention relates to methods and systems for processing "digital documents" (as defined herein) and to devices incorporating such methods and systems. In general terms, the invention is concerned with generating an output representation of a source document; e.g. as a visual display or as hardcopy.
  • digital document is used to describe a digital representation of any type of data processed by a data processing system which is intended, ultimately, to be output in some form, in whole or in part, to a human user, typically by being displayed or reproduced visually (e.g. by means of a visual display unit or printer) , or by text-to-speech conversion, etc.
  • a digital document may include any features capable of representation, including but not limited to the following: text; graphical images; animated graphical images; full motion video images; interactive icons, buttons, menus or hyperlinks .
  • a digital document may also include non-visual elements such as audio (sound) elements .
  • Data processing systems such as personal computer systems, are typically required to process "digital documents", which may originate from any one of a number of local or remote sources and which may exist in any one of a wide variety of data formats ("file formats") .
  • file formats data formats
  • the computer system In order to generate an output version of the document, whether as a visual display or printed copy, for example, it is necessary for the computer system to interpret the original data file and to generate an output compatible with the relevant output device (e.g. monitor, or other visual display device, or printer) .
  • this process will involve an application program adapted to interpret the data file, the operating system of the computer, a software "driver" specific to the desired output device and, in some cases (particularly for monitors or other visual display units), additional hardware in the form of an expansion card.
  • the systems and methods described herein include systems that employ an adaptable front end for determining a file-type to associate with the output from a source application and for processing the output, as a function of the file type, to generate a display list that is representative of objects and shapes that represent components within the visual representation of the data.
  • the display list is then processed by a rendering engine, which optionally may be located on an embedded device.
  • the rendering engine processes the components contained within the display list to render an image of the source application's output that may be presented on the display of the device.
  • the adaptable front end determines the file structure of the source being processed, thereby providing a device that may operate with a plurality of different file types and source applications.
  • the rendering engines described herein will provide for progressive rendering of images on the display of the device. This provides a visual display interface that will render images more quickly by having finer features within the representation appear subsequent to the more easily rendered features within the presentation. Additionally, as the system described herein may break a document down into component objects, each of the objects may be processed separately including processing objects with special effects, such as shading, colouring and transparency, thereby providing a layered look to images presented by the system described herein.
  • the systems and methods described herein relate to a digital document processing system comprising: a mechanism for receiving an input bytestream representing source data in one of a plurality of predetermined data formats; an interpreting mechanism for interpreting said bytestream; a converting mechanism for converting interpreted content from said bytestream into an internal representation data format; a processing mechanism for processing said internal representation data so as to generate output representation data adapted to drive an output device.
  • the invention in a second aspect, relates to a graphical user interface for a data processing system in which interactive visual displays employed by the user interface are generated by means of a digital document processing system in accordance with the first aspect of the invention and to data processing systems incorporating such a graphical user interface.
  • the invention relates to various types of device incorporating a digital document processing system in accordance with the first aspect of the invention, including hardware devices, data processing systems and peripheral devices.
  • the invention relates to a graphical user interface for a data processing system, having one or more of a number of novel and/or enhanced features, and to data processing systems incorporating such a graphical user interface.
  • Fig. 1 is a functional block diagram illustrating an embodiment of a digital document processing system in accordance with the present invention
  • Fig. 2 is a functional block diagram that shows the system of the invention in more detail.
  • Fig. 3 is a functional block diagram further illustrating an embodiment of a digital document processing system in accordance with the present invention.
  • Fig. 1 depicts the system 8, a data processor 13 having a plurality of executing processes, a plurality of output source streams 10 and an output display 26.
  • the data processor 13 can be any suitable data processing platform including a conventional data processing platform, such as a PC workstation or a server.
  • the processes executing on the data processor may be any application that produces an output source that is to be, or may be, rendered on a display.
  • the depicted processes may include word processing programs that generate .doc files, which may be presented as pages on a visual display.
  • the processes 13 may include a web server that delivers HTML, XML, streaming multi-media, or PDF files for display by a browser.
  • the depicted output target device 26 may be any suitable device that can act as a display for the source being delivered by the processes .
  • Fig. 1 depicts that the system 8 of the invention can couple to output sources of a plurality of different applications, as well as output sources that differ in format.
  • the system 8 can identify the format of each source and process the source as a function of its format.
  • the processed source can be presented in a format suitable for presentation on the display of the target device 26.
  • Fig. 2 depicts in more detail the system 8 of Fig. 1. Specifically, Fig. 2 depicts a plurality of application sources 10, the system 8 that includes an input module 11, or front end, a plurality of document agent processes 12, a display list 14 representative of an internal representation of the visual image that is associated with the application source 10 being processed, a rendering module 18 and a library of generic object types 19.
  • the adaptive front end 11 includes a plurality of document agents 12.
  • Each document agent 12 can be a software or hardware module that is capable of receiving a stream, such as a Unix stream or a Java stream, that is associated with an application source 10.
  • the document agent 12 can sort through the stream to determine whether the agent 12 recognises the format of that stream. If the format is recognised as belonging to that agent 12, the agent 12 can begin processing fully the input stream.
  • the processing of an output source can include parsing the source to identify tokens within the source representative of the image that is to be displayed. These tokens can include test, fonts, bitmaps and other such identifiers.
  • the front end 11 includes a plurality of different document agents, each being associated with a different format output source.
  • the system of Fig. 2 is a pluripotent processing engine that can display the output source of multiple files.
  • the agent 12 builds a new data file, the display list 14, that encodes the visual image represented by the output source.
  • the display list 14 comprises an internal representation of the visual image.
  • the display list 14 can be passed to the rendering engine 18, which will process the information within the display list to create the visual image on the target output device 26.
  • the document agent 12 builds the internal representation of the visual image, by creating a file that includes a set of pointers to a library of known object types.
  • the rendering engine 18 operates, the library 19 of known object types is referenced and the objects retrieved from the library 19 for display on the target output device 26.
  • Figs. 1 and 2 graphically depict the system 8 as comprising functional block elements, it will be apparent to one of ordinary skill in the art that these elements can be realised as computer programs or portions of computer programs that are capable of running on a data processor platform, such as the target device 26, to thereby configure the data processor as a system according to the invention.
  • These programs can be realised as software components operating on a conventional data processing system such as a Unix workstation, can be implemented as a C language computer program, or a computer program written in any high level language including C++, Fortran, Java or Basic.
  • the systems described herein can be realised as a computer program written in microcode or written in a high level language and compiled down to microcode that can be executed on the platform employed.
  • a digital document processing system 8 embodying the invention, and its method of operation, is illustrated in more detail.
  • the system 8 will process a source document 10 comprising a data file in a known format.
  • the input to the system 8 is a bytestream comprising the content of the source document.
  • An input module 11 identifies the file format of the source document on the basis of any one of a variety of criteria, such as an explicit file-type identification within the document, from the file name (particularly the file name extension) , or from known characteristics of the content of particular file types.
  • the bytestream is input to a "document agent" 12, specific to the file format of the source document.
  • the document agent 12 is adapted to interpret the incoming bytestream and to convert it into a standard format employed by the system 8, resulting in an internal representation 14 of the source data in a "native" format suitable for processing by the system 8.
  • the system 8 will generally include a plurality of different document agents 12, each adapted to process one of a corresponding plurality of predetermined file formats.
  • the system 8 may also be applied to input received from an input device such as a digital camera or scanner.
  • the input bytestream may originate directly from the input device, rather from a "source document” as such.
  • the input bytestream will still be in a predictable data format suitable for processing by the system and, for the purposes of the invention, input received from such an input device may be regarded as a "source document”.
  • the document agent 12 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 instances of the various generic objects within the document.
  • the internal representation may be saved/stored in a file format native to the system and that the range of possible source documents 10 input to the system 8 may include documents in the system's native file format. It is also possible for the internal representation 14 to be converted into any of a range of other file formats if required, using suitable conversion agents (not shown) .
  • the generic objects employed in the internal representation 14 will typically include: text, bitmap graphics and vector graphics (which may or may not be animated and which may be two- or three- dimensional), video, audio, and a variety of types of interactive object such as buttons and icons.
  • the parameters defining specific instances of generic objects will generally include dimensional co-ordinates defining the physical shape, size and location of the object and any relevant temporal data for defining objects whose properties vary with time (allowing the system to deal with dynamic document structures and/or display functions).
  • the parameters will normally also include a font and size to be applied to a character string.
  • Object parameters may also define other properties, such as transparency.
  • 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; e.g. the character string (content) of a text object is separated from the dimensional parameters of the object; the image data (content) of a graphic object is separated from its dimensional parameters.
  • This allows document structures to be defined in a very compact manner and provides the option for content data to be stored remotely and to be fetched by the system only when needed.
  • the internal representation 14 describes the document and its constituent objects in terms of "high-level" descriptions.
  • the internal representation data 14 is input to a parsing and rendering module 18 which generates a context-specific representation 20 or "view" of the document represented by the internal representation 14.
  • the required view may be of the whole document or of part(s) (subset (s)) thereof.
  • the parser/renderer 18 receives view control inputs 40 which define the viewing context and any related temporal parameters of the specific document view which is to be generated. For example, the system may be required to generate a zoomed view of part of a document, and then to pan or scroll the zoomed view to display adjacent portions of the document.
  • the view control inputs 40 are interpreted by the parser/renderer 18 in order 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.
  • the context-specific representation/view 20 is expressed in terms of primitive shapes and parameters .
  • the parser/renderer 18 may also perform additional pre-processing functions on the relevant parts of the internal representation 14 when generating the required view 20 of the source document 10.
  • the view representation 20 is input to a shape processor module 22 for final processing to generate a final output 24, in a format suitable for driving an output device 26 (or multiple output devices) , such as a display device or printer.
  • the pre-processing functions of the parser/renderer 18 may include colour correction, resolution adjustment/enhancement and anti-aliasing.
  • Resolution enhancement may comprise scaling functions which preserve the legibility of the content of objects when displayed or reproduced by the target output device.
  • Resolution adjustment may be context- sensitive; e.g. the display resolution of particular objects may be reduced while the displayed document view is being panned or scrolled and increased when the document view is static.
  • the output representation 20 from the parser/renderer 18 expresses the document in terms of "primitive" objects.
  • the representation 20 preferably defines the object at least in terms of a physical, rectangular boundary box, the actual shape of the object bounded by the boundary box, the data content of the object, and its transparency.
  • the shape processor 22 interprets the representation 20 and converts it into an output frame format 24 appropriate to the target output device 26; e.g. a dot-map for a printer, vector instruction set for a plotter, or bitmap for a display device.
  • An output control input 44 to the shape processor 22 defines the necessary parameters for the shape processor 22 to generate output 24 suitable for a particular output device 26.
  • the shape processor 22 preferably processes the objects defined by the view representation 20 in terms of "shape" (i.e.
  • the shape processor 22 preferably includes an edge buffer which defines the shape of an object in terms of scan-converted pixels, and preferably applies anti-aliasing to the outline shape. Anti-aliasing is preferably performed in a manner determined by the characteristics of the output device 26 (i.e. on the basis of the control input 44), by applying a grey-scale ramp across the object boundary. This approach enables memory efficient shape-clipping and shape-intersection processes.
  • a look-up table may be employed to define multiple tone response curves, allowing non-linear rendering control (gamma correction) .
  • the individual objects processed by the shape processor 22 are combined in the composite output frame 24.
  • the quality of the final output can also be controlled by the user via the output control input 44.
  • the shape processor 22 has a multi-stage pipeline architecture which lends itself to parallel processing of multiple objects, or of multiple documents, or of multiple subsets of one or more document, by using multiple instances of the shape processor pipeline.
  • the pipeline architecture is also easily modified to include additional processing functions (e.g. filter functions) if required.
  • Outputs from multiple shape processors 22 may generate multiple output frames 24 or may be combined in a single output frame 24.
  • the system architecture as a whole also lends itself to parallelism in whole or in part for simultaneous processing of multiple input documents 10a, 10b etc. or subsets of documents, in one or more file formats, via one or more document agents 12, 12a.
  • the integrated, modular nature of the system allows multiple instances of system modules to be spawned within a data processing system or device as and when required, limited only by available processing and memory resources.
  • the potential for flexible parallelism provided by the system as a whole and the shape processor 22 in particular allows the display path for a given device to be optimised for available bandwidth and memory. Display updates and animations may be improved, being quicker and requiring less memory.
  • the object/parameter document model employed is deterministic and consistent.
  • the system is fully scalable and allows multiple instances of the system across multiple CPUs.
  • the parser/renderer 18 and shape processor 22 interact dynamically in response to view control inputs 40, in a manner which optimises the use of available memory and bandwidth. This applies particularly to re-draw functions when driving a visual display, e.g. when the display is being scrolled or panned by a user.
  • the system preferably implements a scalable deferred re-draw model, such that the display resolution of a document view, or of one or more objects within a view, varies dynamically according to the manner in which the display is to be modified. As previously mentioned, this might typically involve an object being displayed at reduced resolution whilst being moved on-screen and being displayed at full resolution when at rest.
  • the system may employ multiple levels of display quality for this purpose. Typically, this will involve pre-built, low resolution bitmap representations of document objects and/or dynamically built and scaled bitmaps, with or without interpolation. This approach provides a highly responsive display which makes best use of available memory/bandwidth.
  • the interaction of the renderer/parser 18 and shape processor 22 preferably also involves dividing the page to be viewed into zones .
  • Each zone has associated with it a list of all objects contained within or overlapping that zone. Re-draws can then be processed on the basis of the zones, so that the system need only process objects associated with the relevant zones affected by the re-draw. This approach facilitates parallel processing and improves efficiency and reduces redundancy.
  • the use of zones also facilitates the use of the system to generate different outputs for different display devices (e.g. for generating a composite/mosaic output for display by an array of separate display screens) .
  • an off-screen buffer will cover an area larger than the immediate display area, allowing a limited degree of panning/scrolling within the buffer area, but the entire buffer has to be re-centred and re-built when the required display moves outwith these limits.
  • the system improves the efficiency of such buffering processes by defining the buffer content as an array of tiles, indexed in an ordered list. When the required display view moves outwith the buffer area, it is then only necessary to discard those tiles which are no longer required, build new tiles to cover the new area of the display and update the tile list.
  • zoning and tiling schemes described above are independent in principle but may be combined advantageously; i.e. zones may correlate with one or more tiles. Again this facilitates parallelism and optimises use of system resources.
  • the system preferably employs a device-independent colour model, suitably a luminance/chrominance model such as the CIE L*a*b* 1976 model.
  • a device-independent colour model suitably a luminance/chrominance model such as the CIE L*a*b* 1976 model. This reduces redundancy in graphic objects, improves data compressibility and improves consistency of colour output between different output devices.
  • Device- dependent colour correction can be applied on the basis of the device-dependent control input 44 to the shape processor 22.
  • the system 8 may be incorporated into a variety of types of data processing systems and devices, and into peripheral devices, in a number of different ways .
  • the system of the present invention may be incorporated alongside the operating system and applications of the host system or may be incorporated fully or partially into the host operating system.
  • 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.
  • This class of data processing devices requires small size, low power processors for portability. Typically, this requires the use of advanced RISC-type core processors designed into ASICs (application specific integrated circuits) , in order that the electronics package is as small and highly integrated as possible.
  • ASICs application specific integrated circuits
  • This type of device also has limited random access memory and typically has no non-volatile data store (e.g. hard disk) .
  • the system of the present invention may be integrated at the BIOS level of portable data processing devices to enable document processing and output with much lower overheads than conventional system models.
  • the invention may be implemented at the lowest system level just above the transport protocol stack.
  • the system may be incorporated into a network device (card) or system, to provide in-line processing of network traffic (e.g. working at the packet level in a TCP/IP system) .
  • the system of the invention is configured to operate with a predetermined set of data file formats and particular output devices; e.g. the visual display unit of the device and/or at least one type of printer.
  • portable data processing devices which may employ the present system include "palmtop" computers, portable digital assistants (PDAs, including tablet-type PDAs in which the primary user interface comprises a graphical display with which the user interacts directly by means of a stylus device) , internet-enabled mobile telephones and other communications devices, etc.
  • the system may also be incorporated into low cost data processing terminals such as enhanced telephones and "thin” network client terminals (e.g. network terminals with limited local processing and storage resources), and "set-top boxes" for use in interactive/internet-enabled cable TV systems.
  • low cost data processing terminals such as enhanced telephones and "thin” network client terminals (e.g. network terminals with limited local processing and storage resources), and "set-top boxes" for use in interactive/internet-enabled cable TV systems.
  • GUI graphical user interface
  • OS operating system
  • Documents processed and displayed by the system may include interactive features such as menus, buttons, icons etc. which provide the user interface to the underlying functions of the operating system.
  • GUI graphical user interface
  • a complete OS/GUI may be expressed, processed and displayed in terms of system "documents".
  • the OS/GUI could comprise a single document with multiple "chapters”.
  • the system enables and/or facilitates a variety of novel and/or enhanced GUI features, including, but not limited to, the following:
  • thumbnail images of documents for navigation purposes and for recording user activities (history); e.g. when browsing network content .
  • Document interaction functions and gesture- based commands using pointing devices and/or touch- screen technology e.g.: allowing document interaction by means of gestures analogous to actions used with physical documents or books, such as dragging a pointer across a page in order to turn the page ("page-flipping"), dragging a pointer to curl back the corner of a page to view underlying parts of succeeding pages ("page curl”); allowing tool selection by dragging tools from toolbars and de-selection by dragging tools to predetermined parts of the display; symbolic cursor movements to indicate particular OS commands, such as "tick", “cross- out” and “circle” movements for "OK”, “delete” and “select”; editing commands based on conventional "proof-readers” notation; - Re-formatting document views by rotation or switching between landscape and portrait formats; - Utilities and tools such as: a
  • GUI features of this type provide new or enhanced functionality and/or improve the subjective quality of the user interface.
  • the system of the present invention may also be incorporated into peripheral devices such as hardcopy devices (printers and plotters) , display devices (such as digital projectors), networking devices, input devices (cameras, scanners etc.) and also multi-function peripherals (MFPs) .
  • peripheral devices such as hardcopy devices (printers and plotters) , display devices (such as digital projectors), networking devices, input devices (cameras, scanners etc.) and also multi-function peripherals (MFPs) .
  • the system When incorporated into a printer, the system enables the printer to receive raw data files from the host data processing system and to reproduce the content of the original data file correctly, without the need for particular applications or drivers provided by the host system. This avoids the need to configure a computer system to drive a particular type of printer.
  • the present system directly generates a dot-mapped image of the source document suitable for output by the printer (this is true whether the system is incorporated into the printer itself or into the host system) . Similar considerations apply to other hardcopy devices such as plotters.
  • Peripheral devices of these types when equipped with the present system, may receive and output data files from any source, via any type of data communications network.
  • system of the present invention may be "hard-wired; e.g. implemented in ROM and/or integrated into ASICs or other single-chip systems, or may be implemented as firmware (programmable ROM such as flashable ePROM) , or as software, being stored locally or remotely and being fetched and executed as required by a particular device. Improvements and modifications may be incorporated without departing from the scope of the present invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Graphics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Processing Or Creating Images (AREA)
  • Document Processing Apparatus (AREA)
  • User Interface Of Digital Computer (AREA)
  • Communication Control (AREA)
  • Record Information Processing For Printing (AREA)

Abstract

A digital document processing system receives an input bytestream representing source data in one of a plurality of predetermined data formats, interprets the bytestream, converts interpreted content from the bytestream into an internal representation data format, and processes the internal representation data so as to generate output representation data adapted to drive an output device such as a visual display or a printer. The system has an adaptable front end for receiving the input stream to generate the internal representation of said visual image and a rendering engine for processing the internal representation and for generating an output data stream suitable for driving the output device.

Description

"Digital Document Processing"
Field of the Invention
The invention relates to data processing systems. More particularly, the invention relates to methods and systems for processing "digital documents" (as defined herein) and to devices incorporating such methods and systems. In general terms, the invention is concerned with generating an output representation of a source document; e.g. as a visual display or as hardcopy.
Background to the Invention
As used herein, the term "digital document" is used to describe a digital representation of any type of data processed by a data processing system which is intended, ultimately, to be output in some form, in whole or in part, to a human user, typically by being displayed or reproduced visually (e.g. by means of a visual display unit or printer) , or by text-to-speech conversion, etc. A digital document may include any features capable of representation, including but not limited to the following: text; graphical images; animated graphical images; full motion video images; interactive icons, buttons, menus or hyperlinks . A digital document may also include non-visual elements such as audio (sound) elements .
Data processing systems, such as personal computer systems, are typically required to process "digital documents", which may originate from any one of a number of local or remote sources and which may exist in any one of a wide variety of data formats ("file formats") . In order to generate an output version of the document, whether as a visual display or printed copy, for example, it is necessary for the computer system to interpret the original data file and to generate an output compatible with the relevant output device (e.g. monitor, or other visual display device, or printer) . In general, this process will involve an application program adapted to interpret the data file, the operating system of the computer, a software "driver" specific to the desired output device and, in some cases (particularly for monitors or other visual display units), additional hardware in the form of an expansion card.
This conventional approach to the processing of digital documents in order to generate an output is inefficient in terms of hardware resources, software overheads and processing time, and is completely unsuitable for low power, portable data processing systems, including wireless telecommunication systems, or for low cost data processing systems such as network terminals, etc. Other problems are encountered in conventional digital document processing systems, including the need to configure multiple system components (including both hardware and software components) to interact in the desired manner, and inconsistencies in the processing of identical source material by different systems (e.g. differences in formatting, colour reproduction, etc) . In addition, the conventional approach to digital document processing is unable to exploit the commonality and/or re-usability of file format components.
Summary of the Invention
It is an object of the present invention to provide digital document processing methods and systems, and devices incorporating such methods and systems, which obviate or mitigate the aforesaid disadvantages of conventional methods and systems.
The invention, in its various aspects, is defined in the Claims appended hereto. Further aspects and features of the invention will be apparent from the following description.
The systems and methods described herein include systems that employ an adaptable front end for determining a file-type to associate with the output from a source application and for processing the output, as a function of the file type, to generate a display list that is representative of objects and shapes that represent components within the visual representation of the data. The display list is then processed by a rendering engine, which optionally may be located on an embedded device. The rendering engine processes the components contained within the display list to render an image of the source application's output that may be presented on the display of the device. As will be described below, the adaptable front end determines the file structure of the source being processed, thereby providing a device that may operate with a plurality of different file types and source applications.
Additionally and optionally, the rendering engines described herein will provide for progressive rendering of images on the display of the device. This provides a visual display interface that will render images more quickly by having finer features within the representation appear subsequent to the more easily rendered features within the presentation. Additionally, as the system described herein may break a document down into component objects, each of the objects may be processed separately including processing objects with special effects, such as shading, colouring and transparency, thereby providing a layered look to images presented by the system described herein. In a first aspect, the systems and methods described herein relate to a digital document processing system comprising: a mechanism for receiving an input bytestream representing source data in one of a plurality of predetermined data formats; an interpreting mechanism for interpreting said bytestream; a converting mechanism for converting interpreted content from said bytestream into an internal representation data format; a processing mechanism for processing said internal representation data so as to generate output representation data adapted to drive an output device.
In a second aspect, the invention relates to a graphical user interface for a data processing system in which interactive visual displays employed by the user interface are generated by means of a digital document processing system in accordance with the first aspect of the invention and to data processing systems incorporating such a graphical user interface.
In further aspects, the invention relates to various types of device incorporating a digital document processing system in accordance with the first aspect of the invention, including hardware devices, data processing systems and peripheral devices. In still another aspect, the invention relates to a graphical user interface for a data processing system, having one or more of a number of novel and/or enhanced features, and to data processing systems incorporating such a graphical user interface.
Embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawing.
Brief Description of the Drawing
The foregoing and other objects and advantages of the invention will be appreciated more fully from the following further description thereof, with reference to the accompanying drawings, wherein:
Fig. 1 is a functional block diagram illustrating an embodiment of a digital document processing system in accordance with the present invention;
Fig. 2 is a functional block diagram that shows the system of the invention in more detail; and
Fig. 3 is a functional block diagram further illustrating an embodiment of a digital document processing system in accordance with the present invention.
Detailed Description of the Preferred Embodiments The systems and methods described herein will now be described with reference to several illustrative applications and embodiments, including embodiments that are well suited for identifying a file type associated with a source application's output, such as a document produced by a word processing application, to generate a representation of the visual display of that output, wherein the representation is presented in an abstract form that may be rendered by a rendering engine adapted for a particular platform, such as a hand-held device. However, the systems and methods described herein are merely illustrative of certain embodiments of the invention, and are not to be understood as limiting in any way.
Turning now to Fig. 1, one system 8 according to the invention is depicted. Specifically, Fig. 1 depicts the system 8, a data processor 13 having a plurality of executing processes, a plurality of output source streams 10 and an output display 26. The data processor 13 can be any suitable data processing platform including a conventional data processing platform, such as a PC workstation or a server. The processes executing on the data processor may be any application that produces an output source that is to be, or may be, rendered on a display. For example, the depicted processes may include word processing programs that generate .doc files, which may be presented as pages on a visual display. Similarly, the processes 13 may include a web server that delivers HTML, XML, streaming multi-media, or PDF files for display by a browser. The depicted output target device 26 may be any suitable device that can act as a display for the source being delivered by the processes .
Accordingly, Fig. 1 depicts that the system 8 of the invention can couple to output sources of a plurality of different applications, as well as output sources that differ in format. The system 8 can identify the format of each source and process the source as a function of its format. The processed source can be presented in a format suitable for presentation on the display of the target device 26.
Fig. 2 depicts in more detail the system 8 of Fig. 1. Specifically, Fig. 2 depicts a plurality of application sources 10, the system 8 that includes an input module 11, or front end, a plurality of document agent processes 12, a display list 14 representative of an internal representation of the visual image that is associated with the application source 10 being processed, a rendering module 18 and a library of generic object types 19.
The adaptive front end 11 includes a plurality of document agents 12. Each document agent 12 can be a software or hardware module that is capable of receiving a stream, such as a Unix stream or a Java stream, that is associated with an application source 10. The document agent 12 can sort through the stream to determine whether the agent 12 recognises the format of that stream. If the format is recognised as belonging to that agent 12, the agent 12 can begin processing fully the input stream. The processing of an output source can include parsing the source to identify tokens within the source representative of the image that is to be displayed. These tokens can include test, fonts, bitmaps and other such identifiers.
In the depicted embodiment, the front end 11 includes a plurality of different document agents, each being associated with a different format output source. By providing a plurality of document agents and by allowing each document agent 12 to examine the output source that is to be processed, the system of Fig. 2 is a pluripotent processing engine that can display the output source of multiple files.
As the document agent 12 processes the output stream, the agent 12 builds a new data file, the display list 14, that encodes the visual image represented by the output source. The display list 14 comprises an internal representation of the visual image. The display list 14 can be passed to the rendering engine 18, which will process the information within the display list to create the visual image on the target output device 26. To this end, the document agent 12 builds the internal representation of the visual image, by creating a file that includes a set of pointers to a library of known object types. When the rendering engine 18 operates, the library 19 of known object types is referenced and the objects retrieved from the library 19 for display on the target output device 26.
Although Figs. 1 and 2 graphically depict the system 8 as comprising functional block elements, it will be apparent to one of ordinary skill in the art that these elements can be realised as computer programs or portions of computer programs that are capable of running on a data processor platform, such as the target device 26, to thereby configure the data processor as a system according to the invention. These programs can be realised as software components operating on a conventional data processing system such as a Unix workstation, can be implemented as a C language computer program, or a computer program written in any high level language including C++, Fortran, Java or Basic. Additionally, in an embodiment where microcontrollers or DSPs are employed, the systems described herein can be realised as a computer program written in microcode or written in a high level language and compiled down to microcode that can be executed on the platform employed.
Referring now to Fig. 3 of the the drawings, a digital document processing system 8 embodying the invention, and its method of operation, is illustrated in more detail. In general terms, the system 8 will process a source document 10 comprising a data file in a known format. The input to the system 8 is a bytestream comprising the content of the source document. An input module 11 identifies the file format of the source document on the basis of any one of a variety of criteria, such as an explicit file-type identification within the document, from the file name (particularly the file name extension) , or from known characteristics of the content of particular file types. The bytestream is input to a "document agent" 12, specific to the file format of the source document. The document agent 12 is adapted to interpret the incoming bytestream and to convert it into a standard format employed by the system 8, resulting in an internal representation 14 of the source data in a "native" format suitable for processing by the system 8. The system 8 will generally include a plurality of different document agents 12, each adapted to process one of a corresponding plurality of predetermined file formats.
The system 8 may also be applied to input received from an input device such as a digital camera or scanner. In this case the input bytestream may originate directly from the input device, rather from a "source document" as such. However, the input bytestream will still be in a predictable data format suitable for processing by the system and, for the purposes of the invention, input received from such an input device may be regarded as a "source document".
The document agent 12 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 instances of the various generic objects within the document. It will be understood that the internal representation may be saved/stored in a file format native to the system and that the range of possible source documents 10 input to the system 8 may include documents in the system's native file format. It is also possible for the internal representation 14 to be converted into any of a range of other file formats if required, using suitable conversion agents (not shown) .
The generic objects employed in the internal representation 14 will typically include: text, bitmap graphics and vector graphics (which may or may not be animated and which may be two- or three- dimensional), video, audio, and a variety of types of interactive object such as buttons and icons. The parameters defining specific instances of generic objects will generally include dimensional co-ordinates defining the physical shape, size and location of the object and any relevant temporal data for defining objects whose properties vary with time (allowing the system to deal with dynamic document structures and/or display functions). For text objects, the parameters will normally also include a font and size to be applied to a character string. Object parameters may also define other properties, such as transparency.
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; e.g. the character string (content) of a text object is separated from the dimensional parameters of the object; the image data (content) of a graphic object is separated from its dimensional parameters. This allows document structures to be defined in a very compact manner and provides the option for content data to be stored remotely and to be fetched by the system only when needed.
The internal representation 14 describes the document and its constituent objects in terms of "high-level" descriptions.
The internal representation data 14 is input to a parsing and rendering module 18 which generates a context-specific representation 20 or "view" of the document represented by the internal representation 14. The required view may be of the whole document or of part(s) (subset (s)) thereof. The parser/renderer 18 receives view control inputs 40 which define the viewing context and any related temporal parameters of the specific document view which is to be generated. For example, the system may be required to generate a zoomed view of part of a document, and then to pan or scroll the zoomed view to display adjacent portions of the document. The view control inputs 40 are interpreted by the parser/renderer 18 in order 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.
The context-specific representation/view 20 is expressed in terms of primitive shapes and parameters .
The parser/renderer 18 may also perform additional pre-processing functions on the relevant parts of the internal representation 14 when generating the required view 20 of the source document 10. The view representation 20 is input to a shape processor module 22 for final processing to generate a final output 24, in a format suitable for driving an output device 26 (or multiple output devices) , such as a display device or printer.
The pre-processing functions of the parser/renderer 18 may include colour correction, resolution adjustment/enhancement and anti-aliasing. Resolution enhancement may comprise scaling functions which preserve the legibility of the content of objects when displayed or reproduced by the target output device. Resolution adjustment may be context- sensitive; e.g. the display resolution of particular objects may be reduced while the displayed document view is being panned or scrolled and increased when the document view is static.
There may be a feedback path 42 between the renderer/parser 18 and the internal representation 14; e.g. for the purpose of triggering 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 multi-frame animation.
The output representation 20 from the parser/renderer 18 expresses the document in terms of "primitive" objects. For each document object, the representation 20 preferably defines the object at least in terms of a physical, rectangular boundary box, the actual shape of the object bounded by the boundary box, the data content of the object, and its transparency.
The shape processor 22 interprets the representation 20 and converts it into an output frame format 24 appropriate to the target output device 26; e.g. a dot-map for a printer, vector instruction set for a plotter, or bitmap for a display device. An output control input 44 to the shape processor 22 defines the necessary parameters for the shape processor 22 to generate output 24 suitable for a particular output device 26. The shape processor 22 preferably processes the objects defined by the view representation 20 in terms of "shape" (i.e. the outline shape of the object), "fill" (the data content of the object) and "alpha" (the transparency of the object) , performs scaling and clipping appropriate to the required view and output device, and expresses the object in terms appropriate to the output device (typically in terms of pixels by scan conversion or the like, for most types of display device or printer) .
The shape processor 22 preferably includes an edge buffer which defines the shape of an object in terms of scan-converted pixels, and preferably applies anti-aliasing to the outline shape. Anti-aliasing is preferably performed in a manner determined by the characteristics of the output device 26 (i.e. on the basis of the control input 44), by applying a grey-scale ramp across the object boundary. This approach enables memory efficient shape-clipping and shape-intersection processes.
A look-up table may be employed to define multiple tone response curves, allowing non-linear rendering control (gamma correction) .
The individual objects processed by the shape processor 22 are combined in the composite output frame 24. The quality of the final output can also be controlled by the user via the output control input 44. The shape processor 22 has a multi-stage pipeline architecture which lends itself to parallel processing of multiple objects, or of multiple documents, or of multiple subsets of one or more document, by using multiple instances of the shape processor pipeline. The pipeline architecture is also easily modified to include additional processing functions (e.g. filter functions) if required. Outputs from multiple shape processors 22 may generate multiple output frames 24 or may be combined in a single output frame 24.
The system architecture is modular in nature. This enables, for example, further document agents to be added as and when required, to deal with additional source file formats. The modular architecture also allows individual modules such as the library 16, parser/renderer 18 or shape processor 22 to be modified or upgraded without requiring changes to other modules.
The system architecture as a whole also lends itself to parallelism in whole or in part for simultaneous processing of multiple input documents 10a, 10b etc. or subsets of documents, in one or more file formats, via one or more document agents 12, 12a. The integrated, modular nature of the system allows multiple instances of system modules to be spawned within a data processing system or device as and when required, limited only by available processing and memory resources. The potential for flexible parallelism provided by the system as a whole and the shape processor 22 in particular allows the display path for a given device to be optimised for available bandwidth and memory. Display updates and animations may be improved, being quicker and requiring less memory. The object/parameter document model employed is deterministic and consistent. The system is fully scalable and allows multiple instances of the system across multiple CPUs.
The parser/renderer 18 and shape processor 22 interact dynamically in response to view control inputs 40, in a manner which optimises the use of available memory and bandwidth. This applies particularly to re-draw functions when driving a visual display, e.g. when the display is being scrolled or panned by a user.
Firstly, the system preferably implements a scalable deferred re-draw model, such that the display resolution of a document view, or of one or more objects within a view, varies dynamically according to the manner in which the display is to be modified. As previously mentioned, this might typically involve an object being displayed at reduced resolution whilst being moved on-screen and being displayed at full resolution when at rest. The system may employ multiple levels of display quality for this purpose. Typically, this will involve pre-built, low resolution bitmap representations of document objects and/or dynamically built and scaled bitmaps, with or without interpolation. This approach provides a highly responsive display which makes best use of available memory/bandwidth.
The interaction of the renderer/parser 18 and shape processor 22 preferably also involves dividing the page to be viewed into zones . Each zone has associated with it a list of all objects contained within or overlapping that zone. Re-draws can then be processed on the basis of the zones, so that the system need only process objects associated with the relevant zones affected by the re-draw. This approach facilitates parallel processing and improves efficiency and reduces redundancy. The use of zones also facilitates the use of the system to generate different outputs for different display devices (e.g. for generating a composite/mosaic output for display by an array of separate display screens) .
The ability to process transparent objects is a significant feature of the system. However, this necessitates the use of off-screen buffering in the shape processor 22 in order to assemble a final output frame. Typically, an off-screen buffer will cover an area larger than the immediate display area, allowing a limited degree of panning/scrolling within the buffer area, but the entire buffer has to be re-centred and re-built when the required display moves outwith these limits. Preferably, the system improves the efficiency of such buffering processes by defining the buffer content as an array of tiles, indexed in an ordered list. When the required display view moves outwith the buffer area, it is then only necessary to discard those tiles which are no longer required, build new tiles to cover the new area of the display and update the tile list. This is faster and more efficient than conventional buffering processes and facilitates the use of multiple buffering and off-screen caching. It also facilitates interruptable re-draw functions (e.g. so that a current re-draw may be interrupted and a new re-draw initiated in response to user input) .
The zoning and tiling schemes described above are independent in principle but may be combined advantageously; i.e. zones may correlate with one or more tiles. Again this facilitates parallelism and optimises use of system resources.
The system preferably employs a device-independent colour model, suitably a luminance/chrominance model such as the CIE L*a*b* 1976 model. This reduces redundancy in graphic objects, improves data compressibility and improves consistency of colour output between different output devices. Device- dependent colour correction can be applied on the basis of the device-dependent control input 44 to the shape processor 22.
Fig. 2 shows the system having an input end at which the source bytestream is received and an output end where the final output frame 24 is output from the system. However, it will be understood that the system may include intermediate inputs and outputs at other intermediate stages, such as for fetching data content or for saving/converting data generated in the course of the process.
The system 8 may be incorporated into a variety of types of data processing systems and devices, and into peripheral devices, in a number of different ways .
In a general purpose data processing system (the "host system"), the system of the present invention may be incorporated alongside the operating system and applications of the host system or may be incorporated fully or partially into the host operating system.
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. This class of data processing devices requires small size, low power processors for portability. Typically, this requires the use of advanced RISC-type core processors designed into ASICs (application specific integrated circuits) , in order that the electronics package is as small and highly integrated as possible. This type of device also has limited random access memory and typically has no non-volatile data store (e.g. hard disk) . Conventional operating system models, such as are employed in standard desktop computing systems (PCs) , require high powered central processors and large amounts of memory in order to process digital documents and generate useful output, and are entirely unsuited for this type of data processing device. In particular, conventional systems do not provide for the processing of multiple file formats in an integrated manner. By contrast, the present invention utilises common processes and pipelines for all file formats, thereby providing a highly integrated document processing system which is extremely efficient in terms of power consumption and usage of system resources .
The system of the present invention may be integrated at the BIOS level of portable data processing devices to enable document processing and output with much lower overheads than conventional system models. Alternatively, the invention may be implemented at the lowest system level just above the transport protocol stack. For example, the system may be incorporated into a network device (card) or system, to provide in-line processing of network traffic (e.g. working at the packet level in a TCP/IP system) .
In a particular device, the system of the invention is configured to operate with a predetermined set of data file formats and particular output devices; e.g. the visual display unit of the device and/or at least one type of printer. Examples of portable data processing devices which may employ the present system include "palmtop" computers, portable digital assistants (PDAs, including tablet-type PDAs in which the primary user interface comprises a graphical display with which the user interacts directly by means of a stylus device) , internet-enabled mobile telephones and other communications devices, etc.
The system may also be incorporated into low cost data processing terminals such as enhanced telephones and "thin" network client terminals (e.g. network terminals with limited local processing and storage resources), and "set-top boxes" for use in interactive/internet-enabled cable TV systems.
When integrated with the operating system of a data processing system, the system of the present invention may also form the basis of a novel graphical user interface (GUI) for the operating system (OS) . Documents processed and displayed by the system may include interactive features such as menus, buttons, icons etc. which provide the user interface to the underlying functions of the operating system. By extension, a complete OS/GUI may be expressed, processed and displayed in terms of system "documents". The OS/GUI could comprise a single document with multiple "chapters". The system enables and/or facilitates a variety of novel and/or enhanced GUI features, including, but not limited to, the following:
- The use of thumbnail images of documents for navigation purposes and for recording user activities (history); e.g. when browsing network content . - Document interaction functions and gesture- based commands using pointing devices and/or touch- screen technology; e.g.: allowing document interaction by means of gestures analogous to actions used with physical documents or books, such as dragging a pointer across a page in order to turn the page ("page-flipping"), dragging a pointer to curl back the corner of a page to view underlying parts of succeeding pages ("page curl"); allowing tool selection by dragging tools from toolbars and de-selection by dragging tools to predetermined parts of the display; symbolic cursor movements to indicate particular OS commands, such as "tick", "cross- out" and "circle" movements for "OK", "delete" and "select"; editing commands based on conventional "proof-readers" notation; - Re-formatting document views by rotation or switching between landscape and portrait formats; - Utilities and tools such as: a floating virtual "magnifying glass" which magnifies the underlying document area, in which the magnified view is based on the internal representation 14 of the source document rather than on a bitmap representation of the document and which may modify document parameters such as background and/or foreground colours; a floating virtual, translucent keyboard for text input using a pointing device/touch screen; a floating, virtual, translucent ruler which is re-scalable using any of a variety of user- selectable units. - Alternative menu or "tabbed page" drag out/pull down functions . - Simulation of physical inertia/momentum applied to page scrolling/panning functions (e.g. when a zoomed display of a page is dragged to scroll the display and released, the moving display decelerates gradually after release) .
GUI features of this type provide new or enhanced functionality and/or improve the subjective quality of the user interface.
The system of the present invention may also be incorporated into peripheral devices such as hardcopy devices (printers and plotters) , display devices (such as digital projectors), networking devices, input devices (cameras, scanners etc.) and also multi-function peripherals (MFPs) .
When incorporated into a printer, the system enables the printer to receive raw data files from the host data processing system and to reproduce the content of the original data file correctly, without the need for particular applications or drivers provided by the host system. This avoids the need to configure a computer system to drive a particular type of printer. The present system directly generates a dot-mapped image of the source document suitable for output by the printer (this is true whether the system is incorporated into the printer itself or into the host system) . Similar considerations apply to other hardcopy devices such as plotters.
When incorporated into a display device, such as a projector, the system again enables the device to display the content of the original data file correctly without the use of applications or drivers on the host system, and without the need for specific configuration of the host system and/or display device. Peripheral devices of these types, when equipped with the present system, may receive and output data files from any source, via any type of data communications network.
From the foregoing, it will be understood that the system of the present invention may be "hard-wired; e.g. implemented in ROM and/or integrated into ASICs or other single-chip systems, or may be implemented as firmware (programmable ROM such as flashable ePROM) , or as software, being stored locally or remotely and being fetched and executed as required by a particular device. Improvements and modifications may be incorporated without departing from the scope of the present invention.

Claims

Claims
1. A digital document processing system comprising: means for receiving an input bytestream representing source data in one of a plurality of predetermined data formats; interpreting means for interpreting said bytestream; converting means for converting interpreted content from said bytestream into an internal representation data format; means for processing said internal representation data so as to generate output representation data adapted to drive an output device.
2. A digital document processing system, comprising: an adaptable front end for receiving an input stream representing source data in one of a plurality of predetermined data formats and containing information representative of a visual image; an interpreting module for interpreting said input stream to generate an internal representation of said visual image; and a rendering engine for processing said internal representation and for generating an output data stream suitable for driving an output device to present the visual image.
3. A system as claimed in Claim 2, wherein said adaptable front end includes a process for monitoring a data stream and for identifying files in any of the formats from the set consisting of HTML, XML, PDF, DOC, RM, VRML and SGML.
4. A system as claimed in any of Claims 1 to 3 , wherein said source data defines the content and structure of a digital document, and wherein said internal representation data describes said structure in terms of generic objects defining a plurality of data types and parameters defining properties of specific instances of generic objects, separately from said content.
5. A system as claimed in Claim 4, further including a library of generic object types, said internal representation data being based on the content of said library.
6. A system as claimed in Claim 4 or Claim 5, including a parsing and rendering module adapted to generate an object and parameter based representation of a specific view of at least part of said internal representation data, on the basis of a first control input to said parsing and rendering module.
7. A system as defined in Claim 6, further including a shape processing module adapted to receive said object and parameter based representation of said specific view from said parsing and rendering module and to convert said object and parameter based representation into an output data format suitable for driving a particular output device.
8. A system as claimed in Claim 7, wherein said shape processing module processes said objects on the basis of a boundary box defining the boundary of an object, a shape defining the actual shape of the object bounded by the boundary box, the data content of the object and the transparency of the object.
9. A system as claimed in Claim 8, wherein said shape processor is adapted to apply grey-scale anti-aliasing to the edges of said objects.
10. A system as claimed in Claim 7, Claim 8 or Claim 9, wherein said shape processing module has a pipeline architecture.
11. A system as claimed in any one of Claims 7 to 10, wherein said shape processor employs at least one off- screen display buffer to generate said output data and wherein said at least one off-screen display buffer is defined by an indexed array of tiles.
12. A system as defined in Claim 11, wherein updating of the content of said at least one off-screen display buffer is performed by removing selected tiles from said array, adding new tiles to said array, and up- dating the indexing of said tiles.
13. A system as claimed in any one of Claims 7 to 12, wherein said parsing and rendering module is adapted to define at least part of said internal representation data it terms of a plurality of zones, each zone having an associated list of objects contained within and overlapping said zone, and said shape processor is adapted to process said object and parameter based representation on the basis of said zones and associated lists.
14. A system as claimed in any one of Claims 7 to 13, wherein the quality of a display view represented by said output data may be varied dependent on said first control input.
15. A system as claimed in Claim 14, wherein the quality of said display view may be varied in multiple steps.
16. A system as claimed in any one of Claims 4 to 14, wherein said object parameters include dimensional, physical and temporal parameters.
17. A system as claimed in any preceding Claim, wherein the system employs a chrominance/luminance- based colour model to describe colour data.
18. A system as claimed in any preceding Claim, 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.
19. A graphical user interface for a data processing system in which interactive visual displays employed by the user interface are generated by means of a digital document processing system as claimed in any one of Claims 1 to 18.
20. A data processing device incorporating a graphical user interface as claimed in Claim 19.
21. A hardware device for data processing and/or storage encoding a digital document processing system as claimed in any one of Claims 1 to 18.
22. A hardware device as claimed in Claim 21, further including a core processor system.
23. A hardware device as claimed in Claim 22, wherein said core processor is a RISC processor.
24. A data processing system including a digital document processing system as claimed in any one of Claims 1 to 18.
25. A data processing system as claimed in Claim 24, wherein said data processing system comprises a portable data processing device.
26. A data processing system as claimed in Claim 25, wherein said portable data processing device comprises a wireless telecommunications device.
27. A data processing system as claimed in Claim 24, wherein said data processing system comprises a network user-terminal.
28. A peripheral device for use with a data processing system, including a digital document processing system as claimed in any one of Claims 1 to 18.
29. A peripheral device as claimed in Claim 28, wherein said peripheral device is a visual display device.
30. A peripheral device as claimed in Claim 28, wherein said peripheral device is a hardcopy output device.
31. A peripheral device as claimed in Claim 28, wherein said peripheral device is an input device.
32. A peripheral device as claimed in Claim 28, wherein said peripheral device is a network device.
33. A peripheral device as claimed in Claim 28, wherein said peripheral device is a multi-function peripheral device.
34. A graphical user interface for a data processing system, including at least one of the following features: - the use of thumbnail images of documents for navigation purposes and for recording user activities; - document interaction functions and gesture-based commands using pointing devices and/or touch-screen technology, including document interaction by means of gestures analogous to actions used with physical documents or books; - tool selection by dragging tools from toolbars and de-selection by dragging tools to predetermined parts of the display; - symbolic cursor movements to indicate commands; - re-formatting document views by rotation or switching between landscape and portrait formats; - alternative menu or "tabbed page" drag out/pull down functions. - simulated physical inertia/momentum applied to page scrolling/panning functions.
35. A graphical user interface for a data processing system, including at least one of the following utilities/tools: - a floating virtual magnifying glass adapted to magnify an underlying document area, in which the magnified view is based on source document data; - a floating virtual, translucent keyboard for text input using a pointing device/touch screen; - a floating, virtual, translucent ruler which is re-scalable using any of a variety of user- selectable units.
36. A data processing system incorporating a graphical user interface as claimed in Claim 34 or Claim 35.
PCT/GB2001/001678 2000-04-14 2001-04-17 Digital document processing WO2001079984A1 (en)

Priority Applications (13)

Application Number Priority Date Filing Date Title
GBGB0009129.8A GB0009129D0 (en) 2000-04-14 2000-04-14 Digital document processing
ES01921577T ES2266185T3 (en) 2000-04-14 2001-04-17 PROCESSING OF DIGITAL DOCUMENTS.
EP04013996.6A EP1457872B1 (en) 2000-04-14 2001-04-17 Digital document processing
CNB018080073A CN1279430C (en) 2000-04-14 2001-04-17 Digital document processing
AT01921577T ATE330276T1 (en) 2000-04-14 2001-04-17 DIGITAL DOCUMENT PROCESSING
EP01921577A EP1272922B1 (en) 2000-04-14 2001-04-17 Digital document processing
AU48551/01A AU4855101A (en) 2000-04-14 2001-04-17 Digital document processing
DE60120670T DE60120670T2 (en) 2000-04-14 2001-04-17 DIGITAL DOCUMENT PROCESSING
CN2006101543439A CN1924794B (en) 2000-04-14 2001-04-17 Digital document processing system, data processing system and peripheral equipment
KR1020077004359A KR100799019B1 (en) 2000-04-14 2001-04-17 Digital document processing
PCT/GB2001/001678 WO2001079984A1 (en) 2000-04-14 2001-04-17 Digital document processing
JP2001576584A JP2003531429A (en) 2000-04-14 2001-04-17 Digital document processing
HK03108956A HK1056636A1 (en) 2000-04-14 2003-12-10 Digital document processing system, data processing system and peripheral device

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
GBGB0009129.8A GB0009129D0 (en) 2000-04-14 2000-04-14 Digital document processing
GB0009129.8 2000-04-14
US09/703,502 US7055095B1 (en) 2000-04-14 2000-10-31 Systems and methods for digital document processing
US09/703,502 2000-10-31
PCT/GB2001/001678 WO2001079984A1 (en) 2000-04-14 2001-04-17 Digital document processing

Publications (1)

Publication Number Publication Date
WO2001079984A1 true WO2001079984A1 (en) 2001-10-25

Family

ID=38666814

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/GB2001/001678 WO2001079984A1 (en) 2000-04-14 2001-04-17 Digital document processing

Country Status (10)

Country Link
EP (2) EP1272922B1 (en)
JP (1) JP2003531429A (en)
CN (2) CN1924794B (en)
AT (1) ATE330276T1 (en)
AU (1) AU4855101A (en)
DE (1) DE60120670T2 (en)
ES (1) ES2266185T3 (en)
GB (1) GB0009129D0 (en)
HK (1) HK1056636A1 (en)
WO (1) WO2001079984A1 (en)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1667012A2 (en) 2004-12-03 2006-06-07 Picsel (Research) Ltd. Data processing devices and systems with enhanced user interfaces
CN1318950C (en) * 2002-08-05 2007-05-30 佳能株式会社 Image supply apparatus, control method therefor, and printing system
US7844889B2 (en) 2000-06-12 2010-11-30 Softview Llc Resolution independent display of internet content
US20110138012A1 (en) * 2001-04-04 2011-06-09 At&T Intellectual Property I, L.P. Method, System, and Software for Transmission of Information
US8184128B2 (en) 2004-10-27 2012-05-22 Hewlett-Packard Development Company, L. P. Data distribution system and method therefor
EP1835715B1 (en) * 2006-03-16 2015-05-06 Ricoh Company, Ltd. Image processing apparatus and method with preview display of images subjected to selected processing options
EP2208147A4 (en) * 2007-10-11 2016-08-24 Microsoft Technology Licensing Llc Generic model editing framework

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001080069A1 (en) * 2000-04-14 2001-10-25 Picsel (Research) Limited Systems and methods for digital document processing
US20070041038A1 (en) * 2005-08-19 2007-02-22 Kabushiki Kaisha Toshiba Image forming apparatus and control method therefor
US20090079744A1 (en) * 2007-09-21 2009-03-26 Microsoft Corporation Animating objects using a declarative animation scheme
US20100188690A1 (en) * 2009-01-29 2010-07-29 Fuji Xerox Co., Ltd. Data conversion apparatus, printing apparatus, computer readable medium, and data conversion method
CN102567285A (en) * 2010-12-13 2012-07-11 汉王科技股份有限公司 Document loading method and device
CN104950696A (en) * 2015-07-15 2015-09-30 上海核工程研究设计院 System and method for converting control logic design data into control logic simulation verification platform files
US10289579B2 (en) * 2015-12-10 2019-05-14 Qualcomm Incorporated Digital aggregation of interrupts from peripheral devices
US10235612B2 (en) * 2016-07-29 2019-03-19 Canon Kabushiki Kaisha Information processing apparatus, information processing method, storage medium, and image forming apparatus for converting drawing data of a transparent object that does not overlap another drawing object into drawing data of a drawing object that does not have an alpha channel as color information

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754348A (en) * 1996-05-14 1998-05-19 Planetweb, Inc. Method for context-preserving magnification of digital image regions
EP0860769A2 (en) * 1997-02-25 1998-08-26 Dainippon Screen Mfg. Co., Ltd. Apparatus for and method of processing printing data
WO1998037506A2 (en) * 1997-02-10 1998-08-27 Logitech, Inc. Touch pad with scroll bar, command bar

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6038561A (en) * 1996-10-15 2000-03-14 Manning & Napier Information Services Management and analysis of document information text
JP2000076226A (en) * 1998-08-27 2000-03-14 P & I:Kk Document data editing system
JP2000099543A (en) * 1998-09-28 2000-04-07 Fuji Xerox Co Ltd Information retrieval device

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5754348A (en) * 1996-05-14 1998-05-19 Planetweb, Inc. Method for context-preserving magnification of digital image regions
WO1998037506A2 (en) * 1997-02-10 1998-08-27 Logitech, Inc. Touch pad with scroll bar, command bar
EP0860769A2 (en) * 1997-02-25 1998-08-26 Dainippon Screen Mfg. Co., Ltd. Apparatus for and method of processing printing data

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7844889B2 (en) 2000-06-12 2010-11-30 Softview Llc Resolution independent display of internet content
US8145995B2 (en) 2000-06-12 2012-03-27 Softview L.L.C. Scalable display of internet content on mobile devices
US20110138012A1 (en) * 2001-04-04 2011-06-09 At&T Intellectual Property I, L.P. Method, System, and Software for Transmission of Information
US8589388B2 (en) * 2001-04-04 2013-11-19 At&T Intellectual Property I, L.P. Method, system, and software for transmission of information
CN1318950C (en) * 2002-08-05 2007-05-30 佳能株式会社 Image supply apparatus, control method therefor, and printing system
US8184128B2 (en) 2004-10-27 2012-05-22 Hewlett-Packard Development Company, L. P. Data distribution system and method therefor
EP1667012A2 (en) 2004-12-03 2006-06-07 Picsel (Research) Ltd. Data processing devices and systems with enhanced user interfaces
EP1835715B1 (en) * 2006-03-16 2015-05-06 Ricoh Company, Ltd. Image processing apparatus and method with preview display of images subjected to selected processing options
EP2208147A4 (en) * 2007-10-11 2016-08-24 Microsoft Technology Licensing Llc Generic model editing framework

Also Published As

Publication number Publication date
ES2266185T3 (en) 2007-03-01
CN1924794B (en) 2012-03-21
ATE330276T1 (en) 2006-07-15
CN1924794A (en) 2007-03-07
JP2003531429A (en) 2003-10-21
EP1457872A1 (en) 2004-09-15
EP1272922B1 (en) 2006-06-14
DE60120670D1 (en) 2006-07-27
EP1457872B1 (en) 2017-12-06
CN1279430C (en) 2006-10-11
CN1423771A (en) 2003-06-11
EP1272922A1 (en) 2003-01-08
AU4855101A (en) 2001-10-30
DE60120670T2 (en) 2007-06-14
HK1056636A1 (en) 2004-02-20
GB0009129D0 (en) 2000-05-31

Similar Documents

Publication Publication Date Title
US7055095B1 (en) Systems and methods for digital document processing
KR100799019B1 (en) Digital document processing
US7271814B2 (en) Systems and methods for generating visual representations of graphical data and digital document processing
EP1272922B1 (en) Digital document processing
WO2001080069A1 (en) Systems and methods for digital document processing

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 2001921577

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 1020027013682

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 018080073

Country of ref document: CN

ENP Entry into the national phase

Ref document number: 2001 576584

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: IN/PCT/2002/1852/CHE

Country of ref document: IN

WWP Wipo information: published in national office

Ref document number: 1020027013682

Country of ref document: KR

WWP Wipo information: published in national office

Ref document number: 2001921577

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 2001921577

Country of ref document: EP