US20030090498A1 - Method and apparatus for the creation of digital photo albums - Google Patents

Method and apparatus for the creation of digital photo albums Download PDF

Info

Publication number
US20030090498A1
US20030090498A1 US10/058,693 US5869302A US2003090498A1 US 20030090498 A1 US20030090498 A1 US 20030090498A1 US 5869302 A US5869302 A US 5869302A US 2003090498 A1 US2003090498 A1 US 2003090498A1
Authority
US
United States
Prior art keywords
image
images
user
image file
album
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
US10/058,693
Inventor
Darryl Schick
Mark Zlotnik
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Photela Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Photela Inc filed Critical Photela Inc
Priority to US10/058,693 priority Critical patent/US20030090498A1/en
Assigned to PHOTELA, INC., A PENNSYLVANIA CORPORATION reassignment PHOTELA, INC., A PENNSYLVANIA CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ZLOTNIK, MARK ANTHONY, SCHICK, DARRYL RICHARD
Assigned to MICROSOFT CORPORATION reassignment MICROSOFT CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PHOTELA, INC.
Publication of US20030090498A1 publication Critical patent/US20030090498A1/en
Priority to US11/004,029 priority patent/US20050099385A1/en
Priority to US11/323,248 priority patent/US7403212B2/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Abandoned legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/0044Display of information to the user, e.g. menus for image preview or review, e.g. to help the user position a sheet
    • H04N1/00442Simultaneous viewing of a plurality of images, e.g. using a mosaic display arrangement of thumbnails
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00132Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture in a digital photofinishing system, i.e. a system where digital photographic images undergo typical photofinishing processing, e.g. printing ordering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00132Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture in a digital photofinishing system, i.e. a system where digital photographic images undergo typical photofinishing processing, e.g. printing ordering
    • H04N1/00161Viewing or previewing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00132Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture in a digital photofinishing system, i.e. a system where digital photographic images undergo typical photofinishing processing, e.g. printing ordering
    • H04N1/00167Processing or editing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00132Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture in a digital photofinishing system, i.e. a system where digital photographic images undergo typical photofinishing processing, e.g. printing ordering
    • H04N1/00169Digital image input
    • H04N1/00175Digital image input from a still image storage medium
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00132Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture in a digital photofinishing system, i.e. a system where digital photographic images undergo typical photofinishing processing, e.g. printing ordering
    • H04N1/00185Image output
    • H04N1/00193Image output to a portable storage medium, e.g. a read-writable compact disk
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00132Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture in a digital photofinishing system, i.e. a system where digital photographic images undergo typical photofinishing processing, e.g. printing ordering
    • H04N1/00185Image output
    • H04N1/00196Creation of a photo-montage, e.g. photoalbum
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00132Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture in a digital photofinishing system, i.e. a system where digital photographic images undergo typical photofinishing processing, e.g. printing ordering
    • H04N1/00185Image output
    • H04N1/00198Creation of a soft photo presentation, e.g. digital slide-show
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00281Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a telecommunication apparatus, e.g. a switched network of teleprinters for the distribution of text-based information, a selective call terminal
    • H04N1/00283Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a telecommunication apparatus, e.g. a switched network of teleprinters for the distribution of text-based information, a selective call terminal with a television apparatus
    • H04N1/00297Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a telecommunication apparatus, e.g. a switched network of teleprinters for the distribution of text-based information, a selective call terminal with a television apparatus with a television signal recorder, e.g. for recording facsimile images on a VCR
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/0044Display of information to the user, e.g. menus for image preview or review, e.g. to help the user position a sheet
    • H04N1/00442Simultaneous viewing of a plurality of images, e.g. using a mosaic display arrangement of thumbnails
    • H04N1/00453Simultaneous viewing of a plurality of images, e.g. using a mosaic display arrangement of thumbnails arranged in a two dimensional array
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/0044Display of information to the user, e.g. menus for image preview or review, e.g. to help the user position a sheet
    • H04N1/00458Sequential viewing of a plurality of images, e.g. browsing or scrolling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/0035User-machine interface; Control console
    • H04N1/00405Output means
    • H04N1/00408Display of information to the user, e.g. menus
    • H04N1/0044Display of information to the user, e.g. menus for image preview or review, e.g. to help the user position a sheet
    • H04N1/00461Display of information to the user, e.g. menus for image preview or review, e.g. to help the user position a sheet marking or otherwise tagging one or more displayed image, e.g. for selective reproduction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/21Intermediate information storage
    • H04N1/2104Intermediate information storage for one or a few pictures
    • H04N1/2158Intermediate information storage for one or a few pictures using a detachable storage unit
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00281Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a telecommunication apparatus, e.g. a switched network of teleprinters for the distribution of text-based information, a selective call terminal
    • H04N1/00283Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a telecommunication apparatus, e.g. a switched network of teleprinters for the distribution of text-based information, a selective call terminal with a television apparatus
    • H04N1/00291Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a telecommunication apparatus, e.g. a switched network of teleprinters for the distribution of text-based information, a selective call terminal with a television apparatus with receiver circuitry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0034Details of the connection, e.g. connector, interface
    • H04N2201/0037Topological details of the connection
    • H04N2201/0041Point to point
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0034Details of the connection, e.g. connector, interface
    • H04N2201/0048Type of connection
    • H04N2201/0049By wire, cable or the like
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0008Connection or combination of a still picture apparatus with another apparatus
    • H04N2201/0074Arrangements for the control of a still picture apparatus by the connected apparatus
    • H04N2201/0075Arrangements for the control of a still picture apparatus by the connected apparatus by a user operated remote control device, e.g. receiving instructions from a user via a computer terminal or mobile telephone handset
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0087Image storage device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0089Image display device

Definitions

  • the present invention relates generally to image file storage and retrieval systems. More particularly, the present invention relates to a method and system for creating digital photo albums on a standard storage device.
  • a method of storing a collection of digital images on a storage medium includes the steps of displaying a group of images for which corresponding image files are available, prompting a user to select a plurality of selected images from the group, prompting the user and/or receiving an instruction from the user to save the selected images to the storage medium as an album of images, and automatically performing the steps of: (i) making a copy of each image file that corresponds to the selected images to result in image file copies; (ii) making a “contact sheet” image comprised of a user-selected album title having a font and color selected by the user, and including small thumbnail representations of the images contained in the album; (iii) compressing the image file copies; and (iv) saving the image file copies to the storage medium.
  • the method may also include the step of making a “contact sheet” image comprised of a user-selected album title having a font and color selected by the user, and including small thumbnail representations of the images contained in the album. It may also include the step of automatically adjusting the image file copies so that the selected images, when displayed, have a resolution not exceeding that which is required for optimal display on a standard display such as a television screen.
  • the method may also include the steps of prompting the user to make one or more modifications to any of the selected images, automatically adjusting the image file copies corresponding to the selected images for which the user makes one or more modifications so that said image file copies result in adjusted image files that include the one or more modifications, and (in the saving step) ensuring that the image file copies that have resulted in adjusted image files are saved as adjusted image file copies.
  • the method further includes the step of saving, to the storage medium, a file that contains parameters of the album, such that the file allows a user to automatically recreate the album for further duplication or modification.
  • the invention comprises computer-readable carrier containing instructions that are capable of instructing a computing device to perform any or all of the above-described functions.
  • FIG. 1 illustrates an exemplary set-top box embodiment of the invention.
  • FIG. 2 is a flowchart that illustrates several steps that may be implemented by the software embodiment of the invention.
  • FIG. 3 is a flowchart that illustrates additional steps that may be implemented by the software embodiment of the present invention.
  • FIG. 4 illustrates an exemplary screen showing “thumbnail” images that a user may select for inclusion in an album.
  • FIG. 5 illustrates the cropping and rotating features of a preferred embodiment of the invention.
  • FIG. 6 illustrates the insertion of black space around a picture.
  • FIG. 7 illustrates an example of a contact sheet that may be used to display multiple photos contained in an album.
  • FIG. 8 illustrates an exemplary remote control element.
  • FIG. 9 illustrates preferred architecture included within a preferred hardware embodiment.
  • FIG. 10 provides more detailed illustration of the FPGA/ASIC element in the preferred embodiment.
  • FIG. 11 illustrates a preferred embodiment of a Video Sequencer.
  • FIGS. 12 - 14 are process flow diagrams illustrating preferred embodiments of image processing methods in the present invention.
  • FIGS. 15 - 16 illustrate a preferred method of rotating an image in the invention.
  • the invention described herein provides a method and system for the display of still images on a standard monitor.
  • the invention is a stand-alone product that provides display of digital images on standard television sets, such as National Television Systems Committee (NTSC) television displays used primarily in North America and Japan, Phase-Alternating Line (PAL) televisions displays used primarily in Europe, and other television standards that combine synchronization pulses with a video signal containing chrominance and luminance information.
  • NTSC National Television Systems Committee
  • PAL Phase-Alternating Line
  • the invention may take the form of a television set-top box, or it may be provided in the form of a portable electronic device.
  • the invention may be provided within another device, such as in or on one or more cards within a personal computer or laptop, or it may be included as part of another device such as a digital video disk (DVD) player or video cassette recorder (VCR), or it may even be included within the housing of a television set itself.
  • DVD digital video disk
  • VCR video cassette recorder
  • a preferred embodiment displays the images on a standard television set
  • the invention may also be used for the display of still images on another video device, such as a small handheld TV, a TV monitor, a large-screen projection TV, or a computer projection device which includes a video-to-RGB scan conversion mechanism.
  • the device may also be used to create videotaped slideshows, by simply connecting the device's video output to the video input of a VCR.
  • the invention is first described herein from the view of the end user.
  • the invention provides a method and system that facilitates the creation and display of albums containing digital photos on a standard TV set.
  • a preferred embodiment of the Invention includes the following items, the second and third of which are illustrated in FIG. 1: (1) PC-based software that allows easy creation of a digital photo album tailored for TV viewing; (2) a small set-top box 10 which displays the digital photo album on a standard TV or other monitor; and (3) optionally and preferably, a remote control 12 used to operate the set-top box, preferably from up to fifty feet away or more.
  • PC-based software that allows easy creation of a digital photo album tailored for TV viewing: The process of creating a TV photo album is facilitated by the PC-based software. It is assumed that the user has accumulated a collection of digital images, which may exist in a variety of standard image formats (e.g., JPG, BMP, GIF), and in a range of resolutions (e.g., 640 ⁇ 480, 1024 ⁇ 768, or other sizes). The images may or may not have an aspect ratio (width-to-height ratio) that equals the 4:3 aspect ratio of standard TVs.
  • standard image formats e.g., JPG, BMP, GIF
  • resolutions e.g., 640 ⁇ 480, 1024 ⁇ 768, or other sizes.
  • the images may or may not have an aspect ratio (width-to-height ratio) that equals the 4:3 aspect ratio of standard TVs.
  • Standard TVs have a fixed aspect ratio of 4:3 and a fixed display resolution of approximately 640 ⁇ 480 pixels. Therefore, when a TV is used with the invention, digital images with higher resolution (e.g., 800 ⁇ 600 or larger) should be resized to 640 ⁇ 480 in order to best fit the TV screen.
  • digital images with higher resolution e.g., 800 ⁇ 600 or larger
  • aspect ratio adjustment and resizing of images to necessary resolution is preferably performed automatically by PC-based software during the album creation process.
  • the images having been reduced in size for TV viewing or viewing on the available monitor, may be stored on a small, inexpensive, removable media such as a standard 3.5 inch Floppy Disk.
  • this pre-processing step facilitates highly efficient use of the media by eliminating information which exceeds the available resolution of the TV or monitor to be used for viewing the images.
  • prior art approaches store the full-resolution image on the removable media. Storing full-resolution images on the digital media, which is how the prior art attempted to solve these problems, has several drawbacks.
  • the PC-based software implemented as part of the invention solves several problems that would otherwise complicate the album making process.
  • the operational flow of the software reduces the album-making process to the simplest possible form.
  • the user selects the directory where digital images are stored (step 20 ).
  • Several, and preferably all, images in the directory may be displayed in small “thumbnail” form (step 22 ).
  • An example of a screen showing such “thumbnail” images is provided in FIG. 4.
  • less than all images in the directory may be displayed.
  • the user selects the images that will comprise the album, and the remainder are removed from the display (step 24 ).
  • the user may optionally rearrange the images into the preferred order of display, by selecting images and dragging them into the preferred position (step 25 ).
  • the user may optionally perform simple tasks such as rotation and/or cropping on selected images (step 26 ). An example of such cropping is shown in FIG. 5.
  • the user may also set preferences for aspects such as image quality, title page font and color (step 28 ).
  • the user may enter a “title” for the album (step 30 ).
  • the user inserts a floppy disk or other recordable medium such as a CD, ZIP drive, or even an instruction to select a storage device such as a hard drive, network drive, or flash memory, and clicks on a button or other input which may be called something such as “create floppy disk album” (step 32 ).
  • a floppy disk or other recordable medium such as a CD, ZIP drive, or even an instruction to select a storage device such as a hard drive, network drive, or flash memory
  • step 32 the software automatically executes a number of processes in a short time, as illustrated in FIG. 3 in flowchart form.
  • a “contact sheet” image is created containing thumbnails of all selected images in the album and the album title as entered by the user.
  • this contact sheet preferably will be displayed first in order to quickly orient the user as to which album they are viewing (step 40 ).
  • a copy is made of each original image selected by the user (step 42 ).
  • the copied images are resized (if necessary) so that the final image size is fixed at 640 ⁇ 480 pixels (step 44 ).
  • the original image has an aspect ratio different than 4:3, fill, such as black space, is preferably added to “letterbox” the sides or the top and bottom of the image as needed to retain the original proportionality of the image area (step 46 ).
  • An example of a screen showing such black space is provided in FIG. 6.
  • the original image file is not modified or overwritten during this process.
  • the images are recompressed, preferably as JPG images at a compression ratio that will allow them to fit onto a standard storage medium such as a 31 ⁇ 2 inch, 1.44MB floppy disk (step 48 ).
  • the final size of each image will be no more than approximately 38 kB each.
  • the user is informed of this, and the user is provided the option to change the image compression setting or remove one or more photos from the album.
  • the images are written to the storage medium in the order selected by the user (step 50 ).
  • the program will then inform the user that the images have been successfully written to the media (or, if applicable, indicate an error condition) (step 51 ). When viewed on a TV, the images will appear in this order.
  • the album information preferably will be stored in a separate file allowing the user to instantly recall and re-create the album at a later time (step 52 ).
  • the software informs the user that the stored album has been created and is ready for display on the TV using the set-top viewing device.
  • the user may print or view a “contact sheet” to allow easy location of any photo in any album.
  • a small TV set-top box is used to display the images on a TV.
  • An exemplary set-top box 10 and remote control 12 as implemented in the preferred embodiment are illustrated in FIG. 1.
  • a set-top box which displays the digital photo album on a standard TV or other monitor preferably has many or all of the following attributes. It is completely stand-alone, requiring no connection to a computer. Only a power input is required, although optionally a battery power source may be used. It contains a media reader (a floppy disk drive in the preferred embodiment, but optionally it could be a CD, DVD, ZIP, flash memory, hard disk, or other drive) to read the digital photo album images. It contains hardware, software, and preferably firmware that transform JPG digital images into TV video signals. Finally, it preferably responds to commands from a handheld remote control device and/or front-panel control buttons.
  • the set-top box contains a number of unique technologies that differentiate it from other products that can display digital images on a TV. Previous products that show photos on TVs are based upon industry-standard PC processor chipsets (e.g., Intel 486, Motorola PowerPC processors).
  • a preferred embodiment of the invention contains a low cost, low-speed processor, primarily to facilitate user interaction. In a preferred embodiment, this processor is a standard, 8-bit Z80 processor.
  • the invention also preferably contains a fast, application-specific, low-cost JPG image decoder.
  • the box also preferably includes a Image Processing Memory Portion (preferably, a SDRAM component) that facilitates caching of the floppy disk contents.
  • a Image Processing Memory Portion preferably, a SDRAM component
  • This same Image Processing Memory Portion is preferably utilized during image processing computations. Since the entire floppy disk contents are cached within the Image Processing Memory Portion, it is possible for the invention to create duplicate copies of an album without the use of a PC, making it easier to share albums with others.
  • the set-top box preferably includes a fast, application-specific, low-cost image processor that converts decoded JPG images into high quality TV video signals.
  • the image processor embodied in the invention is unique in several respects.
  • a complete video image preferably is pre-computed and stored in the Image Processing Memory Portion prior to display of the image.
  • This method is superior to the commonly used video scan conversion technique in which final video computations are performed in real-time.
  • Pre-computing the video signal facilitates vertical image filtering, which can be employed to reduce video image flicker.
  • Pre-computing the video signal also facilitates the addition of phase-compensation pixels between video frames, which eliminates dot crawl in NTSC television displays and provides more efficient utilization of the Video Memory Portion, since the video signal may be based on only two video fields (NTSC) or four video fields (PAL).
  • NTSC video fields
  • PAL video fields
  • Image processing is preferably tailored for optimization of still images for viewing on a standard TV.
  • the image processing preferably includes vertical luminance filtering for flicker reduction, horizontal luminance filtering for reduction of cross-chrominance artifacts (i.e., the appearance of “false” color resulting from high frequency luminance), horizontal chrominance filtering for reduction of cross-luminance (i.e., “zipper” or “dot” patterns resulting from highly contrasted chrominance transitions), and a synchronous video modulation technique which eliminates dot crawl artifacts on NTSC televisions (i.e., cross-luminance patterns which appear to be in constant motion).
  • filter coefficients can vary, and the precise filter values are left to the preference of the user or the designer, as different filter coefficients can result in different image effects and qualities.
  • a preferred embodiment of the set-top box also contains a Video Memory Portion (preferably, a SDRAM component) that facilitates caching of fully processed video images. These images can be displayed immediately upon the user's command.
  • a Video Memory Portion preferably, a SDRAM component
  • “current image,” “next image,” “previous image,” and “informational” images are all simultaneously cached and available for instant viewing.
  • Caching of multiple computed images in the Video Memory Portion directly facilitates picture-in-picture insertion, split image displays, and various image transition effects (e.g., wipe right, wipe down), by simply reading parts of one image superimposed onto parts of another image.
  • a preferred embodiment of the invention also includes a stand-alone video synchronization generator.
  • This generator creates the video synchronization template (equalization pulses, synchronization pulses, and colorburst phase reference) independently of the image processing operations.
  • the Video Memory Portion capacity requirement is reduced, and the Video Memory Portion can be written with new image data any time that synchronization data is being generated (e.g., during equalization pulses, horizontal synchronization pulses, vertical interval video lines, and colorburst).
  • the preferred embodiment also includes an NTSC or PAL video pattern generator for compatibility with TVs in North America and Japan.
  • Other standards such as SECAM (used primarily in Europe), S-Video, Component Video, or any video standard involving the combination of video data with synchronization pulses can be implemented in similar alternate embodiments.
  • DMA direct memory access
  • the preferred embodiment also includes a memory controller, which provides for control of CPU-initiated SDRAM accesses.
  • the memory controller translates CPU-initiated memory access requests into properly formatted SDRAM access cycles, including Initialization, Write, Read, and Refresh operations.
  • the memory controller also provides for control of Z80 or other processor read-only memory (ROM) accesses.
  • ROM read-only memory
  • the memory controller translates CPU-initiated memory access requests into properly formatted ROM accesses, including control of ROM control signals, read address, and wait state insertion to accommodate ROM access latency.
  • the preferred embodiment also includes an infrared (IR) signal receiver, which provides serial bit stream decoding of a demodulated IR signal originating from the user's remote control, discrimination of valid IR codes from background noise, and interrupt assertion to the CPU when a valid IR code is received.
  • IR infrared
  • HDL hardware descriptive language
  • FPGA Field Programmable Gate Array
  • ASIC Application Specific Integrated Circuit
  • alternate hardware components are possible, and the invention is intended to include such alternates and equivalents.
  • the preferred embodiment uses a Z80 processor as a cost-effective element, other processors such as Pentiums or Intel 486s may be used (although they may add unnecessary cost to the final product).
  • a remote control is preferably used to operate the set-top box.
  • the remote control may be operated from up to fifty feet away from the box or more.
  • the remote control device allows digital photo albums to be viewed from a couch or similar accommodation.
  • the remote control preferably includes some or all of the following attributes:
  • buttons are preferably limited in order to provide ease of use and intuitive discovery of features.
  • the functions provided preferably include one or more of the following: Forward: to display the next image in the album.
  • Rotate to rotate the currently viewed image.
  • the Rotate feature preferably provides counterclockwise rotation, clockwise rotation, and/or restoration of original image rotation on successive presses of the button. Whichever rotation direction is selected will be associated with the same image if the image is re-displayed prior to removal of the disk media.
  • Auto Slideshow When pressed, initiates an automated slideshow through the album. Photos are preferably displayed in the order selected when the album was created using the PC software. Dwell time between images may be adjustable, preferably in 0.5 second increments, by pressing the Forward or Back buttons during slideshow operation.
  • Power Activates or deactivates the device. When the device is deactivated, a video passthrough circuit is engaged, channeling the user's VCR or DVD player through to the TVs video input.
  • buttons are selected to provide immediate intuitive recognition of the remote control functions.
  • the Forward button 15 may be shaped as a triangle pointing to the right
  • the Back or Reverse button 16 may be shaped as a triangle pointing to the left.
  • the Rotate button 14 may be round, with a rotating arrow printed around it.
  • the Slideshow button 17 may be square, and superimposed on an illustration of a slide projector screen.
  • any shape or color may be used without departing from the scope of the present invention.
  • the invention provides several advantages over the prior art. For example, it provides a complete system for creation, viewing, and sharing of digital photo albums. It is also simple enough for non-technical users, and it is designed for optimal video rendition of digital still images when viewed via a standard TV set. Preferably, it also requires only a relatively low cost to produce, since a preferred embodiment utilizes only standard, low-cost, readily available parts, or may be implemented as a low-cost integrated circuit.
  • the invention is also differentiated from prior art in the following ways, among others.
  • the invention addresses the complete process of selecting and arranging digital images into an album, preprocessing the images for efficient storage onto a removable medium, transferring the album images to a removable medium, and viewing the images.
  • the image processing and video processing architecture of the invention are implemented in the form of a highly optimized integrated circuit design, which is far less expensive to produce than the PC-processor based designs on which the prior art was based.
  • the top-level architecture of the invention is optimized to provide superior image processing and video processing performance, at a relatively low cost.
  • the invention uses a unique video-processing algorithm that provides video images having stability and clarity far exceeding prior methods.
  • a preferred embodiment of the invention includes a PC-software component for creating digital photo albums that can be easily shared with other people who may possess the invention, but who may not have access to a computer, or who may lack knowledge of how to operate a computer.
  • the invention is preferably comprised of some or all of the following elements:
  • a hardware device connecting to the TV or monitor (in the preferred embodiment, a TV set-top box); comprised of: (a) a digital media reader (in the preferred embodiment, a standard 31 ⁇ 2 inch floppy disk drive, but optionally a CD, DVD, ZIP, Flash Memory, hard disk, or other drive); (b) a digital image decoder for JPG-formatted images (converts JPG image files into a viewable bitmapped image); (c) a digital image processor (converts decoded digital images into high quality television video); (d) a video synchronization generator which produces the video template (i.e.
  • non-image data including equalization pulses, synchronization pulses, and colorburst phase reference;
  • an optional video bypass circuit to allow a VCR or DVD or other video signal to be passed through the device when the device is not in use (this feature eliminates the need to reconnect cables on TVs having only a single video input);
  • an optional infrared receiver for the remote control for the remote control;
  • front-panel control switches for the remote control;
  • front-panel LED indicators for the remote control
  • FIGS. 9 system diagram
  • 10 detailed diagram of FPGA/ASIC
  • the FPGA or ASIC 60 is a custom-designed logic component.
  • the design is implemented using Hardware Descriptive Language (HDL) firmware algorithms.
  • HDL firmware algorithms are synthesized into efficient gate-level logic equivalents using commercially available HDL synthesis tools.
  • the synthesized gate-level logic is physically implemented using either a field-programmable gate array (FPGA) or in an application specific integrated circuit (ASIC).
  • FPGA field-programmable gate array
  • ASIC application specific integrated circuit
  • Functions provided by the FPGA or ASIC 60 may include that of a digital image decoder 64 , providing parsing of JPG file header information, generation of Huffman code tables, Huffman decoding of entropy-coded data streams, dequantization of decoded data, inverse discrete cosine transform (IDCT), reassembly of decoded image components into fully bitmapped color planes, and resealing of images with Y:Cb:Cr sampling ratios other than 2:1:1
  • the FPGA or ASIC 60 provides the function of a digital image processor 66 , providing vertical image resealing to fit the TV active window. Preferably, this is a ratio of 23/24 for NTSC, 7/6 for PAL.
  • the processor 66 function also preferably includes vertical image filtering.
  • Vertical filtering of the luminance component is performed to reduce visual flickering between video fields.
  • a 7-tap digital FIR filter is utilized.
  • Horizontal image rescaling to fit the TV active window is also provided. Preferably, this is a ratio of 9/8 for NTSC, 25/18 for PAL.
  • Horizontal filtering of the luminance component is also performed to reduce “cross-chrominance” artifacts.
  • a 7-tap digital FIR filter is utilized.
  • Horizontal filtering of the chrominance component may be performed to reduce “cross-luminance” artifacts.
  • Image rotation is also preferably provided by the processor 66 . If indicated by the user, the image is rotated either clockwise or counterclockwise.
  • the image rotation algorithm is designed for most efficient memory utilization, requiring no additional memory. The rotation algorithm is described in a later section.
  • the processor also preferably provides video computation. The decoded, processed image is converted into a fully computed television video signal, including black level, luminance scaling, chrominance-to-UV conversion, and chrominance I/Q modulation.
  • the FPGA or ASIC 60 may also provide the function of a video transfer controller 68 , providing transfer of fully computed video images from the Image Processing Memory to the Video Memory. Preferably, such transfer may occur only when the Video Memory is not being accessed for image readback operations. This method eliminates the need to use a more costly dual-port memory device.
  • the video transfer function may also provide progressive-to-interlace mapping of image scanlines into interlaced video fields. It may also provide a video transfer algorithm to accomplish video data transfer during synchronization intervals (narrow EQ pulses, broad EQ pulses, horizontal sync pulses, colorburst, front porch, back porch, and vertical interval video lines).
  • Video Sequencer 70 During video transfer operations, the aforementioned synchronization intervals are preferably controlled by a “Video Sequencer” 70 .
  • a preferred embodiment of the Video Sequencer 70 is illustrated in FIG. 11.
  • the Video Sequencer preferably provides for control of Video Memory SDRAM initialization, read and write cycles, row precharge and refresh cycles.
  • the Video Sequencer may also provide for generation of the video synchronization template for NTSC, PAL, or SECAM. This includes narrow EQ pulses, broad EQ pulses, horizontal synchronization pulses, colorburst, blanking intervals, vertical interval video lines, and other required elements of the video synchronization template.
  • the video synchronization template is defined by industry standards such as American National Standards Institute (ANSI) 244M for NTSC, European Broadcasting Union (EBU) Tech. 3280-E for PAL, and International Telecommunications Union (ITU) ITU-R BT.470 for NTSC, PAL, and SECAM video standards.
  • the sequencer may also perform video image display, provided by insertion of image data from the Video Memory into the appropriate pixel locations within the video synchronization template.
  • any image or portion of an image stored in Video Memory can be mapped to the video display area by simply redirecting the memory read address pointer.
  • Video Sequencer 70 may include picture-in-picture video insertion, split-image display, and image transition effects facilitated by redirecting the Video Memory address pointer at various times during the display of an image.
  • the sequencer may also provide for differentiation between synchronization intervals (narrow EQ pulses, broad EQ pulses, horizontal sync pulses, colorburst, front porch, back porch, and vertical interval video lines) and video display intervals, thus allowing new video data to be written to the Video Memory at all times other than when the Video Memory is engaged in image display (readback) operations. This method eliminates the need to use a more costly dual-port memory device.
  • Additional functions of the Video Sequencer 70 may include time-division multiplexing between synchronization intervals, image data being read from the Video Memory, and computed image components such as borders, lines, and text.
  • the Video Sequencer may also insert phase compensation pixels to provide synchronous inter-frame video phases. This method provides reduction or elimination of dot-crawl in NTSC television displays, and it also reduces the Video Memory capacity requirement by 2:1 in NTSC and PAL television systems by eliminating the need for duplicated data in subsequent frames.
  • the sequencer may also display a blank video screen by inserting black-level pixels into the active video area of the video synchronization template.
  • the FPGA or ASIC 60 also preferably includes an infra-red (IR) receiver 72 , providing some or all of the following: (i) recognition of a valid IR transmission protocol (as opposed to background noise); (ii) recognition of a valid code corresponding to the set-top box device (as opposed to codes possibly intended to address other devices); (iii) recognition of the transmitted command code, corresponding to a press of a particular button on the remote control; (iv) recognition of a continuous stream of command codes, indicating that a button has been pressed for an extended period of time; (v) issuance of an interrupt to the CPU, the image decoding, or the image processing algorithms, when a valid set of codes has been recognized; (vi) transmission of command code data to the CPU; and (vii) a provision to selectively enable or disable CPU interrupt assertion associated with any specific command code.
  • IR infra-red
  • the FPGA or ASIC 60 also preferably includes the function of a Direct Memory Access (DMA) controller 74 , providing efficient data transfer from the external storage medium, such as a floppy disk 92 and controller (FDC) 94 , to the Image Processing Memory 104 .
  • DMA Direct Memory Access
  • FDC controller
  • This feature provides the ability to store the contents of the floppy disk or other storage medium in the Image Processing Memory 104 , thus providing rapid recall of previously loaded images.
  • the DMA controller 74 also provides efficient data transfer from the external ROM 96 to the Image Processing Memory 104 and the internal SRAM 80 . This feature provides the ability to transfer ROM-based images such as informational messages to the Image Processing Memory 104 .
  • the DMA controller 74 also provides efficient data transfer from the Image Processing Memory 104 to the internal SRAM 80 . This provides the ability to transfer raw image data directly into the image decoder 64 .
  • the DMA controller 74 also provides SDRAM refresh cycles during the time the CPU has granted the bus.
  • the FPGA or ASIC 60 also preferably includes the functions of a SDRAM controller 76 , providing control of Image Processing Memory SDRAM initialization, read and write cycles, row precharge and refresh operations, as well as translation of CPU Read, Write, and Refresh commands into SDRAM access cycles.
  • SDRAM controller 76 providing control of Image Processing Memory SDRAM initialization, read and write cycles, row precharge and refresh operations, as well as translation of CPU Read, Write, and Refresh commands into SDRAM access cycles.
  • Another FPGA/ASIC 60 function may include that of a programmable timer 78 , providing CPU interrupts at repeatable time intervals. This facilitates CPU processes which require an accurate time reference, such as (1) photo transition timing in the automatic “slideshow” mode; (2) distinguishing between a single-button press and a held button as may be asserted by the user via the remote control device; and (3) determination that a process has exceeded a pre-allowed maximum time interval, such as could occur when attempting to decode a corrupted image.
  • the timer 78 may also provide the ability to reload the timer to any arbitrary start value via a CPU command, providing the flexibility to use the timer for various purposes.
  • the timer 78 also preferably provides the ability to program a 1-byte or other size prescaler register used to configure the timer clock produced by dividing the system clock down to a lower frequency. This allows a wider range of possible timer interval periods.
  • the FPGA or ASIC 60 also preferably includes Internal Static Random Access Memory (SRAM) 80 , providing (i) temporary storage of a Huffman code table associated with each image (ii) temporary storage of quantization table data associated with each image; (iii) efficient IDCT computation; (iv) temporary storage of IDCT Minimum Coded Unit (MCU) results prior to transfer to Image Processing Memory 104 ; (v) first-in-first-out (FIFO) buffering for efficient transfer of raw image data images from Image Processing Memory 104 to the image decoder 64 ; and/or (vi) FIFO buffering for efficient transfer of fully computed video images from Image Processing Memory 104 to Video Memory 102 .
  • SRAM Internal Static Random Access Memory
  • the FPGA or ASIC 60 also preferably includes a floppy disk controller (FDC) interface 82 or other interface to the storage medium, providing logic required to interface FDC or storage medium signals to the CPU.
  • FDC floppy disk controller
  • the ASIC or FPGA 60 may also provide the function of a Control Processing Unit (CPU) 62 .
  • the CPU 62 is a standard Z80 processor core implemented as a stand-alone component.
  • the Z80 processor code may also be implemented within the FPGA/ASIC 60 as a synthesized HDL core, and is readily available as such in the industry. However, other processing devices may be used.
  • the CPU 62 provides system power-up and initialization of FPGA/ASIC registers.
  • the CPU 62 also provides disk media operations, including reading of the disk directories, File Allocation Tables (FAT), and files; computing the track, cylinder, and head locations needed to read desired disk sectors; controlling the disk drive motor and head positions; reading disk data; and transferring disk data to the Image Processing Memory 104 for later use.
  • the CPU 62 also provides interpretation and execution of user commands as received via the IR receiver 86 or front-panel interface; coordination of the image decoding, image processing, video transfer, and video display processes; and coordination of images stored in Video Memory 102 . This includes updating the Video Memory cache to maintain the Present Image, Previous Image, and Next Image as available for display at all times.
  • the CPU 62 may provide configuration of the DMA controller for each DMA transfer cycle.
  • the FPGA or ASIC 60 also preferably provides Image Processing Memory bus arbitration and multiplexing logic 83 .
  • the Image Processing Memory 104 is accessed by the CPU 62 , the Memory Controller 76 , the DMA Controller 74 , and the Image Processor 66 at different times and for different purposes. It is essential to ensure seamless handover of control between these various structures accessing the Image Processing Memory 104 .
  • the Image Processing Memory arbitration and multiplexing structure monitors bus requests from the various structures which access the Image Processing Memory 104 , and it provides synchronous and exclusive multiplexing of the Image Processing Memory data, address, and command buses.
  • the FPGA/ASIC 60 should also include Video Memory bus arbitration and multiplexing logic 83 .
  • the Video Memory 102 is accessed by both the video transfer controller 68 (during Video Memory write operations) and by the Video Sequencer 70 (during Video Memory read operations). It is essential to ensure seamless handover of control between these two structures accessing the Video Memory.
  • the Video Memory arbitration and multiplexing structure monitors bus requests from the structures which access the Video Memory 102 , and it provides synchronous and exclusive multiplexing of the SDRAM data, address, and command buses.
  • the hardware also preferably includes a clock oscillator 84 .
  • the oscillator 84 has a frequency equal to four times the color sub-carrier frequency of the TV standard being employed.
  • the crystal frequency is 14.318180 MHz.
  • the crystal frequency is 17.734475 MHz.
  • other frequencies may be used in alternate embodiments.
  • the hardware should also include an infra-red (IR) receiver 86 .
  • IR infra-red
  • This can include a commercially available IR receiver diode, capable of demodulating a received IR signal into its constituent digital data component.
  • One or more pushbutton switches 88 should also be provided. In addition to remote-control operation, it may be desirable to access certain functions from the set-top box front panel. For example, in the preferred embodiment, a pushbutton is provided to enable and disable the automatic slideshow mode. Switches may also be employed for other functionality, including Power on/off, Next Image, Previous Image, Rotate Image, Return to Contact Sheet, etc.
  • LEDs 90 Light Emitting Diodes 90 , such as two color LEDs, are used in the preferred embodiment to indicate the operational status of the unit to the user.
  • a green light indicates that the Next Image is processed and ready for viewing.
  • a yellow light indicates that disk access is in process, or that the Automatic Slideshow mode is enabled. LEDs may be employed for other purposes, such as to indicate power on, error conditions, etc.
  • the hardware also includes a storage medium 92 .
  • a floppy disk drive FDD
  • An industry-standard drive is preferably utilized. Since all contemporary media utilizes similar data, addressing, and control interfaces, the use of other media types is foreseeable within the scope of the invention. These include hard disk drives, solid-state “flash” memory, CD-ROM, DVD-ROM, and wireless interfaces.
  • the hardware also includes an FDD or other controller (FDC) chip 94 .
  • FDC field-effect transistor
  • an industry-standard FDC chip may be used to provide physical interface to the FDD.
  • the FDC chip 94 provides generation of electrical signals to drive the FDD motor and read/write head, as well as certain command interface signals.
  • the hardware should also include Read-Only Memory (ROM) 96 .
  • the ROM 96 is used to hold the CPU program execution code.
  • the CPU 62 retrieves code instructions from the ROM 96 whenever the CPU is active.
  • the ROM 96 may also be used to store informational images (“Loading Next Image . . . ”, etc.). Informational messages may be displayed as needed to inform the user of the status of the device or of error conditions. These images are stored in standard JPG format to conserve ROM area, and are decoded and processed identically to images read from the disk media.
  • the hardware should also include a video input connector 106 , a video output connector 108 , and a video passthrough circuit 98 .
  • Some TVs have only a single video input connector. In this case, it may be necessary to reconnect cables in order to switch between use of the invention and a secondary video device such as a VCR or DVD player.
  • a video passthrough circuit 98 is optionally and preferably provided.
  • the video passthrough circuit 98 is a conventional video switch that connects the internally generated video signal through to the video output connector 108 when the invention is in use. At other times, the video input connector 106 is switched through to the video output connector 108 , thus automatically reconnecting the secondary video device to the TV video input.
  • the video passthrough circuit 98 should contain an analog lowpass filter to reduce spectral emissions above the video passband.
  • the hardware also preferably includes a digital-to-analog converter (DAC) 100 .
  • the DAC 100 is an industry-standard component that translates a digitally-represented video signal into the corresponding analog representation.
  • DAC digital-to-analog converter
  • the DAC 100 may also be implemented as a binary resistor network. This entails connecting a binary progression of resistor values to each of the ASIC/FPGA digital video output pins, and then connecting the opposite ends of the resistors together.
  • a preferred embodiment would be to connect a 300 ohm resistor to the Most Significant Bit (MSB), a 600 ohm resistor to the second MSB; a 1200 ohm resistor to the third MSB, and so on.
  • MSB Most Significant Bit
  • 600 ohm resistor to the second MSB
  • 1200 ohm resistor to the third MSB
  • This choice of resistors provides a parallel output impedance of approximately 75 ohms. This method is somewhat less accurate compared with using an industry-standard DAC, but also provides acceptable TV viewing performance.
  • the hardware should include a Image Processing Memory 104 .
  • this is preferably a standard 2 MB SDRAM; in the PAL embodiment, this is preferably a standard 8 MB SDRAM.
  • the Image Processing Memory 104 may be used for some or all of the following purposes, and preferably in the following amounts when a floppy disk is used: (i) Preferably 32 kB may be used for CPU execution (program stack, variables, op-codes); (ii) 1.44 MB may be used for storing the contents of one floppy disk; and (iii) 0.5 MB (NTSC) or 1 MB (PAL) may be used for image processing operations (reconstruction of image color planes, rescaling, filtering, rotation, and video processing).
  • the Image Processing Memory 104 can be used for multiple purposes, and can be accessed at different times by different structures within the invention. In each case, the structure accessing the Image Processing Memory 104 provides complete management of read, write, and refresh operations.
  • the CPU 62 accesses the SDRAM 104 via the HDL Memory Controller 76 module described above.
  • the CPU 62 first configures the DMA controller 74 .
  • the DMA controller 74 then directly accesses the Image Processing Memory 104 .
  • the Image Processor 66 directly accesses the SDRAM 104 for reading pre-processed image pixels and writing post-processed image pixels.
  • Video Memory 102 there is preferably a single SDRAM chip referred to as the “Video Memory” 102 .
  • This may be implemented as a standard 2MB or 8MB SDRAM depending on the desired number of fully processed video images to be cached.
  • the Video Memory 102 provides storage for fully computed video images.
  • the Video Memory 102 stores several fully computed video images. For example, in the NTSC embodiment, each video image is preferably 720 ⁇ 460 pixels in size, requiring 331,200 bytes. A 2MB Video Memory can accommodate up to six image blocks of this size.
  • three non-overlapping areas of the Video Memory are allocated for the storage of computed video images. These are referred to as the Current Image (the image currently being displayed), the Previous Image (the image that would be displayed if the user pressed the “back” button), and the Next Image (the image that would be displayed if the user pressed the “forward” button). Also, preferably up to three areas of the Video Memory are allocated for images containing informational messages. These may include a “Loading Next Image” message, a “Splash Screen” message that is displayed upon power-up, and an “Error Message” informing the user that a bad or incompatible image has been encountered.
  • the Video Memory 102 may be accessed by at least two structures within the design. Data may be written to the Video Memory 102 via the video transfer controller 68 . This is a synthesized HDL structure that transfers fully processed image data from the Image Processing Memory to the Video Memory. The video transfer controller 68 should write data to the Video Memory 102 using a burst write operation, which maximizes readback efficiency and permits continuous data playback.
  • the video transfer controller 68 will write data to the Video Memory 102 only when two conditions are met: The SRAM FIFO buffer used to transfer data from the Image Processing Memory 104 has been filled; and the Video Sequencer 70 has indicated that there is sufficient time remaining prior to the start of the next Video Memory read burst to allow a write burst to be initiated and concluded.
  • the Video Memory 102 preferably stores data in a linear address map to enable continuous readback of video data.
  • Data should be written to the Video Memory 102 in the exact order that it will be played back. For example, all the scanlines of video field 1 (even image lines) may be written first, followed by all the scanlines of video field 2 (odd image lines).
  • Data bursts comprising each video scanline are written to alternating SDRAM banks. This allows continuous readback of video data, as one bank can be activated and prepared for a Read burst while another bank is concluding a Read burst.
  • the Video Memory 102 may be engaged in “Readback” mode whenever both of the following conditions are met: (i) a CPU command has been issued to the Video Sequencer 70 indicating the display of a video image located at a specific video SDRAM memory area; and (ii) the current Video Sequencer line number and pixel count correspond to coordinates of the active video display area.
  • the Video Sequencer 70 may alternate between video images at any 8-byte boundary by simply redirecting the Video Memory address pointer prior to beginning the burst read operation. This feature provides some or all of the following capabilities:
  • Images stored in Video Memory 102 may be interchanged in a near-instant manner. For example, if the Current Image, Previous Image, and Next Image have all been written to separate blocks within the Video Memory 102 , and if the Current Image is being displayed, the device can immediately display either the Previous Image or Next Image upon receipt of a user command.
  • Image transition effects are facilitated.
  • a new image may replace a Previous Image by “wiping” the new image downwards over the Previous Image. This is achieved by alternating the Video Memory read address pointer between the new image and Previous Image, while simultaneously incrementing the address pointer at the start of each video field.
  • sideways wiping, random transitions, and other related effects are possible by incrementing the Video Memory address pointer as needed to accomplish the desired transitional effect.
  • the Image Processing Memory is initialized (step 150 ).
  • the Image Decoder then waits until a Start_Decode command or other appropriate command is received from the CPU. This command indicates that an image is ready to be decoded, and provides associated information such as whether the image will require rotation.
  • the Image Decoder transfers JPG file Huffman table specifications and Quantization Tables to the Symbol Lookup Table (LUT) and Quantization LUT SRAMs.
  • the Image Decoder then computes the JPG Huffman decoding tables, and stores these tables in the Huffman Codes SRAM block (step 152 ).
  • the Image Decoder then requests that the JPG Entropy Coded Data (ECD) be provided (step 154 ).
  • the CPU provides this data stream 512 bytes at a time via the ECD SRAM buffer (the exact size of this buffer is not important, and thus delivery may occur in increments that are other than 512 bytes).
  • the Image Decoder shifts the data stream one bit at a time from the ECD SDRAM buffer until a Huffman code match is identified. When a valid code is identified, the image decoder proceeds to determine the Huffman symbol and amplitude. As symbols and amplitudes are computed, the resultant 8 ⁇ 8 matrix is filled. Optionally, matrices of other sizes may be used. Zero-fills, end-of-block codes, and DC accumulation are performed in accordance with standard JPG requirements. Huffman decoding may be implemented using techniques common in the art.
  • the matrix is dequantized by multiplying each pixel of the matrix by the corresponding amplitude quantization coefficient provided in the JPG file header (step 156 ).
  • an Inverse Discrete Cosine Transform is performed (step 158 ).
  • the IDCT carries a fixed precision of 16 bits per color component.
  • the IDCT is implemented using techniques common in the art.
  • the computed IDCT results are stored in the Results_Y and Results_C SRAM blocks (step 160 ).
  • the Results_Y SRAM preferably holds up to four 8 ⁇ 8 Luminance blocks, whereas the Results_Y SRAM preferably holds up to four 8 ⁇ 8 Chrominance Blocks.
  • MCU full minimum coded unit
  • the actual utilization of these SRAMs will depend on the vertical and horizontal sampling ratios of the source image.
  • the Image Processing Memory preferably includes a 512 kB area used for image processing. This area is preferably subdivided as follows: (1)345,600 bytes are allocated for the 720 ⁇ 480 Y Canvas; (2) 172,800 bytes allocated for the 360 ⁇ 240 Cb Canvas; (3) 172,800 bytes are allocated for the 360 ⁇ 240 Cr Canvas; and (4) 345,600 bytes are allocated for the final processed video. This final processed video area overwrites the Y Canvas during video processing, and as such does not require any additional SDRAM area.
  • the Image Processing Memory preferably includes an area, preferably of 1 MB size but alternately of other sizes, used for image processing.
  • This area is preferably subdivided as follows: (1) 492,800 bytes are allocated for the 880 ⁇ 560 Y Canvas; (2) 246,400 bytes are allocated for the 440 ⁇ 280 Cb Canvas; (3) 246,400 bytes are allocated for the 440 ⁇ 280 Cr Canvas; and (4) 985,600 bytes are allocated for the final processed video.
  • This final processed video area overwrites the Y, Cb, and Cr Canvases during video processing.
  • the decoded MCUs are transferred from the internal SRAM to the Image Processing Memory, they are arranged in the Image Processing Memory Canvases in the same row-column format of the original image.
  • the color components (Y, Cb, and Cr) are maintained in separate memory Canvases and processed independently until the final video processing stage.
  • the Image Processor In order to accomplish the transfer of data from internal SRAM to the external Image Processing Memory, the Image Processor must temporarily assume control of the Image Processing Memory. This transfer of control is preferably achieved as follows: After an MCU has been decoded and the results stored in SRAM, the image processor asserts a bus request to the CPU. When the CPU completes the instruction cycle in process, it will release control of the bus and assert the Bus Acknowledge signal (step 164 ). When the image processor senses the Bus Acknowledge signal, it assumes control of the Image Processing Memory data, address, and control buses. After assuming control of the Image Processing Memory bus, the Image Processor reads data from the Results_Y and Results_C SRAMs, and writes this data to the Image Processing Memory (step 166 ).
  • Image Processing Memory such as to form a bitmapped reconstruction of the original image, in three separate color planes (Y, Cb, Cr).
  • the image processor monitors an SDRAM refresh timer.
  • the Image Processor interrupts image processing operations as needed to assert SDRAM refresh cycles for the maintenance of the Image Processing Memory.
  • the image processor checks to see if all MCUs have been transferred (i.e., if the image has been completely assembled in the Image Processing Memory Canvas areas) (step 168 ). If all MCUs have been transferred, the Image Processor proceeds to the image processing operations (step 170 ). Otherwise, control of the Image Processing Memory is released back to the CPU to facilitate decoding of the remaining JPG data (step 172 ).
  • the Image Processor In order to process data stored in the Image Processing Memory image Canvas, the Image Processor must temporarily assume control of the Image Processing Memory. This transfer of control is preferably achieved as follow. After all MCUs have been decoded and the results transferred to the Image Processing Memory, the Image Processor asserts a bus request to the CPU. When the CPU completes the instruction cycle in process, it will release control of the bus and assert the Bus Acknowledge signal. When the Image Processor senses the Bus Acknowledge signal, it assumes control of the Image Processing Memory data, address, and control buses. After assuming control of the Image Processing Memory bus, the Image Processor executes the image processing functions described in the section below (step 170 ). While image processing operations are underway, the Image Processor monitors an SDRAM refresh timer. The Image Processor interrupts image processing operations as needed to assert SDRAM refresh cycles for the maintenance of the Image Processing Memory. Once all image processing and video transfer operations are complete, control of the Image Processing Memory is released back to the CPU.
  • the image may be rotated either clockwise or counterclockwise. If the user has indicated that an image is to be rotated, rotation should be performed prior to other image processing operations. This method is preferred because subsequent image processing operations involve dimension-specific resealing and filtering.
  • Vertical resealing and filtering 182 may also occur.
  • the image is preferably rescaled vertically by the ratio of 23:24 (NTSC) or 7:6 (PAL). This results in the 480 rows of the original image being rescaled to 460 rows (NTSC) or 560 rows (PAL). These ratios were chosen to provide accurate 4:3 aspect ratio on the TV display taking into account the horizontal sampling frequency that is utilized, as well as providing a vertical overscan ratio of approximately 2.5%.
  • the image is filtered vertically in the luminance component to reduce inter-field video flicker.
  • a 7-tap FIR filter with coefficients such as 0-3-29-64-29-3-0 provides significant flicker reduction with minimal loss of resolution.
  • the vertical resealing and filtering operations should be pipelined to minimize processing time.
  • Horizontal rescaling and filtering 184 also preferably occur.
  • the image is rescaled horizontally by the ratio of 9:8 (NTSC) or 25:18 (PAL). This results in the 640 rows of the original image being resealed to 720 rows (NTSC) or 880 rows (PAL). These ratios were chosen to provide accurate 4:3 aspect ratio on the TV display taking into account the horizontal sampling frequency that is utilized, as well as providing a horizontal overscan ratio of approximately 2.5%.
  • the image luminance component is filtered horizontally to reduce cross-chrominance artifacts. These artifacts are manifested as “false” color that is evident in the area of highly detailed luminance transitions.
  • a 7-tap FIR filter is utilized.
  • the image chrominance component is filtered horizontally to reduce cross-luminance artifacts. These artifacts are manifested as “zipper” patterns that are evident in the area of highly detailed chrominance transitions.
  • a 7-tap FIR filter is utilized. The horizontal resealing and filtering operations are pipelined to minimize processing time.
  • the three color components of the image are preferably mathematically processed (step 188 ) to produce an NTSC, PAL, or SECAM video signal.
  • Luminance component data is multiplied by a luminance gain constant.
  • Chrominance component data are multiplied by chrominance gain constants.
  • Chrominance data are modulated by the phase of the video subcarrier. Scaled luminance and modulated chrominance are added together.
  • Video black level is added to the computed result. Values outside of the DAC range (e.g., [0,255] for an 8-bit DAC) are clipped.
  • Final computed video data overwrites the original luminance component area in SDRAM.
  • Video data transfer (i.e., writing to the Video Memory) should only be accomplished during time intervals when the Video Memory is not engaged in video data readback operations. This method eliminates the need to use a more costly dual-port memory device.
  • a small SRAM FIFO buffer (preferably several hundred bytes in length) may be used to facilitate efficient data transfer.
  • the Image Processor fills the SRAM FIFO buffer with data, and then asserts the flag (e.g., SRAM_FULL) indicating that the SRAM FIFO has been filled.
  • the Video Transfer Controller When the Video Transfer Controller senses the SRAM_FULL flag 194 , it begins the process of emptying the SRAM FIFO, writing the data to the Video Memory (step 196 ). Preferably, data is written in bursts of 4 or 8 data points at a time to alternating SDRAM banks to facilitate efficient transfer. Prior to initiating a Video Memory write burst, the Video Transfer Controller first monitors a flag (e.g., Enable_Write) that is controlled by the Video Sequencer (step 192 ). Enable_Write is asserted whenever the Video Sequencer determines that sufficient clock periods remain prior to the next SDRAM readback operation.
  • a flag e.g., Enable_Write
  • the Video Transfer controller continues writing bursts of video data to the Video Memory until: (i) the SRAM FIFO has been emptied; or (ii) the Video Sequencer negates Enable_Write or, (iii) the entire image has been written.
  • the SRAM FIFO has been emptied, and its contents written to the Video Memory, the SRAM_FULL flag is cleared, thus allowing the cycle to repeat for the next block of data to be transferred. The process continues until the entire image has been transferred to the video SRAM.
  • FIG. 14 Preferred methods of FIR Rescaling and Filtering, and pipelining the same are shown in FIG. 14.
  • data points are read consecutively from Image Processing Memory (step 210 ).
  • Data points are fed into a real-time resampling algorithm which upsamples and downsamples data as needed to meet the desired resampling ratio (step 212 ).
  • Data points flowing out of the resampling algorithm are fed directly into the FIR filter (step 214 ).
  • the FIR filter should be programmed with coefficients that are tailored for each dimension and each color component.
  • Data points flowing out of the FIR filter are written immediately back to the Image Processing Memory, overwriting data which has been processed and is no longer needed (step 216 ). This “in-place” computation reuses SDRAM memory, thus minimizing the SDRAM memory requirement.
  • Image rotation is often desirable for certain images, such as those captured with the camera held in the “portrait” orientation.
  • the Invention utilizes a unique image rotation algorithm that fits the rotated image entirely within the viewable area of the TV screen. It also provides “letterboxing”, or addition of black space, to the sides of the rotated image. In addition, it preferably accomplishes image rotation in-place; that is, without requiring any additional memory buffering.
  • FIG. 15 A preferred method of rotation is illustrated in FIG. 15. If needed, rotation is accomplished immediately after image decoding, prior to other image processing operations. This method permits a fixed rotation algorithm to be used, regardless of the TV video standard (NTSC, PAL, or SECAM).
  • the image is resealed vertically, preferably by the ratio of 3:4 (step 230 ). For example, this reduces the original image height of 480 pixels to a resealed height of 360 pixels. Other scaling and sizes may optionally be used.
  • the image is rescaled horizontally, preferably by the ratio of 3:4 (step 232 ). This reduces the original image width from 640 pixels to 480 pixels.
  • the active image area is now 360 pixels high by 480 pixels wide. (When rotated, the image will be 480 pixels high, perfectly fitting the TV screen). Again, other scalings and sizes may be used. Also optionally, horizontal rescaling may be performed prior to, or concurrently with, vertical resealing.
  • the resealed image is offset horizontally by the offset shown as X 1 (step 234 ). For Clockwise rotation, X 1 is preferably 140; for Counterclockwise rotation X 1 is preferably 260. With this offset, the square box bounding the rescaled image may be rotated, with the result that the rotated image will be perfectly centered in the 640 ⁇ 480 matrix. After rotation, sides of the screen may be filled with black (step 236 ).
  • In-place image rotation is preferably accomplished as shown in FIG. 16.
  • the portion of the image to be rotated is a square area extending vertically from the top of the image to the bottom of the image; horizontally from X 1 to X 2 .
  • Pixel A is stored temporarily in a one-byte register.
  • Pixel G is transferred to the location of Pixel A.
  • Pixel E is transferred to the location of Pixel G.
  • Pixel C is transferred to the location of Pixel E.
  • the Pixel A value, stored in the temporary register is written to Pixel C.
  • the process then continues by rotating the ring of pixels directly inside to the outer ring, using the method described above. The process continues as shown, processing all rings from the outer ring to the central ring of the square area shown.
  • the central ring is comprised of the four pixels W, X, Y, and Z located in the center of the square area.
  • the Invention facilitates rapid navigation to any desired image in the album.
  • navigation is facilitated by the “contact sheet” which is created by the PC based album creation software.
  • This contact sheet is preferably the first image displayed upon viewing a disk album. If the user wishes to display a specific image within the album, the user may make note of the relative position of the image within the album by examining the contact sheet. If the user observes that the desired image is, for example the twelfth image in the album, the user may navigate immediately to this image by pressing the “forward” button twelve times in succession.
  • the IR remote control receiver detects a press of the “forward” or “reverse” buttons while an image is being processed, the Current Image processing operation is halted.
  • the image index counter (the counter which determines the Next Image to be displayed) is incremented (or decremented) with each detected press of the forward (or reverse) buttons.
  • the processor detects that the user has stopped pressing the forward or reverse button, the image index counter is read, and the corresponding image is decoded and then displayed.
  • the image index counter advances (or decrements) by five images. This “skip increment” may be easily adjusted to other values.
  • the Invention employs “directional” image caching.
  • the device begins decoding both the Previous Image (the image immediately preceding the currently displayed image in the ordered album), and the Next Image (the image immediately following the currently displayed image).
  • both the Next Image and the Previous Image will be cached in the Video Memory.
  • the CPU monitors the direction in which the user is navigating through the album. The order of background video caching is based on the user's direction of navigation.
  • An example of such a directional image catching procedure is as follows: While the user is viewing an image, take an image designated as number 7 for example (the Current Image), image 6 is designated as the Previous Image and image 8 is designated as the Next Image. If the user then presses the forward button, image 8 is displayed immediately from the Video Memory cache, and re-designated to be the new Current Image. The CPU then initiates processing and caching of image 9 (now becomes Next Image in the direction of navigation). Image 7 remains in the Video Memory cache, but is re-designated as Previous Image.

Abstract

An apparatus for creating a digital photo album is disclosed. Digital photo albums may be created on the storage media by a method that includes the steps of displaying a group of images, receiving instructions to select a subset of those images and save the subset as an album, compressing the files corresponding to those images and saving the compressed files to the storage medium.

Description

    PRIORITY
  • This application claims priority to U.S. Provisional Patent Application No. 60/338,122, filed Nov. 13, 2001, which is incorporated herein by reference in its entirety, including all text and drawings thereof.[0001]
  • FIELD OF THE INVENTION
  • The present invention relates generally to image file storage and retrieval systems. More particularly, the present invention relates to a method and system for creating digital photo albums on a standard storage device. [0002]
  • BACKGROUND OF THE INVENTION
  • Digital photography is steadily growing in popularity. Digital photography offers several advantages over film photography: photos are available immediately, there are no costs for film or processing, and digital images can be instantly shared with anyone via electronic transmission. Despite these advantages, enjoyment of digital photographs is limited because the common viewing medium is the computer monitor. Digital photography is not likely to reach its full potential as long as people need to stand around a computer in order to enjoy their photos. [0003]
  • Digital photos can also be printed, much like conventional film photos. However, producing good quality prints from digital photos requires expensive printers and printer supplies. [0004]
  • Digital camera manufacturers have long recognized an alternative way to enjoy digital photos: to view the photos on a standard TV set. Most digital cameras have TV output capability, allowing the photographer to view recently captured images on their TV set. Unfortunately, using a digital camera to view images on TV has many drawbacks. For example, only those images presently stored in the camera can be viewed. In addition, the camera must be available at each viewing location, and cables must be reconnected for each viewing session. Further, there is no remote control capability and video images produced by digital camera technology are generally poor in quality. In addition, the high cost of digital cameras makes this option impractical for sharing photos with friends and relatives. [0005]
  • Viewing digital photos on TV sets presents a tremendous opportunity for the digital photography industry, because there are some 250 million TVs in 100 million households in the United States alone. Many of these households would be able to enjoy digital photos on their TV sets if there were a simple, inexpensive way to make this possible. [0006]
  • SUMMARY OF THE INVENTION
  • In accordance with a preferred embodiment of the invention, a method of storing a collection of digital images on a storage medium includes the steps of displaying a group of images for which corresponding image files are available, prompting a user to select a plurality of selected images from the group, prompting the user and/or receiving an instruction from the user to save the selected images to the storage medium as an album of images, and automatically performing the steps of: (i) making a copy of each image file that corresponds to the selected images to result in image file copies; (ii) making a “contact sheet” image comprised of a user-selected album title having a font and color selected by the user, and including small thumbnail representations of the images contained in the album; (iii) compressing the image file copies; and (iv) saving the image file copies to the storage medium. [0007]
  • Optionally, the method may also include the step of making a “contact sheet” image comprised of a user-selected album title having a font and color selected by the user, and including small thumbnail representations of the images contained in the album. It may also include the step of automatically adjusting the image file copies so that the selected images, when displayed, have a resolution not exceeding that which is required for optimal display on a standard display such as a television screen The method may also include the steps of prompting the user to make one or more modifications to any of the selected images, automatically adjusting the image file copies corresponding to the selected images for which the user makes one or more modifications so that said image file copies result in adjusted image files that include the one or more modifications, and (in the saving step) ensuring that the image file copies that have resulted in adjusted image files are saved as adjusted image file copies. Optionally, the method further includes the step of saving, to the storage medium, a file that contains parameters of the album, such that the file allows a user to automatically recreate the album for further duplication or modification. [0008]
  • In accordance with an additional embodiment, the invention comprises computer-readable carrier containing instructions that are capable of instructing a computing device to perform any or all of the above-described functions. [0009]
  • There have thus been outlined the more important features of the invention in order that the detailed description thereof that follows may be better understood, and in order that the present contribution to the art may be better appreciated. There are, of course, additional features of the invention that will be described below and which will form the subject matter of the claims appended hereto. [0010]
  • In this respect, before explaining at least one embodiment of the invention in detail, it is to be understood that the invention is not limited in its application to the details of construction and to the arrangements of the components set forth in the following description or illustrated in the drawings. The invention is capable of other embodiments and of being practiced and carried out in various ways. Also, it is to be understood that the phraseology and terminology employed herein, as well as the abstract, are for the purpose of description and should not be regarded as limiting. [0011]
  • As such, those skilled in the art will appreciate that the conception upon which this disclosure is based may readily be utilized as a basis for the designing of other structures, methods, and systems for carrying out the several purposes of the present invention. It is important, therefore, that the claims be regarded as including such equivalent constructions insofar as they do not depart from the spirit and scope of the present invention.[0012]
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 illustrates an exemplary set-top box embodiment of the invention. [0013]
  • FIG. 2 is a flowchart that illustrates several steps that may be implemented by the software embodiment of the invention. [0014]
  • FIG. 3 is a flowchart that illustrates additional steps that may be implemented by the software embodiment of the present invention. [0015]
  • FIG. 4 illustrates an exemplary screen showing “thumbnail” images that a user may select for inclusion in an album. [0016]
  • FIG. 5 illustrates the cropping and rotating features of a preferred embodiment of the invention. [0017]
  • FIG. 6 illustrates the insertion of black space around a picture. [0018]
  • FIG. 7 illustrates an example of a contact sheet that may be used to display multiple photos contained in an album. [0019]
  • FIG. 8 illustrates an exemplary remote control element. [0020]
  • FIG. 9 illustrates preferred architecture included within a preferred hardware embodiment. [0021]
  • FIG. 10 provides more detailed illustration of the FPGA/ASIC element in the preferred embodiment. [0022]
  • FIG. 11 illustrates a preferred embodiment of a Video Sequencer. [0023]
  • FIGS. [0024] 12-14 are process flow diagrams illustrating preferred embodiments of image processing methods in the present invention.
  • FIGS. [0025] 15-16 illustrate a preferred method of rotating an image in the invention.
  • DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS OF THE INVENTION
  • The invention described herein provides a method and system for the display of still images on a standard monitor. In a preferred embodiment, the invention is a stand-alone product that provides display of digital images on standard television sets, such as National Television Systems Committee (NTSC) television displays used primarily in North America and Japan, Phase-Alternating Line (PAL) televisions displays used primarily in Europe, and other television standards that combine synchronization pulses with a video signal containing chrominance and luminance information. For example, the invention may take the form of a television set-top box, or it may be provided in the form of a portable electronic device. Optionally, however, the invention may be provided within another device, such as in or on one or more cards within a personal computer or laptop, or it may be included as part of another device such as a digital video disk (DVD) player or video cassette recorder (VCR), or it may even be included within the housing of a television set itself. [0026]
  • Other embodiments not described herein are also possible, so long as they include the features and elements of the invention. In addition, although a preferred embodiment displays the images on a standard television set, the invention may also be used for the display of still images on another video device, such as a small handheld TV, a TV monitor, a large-screen projection TV, or a computer projection device which includes a video-to-RGB scan conversion mechanism. The device may also be used to create videotaped slideshows, by simply connecting the device's video output to the video input of a VCR. [0027]
  • The invention is first described herein from the view of the end user. The invention provides a method and system that facilitates the creation and display of albums containing digital photos on a standard TV set. A preferred embodiment of the Invention includes the following items, the second and third of which are illustrated in FIG. 1: (1) PC-based software that allows easy creation of a digital photo album tailored for TV viewing; (2) a small set-[0028] top box 10 which displays the digital photo album on a standard TV or other monitor; and (3) optionally and preferably, a remote control 12 used to operate the set-top box, preferably from up to fifty feet away or more. These aspects are described separately below.
  • PC-based software that allows easy creation of a digital photo album tailored for TV viewing: The process of creating a TV photo album is facilitated by the PC-based software. It is assumed that the user has accumulated a collection of digital images, which may exist in a variety of standard image formats (e.g., JPG, BMP, GIF), and in a range of resolutions (e.g., 640×480, 1024×768, or other sizes). The images may or may not have an aspect ratio (width-to-height ratio) that equals the 4:3 aspect ratio of standard TVs. [0029]
  • Standard TVs have a fixed aspect ratio of 4:3 and a fixed display resolution of approximately 640×480 pixels. Therefore, when a TV is used with the invention, digital images with higher resolution (e.g., 800×600 or larger) should be resized to 640×480 in order to best fit the TV screen. [0030]
  • In the invention, aspect ratio adjustment and resizing of images to necessary resolution, such as 640×480 resolution, is preferably performed automatically by PC-based software during the album creation process. As a result, the images, having been reduced in size for TV viewing or viewing on the available monitor, may be stored on a small, inexpensive, removable media such as a standard 3.5 inch Floppy Disk. Regardless of the media type used, this pre-processing step facilitates highly efficient use of the media by eliminating information which exceeds the available resolution of the TV or monitor to be used for viewing the images. In contrast, prior art approaches store the full-resolution image on the removable media. Storing full-resolution images on the digital media, which is how the prior art attempted to solve these problems, has several drawbacks. For example, a much larger storage media is required, a media writer for this larger media is required, image decoding requires more time and/or processing power, the set-top box would be unnecessarily complicated and expensive, and sending the TV photo album via e-mail requires significantly longer transmission time. [0031]
  • The PC-based software implemented as part of the invention solves several problems that would otherwise complicate the album making process. As illustrated in FIG. 2, the operational flow of the software reduces the album-making process to the simplest possible form. After launching the software application, the user selects the directory where digital images are stored (step [0032] 20). Several, and preferably all, images in the directory may be displayed in small “thumbnail” form (step 22). An example of a screen showing such “thumbnail” images is provided in FIG. 4. Optionally, less than all images in the directory may be displayed. Returning to FIG. 2, the user then selects the images that will comprise the album, and the remainder are removed from the display (step 24). The user may optionally rearrange the images into the preferred order of display, by selecting images and dragging them into the preferred position (step 25). The user may optionally perform simple tasks such as rotation and/or cropping on selected images (step 26). An example of such cropping is shown in FIG. 5. Returning to FIG. 2, the user may also set preferences for aspects such as image quality, title page font and color (step 28). Optionally, the user may enter a “title” for the album (step 30). The user inserts a floppy disk or other recordable medium such as a CD, ZIP drive, or even an instruction to select a storage device such as a hard drive, network drive, or flash memory, and clicks on a button or other input which may be called something such as “create floppy disk album” (step 32).
  • Following step [0033] 32 (e.g., a single click of the “create floppy disk album” button), the software automatically executes a number of processes in a short time, as illustrated in FIG. 3 in flowchart form. Preferably, a “contact sheet” image is created containing thumbnails of all selected images in the album and the album title as entered by the user. When the album is viewed on the TV, this contact sheet preferably will be displayed first in order to quickly orient the user as to which album they are viewing (step 40). A copy is made of each original image selected by the user (step 42). The copied images are resized (if necessary) so that the final image size is fixed at 640×480 pixels (step 44). If the original image has an aspect ratio different than 4:3, fill, such as black space, is preferably added to “letterbox” the sides or the top and bottom of the image as needed to retain the original proportionality of the image area (step 46). An example of a screen showing such black space is provided in FIG. 6. Preferably, the original image file is not modified or overwritten during this process. Returning to FIG. 2, the images are recompressed, preferably as JPG images at a compression ratio that will allow them to fit onto a standard storage medium such as a 3½ inch, 1.44MB floppy disk (step 48). For example, if thirty-six images are selected by the user, and if a 1.44MB floppy is used, the final size of each image will be no more than approximately 38 kB each. Preferably, if the recompressed images will not fit on the disk or other storage medium, the user is informed of this, and the user is provided the option to change the image compression setting or remove one or more photos from the album. The images are written to the storage medium in the order selected by the user (step 50). The program will then inform the user that the images have been successfully written to the media (or, if applicable, indicate an error condition) (step 51). When viewed on a TV, the images will appear in this order. The album information preferably will be stored in a separate file allowing the user to instantly recall and re-create the album at a later time (step 52).
  • After the automatic completion of [0034] steps 40 through 52, the software informs the user that the stored album has been created and is ready for display on the TV using the set-top viewing device. Optionally, as illustrated in FIG. 7, the user may print or view a “contact sheet” to allow easy location of any photo in any album.
  • After creating a stored photo album, in a preferred embodiment a small TV set-top box is used to display the images on a TV. An exemplary set-[0035] top box 10 and remote control 12 as implemented in the preferred embodiment are illustrated in FIG. 1.
  • A set-top box which displays the digital photo album on a standard TV or other monitor: The set-top box embodiment of the present invention preferably has many or all of the following attributes. It is completely stand-alone, requiring no connection to a computer. Only a power input is required, although optionally a battery power source may be used. It contains a media reader (a floppy disk drive in the preferred embodiment, but optionally it could be a CD, DVD, ZIP, flash memory, hard disk, or other drive) to read the digital photo album images. It contains hardware, software, and preferably firmware that transform JPG digital images into TV video signals. Finally, it preferably responds to commands from a handheld remote control device and/or front-panel control buttons. [0036]
  • The set-top box contains a number of unique technologies that differentiate it from other products that can display digital images on a TV. Previous products that show photos on TVs are based upon industry-standard PC processor chipsets (e.g., Intel 486, Motorola PowerPC processors). In contrast, a preferred embodiment of the invention contains a low cost, low-speed processor, primarily to facilitate user interaction. In a preferred embodiment, this processor is a standard, 8-bit Z80 processor. The invention also preferably contains a fast, application-specific, low-cost JPG image decoder. [0037]
  • The box also preferably includes a Image Processing Memory Portion (preferably, a SDRAM component) that facilitates caching of the floppy disk contents. Once the disk contents have been cached in the Image Processing Memory Portion, the disk media does not need to be accessed again for re-display of the same image. This same Image Processing Memory Portion is preferably utilized during image processing computations. Since the entire floppy disk contents are cached within the Image Processing Memory Portion, it is possible for the invention to create duplicate copies of an album without the use of a PC, making it easier to share albums with others. After the contents of a disk have been loaded into internal memory, the user inserts a blank formatted floppy disk or other storage medium. The device will then write the digital photo album files to the blank disk. Finally, the set-top box preferably includes a fast, application-specific, low-cost image processor that converts decoded JPG images into high quality TV video signals. The image processor embodied in the invention is unique in several respects. [0038]
  • For example, a complete video image preferably is pre-computed and stored in the Image Processing Memory Portion prior to display of the image. This method is superior to the commonly used video scan conversion technique in which final video computations are performed in real-time. Pre-computing the video signal facilitates vertical image filtering, which can be employed to reduce video image flicker. [0039]
  • Pre-computing the video signal also facilitates the addition of phase-compensation pixels between video frames, which eliminates dot crawl in NTSC television displays and provides more efficient utilization of the Video Memory Portion, since the video signal may be based on only two video fields (NTSC) or four video fields (PAL). [0040]
  • Image processing is preferably tailored for optimization of still images for viewing on a standard TV. The image processing preferably includes vertical luminance filtering for flicker reduction, horizontal luminance filtering for reduction of cross-chrominance artifacts (i.e., the appearance of “false” color resulting from high frequency luminance), horizontal chrominance filtering for reduction of cross-luminance (i.e., “zipper” or “dot” patterns resulting from highly contrasted chrominance transitions), and a synchronous video modulation technique which eliminates dot crawl artifacts on NTSC televisions (i.e., cross-luminance patterns which appear to be in constant motion). [0041]
  • The particular filter coefficients can vary, and the precise filter values are left to the preference of the user or the designer, as different filter coefficients can result in different image effects and qualities. [0042]
  • A preferred embodiment of the set-top box also contains a Video Memory Portion (preferably, a SDRAM component) that facilitates caching of fully processed video images. These images can be displayed immediately upon the user's command. In the preferred embodiment, “current image,” “next image,” “previous image,” and “informational” images are all simultaneously cached and available for instant viewing. Caching of multiple computed images in the Video Memory Portion directly facilitates picture-in-picture insertion, split image displays, and various image transition effects (e.g., wipe right, wipe down), by simply reading parts of one image superimposed onto parts of another image. [0043]
  • A preferred embodiment of the invention also includes a stand-alone video synchronization generator. This generator creates the video synchronization template (equalization pulses, synchronization pulses, and colorburst phase reference) independently of the image processing operations. By creating the video synchronization template independently of the image processing computations, the Video Memory Portion capacity requirement is reduced, and the Video Memory Portion can be written with new image data any time that synchronization data is being generated (e.g., during equalization pulses, horizontal synchronization pulses, vertical interval video lines, and colorburst). [0044]
  • The preferred embodiment also includes an NTSC or PAL video pattern generator for compatibility with TVs in North America and Japan. Other standards, such as SECAM (used primarily in Europe), S-Video, Component Video, or any video standard involving the combination of video data with synchronization pulses can be implemented in similar alternate embodiments. [0045]
  • It is also preferred that a direct memory access (DMA) controller, which provides efficient transfer of image file data from floppy disk to the Image Processing Memory, as well as efficient transfer of image file data from the Image Processing Memory to a smaller SRAM block, be used for image processing computations. [0046]
  • The preferred embodiment also includes a memory controller, which provides for control of CPU-initiated SDRAM accesses. The memory controller translates CPU-initiated memory access requests into properly formatted SDRAM access cycles, including Initialization, Write, Read, and Refresh operations. The memory controller also provides for control of Z80 or other processor read-only memory (ROM) accesses. The memory controller translates CPU-initiated memory access requests into properly formatted ROM accesses, including control of ROM control signals, read address, and wait state insertion to accommodate ROM access latency. [0047]
  • The preferred embodiment also includes an infrared (IR) signal receiver, which provides serial bit stream decoding of a demodulated IR signal originating from the user's remote control, discrimination of valid IR codes from background noise, and interrupt assertion to the CPU when a valid IR code is received. [0048]
  • The aforementioned elements of the invention are implemented using hardware descriptive language (HDL) firmware coding techniques. HDL coding permits the design to be implemented either in an inexpensive Field Programmable Gate Array (FPGA), or in an Application Specific Integrated Circuit (ASIC). Of course, alternate hardware components are possible, and the invention is intended to include such alternates and equivalents. For example, although the preferred embodiment uses a Z80 processor as a cost-effective element, other processors such as Pentiums or Intel 486s may be used (although they may add unnecessary cost to the final product). [0049]
  • A remote control is preferably used to operate the set-top box. Preferably, the remote control may be operated from up to fifty feet away from the box or more. The remote control device allows digital photo albums to be viewed from a couch or similar accommodation. The remote control preferably includes some or all of the following attributes: [0050]
  • First, the choice of buttons is preferably limited in order to provide ease of use and intuitive discovery of features. [0051]
  • Second, the functions provided preferably include one or more of the following: Forward: to display the next image in the album. Back: to display the previous image in the album. Rotate: to rotate the currently viewed image. The Rotate feature preferably provides counterclockwise rotation, clockwise rotation, and/or restoration of original image rotation on successive presses of the button. Whichever rotation direction is selected will be associated with the same image if the image is re-displayed prior to removal of the disk media. Auto Slideshow: When pressed, initiates an automated slideshow through the album. Photos are preferably displayed in the order selected when the album was created using the PC software. Dwell time between images may be adjustable, preferably in 0.5 second increments, by pressing the Forward or Back buttons during slideshow operation. Power: Activates or deactivates the device. When the device is deactivated, a video passthrough circuit is engaged, channeling the user's VCR or DVD player through to the TVs video input. [0052]
  • Preferably, as illustrated in FIG. 8, the shape and color of the buttons are selected to provide immediate intuitive recognition of the remote control functions. For example, the [0053] Forward button 15 may be shaped as a triangle pointing to the right, and the Back or Reverse button 16 may be shaped as a triangle pointing to the left. The Rotate button 14 may be round, with a rotating arrow printed around it. The Slideshow button 17 may be square, and superimposed on an illustration of a slide projector screen. Of course any shape or color may be used without departing from the scope of the present invention.
  • The invention provides several advantages over the prior art. For example, it provides a complete system for creation, viewing, and sharing of digital photo albums. It is also simple enough for non-technical users, and it is designed for optimal video rendition of digital still images when viewed via a standard TV set. Preferably, it also requires only a relatively low cost to produce, since a preferred embodiment utilizes only standard, low-cost, readily available parts, or may be implemented as a low-cost integrated circuit. [0054]
  • The invention is also differentiated from prior art in the following ways, among others. First, the invention addresses the complete process of selecting and arranging digital images into an album, preprocessing the images for efficient storage onto a removable medium, transferring the album images to a removable medium, and viewing the images. Second, the image processing and video processing architecture of the invention are implemented in the form of a highly optimized integrated circuit design, which is far less expensive to produce than the PC-processor based designs on which the prior art was based. Third, the top-level architecture of the invention is optimized to provide superior image processing and video processing performance, at a relatively low cost. Fourth, the invention uses a unique video-processing algorithm that provides video images having stability and clarity far exceeding prior methods. Finally, a preferred embodiment of the invention includes a PC-software component for creating digital photo albums that can be easily shared with other people who may possess the invention, but who may not have access to a computer, or who may lack knowledge of how to operate a computer. [0055]
  • To summarize and provide additional disclosure supporting the invention, the invention is preferably comprised of some or all of the following elements: [0056]
  • (1) Software to facilitate fast, easy creation of photo albums tailored for TV viewing or viewing on a similar type of monitor. [0057]
  • (2) A hardware device connecting to the TV or monitor, (in the preferred embodiment, a TV set-top box); comprised of: (a) a digital media reader (in the preferred embodiment, a standard 3½ inch floppy disk drive, but optionally a CD, DVD, ZIP, Flash Memory, hard disk, or other drive); (b) a digital image decoder for JPG-formatted images (converts JPG image files into a viewable bitmapped image); (c) a digital image processor (converts decoded digital images into high quality television video); (d) a video synchronization generator which produces the video template (i.e. non-image data) including equalization pulses, synchronization pulses, and colorburst phase reference; (e) an optional video bypass circuit; to allow a VCR or DVD or other video signal to be passed through the device when the device is not in use (this feature eliminates the need to reconnect cables on TVs having only a single video input); (f) an optional infrared receiver for the remote control; (g) front-panel control switches; and (h) front-panel LED indicators. [0058]
  • (3) An optional remote control to allow easy operation from up to fifty feet or more away from the device. [0059]
  • A preferred embodiment of the hardware device (TV Set-top) box architecture is illustrated in FIGS. [0060] 9 (system diagram) and 10 (detailed diagram of FPGA/ASIC). The preferred set-top box embodiment includes some or all of the components described below.
  • The FPGA or [0061] ASIC 60 is a custom-designed logic component. The design is implemented using Hardware Descriptive Language (HDL) firmware algorithms. The HDL firmware algorithms are synthesized into efficient gate-level logic equivalents using commercially available HDL synthesis tools. Preferably, the synthesized gate-level logic is physically implemented using either a field-programmable gate array (FPGA) or in an application specific integrated circuit (ASIC).
  • Functions provided by the FPGA or [0062] ASIC 60 may include that of a digital image decoder 64, providing parsing of JPG file header information, generation of Huffman code tables, Huffman decoding of entropy-coded data streams, dequantization of decoded data, inverse discrete cosine transform (IDCT), reassembly of decoded image components into fully bitmapped color planes, and resealing of images with Y:Cb:Cr sampling ratios other than 2:1:1
  • The FPGA or [0063] ASIC 60 provides the function of a digital image processor 66, providing vertical image resealing to fit the TV active window. Preferably, this is a ratio of 23/24 for NTSC, 7/6 for PAL.
  • The [0064] processor 66 function also preferably includes vertical image filtering. Vertical filtering of the luminance component is performed to reduce visual flickering between video fields. In the preferred embodiment, a 7-tap digital FIR filter is utilized. Horizontal image rescaling to fit the TV active window is also provided. Preferably, this is a ratio of 9/8 for NTSC, 25/18 for PAL. Horizontal filtering of the luminance component is also performed to reduce “cross-chrominance” artifacts. In the preferred embodiment, a 7-tap digital FIR filter is utilized. Horizontal filtering of the chrominance component may be performed to reduce “cross-luminance” artifacts.
  • Image rotation is also preferably provided by the [0065] processor 66. If indicated by the user, the image is rotated either clockwise or counterclockwise. The image rotation algorithm is designed for most efficient memory utilization, requiring no additional memory. The rotation algorithm is described in a later section. The processor also preferably provides video computation. The decoded, processed image is converted into a fully computed television video signal, including black level, luminance scaling, chrominance-to-UV conversion, and chrominance I/Q modulation.
  • The FPGA or [0066] ASIC 60 may also provide the function of a video transfer controller 68, providing transfer of fully computed video images from the Image Processing Memory to the Video Memory. Preferably, such transfer may occur only when the Video Memory is not being accessed for image readback operations. This method eliminates the need to use a more costly dual-port memory device.
  • The video transfer function may also provide progressive-to-interlace mapping of image scanlines into interlaced video fields. It may also provide a video transfer algorithm to accomplish video data transfer during synchronization intervals (narrow EQ pulses, broad EQ pulses, horizontal sync pulses, colorburst, front porch, back porch, and vertical interval video lines). [0067]
  • During video transfer operations, the aforementioned synchronization intervals are preferably controlled by a “Video Sequencer” [0068] 70. A preferred embodiment of the Video Sequencer 70 is illustrated in FIG. 11. The Video Sequencer preferably provides for control of Video Memory SDRAM initialization, read and write cycles, row precharge and refresh cycles. The Video Sequencer may also provide for generation of the video synchronization template for NTSC, PAL, or SECAM. This includes narrow EQ pulses, broad EQ pulses, horizontal synchronization pulses, colorburst, blanking intervals, vertical interval video lines, and other required elements of the video synchronization template. The video synchronization template is defined by industry standards such as American National Standards Institute (ANSI) 244M for NTSC, European Broadcasting Union (EBU) Tech. 3280-E for PAL, and International Telecommunications Union (ITU) ITU-R BT.470 for NTSC, PAL, and SECAM video standards. The sequencer may also perform video image display, provided by insertion of image data from the Video Memory into the appropriate pixel locations within the video synchronization template. Preferably, any image or portion of an image stored in Video Memory can be mapped to the video display area by simply redirecting the memory read address pointer.
  • Other functions of the [0069] Video Sequencer 70 may include picture-in-picture video insertion, split-image display, and image transition effects facilitated by redirecting the Video Memory address pointer at various times during the display of an image. The sequencer may also provide for differentiation between synchronization intervals (narrow EQ pulses, broad EQ pulses, horizontal sync pulses, colorburst, front porch, back porch, and vertical interval video lines) and video display intervals, thus allowing new video data to be written to the Video Memory at all times other than when the Video Memory is engaged in image display (readback) operations. This method eliminates the need to use a more costly dual-port memory device.
  • Additional functions of the [0070] Video Sequencer 70 may include time-division multiplexing between synchronization intervals, image data being read from the Video Memory, and computed image components such as borders, lines, and text. The Video Sequencer may also insert phase compensation pixels to provide synchronous inter-frame video phases. This method provides reduction or elimination of dot-crawl in NTSC television displays, and it also reduces the Video Memory capacity requirement by 2:1 in NTSC and PAL television systems by eliminating the need for duplicated data in subsequent frames. The sequencer may also display a blank video screen by inserting black-level pixels into the active video area of the video synchronization template.
  • Referring again to FIG. 9, the FPGA or [0071] ASIC 60 also preferably includes an infra-red (IR) receiver 72, providing some or all of the following: (i) recognition of a valid IR transmission protocol (as opposed to background noise); (ii) recognition of a valid code corresponding to the set-top box device (as opposed to codes possibly intended to address other devices); (iii) recognition of the transmitted command code, corresponding to a press of a particular button on the remote control; (iv) recognition of a continuous stream of command codes, indicating that a button has been pressed for an extended period of time; (v) issuance of an interrupt to the CPU, the image decoding, or the image processing algorithms, when a valid set of codes has been recognized; (vi) transmission of command code data to the CPU; and (vii) a provision to selectively enable or disable CPU interrupt assertion associated with any specific command code.
  • The FPGA or [0072] ASIC 60 also preferably includes the function of a Direct Memory Access (DMA) controller 74, providing efficient data transfer from the external storage medium, such as a floppy disk 92 and controller (FDC) 94, to the Image Processing Memory 104. This feature provides the ability to store the contents of the floppy disk or other storage medium in the Image Processing Memory 104, thus providing rapid recall of previously loaded images. The DMA controller 74 also provides efficient data transfer from the external ROM 96 to the Image Processing Memory 104 and the internal SRAM 80. This feature provides the ability to transfer ROM-based images such as informational messages to the Image Processing Memory 104. The DMA controller 74 also provides efficient data transfer from the Image Processing Memory 104 to the internal SRAM 80. This provides the ability to transfer raw image data directly into the image decoder 64. The DMA controller 74 also provides SDRAM refresh cycles during the time the CPU has granted the bus.
  • The FPGA or [0073] ASIC 60 also preferably includes the functions of a SDRAM controller 76, providing control of Image Processing Memory SDRAM initialization, read and write cycles, row precharge and refresh operations, as well as translation of CPU Read, Write, and Refresh commands into SDRAM access cycles.
  • Another FPGA/[0074] ASIC 60 function may include that of a programmable timer 78, providing CPU interrupts at repeatable time intervals. This facilitates CPU processes which require an accurate time reference, such as (1) photo transition timing in the automatic “slideshow” mode; (2) distinguishing between a single-button press and a held button as may be asserted by the user via the remote control device; and (3) determination that a process has exceeded a pre-allowed maximum time interval, such as could occur when attempting to decode a corrupted image. The timer 78 may also provide the ability to reload the timer to any arbitrary start value via a CPU command, providing the flexibility to use the timer for various purposes. The timer 78 also preferably provides the ability to program a 1-byte or other size prescaler register used to configure the timer clock produced by dividing the system clock down to a lower frequency. This allows a wider range of possible timer interval periods.
  • The FPGA or [0075] ASIC 60 also preferably includes Internal Static Random Access Memory (SRAM) 80, providing (i) temporary storage of a Huffman code table associated with each image (ii) temporary storage of quantization table data associated with each image; (iii) efficient IDCT computation; (iv) temporary storage of IDCT Minimum Coded Unit (MCU) results prior to transfer to Image Processing Memory 104; (v) first-in-first-out (FIFO) buffering for efficient transfer of raw image data images from Image Processing Memory 104 to the image decoder 64; and/or (vi) FIFO buffering for efficient transfer of fully computed video images from Image Processing Memory 104 to Video Memory 102.
  • The FPGA or [0076] ASIC 60 also preferably includes a floppy disk controller (FDC) interface 82 or other interface to the storage medium, providing logic required to interface FDC or storage medium signals to the CPU.
  • The ASIC or [0077] FPGA 60 may also provide the function of a Control Processing Unit (CPU) 62. In the preferred embodiment, the CPU 62 is a standard Z80 processor core implemented as a stand-alone component. The Z80 processor code may also be implemented within the FPGA/ASIC 60 as a synthesized HDL core, and is readily available as such in the industry. However, other processing devices may be used. The CPU 62 provides system power-up and initialization of FPGA/ASIC registers. The CPU 62 also provides disk media operations, including reading of the disk directories, File Allocation Tables (FAT), and files; computing the track, cylinder, and head locations needed to read desired disk sectors; controlling the disk drive motor and head positions; reading disk data; and transferring disk data to the Image Processing Memory 104 for later use. The CPU 62 also provides interpretation and execution of user commands as received via the IR receiver 86 or front-panel interface; coordination of the image decoding, image processing, video transfer, and video display processes; and coordination of images stored in Video Memory 102. This includes updating the Video Memory cache to maintain the Present Image, Previous Image, and Next Image as available for display at all times. Finally, the CPU 62 may provide configuration of the DMA controller for each DMA transfer cycle.
  • The FPGA or [0078] ASIC 60 also preferably provides Image Processing Memory bus arbitration and multiplexing logic 83. The Image Processing Memory 104 is accessed by the CPU 62, the Memory Controller 76, the DMA Controller 74, and the Image Processor 66 at different times and for different purposes. It is essential to ensure seamless handover of control between these various structures accessing the Image Processing Memory 104. The Image Processing Memory arbitration and multiplexing structure monitors bus requests from the various structures which access the Image Processing Memory 104, and it provides synchronous and exclusive multiplexing of the Image Processing Memory data, address, and command buses.
  • The FPGA/[0079] ASIC 60 should also include Video Memory bus arbitration and multiplexing logic 83. The Video Memory 102 is accessed by both the video transfer controller 68 (during Video Memory write operations) and by the Video Sequencer 70 (during Video Memory read operations). It is essential to ensure seamless handover of control between these two structures accessing the Video Memory. The Video Memory arbitration and multiplexing structure monitors bus requests from the structures which access the Video Memory 102, and it provides synchronous and exclusive multiplexing of the SDRAM data, address, and command buses.
  • The hardware also preferably includes a [0080] clock oscillator 84. In a preferred embodiment, the oscillator 84 has a frequency equal to four times the color sub-carrier frequency of the TV standard being employed. For NTSC, the crystal frequency is 14.318180 MHz. For PAL, the crystal frequency is 17.734475 MHz. However, other frequencies may be used in alternate embodiments.
  • When a remote control is included, the hardware should also include an infra-red (IR) [0081] receiver 86. This can include a commercially available IR receiver diode, capable of demodulating a received IR signal into its constituent digital data component.
  • One or more pushbutton switches [0082] 88 should also be provided. In addition to remote-control operation, it may be desirable to access certain functions from the set-top box front panel. For example, in the preferred embodiment, a pushbutton is provided to enable and disable the automatic slideshow mode. Switches may also be employed for other functionality, including Power on/off, Next Image, Previous Image, Rotate Image, Return to Contact Sheet, etc.
  • Light Emitting Diodes (LEDs) [0083] 90, such as two color LEDs, are used in the preferred embodiment to indicate the operational status of the unit to the user. A green light indicates that the Next Image is processed and ready for viewing. A yellow light indicates that disk access is in process, or that the Automatic Slideshow mode is enabled. LEDs may be employed for other purposes, such as to indicate power on, error conditions, etc.
  • The hardware also includes a [0084] storage medium 92. In the preferred embodiment, a floppy disk drive (FDD) is used to access stored image files. An industry-standard drive is preferably utilized. Since all contemporary media utilizes similar data, addressing, and control interfaces, the use of other media types is foreseeable within the scope of the invention. These include hard disk drives, solid-state “flash” memory, CD-ROM, DVD-ROM, and wireless interfaces.
  • The hardware also includes an FDD or other controller (FDC) [0085] chip 94. For example, an industry-standard FDC chip may be used to provide physical interface to the FDD. The FDC chip 94 provides generation of electrical signals to drive the FDD motor and read/write head, as well as certain command interface signals.
  • The hardware should also include Read-Only Memory (ROM) [0086] 96. The ROM 96 is used to hold the CPU program execution code. The CPU 62 retrieves code instructions from the ROM 96 whenever the CPU is active. The ROM 96 may also be used to store informational images (“Loading Next Image . . . ”, etc.). Informational messages may be displayed as needed to inform the user of the status of the device or of error conditions. These images are stored in standard JPG format to conserve ROM area, and are decoded and processed identically to images read from the disk media.
  • The hardware should also include a [0087] video input connector 106, a video output connector 108, and a video passthrough circuit 98. Some TVs have only a single video input connector. In this case, it may be necessary to reconnect cables in order to switch between use of the invention and a secondary video device such as a VCR or DVD player. For this reason, a video passthrough circuit 98 is optionally and preferably provided. In a preferred embodiment, the video passthrough circuit 98 is a conventional video switch that connects the internally generated video signal through to the video output connector 108 when the invention is in use. At other times, the video input connector 106 is switched through to the video output connector 108, thus automatically reconnecting the secondary video device to the TV video input. The video passthrough circuit 98 should contain an analog lowpass filter to reduce spectral emissions above the video passband.
  • The hardware also preferably includes a digital-to-analog converter (DAC) [0088] 100. The DAC 100 is an industry-standard component that translates a digitally-represented video signal into the corresponding analog representation. In the preferred embodiment, a 12-bit DAC (e.g., having 4096 discrete levels of analog resolution) is utilized. However, either a 10-bit or 8-bit DAC will provide acceptable performance for TV viewing. Other DACs also may be used. The DAC 100 may also be implemented as a binary resistor network. This entails connecting a binary progression of resistor values to each of the ASIC/FPGA digital video output pins, and then connecting the opposite ends of the resistors together. A preferred embodiment would be to connect a 300 ohm resistor to the Most Significant Bit (MSB), a 600 ohm resistor to the second MSB; a 1200 ohm resistor to the third MSB, and so on. This choice of resistors provides a parallel output impedance of approximately 75 ohms. This method is somewhat less accurate compared with using an industry-standard DAC, but also provides acceptable TV viewing performance.
  • The hardware should include a [0089] Image Processing Memory 104. In the NTSC embodiment, this is preferably a standard 2 MB SDRAM; in the PAL embodiment, this is preferably a standard 8 MB SDRAM. The Image Processing Memory 104 may be used for some or all of the following purposes, and preferably in the following amounts when a floppy disk is used: (i) Preferably 32 kB may be used for CPU execution (program stack, variables, op-codes); (ii) 1.44 MB may be used for storing the contents of one floppy disk; and (iii) 0.5 MB (NTSC) or 1 MB (PAL) may be used for image processing operations (reconstruction of image color planes, rescaling, filtering, rotation, and video processing). The Image Processing Memory 104 can be used for multiple purposes, and can be accessed at different times by different structures within the invention. In each case, the structure accessing the Image Processing Memory 104 provides complete management of read, write, and refresh operations. During CPU program execution, the CPU 62 accesses the SDRAM 104 via the HDL Memory Controller 76 module described above. During DMA transfers, the CPU 62 first configures the DMA controller 74. The DMA controller 74 then directly accesses the Image Processing Memory 104. During image processing operations, the Image Processor 66 directly accesses the SDRAM 104 for reading pre-processed image pixels and writing post-processed image pixels.
  • Finally, there is preferably a single SDRAM chip referred to as the “Video Memory” [0090] 102. This may be implemented as a standard 2MB or 8MB SDRAM depending on the desired number of fully processed video images to be cached. The Video Memory 102 provides storage for fully computed video images. The Video Memory 102 stores several fully computed video images. For example, in the NTSC embodiment, each video image is preferably 720×460 pixels in size, requiring 331,200 bytes. A 2MB Video Memory can accommodate up to six image blocks of this size.
  • In the preferred embodiment, three non-overlapping areas of the Video Memory are allocated for the storage of computed video images. These are referred to as the Current Image (the image currently being displayed), the Previous Image (the image that would be displayed if the user pressed the “back” button), and the Next Image (the image that would be displayed if the user pressed the “forward” button). Also, preferably up to three areas of the Video Memory are allocated for images containing informational messages. These may include a “Loading Next Image” message, a “Splash Screen” message that is displayed upon power-up, and an “Error Message” informing the user that a bad or incompatible image has been encountered. [0091]
  • The [0092] Video Memory 102 may be accessed by at least two structures within the design. Data may be written to the Video Memory 102 via the video transfer controller 68. This is a synthesized HDL structure that transfers fully processed image data from the Image Processing Memory to the Video Memory. The video transfer controller 68 should write data to the Video Memory 102 using a burst write operation, which maximizes readback efficiency and permits continuous data playback. Preferably, the video transfer controller 68 will write data to the Video Memory 102 only when two conditions are met: The SRAM FIFO buffer used to transfer data from the Image Processing Memory 104 has been filled; and the Video Sequencer 70 has indicated that there is sufficient time remaining prior to the start of the next Video Memory read burst to allow a write burst to be initiated and concluded.
  • The [0093] Video Memory 102 preferably stores data in a linear address map to enable continuous readback of video data. Data should be written to the Video Memory 102 in the exact order that it will be played back. For example, all the scanlines of video field 1 (even image lines) may be written first, followed by all the scanlines of video field 2 (odd image lines). Data bursts comprising each video scanline are written to alternating SDRAM banks. This allows continuous readback of video data, as one bank can be activated and prepared for a Read burst while another bank is concluding a Read burst.
  • The [0094] Video Memory 102 may be engaged in “Readback” mode whenever both of the following conditions are met: (i) a CPU command has been issued to the Video Sequencer 70 indicating the display of a video image located at a specific video SDRAM memory area; and (ii) the current Video Sequencer line number and pixel count correspond to coordinates of the active video display area.
  • The [0095] Video Sequencer 70 may alternate between video images at any 8-byte boundary by simply redirecting the Video Memory address pointer prior to beginning the burst read operation. This feature provides some or all of the following capabilities:
  • (i) Images stored in [0096] Video Memory 102 may be interchanged in a near-instant manner. For example, if the Current Image, Previous Image, and Next Image have all been written to separate blocks within the Video Memory 102, and if the Current Image is being displayed, the device can immediately display either the Previous Image or Next Image upon receipt of a user command.
  • (ii) An automatic, rapid-animation slideshow can be produced, with several images being interchanged at a rate of once per frame (approximately {fraction (1/30)}th of a second per image). [0097]
  • (iii) Split-screen displays are facilitated. For example, by redirecting the address pointer near the bottom of the image, an information message or image subtitle may be displayed in place of the bottom portion of the image. [0098]
  • (iv) Picture-in-picture insertion is facilitated. For example, by redirecting the address pointer during a group of Readback accesses, data from a portion of the Current Image may be replaced by data read from an equally-sized portion of any other image stored in the [0099] Video Memory 102.
  • (v) Lines, borders, text, and transitional effects are facilitated. For example, in place of any 8-byte burst, arbitrary video levels may be inserted. This feature may be used to insert screen text, lines, borders, and transitions in lieu of an 8-byte data burst. [0100]
  • (vi) Image transition effects are facilitated. For example, a new image may replace a Previous Image by “wiping” the new image downwards over the Previous Image. This is achieved by alternating the Video Memory read address pointer between the new image and Previous Image, while simultaneously incrementing the address pointer at the start of each video field. Similarly, sideways wiping, random transitions, and other related effects are possible by incrementing the Video Memory address pointer as needed to accomplish the desired transitional effect. [0101]
  • The Image Decoding, Image Processing, and Video Data Transfer flow are unique to this invention, and preferred embodiments of such features are described in FIGS. 12, 13, and [0102] 14 along with the following text.
  • For JPG Image Decoding, as illustrated in FIGS. 12 and 13, upon power-on, the Image Processing Memory is initialized (step [0103] 150). The Image Decoder then waits until a Start_Decode command or other appropriate command is received from the CPU. This command indicates that an image is ready to be decoded, and provides associated information such as whether the image will require rotation.
  • The Image Decoder transfers JPG file Huffman table specifications and Quantization Tables to the Symbol Lookup Table (LUT) and Quantization LUT SRAMs. The Image Decoder then computes the JPG Huffman decoding tables, and stores these tables in the Huffman Codes SRAM block (step [0104] 152).
  • The Image Decoder then requests that the JPG Entropy Coded Data (ECD) be provided (step [0105] 154). The CPU provides this data stream 512 bytes at a time via the ECD SRAM buffer (the exact size of this buffer is not important, and thus delivery may occur in increments that are other than 512 bytes). The Image Decoder shifts the data stream one bit at a time from the ECD SDRAM buffer until a Huffman code match is identified. When a valid code is identified, the image decoder proceeds to determine the Huffman symbol and amplitude. As symbols and amplitudes are computed, the resultant 8×8 matrix is filled. Optionally, matrices of other sizes may be used. Zero-fills, end-of-block codes, and DC accumulation are performed in accordance with standard JPG requirements. Huffman decoding may be implemented using techniques common in the art.
  • After each 8×8 Luminance (Y) or Chrominance (Cb or Cr) matrix has been computed, the matrix is dequantized by multiplying each pixel of the matrix by the corresponding amplitude quantization coefficient provided in the JPG file header (step [0106] 156).
  • After the 8×8 result has been dequantized, an Inverse Discrete Cosine Transform (IDCT) is performed (step [0107] 158). In the preferred embodiment, the IDCT carries a fixed precision of 16 bits per color component. The IDCT is implemented using techniques common in the art.
  • The computed IDCT results are stored in the Results_Y and Results_C SRAM blocks (step [0108] 160). The Results_Y SRAM preferably holds up to four 8×8 Luminance blocks, whereas the Results_Y SRAM preferably holds up to four 8×8 Chrominance Blocks. These two SRAMs can therefore accommodate one full minimum coded unit (MCU) consisting of up to four luminance blocks, one Cb block, and one Cr block. The actual utilization of these SRAMs will depend on the vertical and horizontal sampling ratios of the source image.
  • Once all the Y and C blocks associated with one MCU have been decoded and stored in SRAM, they are transferred to the appropriate locations in the area of the Image Processing Memory “Canvas” that will be used for image processing. [0109]
  • In the NTSC embodiment, the Image Processing Memory preferably includes a 512 kB area used for image processing. This area is preferably subdivided as follows: (1)345,600 bytes are allocated for the 720×480 Y Canvas; (2) 172,800 bytes allocated for the 360×240 Cb Canvas; (3) 172,800 bytes are allocated for the 360×240 Cr Canvas; and (4) 345,600 bytes are allocated for the final processed video. This final processed video area overwrites the Y Canvas during video processing, and as such does not require any additional SDRAM area. [0110]
  • In the PAL embodiment, the Image Processing Memory preferably includes an area, preferably of 1 MB size but alternately of other sizes, used for image processing. This area is preferably subdivided as follows: (1) 492,800 bytes are allocated for the 880×560 Y Canvas; (2) 246,400 bytes are allocated for the 440×280 Cb Canvas; (3) 246,400 bytes are allocated for the 440×280 Cr Canvas; and (4) 985,600 bytes are allocated for the final processed video. This final processed video area overwrites the Y, Cb, and Cr Canvases during video processing. [0111]
  • When the decoded MCUs are transferred from the internal SRAM to the Image Processing Memory, they are arranged in the Image Processing Memory Canvases in the same row-column format of the original image. The color components (Y, Cb, and Cr) are maintained in separate memory Canvases and processed independently until the final video processing stage. [0112]
  • In order to accomplish the transfer of data from internal SRAM to the external Image Processing Memory, the Image Processor must temporarily assume control of the Image Processing Memory. This transfer of control is preferably achieved as follows: After an MCU has been decoded and the results stored in SRAM, the image processor asserts a bus request to the CPU. When the CPU completes the instruction cycle in process, it will release control of the bus and assert the Bus Acknowledge signal (step [0113] 164). When the image processor senses the Bus Acknowledge signal, it assumes control of the Image Processing Memory data, address, and control buses. After assuming control of the Image Processing Memory bus, the Image Processor reads data from the Results_Y and Results_C SRAMs, and writes this data to the Image Processing Memory (step 166). Data is arranged in the Image Processing Memory such as to form a bitmapped reconstruction of the original image, in three separate color planes (Y, Cb, Cr). While data is being transferred from the Image Processing Memory, the image processor monitors an SDRAM refresh timer. The Image Processor interrupts image processing operations as needed to assert SDRAM refresh cycles for the maintenance of the Image Processing Memory. After an MCU has been fully transferred to the Image Processing Memory, the image processor checks to see if all MCUs have been transferred (i.e., if the image has been completely assembled in the Image Processing Memory Canvas areas) (step 168). If all MCUs have been transferred, the Image Processor proceeds to the image processing operations (step 170). Otherwise, control of the Image Processing Memory is released back to the CPU to facilitate decoding of the remaining JPG data (step 172).
  • In order to process data stored in the Image Processing Memory image Canvas, the Image Processor must temporarily assume control of the Image Processing Memory. This transfer of control is preferably achieved as follow. After all MCUs have been decoded and the results transferred to the Image Processing Memory, the Image Processor asserts a bus request to the CPU. When the CPU completes the instruction cycle in process, it will release control of the bus and assert the Bus Acknowledge signal. When the Image Processor senses the Bus Acknowledge signal, it assumes control of the Image Processing Memory data, address, and control buses. After assuming control of the Image Processing Memory bus, the Image Processor executes the image processing functions described in the section below (step [0114] 170). While image processing operations are underway, the Image Processor monitors an SDRAM refresh timer. The Image Processor interrupts image processing operations as needed to assert SDRAM refresh cycles for the maintenance of the Image Processing Memory. Once all image processing and video transfer operations are complete, control of the Image Processing Memory is released back to the CPU.
  • Referring to FIG. 13, for [0115] Rotation Processing 180, the image may be rotated either clockwise or counterclockwise. If the user has indicated that an image is to be rotated, rotation should be performed prior to other image processing operations. This method is preferred because subsequent image processing operations involve dimension-specific resealing and filtering.
  • Vertical resealing and [0116] filtering 182 may also occur. The image is preferably rescaled vertically by the ratio of 23:24 (NTSC) or 7:6 (PAL). This results in the 480 rows of the original image being rescaled to 460 rows (NTSC) or 560 rows (PAL). These ratios were chosen to provide accurate 4:3 aspect ratio on the TV display taking into account the horizontal sampling frequency that is utilized, as well as providing a vertical overscan ratio of approximately 2.5%.
  • The image is filtered vertically in the luminance component to reduce inter-field video flicker. In the preferred embodiment, a 7-tap FIR filter with coefficients such as 0-3-29-64-29-3-0 provides significant flicker reduction with minimal loss of resolution. The vertical resealing and filtering operations should be pipelined to minimize processing time. [0117]
  • Horizontal rescaling and [0118] filtering 184 also preferably occur. The image is rescaled horizontally by the ratio of 9:8 (NTSC) or 25:18 (PAL). This results in the 640 rows of the original image being resealed to 720 rows (NTSC) or 880 rows (PAL). These ratios were chosen to provide accurate 4:3 aspect ratio on the TV display taking into account the horizontal sampling frequency that is utilized, as well as providing a horizontal overscan ratio of approximately 2.5%.
  • The image luminance component is filtered horizontally to reduce cross-chrominance artifacts. These artifacts are manifested as “false” color that is evident in the area of highly detailed luminance transitions. In the preferred embodiment, a 7-tap FIR filter is utilized. [0119]
  • The image chrominance component is filtered horizontally to reduce cross-luminance artifacts. These artifacts are manifested as “zipper” patterns that are evident in the area of highly detailed chrominance transitions. In the preferred embodiment, a 7-tap FIR filter is utilized. The horizontal resealing and filtering operations are pipelined to minimize processing time. [0120]
  • In the video processing aspects, the three color components of the image are preferably mathematically processed (step [0121] 188) to produce an NTSC, PAL, or SECAM video signal. Luminance component data is multiplied by a luminance gain constant. Chrominance component data are multiplied by chrominance gain constants. Chrominance data are modulated by the phase of the video subcarrier. Scaled luminance and modulated chrominance are added together. Video black level is added to the computed result. Values outside of the DAC range (e.g., [0,255] for an 8-bit DAC) are clipped. Final computed video data overwrites the original luminance component area in SDRAM.
  • Preferred video data transfer steps are also illustrated in FIG. 13. After video processing of the entire image has concluded, the computed video data is transferred from the Image Processing Memory to the Video Memory so that it may be accessed and displayed by the Video Sequencer (step [0122] 190). Video data transfer (i.e., writing to the Video Memory) should only be accomplished during time intervals when the Video Memory is not engaged in video data readback operations. This method eliminates the need to use a more costly dual-port memory device. A small SRAM FIFO buffer (preferably several hundred bytes in length) may be used to facilitate efficient data transfer. The Image Processor fills the SRAM FIFO buffer with data, and then asserts the flag (e.g., SRAM_FULL) indicating that the SRAM FIFO has been filled. When the Video Transfer Controller senses the SRAM_FULL flag 194, it begins the process of emptying the SRAM FIFO, writing the data to the Video Memory (step 196). Preferably, data is written in bursts of 4 or 8 data points at a time to alternating SDRAM banks to facilitate efficient transfer. Prior to initiating a Video Memory write burst, the Video Transfer Controller first monitors a flag (e.g., Enable_Write) that is controlled by the Video Sequencer (step 192). Enable_Write is asserted whenever the Video Sequencer determines that sufficient clock periods remain prior to the next SDRAM readback operation. For example, for a burst write of 4 pixels, at least 7 clock cycles should remain prior to the next SDRAM read operation to allow time to initiate and conclude the burst write operation. The Video Transfer controller continues writing bursts of video data to the Video Memory until: (i) the SRAM FIFO has been emptied; or (ii) the Video Sequencer negates Enable_Write or, (iii) the entire image has been written. When the SRAM FIFO has been emptied, and its contents written to the Video Memory, the SRAM_FULL flag is cleared, thus allowing the cycle to repeat for the next block of data to be transferred. The process continues until the entire image has been transferred to the video SRAM.
  • Preferred methods of FIR Rescaling and Filtering, and pipelining the same are shown in FIG. 14. For each color component, data points are read consecutively from Image Processing Memory (step [0123] 210). Data points are fed into a real-time resampling algorithm which upsamples and downsamples data as needed to meet the desired resampling ratio (step 212). Data points flowing out of the resampling algorithm are fed directly into the FIR filter (step 214). The FIR filter should be programmed with coefficients that are tailored for each dimension and each color component. Data points flowing out of the FIR filter are written immediately back to the Image Processing Memory, overwriting data which has been processed and is no longer needed (step 216). This “in-place” computation reuses SDRAM memory, thus minimizing the SDRAM memory requirement.
  • Image rotation is often desirable for certain images, such as those captured with the camera held in the “portrait” orientation. The Invention utilizes a unique image rotation algorithm that fits the rotated image entirely within the viewable area of the TV screen. It also provides “letterboxing”, or addition of black space, to the sides of the rotated image. In addition, it preferably accomplishes image rotation in-place; that is, without requiring any additional memory buffering. [0124]
  • A preferred method of rotation is illustrated in FIG. 15. If needed, rotation is accomplished immediately after image decoding, prior to other image processing operations. This method permits a fixed rotation algorithm to be used, regardless of the TV video standard (NTSC, PAL, or SECAM). Referring to FIG. 15, first, the image is resealed vertically, preferably by the ratio of 3:4 (step [0125] 230). For example, this reduces the original image height of 480 pixels to a resealed height of 360 pixels. Other scaling and sizes may optionally be used. Second, the image is rescaled horizontally, preferably by the ratio of 3:4 (step 232). This reduces the original image width from 640 pixels to 480 pixels. The active image area is now 360 pixels high by 480 pixels wide. (When rotated, the image will be 480 pixels high, perfectly fitting the TV screen). Again, other scalings and sizes may be used. Also optionally, horizontal rescaling may be performed prior to, or concurrently with, vertical resealing. Third, the resealed image is offset horizontally by the offset shown as X1 (step 234). For Clockwise rotation, X1 is preferably 140; for Counterclockwise rotation X1 is preferably 260. With this offset, the square box bounding the rescaled image may be rotated, with the result that the rotated image will be perfectly centered in the 640×480 matrix. After rotation, sides of the screen may be filled with black (step 236).
  • In-place image rotation is preferably accomplished as shown in FIG. 16. The portion of the image to be rotated is a square area extending vertically from the top of the image to the bottom of the image; horizontally from X[0126] 1 to X2. Referring to FIG. 16, Pixel A is stored temporarily in a one-byte register. Pixel G is transferred to the location of Pixel A. Pixel E is transferred to the location of Pixel G. Pixel C is transferred to the location of Pixel E. The Pixel A value, stored in the temporary register, is written to Pixel C. These steps are repeated for pixels B, D, F, and H, as shown. The process continues until the entire outer ring of pixels has been rotated, using the method described above. The outer ring of pixels is defined as all the pixels bordering the edges of the square area to be rotated.
  • The process then continues by rotating the ring of pixels directly inside to the outer ring, using the method described above. The process continues as shown, processing all rings from the outer ring to the central ring of the square area shown. The central ring is comprised of the four pixels W, X, Y, and Z located in the center of the square area. [0127]
  • Clockwise rotation has been described. Counterclockwise rotation can be done using the identical algorithm performed in the reverse angular direction. [0128]
  • When viewing a photo album, it is often desirable for the user to be able to navigate to any given image without viewing all images that may precede the desired image. The Invention facilitates rapid navigation to any desired image in the album. Referring again to FIG. 7, navigation is facilitated by the “contact sheet” which is created by the PC based album creation software. This contact sheet is preferably the first image displayed upon viewing a disk album. If the user wishes to display a specific image within the album, the user may make note of the relative position of the image within the album by examining the contact sheet. If the user observes that the desired image is, for example the twelfth image in the album, the user may navigate immediately to this image by pressing the “forward” button twelve times in succession. In the preferred embodiment, if the IR remote control receiver detects a press of the “forward” or “reverse” buttons while an image is being processed, the Current Image processing operation is halted. The image index counter (the counter which determines the Next Image to be displayed) is incremented (or decremented) with each detected press of the forward (or reverse) buttons. When the processor detects that the user has stopped pressing the forward or reverse button, the image index counter is read, and the corresponding image is decoded and then displayed. [0129]
  • If the user wishes to skip over a group of images, in the preferred embodiment, this can be accomplished by pressing and holding the forward or reverse button. In addition, in the preferred embodiment, if either button is held for more than one second, the image index counter advances (or decrements) by five images. This “skip increment” may be easily adjusted to other values. [0130]
  • To further increase navigational performance of the device, the Invention employs “directional” image caching. When the user is observing any image that has been reached in the album, the device begins decoding both the Previous Image (the image immediately preceding the currently displayed image in the ordered album), and the Next Image (the image immediately following the currently displayed image). Within a few seconds, both the Next Image and the Previous Image will be cached in the Video Memory. Thus, after the Current Image has been observed for several seconds, the user may view either the Next Image in the album, or the Previous Image, with zero wait time. This is referred to as “background video caching”. To further improve performance, in the preferred embodiment the CPU monitors the direction in which the user is navigating through the album. The order of background video caching is based on the user's direction of navigation. [0131]
  • An example of such a directional image catching procedure is as follows: While the user is viewing an image, take an image designated as number [0132] 7 for example (the Current Image), image 6 is designated as the Previous Image and image 8 is designated as the Next Image. If the user then presses the forward button, image 8 is displayed immediately from the Video Memory cache, and re-designated to be the new Current Image. The CPU then initiates processing and caching of image 9 (now becomes Next Image in the direction of navigation). Image 7 remains in the Video Memory cache, but is re-designated as Previous Image.
  • As an additional example, after viewing image number [0133] 7 (the Current Image), the user presses the reverse button four times in rapid succession, indicating a desire to navigate backwards through the album, starting with an initial decrement of four images. The CPU will decrement the image index counter to 3, then re-designate image 3 as the new Current Image. Image 3 will then been processed, transferred to the SDRAM Video cache, and immediately displayed, followed by processing and caching of image 2 (now the Next Image in the direction of navigation) and then image 4 (now the Previous Image in the direction of navigation).
  • There have thus been outlined, rather broadly, the more important features of the invention in order that the preferred embodiment may be better understood, and in order that the present contribution to the art may be better appreciated. It is to be understood that the Invention is not limited in its application to the details of construction and to the arrangements of the components set forth in the description contained herein or illustrated in the drawings. The invention is capable of other embodiments and of being practiced and carried out in various ways. Also, it is to be understood that the phraseology and terminology employed herein are for the purpose of description and should not be regarded as limiting. As such, those skilled in the art will appreciate that the conception upon which this disclosure is based may readily be utilized as a basis for the designing of other structures, methods and systems for carrying out the several purposes of the present invention. [0134]

Claims (15)

What is claimed is:
1. A method of storing a collection of digital images on a storage medium, comprising the steps of:
a) displaying, to a user, a group of images for which corresponding image files are available;
b) prompting the user to select a plurality of selected images from the group;
c) prompting the user to save the selected images to a storage medium as an album of images;
d) receiving an instruction from the user to save the selected images to the storage medium as an album of images;
e) making a copy of each image file that corresponds to the selected images to result in image file copies;
f) compressing the image file copies; and
g) saving, to the storage medium, the image file copies that correspond to the selected images.
2. The method of claim 1 further comprising the step of making a contact sheet comprised of a user-selected album title having a font and color selected by the user and including representations of the images contained in the album.
3. The method of claim 1 further comprising the step of automatically resizing the image file copies so that the selected images, when displayed, will have a resolution not exceeding a resolution required for optimal viewing on a standard display.
4. The method of claim 3 further comprising the steps of:
a) prompting the user to make one or more modifications to any of the selected images;
b) automatically adjusting the image file copies corresponding to the selected images for which the user makes one or more modifications so that said image file copies result in adjusted image file copies that include the one or more modifications; and
c) in the saving step, ensuring that the image file copies that have resulted in adjusted image file copies are saved as adjusted image file copies.
5. The method of claim 3 further comprising the step of saving, to the storage medium, a file that contains parameters of the album, wherein the file allows a user to automatically recreate the image album for further duplication or modification.
6. A computer-readable carrier containing instructions thereon that is capable of instructing a computing device to:
a) display, to a user, a group of images for which corresponding image files are available;
b) prompt the user to select a plurality of selected images from the group;
c) prompt the user to save the selected images to a storage medium as an album of images;
d) receive an instruction from the user to save the selected images to the storage medium as an album of images, the instruction comprising a single click of an input device by the user;
e) make a copy of each image file that corresponds to the selected images to result in image file copies;
f) compress the image file copies; and
g) save, to the storage medium, the image file copies that correspond to the selected images.
7. The carrier of claim 7, wherein the instructions are also capable of making a contact sheet image comprised of a user-selected album title having a font and color selected by the user and including representations of the images contained in the album.
8. The carrier of claim 7 further comprising the step of automatically resizing the image file copies so that the selected images, when displayed, will have a resolution not exceeding a resolution required for optimal viewing on a standard display.
9. The carrier of claim 7, wherein the instructions are also capable of instructing a computing device to:
a) prompt the user to make one or more modifications to any of the selected images;
b) automatically adjust the image file copies corresponding to the selected images for which the user makes one or more modifications so that said image file copies result in adjusted image file copies that include the one or more modifications; and
c) in the saving step, ensure that the image file copies that have resulted in adjusted image file copies are saved as adjusted image file copies.
10. The carrier of claim 3 further comprising the step of saving, to the storage medium, a file that contains parameters of the album, wherein the file allows a user to automatically recreate the image album for further duplication or modification.
11. An apparatus for the creation of a digital photo album comprising:
a) means for displaying, to a user, a group of images for which corresponding image files are available;
b) means for prompting the user to select a plurality of selected images from the group;
c) means for prompting the user to save the selected images to a storage medium as an album of images;
d) means for receiving an instruction from the user to save the selected images to the storage medium as an album of images;
e) means for making a copy of each image file that corresponds to the selected images to result in image file copies;
f) means for compressing the image file copies; and
g) means for saving, to the storage medium, the image file copies that correspond to the selected images.
12. The apparatus of claim 13, further comprising means for making a contact sheet comprised of a user-selected album title having a font and color selected by the user and including representations of the images contained in the album.
13. The apparatus of claim 13, further comprising means for automatically adjusting the image file copies so that the selected images, when retrieved from the storage medium, will display in sizes and resolutions appropriate for a standard television screen.
14. The apparatus of claim 13, further comprising:
a) means for prompting the user to make one or more modifications to any of the selected images;
b) means for automatically adjusting the image file copies corresponding to the selected images for which the user makes one or more modifications so that said image file copies result in adjusted image file copies that include the one or more modifications; and
c) means for ensuring that the image file copies that have resulted in adjusted image file copies are saved as adjusted image file copies.
15. The apparatus of claim 13, further comprising means for saving, to the storage medium, a link that allows a user to view the image files that are stored on the storage medium as an album of images.
US10/058,693 2001-11-13 2002-01-28 Method and apparatus for the creation of digital photo albums Abandoned US20030090498A1 (en)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US10/058,693 US20030090498A1 (en) 2001-11-13 2002-01-28 Method and apparatus for the creation of digital photo albums
US11/004,029 US20050099385A1 (en) 2001-11-13 2004-12-02 Method and apparatus for the creation of digital photo albums
US11/323,248 US7403212B2 (en) 2001-11-13 2005-12-30 Method and apparatus for the display of still images from image files

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US33812201P 2001-11-13 2001-11-13
US10/058,693 US20030090498A1 (en) 2001-11-13 2002-01-28 Method and apparatus for the creation of digital photo albums

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US11/004,029 Division US20050099385A1 (en) 2001-11-13 2004-12-02 Method and apparatus for the creation of digital photo albums

Publications (1)

Publication Number Publication Date
US20030090498A1 true US20030090498A1 (en) 2003-05-15

Family

ID=26737933

Family Applications (3)

Application Number Title Priority Date Filing Date
US10/058,693 Abandoned US20030090498A1 (en) 2001-11-13 2002-01-28 Method and apparatus for the creation of digital photo albums
US11/004,029 Abandoned US20050099385A1 (en) 2001-11-13 2004-12-02 Method and apparatus for the creation of digital photo albums
US11/323,248 Expired - Fee Related US7403212B2 (en) 2001-11-13 2005-12-30 Method and apparatus for the display of still images from image files

Family Applications After (2)

Application Number Title Priority Date Filing Date
US11/004,029 Abandoned US20050099385A1 (en) 2001-11-13 2004-12-02 Method and apparatus for the creation of digital photo albums
US11/323,248 Expired - Fee Related US7403212B2 (en) 2001-11-13 2005-12-30 Method and apparatus for the display of still images from image files

Country Status (1)

Country Link
US (3) US20030090498A1 (en)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040201778A1 (en) * 2003-04-08 2004-10-14 Risheq Tareq A. Digital photo album having a built-in scanner
US20040201871A1 (en) * 2003-04-08 2004-10-14 Risheq Tareq A. Digital album and methods of use
US20060109516A1 (en) * 2004-11-23 2006-05-25 Rodrigo Catalan Personal photo book creation kit
US20060109517A1 (en) * 2004-11-23 2006-05-25 Rodrigo Catalan Personal photo book creation kit
US20080084428A1 (en) * 2005-04-08 2008-04-10 Olympus Corporation Medical image display apparatus
US20080189370A1 (en) * 2007-02-06 2008-08-07 Research In Motion Limited System and method for image inclusion in e-mail messages
US20080291215A1 (en) * 2001-11-13 2008-11-27 Microsoft Corporation Method and apparatus for the display of still images from image files
US20090251607A1 (en) * 2008-04-03 2009-10-08 Slideshow Technologies, Inc. Displaying presentations
US7689909B1 (en) 2003-11-26 2010-03-30 Szuszczewicz Edward P System and method for generating photo collages and photo album pages
US20100146496A1 (en) * 2008-12-02 2010-06-10 Slideshow Technologies, Llc Displaying Presentations
US8819169B2 (en) 2011-05-20 2014-08-26 Hallmark Cards, Incorporated Prompting service
CN104243884A (en) * 2013-06-13 2014-12-24 建研防火设计性能化评估中心有限公司 Video recording method and video recording device
US9405500B1 (en) * 2012-09-12 2016-08-02 Marisa Cox Photo album device and system
US11580155B2 (en) * 2011-03-28 2023-02-14 Kodak Alaris Inc. Display device for displaying related digital images

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8880988B2 (en) * 2003-07-10 2014-11-04 Ca, Inc. System and method for dynamic creation of images
JP4033187B2 (en) * 2004-10-08 2008-01-16 ブラザー工業株式会社 Setting management program, management device and setting management system
JP4588642B2 (en) * 2005-03-15 2010-12-01 富士フイルム株式会社 Album creating apparatus, album creating method, and program
US7596751B2 (en) * 2005-04-22 2009-09-29 Hewlett-Packard Development Company, L.P. Contact sheet based image management
US20070133055A1 (en) * 2005-12-09 2007-06-14 Johnson Okorie A Electronic photo book
US20070268298A1 (en) * 2006-05-22 2007-11-22 Alben Jonah M Delayed frame buffer merging with compression
KR100819104B1 (en) * 2006-09-07 2008-04-03 삼성전자주식회사 Circuit for parallel bit test and method for parallel bit test by the same
US20080235262A1 (en) * 2007-03-21 2008-09-25 Holm Aaron H Digital file management system with file mapping for high resolution and other images
US8035401B2 (en) 2007-04-18 2011-10-11 Cypress Semiconductor Corporation Self-calibrating driver for charging a capacitive load to a desired voltage
KR101425029B1 (en) * 2007-06-29 2014-07-31 삼성전자주식회사 Image forming device for transmitting and receiving through ria, and method thereof
JP2009100246A (en) 2007-10-17 2009-05-07 Hitachi Ltd Display device
US20100278236A1 (en) * 2008-01-17 2010-11-04 Hua Yang Reduced video flicker
JP4692936B2 (en) * 2008-09-08 2011-06-01 富士ゼロックス株式会社 Document reading apparatus and image forming apparatus
US9274764B2 (en) 2008-09-30 2016-03-01 Adobe Systems Incorporated Defining transitions based upon differences between states
US9710240B2 (en) * 2008-11-15 2017-07-18 Adobe Systems Incorporated Method and apparatus for filtering object-related features
US9530189B2 (en) 2009-12-31 2016-12-27 Nvidia Corporation Alternate reduction ratios and threshold mechanisms for framebuffer compression
US10255227B2 (en) * 2012-05-21 2019-04-09 Oath Inc. Computerized system and method for authoring, editing, and delivering an interactive social media video
US9607407B2 (en) 2012-12-31 2017-03-28 Nvidia Corporation Variable-width differential memory compression
US10043234B2 (en) 2012-12-31 2018-08-07 Nvidia Corporation System and method for frame buffer decompression and/or compression
US9591309B2 (en) 2012-12-31 2017-03-07 Nvidia Corporation Progressive lossy memory compression
US9832388B2 (en) 2014-08-04 2017-11-28 Nvidia Corporation Deinterleaving interleaved high dynamic range image by using YUV interpolation
KR101650153B1 (en) * 2015-03-19 2016-08-23 네이버 주식회사 Cartoon data modifying method and cartoon data modifying device

Citations (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5138459A (en) * 1990-11-20 1992-08-11 Personal Computer Cameras, Inc. Electronic still video camera with direct personal computer (pc) compatible digital format output
US5519438A (en) * 1994-06-30 1996-05-21 Intel Corporation Computer with a video subsystem that contains timers which are used to create calibration tables correlating time intervals with the decoding and converting of video input signals
US6043845A (en) * 1997-08-29 2000-03-28 Logitech Video capture and compression system and method for composite video
US6115009A (en) * 1998-06-16 2000-09-05 Sony Corporation Of Japan Video signal counter system for automatic positioning and centering circuit
US6147742A (en) * 1998-02-26 2000-11-14 Eastman Kodak Company Photofinishing system and method for automated advanced services including image and associated audio data processing
US6202061B1 (en) * 1997-10-24 2001-03-13 Pictra, Inc. Methods and apparatuses for creating a collection of media
US6313877B1 (en) * 1997-08-29 2001-11-06 Flashpoint Technology, Inc. Method and system for automatically managing display formats for a peripheral display coupled to a digital imaging device
US6346951B1 (en) * 1996-09-25 2002-02-12 Touchtunes Music Corporation Process for selecting a recording on a digital audiovisual reproduction system, for implementing the process
US6377210B1 (en) * 2000-02-25 2002-04-23 Grey Island Systems, Inc. Automatic mobile object locator apparatus and method
US20020051201A1 (en) * 1998-10-15 2002-05-02 Winter Kirt A. Storing and retrieving digital camera images via a user-completed proof sheet
US20020056082A1 (en) * 1999-11-17 2002-05-09 Hull Jonathan J. Techniques for receiving information during multimedia presentations and communicating the information
US6396472B1 (en) * 1996-10-28 2002-05-28 Peter L. Jacklin Device and process for displaying images and sounds
US20020122067A1 (en) * 2000-12-29 2002-09-05 Geigel Joseph M. System and method for automatic layout of images in digital albums
US20020154147A1 (en) * 2001-04-20 2002-10-24 Battles Amy E. Photo ranking system for creating digital album pages
US20020167538A1 (en) * 2001-05-11 2002-11-14 Bhetanabhotla Murthy N. Flexible organization of information using multiple hierarchical categories
US20030058254A1 (en) * 2001-09-24 2003-03-27 Dworsky Howard K. Method of constructing a kaleidoscope image usable in a scrapbook
US20030059199A1 (en) * 2001-09-24 2003-03-27 Afzal Hossain System and method for creating and viewing digital photo albums
US20030063131A1 (en) * 2001-10-03 2003-04-03 Tiger Color Inc. Picture moving and positioning method in image processing software
USRE38079E1 (en) * 1993-04-21 2003-04-15 Muti-Format, Inc. Multi-format audio/video production system
US6591059B1 (en) * 1999-07-09 2003-07-08 Matsushita Electric Industrial Co. Ltd. Optical disk, a recorder, a player, a recording method, and a reproducing method for the optical disk which utilize control information containing copy managing system information and status information
US20030147634A1 (en) * 1998-07-17 2003-08-07 Masayuki Takezawa Signal processing apparatus, control method for signal processing apparatus, imaging apparatus recording/reproducing apparatus
US6625307B1 (en) * 1999-07-29 2003-09-23 Sun Microsystems, Inc. Image decode optimization techniques
US6650357B1 (en) * 1997-04-09 2003-11-18 Richardson Technologies, Inc. Color translating UV microscope
US6674464B1 (en) * 1998-07-17 2004-01-06 Sony Corporation Imaging apparatus for performing selective processing of image data
US6674799B2 (en) * 2000-02-28 2004-01-06 Lg Electronics Inc. Apparatus for converting screen aspect ratio
US6678009B2 (en) * 2001-02-27 2004-01-13 Matsushita Electric Industrial Co., Ltd. Adjustable video display window
US6714209B2 (en) * 2001-04-06 2004-03-30 Lightsurf Technologies, Inc. Browser-based system providing methodology for labeling of photo compact discs with a photo-facsimile table of contents
US6741289B1 (en) * 2000-10-31 2004-05-25 Fairchild Semiconductors, Inc. Technique to stabilize the chrominance subcarrier generation in a line-locked digital video system
US6751256B1 (en) * 2000-11-15 2004-06-15 The Regents Of The University Of California Transmission of digital images within the NTSC analog format
US6788331B1 (en) * 1999-07-30 2004-09-07 Frank Sacca Videofax system with progressive image display
US20040250083A1 (en) * 1994-03-03 2004-12-09 Barry Schwab Secure interactive digital system for displaying items to a user identified as having permission to access the system
US6862036B2 (en) * 1997-10-06 2005-03-01 Edwin L. Adair Communication devices incorporating reduced area imaging devices
US6961514B1 (en) * 1999-12-27 2005-11-01 Lsi Logic Corporation System and method for communicating images to a removable media device
US7050097B2 (en) * 2001-11-13 2006-05-23 Microsoft Corporation Method and apparatus for the display of still images from image files

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4660074A (en) * 1985-10-15 1987-04-21 Schine Jonathan M NTSC color television transmission without chroma crawl
US4833523A (en) * 1988-04-01 1989-05-23 High Resolution Sciences, Inc Chroma crawl elimination without any cumulative difference in frame time
US5585864A (en) * 1992-06-24 1996-12-17 Seiko Epson Corporation Apparatus for effecting high speed transfer of video data into a video memory using direct memory access
JP3059045B2 (en) * 1994-03-24 2000-07-04 株式会社東芝 Image forming storage device
US6038034A (en) * 1994-09-19 2000-03-14 Canon Kabushiki Kaisha Image processing apparatus and method therefor
US5764201A (en) * 1996-01-16 1998-06-09 Neomagic Corp. Multiplexed yuv-movie pixel path for driving dual displays
US6545687B2 (en) * 1997-01-09 2003-04-08 Canon Kabushiki Kaisha Thumbnail manipulation using fast and aspect ratio zooming, compressing and scaling
US6292224B1 (en) * 1997-05-16 2001-09-18 Lsi Logic Corporation Method for eliminating dot-crawl on NTSC television monitors
US5995164A (en) * 1997-09-29 1999-11-30 Zilog, Incorporated Reduction of color transition distortions in NTSC/PAL encoder
US6163346A (en) * 1997-09-29 2000-12-19 Zilog, Incorporated Dot crawl reduction in NTSC/PAL graphic encoder
EP1080578A4 (en) 1998-04-27 2001-05-16 Silicon Film Technologies Inc Electronic photo album and method of film processing
WO2000030338A2 (en) 1998-11-13 2000-05-25 Silicon Film Technologies, Inc. Electronic film system and method of film processing
US6395472B1 (en) * 1999-02-05 2002-05-28 Abbott Laboratories Methods of utilizing the TT virus
US20020180764A1 (en) * 2001-06-01 2002-12-05 John Gilbert Method and system for digital image management

Patent Citations (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5138459A (en) * 1990-11-20 1992-08-11 Personal Computer Cameras, Inc. Electronic still video camera with direct personal computer (pc) compatible digital format output
US5576757A (en) * 1990-11-20 1996-11-19 St. Clair Intellectual Property Consultants, Inc. Electronic still video camera with direct personal computer (PC) compatible digital format output
US6094219A (en) * 1990-11-20 2000-07-25 St. Clair Intellectual Property Consultants, Inc. Electronic still video camera with direct personal computer (PC) compatible digital format output
US20030025807A1 (en) * 1990-11-20 2003-02-06 Roberts Marc K. Electronic still video camera with direct personal computer (PC) compatible digital format output
US6496222B1 (en) * 1990-11-20 2002-12-17 St. Clair Intellectual Property Consultants, Inc. Digital camera with memory format initialization
US6233010B1 (en) * 1990-11-20 2001-05-15 St. Clair Intellectual Property Consultants, Inc. Electronic still video camera with direct personal computer (PC) compatible digital format output
USRE38079E1 (en) * 1993-04-21 2003-04-15 Muti-Format, Inc. Multi-format audio/video production system
US20040250083A1 (en) * 1994-03-03 2004-12-09 Barry Schwab Secure interactive digital system for displaying items to a user identified as having permission to access the system
US5519438A (en) * 1994-06-30 1996-05-21 Intel Corporation Computer with a video subsystem that contains timers which are used to create calibration tables correlating time intervals with the decoding and converting of video input signals
US6346951B1 (en) * 1996-09-25 2002-02-12 Touchtunes Music Corporation Process for selecting a recording on a digital audiovisual reproduction system, for implementing the process
US20020126141A1 (en) * 1996-09-25 2002-09-12 Tony Mastronardi Process for selecting a recording on a digital audiovisual reproduction system, and system for implementing the process
US6396472B1 (en) * 1996-10-28 2002-05-28 Peter L. Jacklin Device and process for displaying images and sounds
US6650357B1 (en) * 1997-04-09 2003-11-18 Richardson Technologies, Inc. Color translating UV microscope
US6313877B1 (en) * 1997-08-29 2001-11-06 Flashpoint Technology, Inc. Method and system for automatically managing display formats for a peripheral display coupled to a digital imaging device
US6043845A (en) * 1997-08-29 2000-03-28 Logitech Video capture and compression system and method for composite video
US6862036B2 (en) * 1997-10-06 2005-03-01 Edwin L. Adair Communication devices incorporating reduced area imaging devices
US6202061B1 (en) * 1997-10-24 2001-03-13 Pictra, Inc. Methods and apparatuses for creating a collection of media
US6147742A (en) * 1998-02-26 2000-11-14 Eastman Kodak Company Photofinishing system and method for automated advanced services including image and associated audio data processing
US6115009A (en) * 1998-06-16 2000-09-05 Sony Corporation Of Japan Video signal counter system for automatic positioning and centering circuit
US6674464B1 (en) * 1998-07-17 2004-01-06 Sony Corporation Imaging apparatus for performing selective processing of image data
US20030147634A1 (en) * 1998-07-17 2003-08-07 Masayuki Takezawa Signal processing apparatus, control method for signal processing apparatus, imaging apparatus recording/reproducing apparatus
US20020051201A1 (en) * 1998-10-15 2002-05-02 Winter Kirt A. Storing and retrieving digital camera images via a user-completed proof sheet
US6591059B1 (en) * 1999-07-09 2003-07-08 Matsushita Electric Industrial Co. Ltd. Optical disk, a recorder, a player, a recording method, and a reproducing method for the optical disk which utilize control information containing copy managing system information and status information
US6625307B1 (en) * 1999-07-29 2003-09-23 Sun Microsystems, Inc. Image decode optimization techniques
US6788331B1 (en) * 1999-07-30 2004-09-07 Frank Sacca Videofax system with progressive image display
US20020056082A1 (en) * 1999-11-17 2002-05-09 Hull Jonathan J. Techniques for receiving information during multimedia presentations and communicating the information
US6961514B1 (en) * 1999-12-27 2005-11-01 Lsi Logic Corporation System and method for communicating images to a removable media device
US6377210B1 (en) * 2000-02-25 2002-04-23 Grey Island Systems, Inc. Automatic mobile object locator apparatus and method
US6674799B2 (en) * 2000-02-28 2004-01-06 Lg Electronics Inc. Apparatus for converting screen aspect ratio
US6741289B1 (en) * 2000-10-31 2004-05-25 Fairchild Semiconductors, Inc. Technique to stabilize the chrominance subcarrier generation in a line-locked digital video system
US6751256B1 (en) * 2000-11-15 2004-06-15 The Regents Of The University Of California Transmission of digital images within the NTSC analog format
US20020122067A1 (en) * 2000-12-29 2002-09-05 Geigel Joseph M. System and method for automatic layout of images in digital albums
US6678009B2 (en) * 2001-02-27 2004-01-13 Matsushita Electric Industrial Co., Ltd. Adjustable video display window
US6714209B2 (en) * 2001-04-06 2004-03-30 Lightsurf Technologies, Inc. Browser-based system providing methodology for labeling of photo compact discs with a photo-facsimile table of contents
US20020154147A1 (en) * 2001-04-20 2002-10-24 Battles Amy E. Photo ranking system for creating digital album pages
US20020167538A1 (en) * 2001-05-11 2002-11-14 Bhetanabhotla Murthy N. Flexible organization of information using multiple hierarchical categories
US20030059199A1 (en) * 2001-09-24 2003-03-27 Afzal Hossain System and method for creating and viewing digital photo albums
US20030058254A1 (en) * 2001-09-24 2003-03-27 Dworsky Howard K. Method of constructing a kaleidoscope image usable in a scrapbook
US20030063131A1 (en) * 2001-10-03 2003-04-03 Tiger Color Inc. Picture moving and positioning method in image processing software
US7050097B2 (en) * 2001-11-13 2006-05-23 Microsoft Corporation Method and apparatus for the display of still images from image files

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080291215A1 (en) * 2001-11-13 2008-11-27 Microsoft Corporation Method and apparatus for the display of still images from image files
US8907961B2 (en) 2001-11-13 2014-12-09 Microsoft Corporation Method and apparatus for the display of still images from image files
US20040201871A1 (en) * 2003-04-08 2004-10-14 Risheq Tareq A. Digital album and methods of use
US7019871B2 (en) 2003-04-08 2006-03-28 Tr Marketing, Inc. Digital photo album having a built-in scanner
US20040201778A1 (en) * 2003-04-08 2004-10-14 Risheq Tareq A. Digital photo album having a built-in scanner
US7079293B2 (en) 2003-04-08 2006-07-18 Tr Marketing, Inc. Digital album and methods of use
US7689909B1 (en) 2003-11-26 2010-03-30 Szuszczewicz Edward P System and method for generating photo collages and photo album pages
US20100180234A1 (en) * 2003-11-26 2010-07-15 Szuszczewicz Edward P System and Method for Generating Photo Collages and Photo Album Pages
US20060109516A1 (en) * 2004-11-23 2006-05-25 Rodrigo Catalan Personal photo book creation kit
US20060109517A1 (en) * 2004-11-23 2006-05-25 Rodrigo Catalan Personal photo book creation kit
US20080084428A1 (en) * 2005-04-08 2008-04-10 Olympus Corporation Medical image display apparatus
US8077144B2 (en) * 2005-04-08 2011-12-13 Olympus Corporation Medical image display apparatus
US8489684B2 (en) * 2007-02-06 2013-07-16 Research In Motion Limited System and method for image inclusion in e-mail messages
US20080189370A1 (en) * 2007-02-06 2008-08-07 Research In Motion Limited System and method for image inclusion in e-mail messages
US20090251607A1 (en) * 2008-04-03 2009-10-08 Slideshow Technologies, Inc. Displaying presentations
US20100146496A1 (en) * 2008-12-02 2010-06-10 Slideshow Technologies, Llc Displaying Presentations
US11580155B2 (en) * 2011-03-28 2023-02-14 Kodak Alaris Inc. Display device for displaying related digital images
US8819169B2 (en) 2011-05-20 2014-08-26 Hallmark Cards, Incorporated Prompting service
US9449350B2 (en) 2011-05-20 2016-09-20 Hallmark Cards, Incorporated Prompting service
US9405500B1 (en) * 2012-09-12 2016-08-02 Marisa Cox Photo album device and system
CN104243884A (en) * 2013-06-13 2014-12-24 建研防火设计性能化评估中心有限公司 Video recording method and video recording device

Also Published As

Publication number Publication date
US20060192791A1 (en) 2006-08-31
US20050099385A1 (en) 2005-05-12
US7403212B2 (en) 2008-07-22

Similar Documents

Publication Publication Date Title
US7403212B2 (en) Method and apparatus for the display of still images from image files
US7050097B2 (en) Method and apparatus for the display of still images from image files
US6563535B1 (en) Image processing system for high performance digital imaging devices
US5537157A (en) Multi-format audio/video production system
JP3144802B2 (en) Display image display control mechanism
JP4412744B2 (en) Multi-format audio / video production system with frame rate conversion
US7956904B2 (en) Image file reproduction device and image file reproduction method
CA2187862C (en) Accelerated full screen video playback
FR2646306A1 (en) TELEVISION SYSTEM WITH PLAN CHANGE CAPACITY FOR AT LEAST ONE INCREDIBLE IMAGE
JP2004509527A (en) Stand-alone monitor as a photo slideshow projector
EP0997039A4 (en) Multi-format audio/video production system with frame-rate conversion
JPH07311569A (en) Image processing device and method
US20080122978A1 (en) System and method for tv frame capture and printing
JP3348917B2 (en) Image signal processing device
JPH0879672A (en) Still picture reproducing device
JPH07307956A (en) Color printer
US6507412B1 (en) Image recording/reproducing apparatus having an improved recording signal generating unit
US20060007483A1 (en) Image taking apparatus, image generating apparatus, image displaying apparatus, image printing apparatus, image taking method, image generating method, control program, and computer-readable storage medium
JP3453864B2 (en) Image data transfer control device
JPH10108133A (en) Image pickup device and its control method
EP0993190A2 (en) Image data recording and reproducing method, apparatus and medium
JPH0863573A (en) System for filing digital image
JP2003110956A (en) Digital television receiver, printer, and digital television receiver with image print output function
US5764868A (en) Device for printing video signal and method thereof
JP4253058B2 (en) Digital camera device

Legal Events

Date Code Title Description
AS Assignment

Owner name: PHOTELA, INC., A PENNSYLVANIA CORPORATION, PENNSYL

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SCHICK, DARRYL RICHARD;ZLOTNIK, MARK ANTHONY;REEL/FRAME:012543/0286;SIGNING DATES FROM 20020115 TO 20020117

AS Assignment

Owner name: MICROSOFT CORPORATION, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:PHOTELA, INC.;REEL/FRAME:013547/0299

Effective date: 20020716

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034766/0001

Effective date: 20141014