Electronic “slide shows” comprise a valuable mechanism for conveying information. Software exists that permits a user to create individual slides (termed generically herein as “still images”) to include within a slide show to be shown on a display in a prescribed order. Effectively playing a still image-based slide show on a system designed for playing a video source is problematic.
For a detailed description of exemplary embodiments of the invention, reference will now be made to the accompanying drawings in which:
Certain terms are used throughout the following description and claims to refer to particular system components. As one skilled in the art will appreciate, computer companies may refer to a component by different names. This document does not intend to distinguish between components that differ in name but not function. In the following discussion and in the claims, the terms “including” and “comprising” are used in an open-ended fashion, and thus should be interpreted to mean “including, but not limited to . . . .” Also, the term “couple” or “couples” is intended to mean either an indirect or direct electrical connection. Thus, if a first device couples to a second device, that connection may be through a direct electrical connection, or through an indirect electrical connection via other devices and connections. The terms “video sequence” and “video clip” are synonymous as used in this disclosure.
The term “slide show” is broadly used herein to refer to any sequence of images to be displayed on a playback system, such as that of
Still images 54 from a slideshow file are provided as an input to the frame generation software 60 (understanding that frame generation software 60 is software executed by a processor, the processor 48 in the embodiment of
Once the video sequence is created, the video encoder 64 encodes the video sequence. The video decoder 65 decodes the video sequence to play back on the display 57. In accordance with embodiments of the invention, information provided to the display is represented as a combination of one or more planes 66. Each plane generally serves a different purpose. In the exemplary embodiment of
The various planes are combined together and stored in a frame buffer 67 for subsequent rendering on the display 57. In some embodiments, the processor, executing the frame generation software 60, can cause the encoder 64 and decoder 65 to be bypassed and render bit map images directly into the frame buffer 67.
Some types of slide shows are referred to as “timebased” slide shows in that each slide is displayed for a finite amount of time typically specified by the user. As such, the playback system (e.g., the optical disc player 55) shows each slide for the prescribed time period, then switches to the next slide, and so on. In
In accordance with an exemplary embodiment of the invention, each still image 100-108 is converted (action 74) into multiple video frame images. Further, the conversion of still images to multiple video frames is in accordance with the frame rate of the applicable playback display (e.g., television). In at least one embodiment, the conversion process comprises replicating the associated still image enough times to create a video stream that can be played through the playback system for the desired period of time. If, for example, the frame rate is 30 frames per second and the author of the slide show intends for a particular still image to be displayed for 5 seconds, then the conversion process of action 74 will entail replicating the still image 149 times to thereby create 150 identical frames of that still image. The result of action 74 is depicted at 109 in
At 76 in
In accordance with at least some embodiments, the conversion of each still image into a video sequence and the implementation of transition and special effects simultaneously occur. In other embodiments, the implementation of transition and special effects occurs after the creation of the video sequence from the still images.
Method 70 also comprises action 78 which comprises encoding the video frame sequence to create a suitable video stream to be provided to the playback system (e.g., on an optical disc). The encoding process may comprise compression and other suitable techniques.
At 80, the method comprises rendering the resulting video sequence onto the video plane described above. With multiple planes on which to render information (e.g., background, video, metadata, navigation menus), additional information can be readily superimposed on the video and a background can be provided on which the video is superimposed.
In accordance with embodiments of the invention, at least actions 74-80 of method 70 is performed “on the fly.” “On the fly” means that the conversion of the still images into a video clip occurs after a user activates the optical disc player 55 to play a selected slide show. In this embodiment, an optical disc contains the slide show in the form of still images. When a user uses, for example, the remote control 42, to activate the playback of the slide show, the optical disc player 55 reads the still images from the disc and performs actions 74-80 at that time. Because the optical disc player 55 is capable of converting a series of still images into a video sequence and creating desired effects on the video clip during playback of the slide show, the video clip need not be stored on the disc itself and need not be created ahead of time. Only the still images version of the slide show need be stored on the disc. Of course, if desired, a persistent copy of the video clip created as described herein can be created ahead of time and stored on the disc. In such an alternative embodiment, the optical disc player need only playback the video clip stored on the disc.
The author of the slide show may desire to have an audio clip play along with the video presentation. The audio may or may not be synchronized to the video frames. Synchronized audio-video means that certain sections of audio are associated with certain still images. Each still image in the slide show has a predetermined presentation timing in a timebased slide show. Synchronized audio permits a user to skip back and forth between still images and have the desired audio segments play in accordance with the particular still images being displayed. Unsynchronized audio means that an audio stream plays while the slide show is being presented, but specific sections of audio are not associated with particular still images. In accordance with embodiments of the present invention, audio can be included with the slide show, in some embodiments in a separate file, and can be synchronized or unsynchronized to the replicated video frames.
Some slide shows are referred to as “browseable” slide shows in that each still image is displayed until a user of the playback system causes the slide show to advance (e.g., by activating a “next” or “back” control). In a browseable slide show, the audio stream may not be synchronized to the various slides and thus the audio is continuously decoded and played, with loops if desired, separate from the decoding and playback of the video stream.
In a browseable slide show, each slide is potentially displayed for an indefinite period of time. That being the case, an issue arises as to which video frame of the multiple replicated frames to “hold” during the potentially indefinite time period. In accordance with an embodiment of the invention, the replicated frame to jump into and hold when the user advances a browseable slide show is predesignated by way of location pointer. For example, if a browseable slide show is playing and is currently displaying and holding on frame 124 in
In other embodiments related to browseable slide shows, a pair of pointers is used with regard to each still image. A first pointer comprises a location pointer into the compressed video stream at which the playback system begins decoding and playing. A second pointer comprises a hold pointer at which point the playback system stops decoding and holds. With reference to
In some embodiments of the invention, it may be desired to “shuffle” through the slide show jumping from one still image to another in an arbitrary order such as that desired by the viewer of the slide show. To implement shuffling, an embodiment of the invention comprises saving each sequence of replicated video frames for a particular still image as a separate file. For
In another embodiment, pointers to a starting point for decoding each series of replicated frames for a still image can be mapped to such frames to provide a mechanism by which to shuffle. Then, the pointers can be listed in a desired to order to implement shuffling during playback of the slide show.
A user of the optical disc player may desire to print an image from the slide show. For example, while viewing the slide show, a user may want to pause the playback and print the image being shown on the display 57. The remote control 42 (
Because multiple planes are used to render the images on the display 57, the user can cause the image on the display to be printed or any one or more of the various planes to be printed. For example, the user may desire to print only the background and video planes. When the user presses the print button on the remote control 42 (or invoke printing via another mechanism), a menu can be shown on display 57, for example via the presentation or interactive graphics planes, from which the user can select which one or more planes to print. If the user wants to print the amalgamation of all of the planes, the optical disc player prints from the frame buffer 67. As explained above, in embodiments, each of the various planes is maintained as separate data structures in storage. If the user desires to print fewer than all of the planes, the optical disc player prints the selected planes from the corresponding data structures. In some embodiments, the user may be able to choose from a variety of sizes, resolutions, and sources of the image rendering. For example, if the original still image provides higher resolution, the original photo file or any combination of graphics planes or other sources may be used for print generation.
The above discussion is meant to be illustrative of the principles and various embodiments of the present invention. Numerous variations and modifications will become apparent to those skilled in the art once the above disclosure is fully appreciated. It is intended that the following claims be interpreted to embrace all such variations and modifications.