WO2002001339A1 - Rendu en couleurs d'encre pour annotations electroniques - Google Patents
Rendu en couleurs d'encre pour annotations electroniques Download PDFInfo
- Publication number
- WO2002001339A1 WO2002001339A1 PCT/US2001/019919 US0119919W WO0201339A1 WO 2002001339 A1 WO2002001339 A1 WO 2002001339A1 US 0119919 W US0119919 W US 0119919W WO 0201339 A1 WO0201339 A1 WO 0201339A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- color
- annotation
- computer
- annotations
- text
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0489—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using dedicated keyboard keys or combinations thereof
- G06F3/04897—Special input arrangements or commands for improving display capability
Definitions
- the disclosure generally relates to the electronic display of documents. More particularly, the disclosure relates to the rendering of color of annotations in electronically displayed documents.
- users will need to have the ability to make textual notes to themselves, akin to writing in the margins of paper books. Users will also want to highlight selected portions, as these are active-reading activities of which a user would expect to see in an electronic book. Users will want to add drawings, arrows, underlining, strike-throughs, and the like, also akin to writing in paper books. Finally, users will want to add bookmarks.
- the displayed electronic text is obscured by the display system's rendition of the added ink. If the user adds several consecutive ink marks, even using several different colors in the process, the last added mark in the last used color is the one displayed foremost, thus causing a visible-loss of previously occurring information at that point, including previously added ink marks as well as the underlying electronic text.
- the present invention provides a technique for annotating an electronic document without corruption of the document itself.
- a "document" encompasses all forms of electronically displayable information including but not limited to books, manuals, reference materials, picture books, etc.
- To create an annotation a user selects an object in the document to locate where the annotation is to be placed. The computer system determines which object has been selected and determines a file position associated with the selected object. The user adds the annotation and, eventually, returns to reading the document.
- the annotations may be filtered, navigated, sorted, and indexed per user input.
- Annotations may include text annotations, drawings, highlights, bookmarks, and the like as is related to the general field of active reading.
- a displayed "object” may include text, graphics, equations, and other related elements as contained in the displayed document.
- Annotations may include highlighting, adding textual notes, adding drawings (as one would expect to do with a pencil or pen to a paper book), and adding bookmarks.
- the annotations are linked to a file position in the non-modifiable document.
- the invention calculates the file position of, for example, the first character of the word (or other displayed element) and stores the file position with the annotation in a separate, linked local file.
- the non-modifiable document may represent a non-modifiable portion of a file, with the annotations being added to a write-enabled portion of the file.
- the determined file position may be used for direct random access into the non- modifiable document despite the document being compressed or decompressed.
- the file position is specified in a UTF-S (a known textual storage format) document derived from an original Unicode (another known textual storage format).
- UTF-S a known textual storage format
- Unicode another known textual storage format
- the non-modifiable document may be compressed using a general-purpose binary compression algorithm, decompressed, and translated to Unicode for viewing. Accordingly, the file position as stored for an annotation is consistent through various storage schemes and compression techniques.
- This invention further relates to making ink annotations for a displayed image mimic the appearance of physical ink annotations made on paper.
- This invention analyzes the ink for each annotated pixel and renders the color and brightness of each pixel to based on the original pixel color and the added annotation color so as to appear as physical ink would typically appear if similarly applied to physical paper.
- the invention uses subtractive rendering to produce combinations of colors.
- the invention subtracts a complement of a color from an existing color to produce the rendered color.
- the rendered color is the color that is common to the annotation color and the existing color.
- This operation may be simplified as a binary ADD of the numeric representation of the two constituent colors.
- the resulting color shown at a given pixel P shows the history of all color layers at the pixel P, rather than merely the last applied color.
- the invention allows users to add "ink"-marks (or "ink-annotations") to a non- modifiable displayed document.
- Various embodiments provide one or combinations of the following advantages:
- the ink "behavior" mimics the appearance of physical ink annotations on a paper book page; 2.
- the ink annotation does not obliterate the original displayed electronic text; and
- Figure 1 shows a general-purpose computer supporting the display and annotation of an electronic document in accordance with embodiments of the present invention.
- Figure 2 shows a displayed document on a computer screen in accordance with embodiments of the present invention.
- Figures 3A and 3B show different document formats available for storing a document in accordance with embodiments of the present invention.
- Figure 4 shows different bytes for storing characters in UTF8 and Unicode in accordance with embodiments of the present invention.
- Figure 5 shows a process for determining the file position of an object in accordance with embodiments of the present invention.
- Figure 6 shows another process for determining the file position of an object in accordance with embodiments of the present invention.
- Figure 7 shows a process for displaying annotations in accordance with embodiments of the present invention.
- Figures 8A and 8B show various storage techniques for storing annotations in accordance with embodiments of the present invention.
- Figure 9 shows a screen for manipulating annotations in accordance with embodiments of the present invention.
- Figure 10 shows before and after images of annotations on a page in accordance with embodiments of the present invention.
- Figure 11 shows a close-up view of a portion of Figure 10 in accordance with embodiments of the present invention.
- Figure 12 shows a method for determining a resultant value from subtractive rendering of two colors in accordance with embodiments of the present invention.
- Figure 13 shows multiple annotations overlying displayed content in accordance with embodiments of the present invention.
- the present invention relates to a system and method for rendering capturing and associating annotations associated with a non-modifiable document.
- program modules include routines, programs, objects, scripts, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
- program modules may be located in both local and remote memory storage devices.
- the present invention may also be practiced in personal computers (PCs), hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like.
- FIG. 1 is a schematic diagram of a computing environment in which the present invention may be implemented.
- the present invention may be implemented within a general purpose computing device in the form of a conventional personal computer 200, including a processing unit 210, a system memory 220, and a system bus 230 that couples various system components including the system memory to the processing unit 210.
- the system bus 230 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures.
- the system memory includes read only memory (ROM) 240 and random access memory (RAM) 250.
- ROM read only memory
- RAM random access memory
- a basic input/output system 260 (BIOS), containing the basic routines that help to transfer information between elements within the personal computer 200, such as during start-up, is stored in ROM 240.
- the personal computer 200 further includes a hard disk drive 270 for reading from and writing to a hard disk, not shown, a magnetic disk drive 280 for reading from or writing to a removable magnetic disk 290, and an optical disk drive 291 for reading from or writing to a removable optical disk 292 such as a CD ROM or other optical media.
- the hard disk drive 270, magnetic disk drive 280, and optical disk drive 291 are connected to the system bus 230 by a hard disk drive interface 292, a magnetic disk drive interface 293, and an optical disk drive interface 294, respectively.
- the drives and their associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules and other data for the personal computer 200.
- the exemplary environment described herein employs a hard disk, a removable magnetic disk 290 and a removable optical disk 292, it should be appreciated by those skilled in the art that other types of computer readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, random access memories (RAMs), read only memories (ROMs), and the like, may also be used in the exemplary operating environment.
- a number of program modules may be stored on the hard disk, magnetic disk 290, optical disk 292, ROM 240 or RAM 250, including an operating system 295, one or more application programs 296, other program modules 297, and program data 298.
- a user may enter commands and information into the personal computer 200 through input devices such as a keyboard 201 and pointing device 202.
- Other input devices may include a microphone, joystick, game pad, satellite dish, scanner, or the like.
- These and other input devices are often connected to the processing unit 210 through a serial port interface 206 that is coupled to the system bus, but may be connected by other interfaces, such as a parallel port, game port or a universal serial bus (USB).
- a monitor 207 or other type of display device is also connected to the system bus 230 via an interface, such as a video adapter 208.
- personal computers typically include other peripheral output devices (not shown), such as speakers and printers.
- the personal computer 200 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 209.
- the remote computer 209 may be another personal computer, a server, a router, a network PC, a peer device or other common network node, and typically includes many or all of the elements described above relative to the personal computer 200, although only a memory storage device 211 has been illustrated in Figure 1.
- the logical connections depicted in Figure 1 include a local area network (LAN) 212 and a wide area network (WAN) 213.
- LAN local area network
- WAN wide area network
- the personal computer 200 When used in a LAN networking environment, the personal computer 200 is connected to the local network 212 through a network interface or adapter 214. When used in a WAN networking environment, the personal computer 200 typically includes a modem 215 or other means for establishing a communications over the wide area network 213, such as the Internet.
- the modem 215, which may be internal or external, is connected to the system bus 230 via the serial port interface 206.
- program modules depicted relative to the personal computer 200, or portions thereof may be stored in the remote memory storage device. It will be appreciated that the network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
- handheld computers and purpose-built devices may support the invention as well.
- handheld computers and purpose-built devices are similar in structure to the system of Figure 1 but may be limited to a display (which may be touch-sensitive to a human finger or stylus), memory (including RAM and ROM), and a synchronization/modem port for connecting the handheld computer and purpose-built devices to another computer or a network (including the Internet) to download and/or upload documents or download and/or upload annotations.
- a display which may be touch-sensitive to a human finger or stylus
- memory including RAM and ROM
- a synchronization/modem port for connecting the handheld computer and purpose-built devices to another computer or a network (including the Internet) to download and/or upload documents or download and/or upload annotations.
- the description of handheld computers and purpose-built devices is known in the art and is omitted for simplicity.
- the invention may be practiced using C. Also, it is appreciated that other languages may be used including C++, assembly language, and the like.
- Figure 2 shows a displayed document on a computer screen in accordance with embodiments of the present invention.
- the document is displayed in a form that closely resembles the appearance of a paper equivalent of the electronic book and, in this case, a paper novel.
- the document reader window 101 may comprise a variety of portions including a title bar 101 listing the title of the document and a body 102. In the body 102 of the display window, various portions of a document may be displayed.
- Figure 2 shows an example where a title 104, a chapter number 105, a chapter title 106, and the text of the chapter 107 are displayed. Similar to an actual book, margins 108, 109, 110, and 111 appear around the displayed text.
- the displayed elements may be independently referenced.
- object 103 "we” has a drawing annotation placing a box around it as placed there by the user.
- FIG. 3A shows a pictorial representation of a four-letter word as stored in four pairs of bytes.
- Another storage scheme includes UTF-8 in which standard letters (for example, US-ASCII characters) are encoded using only a single byte.
- Foreign characters and symbols from the Unicode UCS-2 set are encoded with two or three bytes. Part of the first byte is used to indicate how many total bytes define the complete character as shown in Figure 3B.
- UTF8-encoded file may have a size half of that as Unicode.
- the size of the stored file may actually be larger than that of Unicode due to the greater number of three byte representations of a letter or symbol.
- Other variable byte-length character encodings have been used in industry, for example, the Shift-JIS standard encodes characters (drawn from a smaller set than Unicode draws from) in one or two bytes.
- the second byte of a two- byte character may contain a value that may also be used by itself to represent a single-byte character.
- Figure 4 shows different bytes for storing characters in UTF8 and Unicode in accordance with embodiments of the present invention.
- An example of the two schemes discussed with respect to Figures 3A and 3B is shown in Figure 4.
- the word “banana” takes twelve bytes to represent it in Unicode while only using six bytes in UTF8.
- the word “facade” requires twelve bytes in Unicode and seven bytes in UTF8.
- Other storage schemes are known in the art but not shown here for simplicity.
- the difference between UTF8 and Unicode is provided by way of example only and not intended to limit the invention ' to the use of storage scheme over the other.
- the difference in the storage modes becomes relevant in the technique used to fix the file position for an annotation. If the file position is determined with one storage scheme, porting the file position to another storage scheme may not result in the same desired file position for an annotation. Thus, all annotations may be fixed to a file position based on the use of a single scheme.
- the scheme used to hold the document while the document is being displayed is the scheme that is used to determine the file position. So, irrespective of whether the document is closed and compressed to another scheme, when reopened in the display scheme, the file position for the annotation remains the same as when created.
- Unicode may be the scheme used to display the document. Alternatively, UTF8 may be used as well as any other textual encoding or compression scheme to access the document for display.
- FIG. 5 shows a process for determining the file position of an object in accordance with embodiments of the present invention.
- a user selects an object on the screen.
- the user may select the object via a cursor controlled through a mouse, touch-pad, trackball, or like pointing device.
- the user may use a stylus or finger if the surface of the display can accommodate such input.
- step 502 the system determines which object was selected by the user. This step relates to the conversion of the physical coordinates from the display device to coordinates inside the reader window. From this conversion, the object selected by the user is known. Step 502A is optional. It relates to the user selection of an action post selection of the object. If the user is supplied with a menu after selection of the object and the function of adding an annotation is provided on the menu, step 502A relates to the selection of the adding the annotation function. An example of adding an annotation is described in detail in U.S. Serial No.
- Step 503 relates to the determination of the file position of the selected object.
- the file position may include the first byte of the selected object.
- the file position may be the first byte of the last character (or even the character following the last character) of the selected object. Selecting the first byte of the first character to determine the file position provides the advantage of displaying any annotation on the page of the beginning of the object, rather then on the next page if the object spans a page.
- Any byte of the selected object may be selected to provide the file position of the object.
- one may select a line in which the object resides or the paragraph or the portion of the page (e.g., the top, middle or bottom of the page).
- the file position may be determined by counting the number of bytes from some known file position to the location of, for example, the first character of the selected object.
- the known file position may be the beginning of the file, or may be, for example, a previously noted file position for the beginning of the current paragraph.
- the counting step may be performed before or after generation of the annotation. Alternatively, the counting step may be performed in the background while the annotation is being created by the user.
- annotation file positions may always stored as UTF-8 offsets within the text, as it stood before binary compression.
- the algorithm used to display the text works with Unicode characters. Therefore, in this example, it is necessary to work back from the selected object to a character with a known UTF-8 file position.
- Step 504 relates to creating a file to persist the annotation. While shown after step
- step 503 it will be appreciated that it may occur prior to or during the determination of the file position of the object.
- step 505 the file position is placed in the header of the file (or portion of the file) storing the created annotation. Alternatively, the file position may be appended to the file being viewed.
- Figure 6 shows another process for determining the file position of an object in accordance with embodiments of the present invention. As shown in step 601, a user navigates to a page. Once on the page, the system determines the file position of the first byte of the first object on the page as shown in step 602. The file position may be determined every time a new page is displayed.
- the system may pause (for example, two seconds) before starting to determine the file position for the first byte in order to allow the user to navigate to a new page before starting the file position determination.
- This delay provides the advantage of minimizing system workload when a user is quickly flipping pages.
- step 603 the file position of the page is temporarily stored in memory.
- step 604 the system waits for either selection of an object or navigation to another page. More options are contemplated that do not need the file position for execution (for example, looking up a term in a reference document as disclosed iri U.S. Serial No. (BW 03797.84619) filed December 7, 1999, entitled “Method and Apparatus for Installing and Using Reference Materials In Conjunction With Reading Electronic Content", whose contents are incorporated herein by reference in its entirety for any enabling disclosure).
- step 605 once an object is selected, the relative position of the selected object is determined with reference to the first byte of the first object on the displayed page.
- step 606 the file position of the first byte of the first object on the page as determined in step 602 is retrieved from memory (as stored in step 603) and added to the relative position of the first byte of the selected object as determined in step 605 to determine the file position of the selected object.
- step 607 the file position of the selected object is stored along with the created annotation.
- steps relating to the determination of the file position may occur before or after the annotation for the object.
- the file position may be preformed in the background while the annotation is being created.
- Figure 7 relates to a process for displaying the created annotation when navigating to the page.
- a user navigates to a page.
- step 702 the system determines the file position of the first object on the page.
- step 703 the system determines the file position of the last object on the page.
- step 704 the annotations stored for the document are searched to determine if any have file positions located between the file position determined in step 702 and the file position determined in step 703.
- step 705 if no annotations with a file position are located for display on the displayed page, the system waits for user input (including, for example, navigation to a new page or selection of an object for annotation, or any other action described herein).
- step 706 an annotation has been found that relates to an object on the page.
- the location of the object on the page is determined and the annotation is displayed for the object.
- the system for determining the location of the object may include subtracting the file position of the first object on the page from the file position of the annotated object. This difference is then used to determine how many bytes from the first character of the page is the annotated object.
- further annotations may be made, by returning from step 706 to step 705.
- the system may count again from the beginning of the document to determine which object has been annotated. It will be appreciated by those skilled in the art that that numerous methods exist for displaying the annotation for the annotated object. The above examples are not intended to be limiting.
- the computer system will first validate a global state, which determines whether annotations should be rendered at all. For example, the user is provided with the ability to globally specify whether to show or hide drawing annotations (as well as text notes, bookmarks, highlights, etc.).
- Figures 8A and 8B show various storage techniques for storing annotations in accordance with embodiments of the present invention.
- Figure 8A shows a document 801 that has modifiable (803-806) and non-modifiable (802) portions. Files of this type include Infotext file formats as are known in the art.
- Annotations 806 may be stored in combination with the non-modifiable content 802.
- An annotation 806 may be stored in a file with header 803 and body 806.
- the header 803 includes, for example, the file position 804 of the object with which the annotation 806 is associated. It may also include an indication of the type of annotation 806 in file portion 805. As discussed above, the annotation 806 may include a highlight, a bookmark, a drawing to be overlaid over the object, or a text annotation.
- Figure 8B shows the non-modifiable content 809 as a separate file apart from the annotation file.
- the annotation file 807 of Figure 8B has similar constituent elements to that of annotation 807 of Figure 8A.
- Annotation file 807 may include a file portion 808 that indicates to which non-modifiable document (here, 809) it is linked.
- one file may store all annotations for a user with the non-modifiable content portions 809 being stored separately. This approach has the advantage of being able to quickly scan all annotations at one time rather than accessing all documents 801 (as including non-modifiable portions 802) to obtain all annotations stored therein.
- Figure 9 shows a display window for sorting, modifying, searching, and renaming the annotations stored in a system.
- the window 900 includes a title identifier 901 to alert the user that he or she is in an annotation pane 900.
- the window 900 may include two panes 902 and 903 (other panes may be added as needed).
- Panes 902 and 903 may provide a listing of annotations 904 by document. Alternatively, they may provide a listing of all annotations in a person's system.
- pane 902 here, entitled "Notes”
- the user may sort the list of annotations by type (highlight, drawing, text, bookmark). Selecting an annotation allows one to navigate to the location in the document containing the annotation.
- the second pane 903 may allow a user to sort annotations based on their properties. For example, one may sort on the time created, time last accessed, by type, alphabetically, and on book order. Further, individual annotations may be switched on or off using controls on the page. Also, if all annotations have been switched off (or just those of a specific type of annotations have been switched off) and another annotation is created (or another annotation in that class), all annotations of that type may be switched back on. This may be extended to include all annotations being switched on if hidden and a new annotation added.
- Figure 10 shows a representative example of an ink-annotated document before application of this invention and the same document with the same annotations after the application of an embodiment of the invention.
- Figure 11 shows an enlarged view of Figure 10.
- Figure 11 shows frame
- frame 1101 information (here, text) with annotations rendered on top of the information.
- the last captured annotation is displayed as opaque above all other information (text and other annotations). See, for example, the rendering of the text "Clear Type" 1103 is obscured by an opaque annotation overlying the text 1103.
- Frame 1102 shows the same information (here, the text "Clear Type” 1104) as not being obscured.
- the system has added the two colors of the text to the annotation to obtain the final displayed color for each pixel. In this example, the color of the annotation has been added to the white background to produce the colored annotation. When the annotation overlies other colors, the color of the annotation is added to the other existing colors.
- the color of the text "Clear Type" is added to the color of the annotation to produce the final rendered color.
- the system uses a process of subtractively rendering colors. The process subtracts the complement of a second color from a first color to produce a third color as a combination of the first and second colors.
- each displayed color is a combination of all layers of annotation and underlying colors and the color of each pixel represents a history of all colors applied to the pixel.
- an original display of information may be black text on a white background.
- a first annotation in yellow is added to the displayed information.
- the black text remains black and the white background turns yellow to represent the annotation.
- a second annotation in magenta is added across the first annotation.
- the resulting image produces black text with a first yellow annotation, a second magenta annotation, and a third red color resulting from the combination of the first and second annotation colors, showing the overlapping area of the first and second annotations.
- the subtractive rendering is achieved by manipulating user-added ink marks on a point by point basis, by combining the color the user wants to add at a point with the color that is already at the given point.
- the process for subtractively rendering combinations of colors is described below. .
- subtractively combining Color Z and Color X can be achieved by doing a bit-wise binary AND of the numeric representation of the two colors Z and X. Denoting the value (Z&X) as a new color Color V, for any given point P having Color
- Color V then effectively captures all the rendition history of point P in the same way that the previous color Color Z captured all the rendition history of the point prior to this step.
- the subtractive combination of additional points of color to an existing point of color on the display screen effectively mimics the .subtractive combination of colors on paper.
- the system applies the process to each component separately.
- Ink is never rendered opaque but instead ink points are a combination of existing text ink and the new ink and can convey sufficient information about the "history" of the point.
- Multiple ink annotations can overlay the text and complement or supplement each other easily. The user can thus use a combination of different colored inks to create more meaningful annotations and convey more information than might have been possible with a single opaque color.
- the overall annotation experience is greatly improved and matches ' or surpasses the ink-on-paper-book annotation experience.
- the subtractive rendering operation includes doing a mathematical binary AND between the color of a given pixel (Color A) and the color that one wants to subtractively render upon the given pixel (Color B).
- the operation that needs to happen is to change the resulting color of the pixel to (A & B).
- the Windows® operating system provides some APIs for manipulating on-screen colors as part of drawing operations.
- One of these APIs is the SetROP2 API (described below) that allows us to set the "mix mode” on the GDI device context upon which the annotation is being rendered.
- the "mix mode” defines how new and existing colors will be combined or “mixed”).
- R2_MASKPEN By specifying the "mix mode” as R2_MASKPEN, one can instruct the Windows® operating system to automatically perform a bitwise AND operation on existing and added colors at any point.
- the SetROP2 function sets the current foreground mix mode.
- GDI uses the foreground mix mode to combine pens and interiors of filled objects with the colors already on the screen.
- the foreground mix mode defines how colors from the brush or pen and the colors in the existing image are to be combined.
- int SetROP2 HDC hdc, int fnDrawMode
- R2_COPYPEN Pixel is the pen color.
- Pixel is a combination of
- R2_MASKPEN the colors common to both the pen and the screen.
- Pixel is a combination of the colors common to both the pen and the
- R2_MASKPENNOT inverse of the screen.
- Pixel is a combination of the screen color and the inverse of the pen
- R2JMERGEPEN Pixel is a combination of the peri color and the screen color.
- Pixel is a combination of the pen color and the inverse of the screen
- R2_NOT Pixel is the inverse of the screen color
- R2_NOTCOPYPEN Pixel is the inverse of the pen color.
- R2_NOTMASKPEN Pixel is the inverse of the R2_MASKPEN color.
- R2_NOTMERGEPEN Pixel is the inverse of the R2_MERGEPEN color.
- R2_NOTXORPEN Pixel is the inverse of the R2_XORPEN color.
- R2_WHITE Pixel is always 1.
- Pixel is a combination of
- Mix modes define how GDI combines source and destination colors when drawing with the current pen.
- the mix modes are binary raster operation codes, representing all possible Boolean functions of two variables, using the binary operations AND, OR, and XOR
- FIG. 12 shows a subtractive rendering process in accordance with embodiments of the present invention.
- X is the new annotation color.
- Z is the original pixel color.
- the binary representation of Z is obtained.
- the binary representation of X is obtained.
- the new color to be rendered for a pixel is determined based on a bit-wise AND of X and Z. This process is performed for each of the components of the RGB representations of X and Z.
- luminance and chrominance values may be converted to RGB values, it is considered within the scope of the invention to receive YUV inputs, convert to RGB values, perform subtractive rendering as described herein, then convert the result back to YUV values as needed.
- Figure 13 shows overlying layers of annotations.
- Original text is shown in screen 1301.
- Annotation 1302 of color A is shown overlying a portion of screen 1301.
- annotation 1303 of color B that overlaps in region R 1304.
- region R 1304 is displayed as a combination of colors A and B.
- subtractive rendering process described herein relates to ink annotations
- the same subtractive rendering process may likewise be applied to other annotation processes as well including highlighting and text annotations.
- text annotations one may enter a text annotation and have the text annotation be displayed in first color over a background or other annotation of another color.
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Document Processing Apparatus (AREA)
Abstract
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| AU2001268669A AU2001268669A1 (en) | 2000-06-26 | 2001-06-25 | Ink color rendering for electronic annotations |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US60378100A | 2000-06-26 | 2000-06-26 | |
| US09/603,781 | 2000-06-26 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2002001339A1 true WO2002001339A1 (fr) | 2002-01-03 |
Family
ID=24416880
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2001/019919 WO2002001339A1 (fr) | 2000-06-26 | 2001-06-25 | Rendu en couleurs d'encre pour annotations electroniques |
Country Status (2)
| Country | Link |
|---|---|
| AU (1) | AU2001268669A1 (fr) |
| WO (1) | WO2002001339A1 (fr) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7148905B2 (en) | 2003-12-19 | 2006-12-12 | Palo Alto Research Center Incorporated | Systems and method for annotating pages in a three-dimensional electronic document |
| US7577902B2 (en) | 2004-12-16 | 2009-08-18 | Palo Alto Research Center Incorporated | Systems and methods for annotating pages of a 3D electronic document |
| US7898541B2 (en) | 2004-12-17 | 2011-03-01 | Palo Alto Research Center Incorporated | Systems and methods for turning pages in a three-dimensional electronic document |
Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5920694A (en) * | 1993-03-19 | 1999-07-06 | Ncr Corporation | Annotation of computer video displays |
| US5986665A (en) * | 1996-09-06 | 1999-11-16 | Quantel Limited | Electronic graphic system |
| JPH11327789A (ja) * | 1998-03-12 | 1999-11-30 | Ricoh Co Ltd | カラー表示装置および電子黒板システム |
-
2001
- 2001-06-25 AU AU2001268669A patent/AU2001268669A1/en not_active Abandoned
- 2001-06-25 WO PCT/US2001/019919 patent/WO2002001339A1/fr active Application Filing
Patent Citations (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US5920694A (en) * | 1993-03-19 | 1999-07-06 | Ncr Corporation | Annotation of computer video displays |
| US5986665A (en) * | 1996-09-06 | 1999-11-16 | Quantel Limited | Electronic graphic system |
| JPH11327789A (ja) * | 1998-03-12 | 1999-11-30 | Ricoh Co Ltd | カラー表示装置および電子黒板システム |
Non-Patent Citations (1)
| Title |
|---|
| PATENT ABSTRACTS OF JAPAN vol. 2000, no. 02 29 February 2000 (2000-02-29) * |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US7148905B2 (en) | 2003-12-19 | 2006-12-12 | Palo Alto Research Center Incorporated | Systems and method for annotating pages in a three-dimensional electronic document |
| US7577902B2 (en) | 2004-12-16 | 2009-08-18 | Palo Alto Research Center Incorporated | Systems and methods for annotating pages of a 3D electronic document |
| US7898541B2 (en) | 2004-12-17 | 2011-03-01 | Palo Alto Research Center Incorporated | Systems and methods for turning pages in a three-dimensional electronic document |
Also Published As
| Publication number | Publication date |
|---|---|
| AU2001268669A1 (en) | 2002-01-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US7730391B2 (en) | Ink thickness rendering for electronic annotations | |
| US6957233B1 (en) | Method and apparatus for capturing and rendering annotations for non-modifiable electronic content | |
| US7028267B1 (en) | Method and apparatus for capturing and rendering text annotations for non-modifiable electronic content | |
| US6714214B1 (en) | System method and user interface for active reading of electronic content | |
| CN1127696C (zh) | 将预格式文本自动转换为可回流文本的方法和设备 | |
| EP1174801B1 (fr) | Classification, fixation et transformation d'encre electronique | |
| US7975216B2 (en) | System and method for annotating an electronic document independently of its content | |
| US9424240B2 (en) | Annotations for electronic content | |
| US20050160369A1 (en) | Method and an apparatus for visual summarization of documents | |
| JP2003516584A (ja) | スクリプトが埋め込まれた電子文書 | |
| US7350143B2 (en) | Method for page translation | |
| US8793565B2 (en) | File format conversion of an interactive element in a graphical user interface | |
| US7408556B2 (en) | System and method for using device dependent fonts in a graphical display interface | |
| JP5482223B2 (ja) | 情報処理装置、情報処理方法 | |
| WO2002001339A1 (fr) | Rendu en couleurs d'encre pour annotations electroniques | |
| JP2018133009A (ja) | 情報処理装置 | |
| JP5063207B2 (ja) | 色変換処理装置、方法、記録媒体及びプログラム | |
| US20030004989A1 (en) | Computer device, method and software product for filling printouts by computer | |
| JP2006227948A (ja) | ドキュメント処理装置 | |
| EP0631677B1 (fr) | Procede et appareil de mise en memoire et de visualisation de documents | |
| Nelson | The z-machine standards document | |
| Lane et al. | Developing CSS3 in Practice: From Design to Deployment | |
| Brinsley | ADOBE ILLUSTRATOR® 10 JAVASCRIPT REFERENCE | |
| Hurwicz | Special Edition Using Macromedia Studio MX 2004 | |
| JPS60189533A (ja) | プログラム・ドキユメント出力方式 |
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 EC 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 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 |
|
| DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
| REG | Reference to national code |
Ref country code: DE Ref legal event code: 8642 |
|
| DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
| 122 | Ep: pct application non-entry in european phase | ||
| NENP | Non-entry into the national phase |
Ref country code: JP |