« PrécédentContinuer »
SYSTEM AND METHOD FOR EDITING
This application is a continuation of application Ser. No. 09/769,686, filed Jan. 24, 2001 now U.S. Pat. No. 7,136,528, which claimed the benefit of U.S. Provisional Application No. 60/181,844, filed Feb. 11, 2000.
FIELD OF THE INVENTION
This invention relates generally to digital imaging, and, more particularly, to a system and method for editing digital images. 15
A portion of the disclosure of this patent document may contain material subject to copyright protection. The copy- 20 right owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. The following notice applies to the software and data 25 as described below and in the drawings hereto: Copyright© 1999, Sony Electronics, Inc., All Rights Reserved.
BACKGROUND OF THE INVENTION
With the increasing popularity of computers and the widespread use of the Internet, and especially of the World Wide Web, in many fields, traditional analog technology is being replaced by digital technology. One example of this 35 transformation is in the field of photography. It is well known in the art that traditional photography involves conventional film and chemical processing, whereas digital photography involves the creation of digital photography files and the manipulation of the digital photographs through digital processing.
Generally, digital photography is advantageous over traditional photography since the repetitive costs of film and chemical processing are eliminated. Furthermore, digital photography files provide a permanent storage format pre- 45 viously unavailable to photographers. At the same time, a series of image editing operations may be performed on digital photographs, including cropping, color enhancement, changes to brightness, color, or luminosity, or image effects.
Although the same image editing operations may be 50 subsequently applied to several digital images, the edited images may have different image characteristics. Therefore, the edited images may not be combined or otherwise used together without some degree of difficulty.
A system for editing digital images forms an image template containing a selected record of one or more image editing operations performed on a first image to obtain a first 60 edited image. The image template also contains the first edited image. The system then applies the image template to one or more second images. In one aspect, the selected record of the one or more image editing operations is stored with the first edited image in an image file. In another aspect, 65 the selected record of image editing operations is stored in a storage file separate from the first edited image.
BRIEF DESCRIPTION OF THE DRAWINGS
The present invention is illustrated by way of example and may be better understood by referring to the following description in conjunction with the accompanying drawings, in which like references indicate similar elements and in which:
FIG. 1A is a block diagram illustrating one embodiment of a system for editing digital images.
FIG. IB is a block diagram of one embodiment of an operating environment in which the system illustrated in FIG. 1A may function.
FIG. 1C is a block diagram of one embodiment of a computer architecture which can be used by the system illustrated in FIG. 1A.
FIG. 2 is a flow diagram of one embodiment of a method for editing digital images from the server's perspective.
FIG. 3 is a flow diagram of one embodiment of the method for editing digital images from the client's perspective.
In the following description, reference is made to the accompanying drawings, in which like references indicate similar elements, and in which are shown, by way of illustration, embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical, electrical, and other changes may be made without departing from the scope of the present invention. The following description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims.
Beginning with an overview of the operation of the invention, FIG. 1A illustrates one embodiment of a system
100 for editing digital images. System 100 includes server
101 and one or more clients 103, 105. Client 103 represents any device that may enable user's online access to information. In one embodiment, client 103 is a device, which allows a user to interact with server 101. In this embodiment, client 103 may provide a user interface to communicate information to the user, for example a display means to present such information to the user. Also, client 103 may provide a second user interface to allow the user to communicate information to client 103, for example an input means such as a keyboard.
In one embodiment, server 101 includes an image editing module 110 and a database module 112, coupled to the image editing module 110. Database module 112 stores images and provides the images to client 103 upon request from users. Server 101 receives a request to display an image, retrieves the image from database module 112, and provides that image to client 103. Server 101 also receives an electronic representation of one or more image editing operations from client 103 and processes this electronic representation using the image editing module 110 to obtain an edited image. In one embodiment, server 101 performs the image editing operations on the retrieved image to obtain the edited image. Alternatively, client 103 may directly perform the image editing operations on the retrieved image.
Server 101 then selectively stores the image editing operations in the database module 112 and provides the edited image to client 103. It should be noted that a wide variety of services other than the services described above
may be provided by server 101 to client 103 without loss of generality. In one embodiment, server 101 displays various advertisements when providing a service to one or more clients 103. In this embodiment, server 101 may receive compensation from a source whose advertisements are pre- 5 sented to client(s) 103.
It should be noted that although FIG. 1A illustrates only two modules performing the above functionality, more or less modules may be used to perform this functionality. In addition, in another embodiment (not shown), a part of this 10 functionality is performed by a module or several modules residing on client 103 (e.g., image editing module 110 resides on client 103 and database module 112 resides on server 101). In yet another embodiment, all modules performing the above functionality (e.g., both image editing 15 module 110 and database module 112) reside on client 103, and client 103 may or may not be connected to server 101.
In one embodiment of a system for editing digital images, as shown in FIG. IB, server 101 hosts a web site and is part of, or coupled to, an Internet Service Provider (ISP) 135 to 20 provide services over the Internet. The client computer 103 executes a conventional Internet browsing application to exchange data with the server 101. It is readily apparent that the present invention is not limited to Internet access and Internet web-based sites; directly coupled and private net- 25 works are also contemplated.
One embodiment of a computer system 140 suitable for use as server 101 is illustrated in FIG. 1C. In some embodiments, in which client 103 is a computer, computer system 140 may also be suitable for use as client 103. Computer 30 system 140 includes a processor 150, a memory 155 and input/output capability 160 coupled to a system bus 165. Memory 155 is configured to store instructions which, when executed by processor 150, perform the methods described herein. Input/output 160 provides for the delivery and dis- 35 play of information to the users. Input/output 160 also encompasses various types of computer-readable media, including any type of storage device that is accessible by the processor 150. One of skill in the art will immediately recognize that the term "computer-readable medium/media" 40 further encompasses a carrier wave that encodes a data signal. It will also be appreciated that the server 101 is controlled by operating system software executing in memory 155. Input/output and related media 160 store the computer-executable instructions for the operating system 45 and methods of the present invention.
The description of FIG. IB and FIG. 1C is intended to provide an overview of computer hardware and other operating components suitable for implementing the invention, but is not intended to limit the applicable environments. It 50 will be appreciated that computer system 140 is one example of many possible computer systems that have different architectures. A typical computer system will usually include at least a processor, memory, and a bus coupling the memory to the processor. One of skill in the art will 55 immediately appreciate that the invention can be practiced with other computer system configurations, including microprocessor systems, minicomputers, mainframe computers, and the like. The invention can also be practiced in distributed computing environments where tasks are performed by 60 remote processing devices that are linked through a communications network.
Next, the particular methods of the invention are described in terms of computer software with reference to flow diagrams. FIG. 2 and FIG. 3 are flow diagrams of one 65 embodiment of a method for editing digital images from the server's perspective and, respectively, from the client's
perspective. The methods constitute computer programs made up of computer-executable instructions illustrated as blocks (acts) 210-290 in FIG. 2, and blocks (acts) 310-395 in FIG. 3. Although these blocks are shown in a particular order, this order may not be followed and may be changed without loss of generality. In addition, not all blocks within the flow diagrams of FIG. 2 or FIG. 3 may be needed to execute a corresponding method.
Describing the computerized methods by reference to flow diagrams enables one skilled in the art to develop programs including instructions to carry out the methods on a suitable computer (the processor of the computer executing the instructions from computer-readable media). If written in a programming language conforming to a recognized standard, such instructions can be executed on a variety of hardware platforms and for interface to a variety of operating systems. In addition, the present invention is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the invention as described herein. Furthermore, it is common in the art to speak of software, in one form or another (e.g. program, procedure, process, application, module, logic, etc.), as taking an action or causing a resolve. Such expressions are merely a shorthand way of saying that execution of the software by a computer causes the processor of the computer to perform an action or produce a result.
FIG. 2 is a flow diagram of one embodiment of a method for editing digital images from the server's perspective. At processing block 210, an image is retrieved from database module 112 and sent to client 103, based on a request to display the image received from client 103.
At processing block 220, one or more image editing operations are received from client 103. In one embodiment, the image editing operations may include cropping of the image, enhancing color characteristics of the image, changing brightness, color, or luminosity characteristics of the image, and applying an image effect, such as a filter, to the image. Alternatively, other image editing operations may be transmitted from client 103 to the server for processing.
At processing block 230, the image editing operations are performed on the retrieved image to obtain an edited image. In one embodiment, the image editing module 110 shown in FIG. 1A performs the image editing operations. Alternatively, other modules within server 101 may perform the image editing operations.
At processing block 240, image editing operations are selectively stored in database module 112 and the edited image is sent to client 103. In one embodiment, a selected record of the image editing operations is stored together with the edited image in an image file. Alternatively, the selected record of the image editing operations may be stored in a separate storage file, which resides in a different location than the storage location of the edited image. In one embodiment, all image editing operations performed are stored as part of the record in database module 112. Alternatively, some image editing operations may be discarded before being stored as part of the selected record.
The edited image and the record of editing image operations form an image template. In one embodiment, the image template is applied to a new image to ensure that the same editing image operations are performed on the new image and that the image characteristics of the new edited image are identical to the image characteristics of the edited image.
At processing block 250, a decision is made whether a second new image must be retrieved and edited. In one embodiment, the user decides whether to edit a new image