Sharing editable ink annotated images with annotation-unaware applications
First Claim
1. A method to be executed at least in part in a computing device for using obscured image data to reconstruct an annotated image, the method comprising:
- receiving an image to be annotated and annotations to be superimposed onto the image;
determining obscured image content (OIC) based on a position of the annotations to be superimposed onto the image;
persisting OIC data separate from the image, wherein the OIC data comprises a minimal amount of information necessary to reconstruct the image, the minimal amount of information comprising pixel data from the image which has been obscured by the annotations;
rendering the annotations on the image, wherein the annotations are persisted on the image such that the annotated image is a single layer flat image;
making the annotated image and the OIC data available for use by annotation-aware and annotation-unaware applications;
receiving the annotated image and the OIC data;
generating a bitmap based on the annotated image;
reading the OIC data;
copying only the pixel data from the image which has been obscured by the annotations onto the image to reconstruct the obscured pixels;
displaying the reconstructed image; and
storing an identifier to mitigate changes by at least one of the annotation-unaware applications, wherein the identifier uniquely identifies exact binary data in the image, wherein the identifier is stored with restore data for restoring the image from the annotated image.
3 Assignments
0 Petitions
Accused Products
Abstract
Data associated with pixels obscured by annotations in an annotated image is stored using an annotation mask enabling annotation-aware applications to reconstruct the original image, while annotation-unaware applications can display the annotated image with optimized increase in extra data to be stored. The annotation mask, same size as the image, is initialized to a monochrome default and the color depth information for obscured pixels saved within the annotation mask. Because a majority area of the annotation mask is monochrome, it compresses well and the obscured image content can be saved in a side channel, metadata header, or a separate file. During reconstruction, changes to annotated image such as rotation, size change, and the like, may be detected and accounted for when obscured image content is carried over to the annotated image for reconstruction.
-
Citations
18 Claims
-
1. A method to be executed at least in part in a computing device for using obscured image data to reconstruct an annotated image, the method comprising:
-
receiving an image to be annotated and annotations to be superimposed onto the image; determining obscured image content (OIC) based on a position of the annotations to be superimposed onto the image; persisting OIC data separate from the image, wherein the OIC data comprises a minimal amount of information necessary to reconstruct the image, the minimal amount of information comprising pixel data from the image which has been obscured by the annotations; rendering the annotations on the image, wherein the annotations are persisted on the image such that the annotated image is a single layer flat image; making the annotated image and the OIC data available for use by annotation-aware and annotation-unaware applications; receiving the annotated image and the OIC data; generating a bitmap based on the annotated image; reading the OIC data; copying only the pixel data from the image which has been obscured by the annotations onto the image to reconstruct the obscured pixels; displaying the reconstructed image; and storing an identifier to mitigate changes by at least one of the annotation-unaware applications, wherein the identifier uniquely identifies exact binary data in the image, wherein the identifier is stored with restore data for restoring the image from the annotated image. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A system for using obscured image data to reconstruct an annotated image, the system comprising:
-
a memory; a processor coupled to the memory, wherein the processor is configured to execute program modules including; an annotation integration module configured to; receive an image to be annotated and annotations to be superimposed onto the image; determine obscured image content (OIC) based on a position of the annotations to be superimposed onto the image; persist OIC data separate from the image, wherein the OIC data comprises a minimal amount of information necessary to reconstruct the image, the minimal amount of information comprising pixel data from the image which has been obscured by the annotations; render the annotations on the image, wherein the annotations are persisted on the image such that the annotated image is a single layer flat image; make the annotated image and the OIC data available for use by annotation-aware and annotation-unaware applications; store an identifier to mitigate changes by at least one of the annotation-unaware applications, wherein the identifier uniquely identifies exact binary data in the image, wherein the identifier is stored with restore data for restoring the image from the annotated image; and a reconstruction module configured to; receive the annotated image and the OIC data; generate a bitmap based on the annotated image; copy only the pixel data from the image which has been obscured by the annotations onto the image based on a location of each obscured pixel to reconstruct the obscured pixels on the annotated image; and render the reconstructed image. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A computer-readable storage medium comprising computer-executable instructions which, when executed by a computer, will cause the computer to perform a method of using obscured image data to reconstruct an annotated image, the method comprising:
-
receiving an image to be annotated and annotations to be superimposed onto the image, wherein the annotations are persisted on the image such that an annotated image comprising the image and the superimposed annotations is a single layer flat image; generating a monochrome annotation mask based on the image, wherein the annotation mask has a same size as the image and pixels of the annotation mask are initialized to a default color; expanding a count of pixels on the annotation mask for capturing OIC data from the image, wherein the OIC data comprises a minimal amount of information necessary to reconstruct the image, the minimal amount of information comprising pixel data from the image which has been obscured by the annotations; rendering the annotations on the annotation mask; adjusting the annotation mask to compensate for rendering effects; generating obscured image content (OIC) on the annotation mask by copying color depth information associated with pixels obscured by the annotations on the image to the annotation mask; persisting the annotation mask and the OIC data in one of;
a side channel of the image, a metadata header of the image, a separate file associated with the image, and a supplemental data store;storing at least one from a set of;
a Cyclic Redundancy Check (CRC) of image data to mitigate changes by at least one annotation-unaware application, wherein the identifier uniquely identifies exact binary data in the image, wherein the identifier is stored with restore data for restoring the image from the annotated image;generating a bitmap based on the annotated image; reading the annotation mask and the OIC data; detecting a modification of the annotated image after the annotation mask and the OIC data were saved; determining a type of modification; adjusting the OIC data, if the modification includes one of;
a rotation, a horizontal flip, a vertical flip, and a resize with preserved aspect ratio;copying only the pixel data from the image which has been obscured by the annotations onto the image to reconstruct the obscured pixels; and displaying the reconstructed image. - View Dependent Claims (18)
-
Specification