IP Library Granted Patent US 6,940,518
Granted Patent B2
US 6,940,518 · App. 09/727,403 · Granted Sep 6, 2005

System and method for editing digital images using inductive image generation with cached state-specific image tiles

Assignee: Quark Media House SARL
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 6,940,518
App. No.
09/727,403
Granted
Sep 6, 2005
Kind
B2
Abstract

A system and method using inductive image generation with cached, state-specific image tiles for editing digital images. A computer system contains an archival digital image to be edited and viewed, a transformation state list, describing editing operations to be applied to the archival image in order to produce the current edited image rendition, and a viewing data set, describing the resolution, offset and extent of the current view of the current edited image rendition. The current view is constructed from a set of image tiles kept in a tile cache. In response to an instruction to generate the current view, the system identifies the requisite tiles, and then generates each tile by an inductive image generation process. The latter process comprises (a) ascertaining if the tile is in the tile cache, and, if not (b) ascertaining if the image is unedited and if so obtaining the requisite tile from the image file, and, if not (c) generating the tile by identifying and assembling the requisite supplier tiles in the previous state of the image-editing process and by then applying the current state's editing transformation function to the supplier tiles. The inductive image-generation process is recursive in that in case it is necessary to assemble supplier tiles in the course of the inductive image-generation process then they too are assembled by the process of inductive image generation.

Claims (63)

1. A method for interactively viewing and editing a digital image on a computer system comprising the steps of:

storing an archival digital image in the computer system;

maintaining in the computer system a state list, characterizing a sequence of image-editing operations to be applied to the archival digital image in order to generate a current edited rendition of the digital image;

maintaining in the computer system a set of viewing data, chracterizing the resolution, offset and extent at which to view the current edited rendition of the archival digital image;

maintaining in the computer system a cache of image tiles comprising portions of views of edited renditions of the archival digital image, wherein each image tile is associated with a state in the list; and thereafter

updating, in response to image-viewing and image-editing instructions, the viewing data and the state list accordingly, and

assembling in the image tile cache in response to image-viewing and image-editing instructions, a set of image tiles sufficient to generate the current view of the current edited rendition of the archival digital image, wherein assembling comprises using the stare list to compute a current tile based on an image tile associated with a previous state.

2. The method of claim 1 wherein said step of assembling includes a step for each tile in the set of image tiles, comprises

a) locking the tile in the tile cache when it is ascertained that the tile is in the tile cache;

b) generating the tile from the archival digital image, copying the generated tile into the tile cache, and locking the copied tile in the tile cache when it is ascertained that a current image state is an initial unedited state; and

c1) ascertaining, when the tile is not in the tile cache or when the current image state is not in the initial unedited state, a set of supplier tiles in a prior stare sufficient so that the tile can be generated from the set of supplier tiles by application of the image viewing and image-editing instructions, and

c2) assembling the second set of supplier tiles, and

c3) applying the image-viewing and image-editing instructions to the set of supplier tiles so as to generate the tile and copying the generated tile into the tile cache, and locking the copied tile in the tile cache.

3. The method of claim 2 wherein the supplier tiles in the prior state are assembled, for each tile in the set of supplier tiles, by:

a) locking the tile in the tile cache when it is ascertained that the tile is in the tile cache;

b) generating the tile from the archival digital image, copying the generated tile into the tile cache, and locking the copied tile in the tile cache when it is ascertained that a current image state is an initial unedited state; and

c1) ascertaining, when the tile is not in the tile cache or when the current image state is not in the initial unedited stage, a second set of supplier tiles in a prior stare sufficient so that the tile can be generated from the second set of supplier tiles by application of the image-viewing and image-editing instructions of the prior state, and

c2) assembling the second set of supplier tiles, and

c3) applying the image-viewing and image-editing instructions of the prior state to the second set of supplier tiles so as to generate the tile and copying the generated tile into the tile cache, and locking the copied tile in the tile cache.

4. The method of claim 2 wherein assembling the set of supplier tiles of a tile in the set of image tiles comprises:

a) ascertaining the region in the prior state from which the tile in the set of image tiles is generated, and

b) ascertaining the set of prior-state tiles intersecting the region, and

c) assembling all the supplier tiles in the set.

5. The method of claim 4 wherein assembling the set of supplier tiles of a tile in the set of supplier tiles comprises:

a) ascertaining the region in the prior state from which the tile in the set of supplier tiles is generated, and

b) ascertaining the set of prior-state tiles intersecting the region, and

c) assembling all the supplier tiles in the set.

6. The method of claim 1 wherein the image-viewing instructions specify the extent of the view of the current edited rendition of the digital image by explicitly identifying the tiles to be viewed.

7. The method of claim 1 wherein the image-viewing instructions specify the extent of the view of the current edited rendition of the digital image by identifying the region to be viewed, whereupon the addresses of all tiles intersecting the region are computed.

8. The method of claim 1 additionally comprising copying the set of image tiles sufficient to generate the current view of the current edited rendition of the archival digital image into the computer system's video display buffer so as to generate the current view of the edited rendition of the archival digital image.

9. The method as recited in claim 1 wherein the previous state is between an anchor state and a current state.

10. The method as recited in claim 1 wherein the cache of images tiles include portions of views of multiple edited renditions.

11. A computer system for interactively viewing and editing a digital image comprising:

an electronic digital-data storage device, operative to hold a plurality of archival digital images;

a state list, characterizing a sequence of image-editing operations to be applied

to a given archival digital image in order to generate a current edited rendition of the digital image,

a set of viewing data, characterizing the resolution, offset and extent at which to view the current edited rendition of the given digital image;

a cache of image tiles comprising portions of views of edited renditions of the archival digital image, each tile identifying a state in the state list,

a video digital display device;

a digital video memory buffer, containing digital data displayed by the video

digital display device;

a user-input device;

a user-input module, operative to receive signals from the user-input device and translate them into image-viewing and image-editing instructions; and

an application module, operative

to receive image-viewing and image-editing instructions from the user-input module, and

to update the viewing data and the state list in response to the image-viewing and image-editing instructions, and

to assemble in the system's tile cache in response to the image-viewing and image-editing instructions, a set of image tiles sufficient to generate the current view of the current edited rendition of the archival digital image by using the state list, and

to copy the set of image tiles sufficient to generate the current view of the current edited rendition of the archival digital image into the computer system's video display buffer so as to generate the current view of the edited rendition of the archival digital image.

12. The computer System of claim 11 wherein the computer system comprises a plurality of computers connected by a network.

13. The computer system of claim 12 wherein the network is the Internet.

14. The computer system of claim 12 wherein the electronic digital-data storage device, the state list, the set of viewing data, and the cache of image tiles reside in a first server computer, wherein the video digital display device, the digital video memory buffer, the user-input devices, and the user-input module reside in a second client computer, and wherein the application module is partitioned into a server application submodule resident in the server computer and a client application submodule resident in the client's computer.

15. The computer system of claim 14 wherein the client application submodule is operative:

to receive image-viewing and image-editing instructions from the user-input module, and

to transmit the image-viewing and image-editing instructions to the server application submodule.

16. The computer system of claim 14 wherein the server application submodule is operative:

to receive image-viewing and image-editing instructions from the client application submodule, and

to update the viewing data and the state list accordingly, and

to assemble in the tile cache, by inductive image generation and in response to image-viewing and image-editing instructions, a set of image tiles sufficient to generate the current view of the current edited rendition of the archival digital image, and

to transmit the set of image tiles to the client applications submodule.

17. The computer system of claim 14 wherein the client application submodule is operative:

to receive image tiles sufficient to generate the current view of the current edited rendition of the archival digital image transmitted from the server application submodule, and

to copy the set of image tiles sufficient to generate the current view of the current edited rendition of the archival digital image into the computer system's video display buffer so as to generate the current view of the edited rendition of the archival image.

18. The computer system of claim 14 additionally comprising a second cache of image tiles residing in the client computer.

Assignments (12)
RELEASE OF SECURITY INTEREST Recorded Jun 23, 2020
From: WELLS FARGO BANK, NATIONAL ASSOCIATION
To: QUARK SOFTWARE, INC.
Reel/Frame 053018/0066 →
SECURITY INTEREST Recorded Jun 19, 2018
From: QUARK SOFTWARE, INC.
To: WELLS FARGO BANK, NATIONAL ASSOCIATION
Reel/Frame 046128/0908 →
RELEASE OF SECURITY INTEREST Recorded Oct 2, 2014
From: Q LIQUIDATING TRUST F/K/A QUARK HOLDINGS, INC.
To: QUARK ACQUISITION CORPORATION
Reel/Frame 033873/0579 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 15, 2014
From: QH HOLDINGS CORPORATION
To: Q LIQUIDATING TRUST
Reel/Frame 031973/0394 →
CHANGE OF NAME Recorded Jan 15, 2014
From: QUARK HOLDINGS, INC.
To: QH HOLDINGS CORPORATION
Reel/Frame 032020/0142 →
SECURITY AGREEMENT Recorded Dec 6, 2013
From: QUARK ACQUISITION CORPORATION
To: QUARK HOLDINGS, INC.
Reel/Frame 031768/0217 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 10, 2012
From: QUARK ACQUISITION CORPORATION
To: QUARK SOFTWARE, INC.
Reel/Frame 029439/0226 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 3, 2012
From: QUARK, INC.
To: QUARK ACQUISITION CORPORATION
Reel/Frame 029393/0679 →
SECURITY AGREEMENT Recorded Nov 19, 2012
From: QUARK SOFTWARE, INC.
To: QUARK HOLDING CORPORATION
Reel/Frame 029321/0776 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 18, 2005
From: QUARK MEDIA HOUSE SARL
To: QUARK, INC.
Reel/Frame 016028/0909 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 24, 2002
From: XIPPIX, INC.
To: QUARK MEDIA HOUSE SARL
Reel/Frame 012731/0962 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2001
From: MINNER, RICHARD T.; BOENKE, MARK; WALKER, RICHARD
To: XIPPIX, INC.
Reel/Frame 011642/0768 →
Continuity (2)
Provisional Application 6022579800 · Aug 16, 2000
Related Publication 20020063717A1 · May 30, 2002