Abstract:
A method and system for the dynamic interactive display of digital images, comprising client and server applications working together over the Internet or over other similar modes of digital data transmission to collect, store, select, present, distribute and manage information for digital images, including photographs, pictures, videos, movies and other forms of digital media. The present invention achieves these functions through user-friendly dynamic interactive graphical user interfaces that are readily accessible over the Internet from a wide variety of devices used for digital communication.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS  
       [0001]     The present application claims the benefit and priority of U.S. Provisional Patent Application Ser. No. 60/598,883, filed on Aug. 3, 2004 and entitled “Method and System for Dynamic Interactive Display of Digital Images,” which is herein incorporated by reference. 
     
    
     BACKGROUND OF THE INVENTION  
       [0002]     1. Field of the Invention  
         [0003]     This invention relates generally to the dynamic interactive display of digital images, and particularly to dynamic interactive graphical user interfaces for producing displays and presentations of digital images.  
         [0004]     2. Description of Related Art  
         [0005]     Devices capable of capturing digital images are in widespread use and are continuing to grow in popularity. One such device, the digital camera, has become extremely popular, especially those digital cameras that form an integral part of other types of digital communication devices such as cell phones and PDAs. The direct result of this development is the proliferation of digital images.  
         [0006]     Simultaneous with the proliferation of digital images is the advent of the Internet, with email and large amounts of digital data burdening digital transmission modes, computing power and data storage. These factors have resulted in the need for user-friendly and efficient ways for digital images to be collected, stored, accessed, presented and distributed.  
         [0007]     Prior art approaches to the collection, storage, accessing, presentation and/or distribution of digital images include the use of File Transfer Protocol (“FTP”) between a server and a manually created web page, often combined with a static or dynamic HTML web page presentation. This approach requires substantial programming expertise and is difficult to adapt to a wide variety of user environments. Online photo sharing services represent another prior art approach that offers limited presentation options with little or no means for user interactivity. Another prior art approach, commonly known as snapshot “blogging” on websites located on the World Wide Web, offers limited presentation options and user interactivity is limited to user comments and uploads.  
       SUMMARY OF THE INVENTION  
       [0008]     The present invention provides a method and system for the dynamic interactive display of digital images. A client user with a dynamic interactive graphical user interface uploads a digital image to a server. The client user with another dynamic interactive graphical user interface selects more than one digital image from the server, including the uploaded digital image. The client user utilizes the same dynamic interactive graphical user interface to create a display featuring the selected digital images. The client user may then use the dynamic interactive graphical user interface to add music to the display of the selected digital images. Finally, the client user with a third dynamic interactive graphical user interface can create one or more channels to display selected digital images and music for their own enjoyment or for sharing with one or more other clients.  
         [0009]     The present invention is also directed to a server configured for the uploading of a digital image from a client. The server is configured for the selection by the client of more than one digital image, including the uploaded digital image. The server is configured for the creation of a display featuring the selected digital images, including for the addition of music. Finally, the server is configured to allow channeling by the client of the selected digital images to at least one other client.  
         [0010]     Other features and advantages of the present invention will be apparent in view of the following detailed description and exemplary embodiments.  
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0011]      FIG. 1  illustrates a simplified architecture in which the present invention can operate;  
         [0012]      FIG. 2  shows a single screen view of a dynamic interactive graphical user interface of a grid presentation of digital images, a filter or menu for selecting to view digital images from a particular submitter or provider of digital images, a filter or menu for the selection of music to accompany a display of digital images and dynamic interactive graphical user interface buttons;  
         [0013]      FIG. 3  shows a detail view of the dynamic interactive graphical user interface buttons;  
         [0014]      FIG. 4  shows a single slide of a slide show featuring thematic borders and text captions and interactive graphical user interface buttons;  
         [0015]      FIG. 5  shows a dynamic interactive graphical user interface with channel controls for changing filter settings; and  
         [0016]      FIG. 6  shows a dynamic interactive graphical user interface for the uploading of a digital image and information about the digital image to a server.  
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0017]      FIG. 1  shows a simplified architecture  100  in which exemplary embodiments of the present invention can operate.  
         [0018]     The architecture  100  comprises a server  102 , connected to the client  110  by a network  105 . The server  102  can be an Internet accessible server, such as an Apache or Microsoft IIS. Although  FIG. 1  shows only one client and one server, it should be understood that typical embodiments of the present invention can have numerous clients and one or more servers. In this exemplary embodiment, the network  105  is a global internetwork of networks known as the “Internet,” which includes the World Wide Web.  
         [0019]     In exemplary embodiments, the client  110  is a personal computer with a display device  115  for displaying a digital image  120 , and a mouse, cursor, buttons, touch screen or other pointing or selection device  125 . Clients can include computers, personal computers, cellular phones, DVD players, CD players and PDAs. Digital images can include audio, video, pictorial, photographic and text files and all variations and combinations thereof that are at least partially digitally encoded. Additionally, the client  110  can be operated by one or more human users, collectively referred to herein as the “client user.” 
         [0020]     In exemplary embodiments, the operation of the server  102  and the client  110  is coordinated by a client-server application  111 - 112 . Connection checks can be performed at periodic intervals to verify communication between the server  102  and the client  110 . In the event of a disruption between the server  102  and the client  110 , communication can be reestablished by the client  110  initiating a new connection to the server  102 .  
         [0021]     In exemplary embodiments, when a new client  110  accesses the server  102  over the Internet or network  105 , the client  110  is directed to download the client application  112 . The client application  112  can be implemented as an HTML web page with software implemented in Javascript™ or similar language and for certain features to also incorporate a Java™ application, Active-X™ control, or other similar application capable of running on the operating systems of most clients.  
         [0022]     In exemplary embodiments, the client application  112  communicates with the server  102  by using a specific set of commands pertaining to functions such as the timing of client requests for digital images from the server, the posting of a vote by a client user for a particular digital image, the banning of a digital image from future display on a display device  115 , the uploading of a new digital image from a client  110  to the server  102  and/or the requesting by a client  110  of information or metadata about a particular digital image  120  from the server  102 .  
         [0023]     In exemplary embodiments, an example of the specific set of commands used by the client application  112  to communicate with the server  102  occurs when the client  110  initially requests to display from the server  102  the digital images presently being displayed by the server  102  to other clients. On subsequent requests by the client  110  to display from the server  102  the digital images being displayed to other clients, the server  102  will send to the client  110  the digital images displayed since the previous client  110  request for digital images from the server  102 , including the digital images presently being displayed by the server  102  to other clients. In the event the client  110  missed an update of digital images from the server  102 , the client  110  will have the digital images previously displayed by the server  102  to other clients.  
         [0024]     In exemplary embodiments, the client  110  can run on its own, with timing paced by the server  102 . The speed in which a digital image is requested from the server  102  and displayed by the display device  115  of the client  110  is synchronized by a feedback mechanism. This feedback mechanism allows the server  102  to function with a growing number of clients by the server  102  instructing clients how often to make future digital images requests from the server  102 .  
         [0025]     In exemplary embodiments, data transmission between the server  102  and the client  110  is minimized by a synchronization and control mechanism. This synchronization and control mechanism can be implemented in Javascript™ or some other programming language. A message sent by the server  102  to the client  110  encodes the information required to control both the communication rate and the information required to display a particular digital image.  
         [0026]     In exemplary embodiments, when a client  110  requests from the server  102  a digital image for display, the server  102  will respond with the requested digital image. Alternatively, the server  102  may respond with other featured digital images, based on the popularity of the featured digital images with other client users. The size of the digital image  120  displayed on the display device  115  may be larger or smaller than other digital images displayed, due to the popularity of the particular digital image with other client users. Additionally, the placement of the digital image in a grid presentation of digital images  205  ( FIG. 2 ) may be determined by the server  102 .  
         [0027]     In exemplary embodiments, operation between the server  102  and the client  110  allows for resolution independence. Resolution independence is characterized by the client  110  being able to request and display different resolutions of digital images  120  from the server  102 . Displays on the display device  115  of the client  110  can occur automatically, based on the detection by the server  102  of such parameters as the Internet bandwidth, client display device size and/or client CPU speed. Accordingly, an uploaded digital image taken with a digital camera having a resolution larger than that of the display device  115  can be scaled and filtered to a smaller size by the server  102  either before or after the digital image is uploaded to the server  102 . Alternatively, a digital image can be scaled and filtered on demand by the client user at the cost of additional server resources. Additionally, the client  110  can be provided with a dynamic interactive graphical user interface with manual controls for the client user to select a resolution preference for a particular digital image, category of digital images or digital images from a particular provider.  
         [0028]     In exemplary embodiments, the dynamic interactive graphical user interface for the uploading of a digital image and associated information or metadata  600  as more fully described herein in connection with  FIG. 6 , is responsible for the uploading of data and digital images to the server  102 . A digital image uploaded to the server  102  is processed by the server  102  to create a digital image  120  that is appropriate for display on a wide variety of display devices  115 . Processing by the server  102  includes, when appropriate, digital image size reduction, digital image compression and the addition of aesthetic embellishments such as frame borders and drop shadows. Digital image scaling can also be performed on the client  110  through the use of a browser plug-in software module such as an Active-X™ control, prior to uploading digital images to the server  102 .  
         [0029]     In exemplary embodiments, a central database server  113 , such as an SQL server, can store the information or metadata about digital images uploaded to the server  102 . The central database server  113  can store information or metadata including a list of certain digital images with file locations; the identity of the client user who provided a particular digital image; the last time a particular digital image was displayed; the categories of digital images selected or entered at the time a particular digital image was submitted or uploaded to the server by a client user; comments by the submitters of particular digital images; information including comments and feedback about particular digital images as entered by the client users after viewing the particular digital images; voting statistics of client users for or against particular digital images; voting history for particular digital images; and timestamps for the above categories. Using this information or metadata, the server  102  can be programmed to determine when and to whom the server  102  should send a particular digital image. The server  102  can also be programmed for certain information or metadata to be displayed adjacent to or overlaid on top of a particular digital image  120  when the client user is employing a mouse, cursor, or other pointing or selection device  125  by clicking on or hovering over the particular digital image  120 .  
         [0030]     In exemplary embodiments, a client user can use a dynamic interactive graphical user interface to convey information to the server  102  about the client user&#39;s response to a particular digital image or group of digital images. Using a dynamic interactive graphical user interface, the client user can communicate to the server  102  a preference for the frequency the client user wishes to view a particular digital image or group of digital images. Alternatively, the client user may wish to ban a digital image from appearing in the future on the display device  115  of the client  110 . Client user information sent to the server  102  can be added to the central database server  113  and used to determine which digital images are to be sent to particular clients for display or to increase or decrease the frequency of display of digital images to all viewers of a selected channel.  
         [0031]     In exemplary embodiments, server specialization may be used to perform what is known as “channel feeding” or the mass communication of a particular digital image or group of digital images by a dedicated server or servers to a large number of clients, all of whom share a particular interest or set of interests. Channel feeding is a method for scaling server load and increasing system performance, including search performance. Channel feeding is based on the analysis of client demand for certain content by the identification and/or location of the server for that particular content and using the results of this analysis to direct clients to designated servers, in order to optimize client demand across available server resources. Accordingly, less popular channels will be served with multiple channels per server, while more popular channels will be served with fewer channels per server and/or one or more dedicated servers.  
         [0032]     The exemplary architecture  100  as shown in  FIG. 1  and the exemplary embodiments and features described herein function to allow: (i) a client user to receive and view digital images in response to information received by the server about the client user on such topics as politics, personal interests, geographic location, family or other interests; (ii) a client user to receive and view digital images in response to information or metadata on the server about the client user such as the digital images previously submitted by the client user; and (iii) a client user to receive and view digital images in response to information or metadata on the server about the client user such as the digital images shared with others by the client user.  
         [0033]      FIG. 2  shows a screenshot of a dynamic interactive graphical user interface  200  as used in exemplary embodiments. Shown is a grid presentation of digital images  205 , a filter control menu for selecting to view digital images based on the submitter or provider of the digital images  210 , a filter or menu for the selection of music to accompany a display of digital images  215 , and dynamic interactive graphical user interface buttons  220 . The functions of the specific dynamic interactive graphical user interface buttons are more fully described herein in connection with  FIG. 3 .  
         [0034]     In exemplary embodiments of the present invention, a grid presentation of digital images  205  is shown on the display device  115  of the client  110 . The filter or menu for selecting to view digital images based on the submitter or provider of the digital images  210 , allows the client user to select grid presentations of digital images from other specific client users. In the filter control menu  210 , a checkbox and a slider control is associated with each digital image provider on the selected channel. The checkboxes can be used to activate or deactivate the display of digital images from each desired provider, and the slider control associated with each provider can be used to indicate the desired frequency that digital images from that provider should be displayed relative to all other providers. The numerical value of all sliders added together is assigned the value of 100%, and then the relative value of each provider&#39;s slider position is used to determine the relative percentage of overall digital images displayed that will come from that provider.  
         [0035]     Other filters or menus for selecting digital images to create a grid presentation of digital images  205 , can include dynamic interactive graphical user interfaces featuring a scalable map or three-dimensional globe to allow a client user to select one or more digital images from or based on a particular part of the world or geographical sub-region. Additionally, a client user can indicate a preference for a particular digital image or group of digital images for display by reviewing a list of digital image identifiers and selecting the corresponding digital images. For example, a client user can review a list of digital image identifiers such as the “Johnson Family” or “Firefighters” and select the corresponding digital images for viewing. Alternatively, the client user can elect to allow the client application  112  to automatically query the server  102  to determine whether there are new digital images of one or more particular categories for viewing.  
         [0036]     In exemplary embodiments, a dynamic interactive graphical user interface can also be used for “ghosting” queries, wherein the digital image preferences of a particular client user are matched by the server  102  with the digital image preferences of other client users, resulting in the display of digital images based on shared interests. As a particular client user selects from digital images of interest, the client user is matched by the server  102  with other client users who selected many of the same digital images of interest. A set or group of client users with shared digital image interests can be constructed by the server  102 , resulting in the server  102  being able to identify and direct particular digital images pertaining to a particular shared interest to the clients of the corresponding set or group that have not previously viewed the particular digital images.  
         [0037]     Exemplary embodiments of the present invention also include a filter or menu for the selection of music to accompany a display of digital images. Using the filter or menu for the selection of music to accompany a display of digital images  215 , the client user can select one or more music genres to accompany a presentation of digital images such as shown in  400  ( FIG. 4 ).  
         [0038]      FIG. 3  shows dynamic interactive graphical user interface buttons, as used in exemplary embodiments. Dynamic interactive graphical user interface buttons allow a client user to perform such functions as the: (i) switching of a grid presentation of digital images  205  ( FIG. 2 ) to a slide show presentation of one or more digital images  400  ( FIG. 4 )  300 ; (ii) opening the hints and tips panel  305 ; (iii) viewing of digital images predetermined to be the favorites of the client user  310 ; (iv) opening the manual settings panel  315 ; (v) adding or uploading to the server new digital images to the existing presentation  320 ; (vi) opening of the music genre panel  325 ; (vii) opening of manual filtering or menu controls  330 ; (viii) switching from a standard view to a high definition view  335 ; and (ix) activating a full screen display  340 .  
         [0039]      FIG. 4  is a view from an exemplary embodiment of a slide show presentation of one or more digital images  400 , thematic borders  405 , text captions  410  and dynamic interactive graphical user interface buttons  415 . The functions of the dynamic interactive graphical user interface buttons are more fully described herein in connection with  FIG. 3 .  
         [0040]     In exemplary embodiments, a client user can create a custom presentation of digital images appearing in a slide show presentation of one or more digital images  400  by clicking on or otherwise selecting the desired digital images in the grid presentation of digital images  205 . Selected digital images will be tagged in the central database server  113  in the order selected by the client user and this data can be used to determine the order in which the digital images will appear during the presentation. The client user can then present the selected digital images in a slide show presentation of one or more digital images  400  by selecting dynamic interactive graphical user interface button  300 .  
         [0041]      FIG. 5  is a view from an exemplary embodiment of a dynamic interactive graphical user interface  500 , with channel controls for changing filter settings  505 . The channel controls for changing filter settings  505  allows a client user to select a particular client user or group of client users using checkboxes to receive and view a particular collection of digital images, displayed in the grid presentation of digital images  510 . This feature, known as channeling, allows a client user to create and share a collection of digital images with a group of other client users. This dynamic interactive graphical user interface could also incorporate slider controls to indicate desired image frequency from each provider as depicted in  210  ( FIG. 2 ).  
         [0042]      FIG. 6  illustrates from an exemplary embodiment a dynamic interactive graphical user interface for the uploading of a digital image and the information or metadata associated with that particular digital image, which can be implemented in the form of a pop-up window as depicted in  600  or integrated as a panel on the dynamic interactive graphical user interface  200 . The dynamic interactive graphical user interface for the uploading of a digital image and associated information or metadata about the digital image  600  can be accessed by the dynamic graphical user interface button  320 . A client user can select the browse button  605  or manually type an image file path into the associated text box, allowing the client user to select from the client  110  a digital image  120  for uploading to the server  102 . The client user can then enter information or metadata about the particular digital image for uploading to the server  102 , including the name of the submitter of the digital image  610 , the location where the photo was taken  615  and the photo caption  620 . Finally, the client user can select the check box  625  to upload the digital image and associated information or metadata. The uploaded digital image can appear on the display device  115  of a client  110  in a relatively short period of time after the client user selects the check box  625 . Alternatively, the client user may select the reject box  630  to abort the upload process.  
         [0043]     In exemplary embodiments, the dynamic interactive graphical user interface for the uploading of a digital image and associated information or metadata about the digital image  600  is intended to increase the involvement of client users by the ease in which a client user can upload a digital image  120  to the server  102 . Additionally, the relatively short period of time in which it takes for a digital image  120  to appear as part of a grid presentation of digital images  205  after it is uploaded to the server  102  is intended to increase the involvement of client users.  
         [0044]     On personal computers, the dynamic interactive graphical user interface for the uploading of a digital image and associated information or metadata about the digital image  600  can be implemented using HTML and Javascript™ and upload the digital image using HTTP protocol, which method can only support the selection for uploading to the server  102  of one digital image at a time. Alternatively, the dynamic interactive graphical user interface for the uploading of a digital image and associated information or metadata about the digital image  600  can be based on a plug-in or custom application such as ActiveX™ control that can be used to support the selection and uploading of multiple digital images. The same ActiveX™ control can also be implemented to support scaling of the digital images on the client  110  to a size more suitable for uploading to the server  102 .  
         [0045]     Embodiments of the present invention may be used for many purposes. Client users may indicate a personal preference for the increased or decreased viewing of particular digital images. These preferences or votes can be sent to the server and added to the database. Accumulated vote statistics can be used to determine which digital images are to be displayed in the future. Other embodiments of the present invention may be used for such purposes as the: (i) streamlined judging of digital images; (ii) independent authority management; (iii) contestant eligibility protection; (iv) generating user-based participation; and (v) generating feedback on the herein described method and system for the dynamic interactive display of digital images. Other embodiments of the present invention may be used for training based on the present invention&#39;s ability to generate timely feedback. Additionally, the present invention may be used for discussion and feedback forums branched off particular digital image categories.  
         [0046]     The present invention is described herein with reference to exemplary embodiments. It will be apparent to those skilled in the art that various modifications may be made and other embodiments can be used without departing from the broader scope of the present invention. Therefore, these and other variations of the exemplary embodiments are intended to be covered by the present invention.