Strategies for Processing Annotations

Information

  • Patent Application
  • 20070174761
  • Publication Number
    20070174761
  • Date Filed
    January 26, 2006
    19 years ago
  • Date Published
    July 26, 2007
    17 years ago
Abstract
Annotation engines are described for handling annotations added to a base document. The annotation engines automatically classify the type of annotations, including, but not limited to: a highlight annotation; a blob annotation (comprising an enclosing-type annotation); an underline annotation; a vertical bracket annotation; a call-out annotation; and a free-note annotation. The annotation engines accept input in the form of a hierarchical tree of document elements and generate an output in the form of a hierarchical tree of annotation elements. Among other uses, a reflow engine can use the output of the annotation engines to properly reposition annotations within a layout-modified base document.
Description

BRIEF DESCRIPTION OF THE DRAWINGS


FIG. 1 shows an exemplary environment for processing annotations added to a base document.



FIG. 2 shows an exemplary annotation handling system for use in the environment of FIG. 1, including a grouping and drawing separation engine (also known herein as a core parser engine), a document layout analysis engine, an annotation engine module (comprising, in turn, plural annotation engines), a reflow engine, and one or more annotation-based applications.



FIGS. 3-8 show different exemplary types of annotations that can be processed by the annotation handling system of FIG. 2.



FIG. 9 shows an exemplary operation of a core parser engine of FIG. 2.



FIG. 10 shows an exemplary output of the core parser engine of FIG. 2.



FIG. 11 shows an exemplary output of the document layout analysis engine of FIG. 2.



FIG. 12 shows an exemplary operation of the annotation engine module of FIG. 2.



FIG. 13 shows an exemplary output of the annotation engine module of FIG. 2.



FIGS. 14-18 show various examples which illustrate the operation of the annotation engine module of FIG. 2.


Claims
  • 1. A method for processing annotations added to a base document, comprising: receiving input that identifies elements added to the base document;automatically classifying one or more annotations added to the base document based on the received input; andgenerating an output that represents a result of the classifying.
  • 2. The method of claim 1, wherein the base document comprises a document having machine-generated content.
  • 3. The method of claim 2, wherein the machine-generated content includes machine-generated text.
  • 4. The method of claim 1, wherein the received input comprises a hierarchical tree that organizes the elements added to the base document into different types of nodes.
  • 5. The method of claim 4, wherein the types include or more of: a drawing object node;a paragraph node;a line node;a word node; ora stroke node.
  • 6. The method of claim 1, wherein the classifying identifies annotations corresponding to one or more of: a highlight annotation;an enclosing-type annotation;an underline annotation;a vertical bracket annotation;a call-out annotation; ora free-note annotation.
  • 7. The method of claim 1, wherein the classifying employs one or more of: a highlight annotation engine,an enclosing-type annotation engine;an underline annotation engine;a vertical bracket annotation engine;a call-out annotation engine; ora free-note annotation engine.
  • 8. The method of claim 1, wherein the classifying employs each of: a highlight annotation engine;an enclosing-type annotation engine;an underline annotation engine;a vertical bracket annotation engine;a call-out annotation engine; anda free-note annotation engine.
  • 9. The method of claim 1, wherein the output of the classifying comprises a hierarchical tree that identifies different types of annotations using different respective types of nodes.
  • 10. The method of claim 1, further comprising using the output of the classifying to modify a position of at least one annotation when a layout of the base document is changed.
  • 11. One or more machine-readable media containing machine readable instructions for implementing the method of claim 1.
  • 12. An annotation handling system for processing annotations added to a base document, comprising: one or more base engines configured to classify elements added to the base document, to provide a parsed output result; andan annotation engine module comprising one or more annotation engines, configured to; receive the parsed output result as input;automatically classify one or more annotations added to the base document based on the parsed output result; andgenerate an output that represents a result of the automatic classification of annotations.
  • 13. The annotation handling system of claim 12, wherein the parsed output result comprises a hierarchical tree that organizes the elements added to the base document into different types of nodes.
  • 14. The annotation handling system of claim 13, wherein the different types include or more of: a drawing object node;a paragraph node;a line node;a word node; ora stroke node.
  • 15. The annotation handling system of claim 12, wherein said one or more annotation engines comprise one or more of: a highlight annotation engine;an enclosing-type annotation engine;an underline annotation engine;a vertical bracket annotation engine;a call-out annotation engine; ora free-note annotation engine.
  • 16. The annotation handling system of claim 12, wherein the generated output comprises a hierarchical tree that identifies different types of annotations using different respective types of nodes.
  • 17. The annotation handling system of claim 12, further comprising a reflow engine configured to use the generated output to modify a position of at least one annotation when a layout of the base document is changed.
  • 18. An annotation engine module for processing annotations added to a base document, comprising: one or more annotation engines configured to: receive an input that identifies elements added to the base document;automatically classify one or more annotations added to the base document based on the received input; andgenerate an output that represents a result of the automatic classification of annotations.
  • 19. The annotation engine module of claim 18, wherein; the received input comprises a hierarchical tree that organizes the elements added to the base document into different types of nodes; andthe generated output comprises a hierarchical tree that identifies different types of annotations using different respective types of nodes.
  • 20. The annotation engine module of claim 18, wherein said one or more annotation engines comprise one or more of. a highlight annotation engine;an enclosing-type annotation engine;an underline annotation engine;a vertical bracket annotation engine;a call-out annotation engine; ora free-note annotation engine.