Whereas historically video, or moving pictures, was delivered in analog format, such as via videocassettes, more recently video is being delivered in digital format. Such digital formats include video files stored on digital versatile discs (DVD's), as well as video files downloaded from a video server over a network. Most consumers agree that digital video offers clearer pictures than analog video.
For digital video to be properly displayed on a display device, such as a projector, a projection system, a plasma screen, or a liquid-crystal display (LCD), it must be digitally processed. Typically, a playback device performs this processing. Playback devices include standalone devices, such as DVD players, set-top boxes, and satellite and cable TV boxes, as well as more general-purpose devices, such as home theater personal computers (HTPC's).
Most playback devices process digital video to be played back in real-time, performing a large number of processing tasks as the digital video is being streamed to a display device. As such, complex and expensive circuitry or software is usually built into such playback devices. To deliver playback devices at a certain price point, however, sometimes the circuitry or software is downgraded, with a resulting decrease in picture quality.
The drawings referenced herein form a part of the specification. Features shown in the drawing are meant as illustrative of only some embodiments of the invention, and not of all embodiments of the invention.
In the following detailed description of exemplary embodiments of the invention, reference is made to the accompanying drawings that form a part thereof, and in which is shown by way of illustration specific exemplary embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention. Other embodiments may be utilized, and logical, mechanical, electrical, electro-optical, software/firmware and other changes may be made without departing from the spirit or scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims.
The processing device 104 generates optimal playback settings for playing back the video file 102, as the playback settings file 108, as indicated by the arrow 110. In one embodiment, the device 104 further generates these playback settings based on the particular type of display device 112 that may be used to play back the video file 102, and/or other parameters regarding the display device 112. The type of playback settings generated within the playback settings file 108 include information for playback of the video file 102 other than information for decoding the video file 102. Decoding the video file 102 refers to processing or decompressing the video file 102 to acquire the individual video frames that make up the video of the video file 102. For instance, digital video formatted in accordance with the MPEG-2, MPEG-4, and DivX formats have to be decoded to play back the video. The playback settings file 108 contains information for playback of the video file 102 other than information useful for decoding the video file 102.
The playback settings file 108 may, for example, contain other information that is useful for playback of the video file 102 after it is decoded into individual video frames. Such information can include deinterlacing settings, such as whether a particular one or more frames of the video file 102 after decoding should be deinterlaced in accordance with a movie mode, a video mode, a bob mode, a weave mode, an adaptive deinterlacing mode, and the like. Such information can further include whether and/or how various video noise reduction settings should be employed for a particular one or more of the decoded frames of the video file 102. Other information that can be included in the playback settings file 108 can include whether and/or how color adjustment settings, brightness, or black level, adjustment settings, contrast, or white level, adjustment settings, and scaling settings should be employed for a particular one or more of the decoded frames of the video file 102. Such information can be determined, for example, based on analysis of the video file 102 alone, and/or in conjunction with knowledge of the particular type of display device 112 on which the video file 102 is to be played back, or other parameters regarding the display device 112.
Generation of the playback settings file 108 does not result in alteration of the video file 102, can occur in non-real time, and is accomplished prior to the actual playback of the video file 102. Therefore, as much processing as is needed to generate the playback settings for a given one or more frames of the video file 102 can be used, since there are no real-time playback constraints on generating the playback settings. Furthermore, the playback settings of the file 108 may be optimally generated based on conducting more than one pass of the video file 102. That is, a first pass of the video file 102 may yield initial analyses that can be confirmed or modified in later passes of the video file 102 to result in the ultimate playback settings of the file 108. The generation process of the playback settings file 108 may be a user-interactive or a non-user-interactive process. For example, the user may provide guidance to the playback settings generation process, confirming that certain playback settings should be used, or modifying certain playback settings so that playback of the video file 102 results in optimal picture quality. It is noted that the user who provides this guidance may typically be a trained technician or other individual, as opposed to the end user who views the video file 102.
Once the playback settings file 108 has been generated, at a later point in time a playback device 116 receives the video file 102, as indicated by the arrow 118, and then retrieves the playback settings file 108 for the video file 102, as indicated by the arrow 120. The playback device 116 plays back the video file 102 on the display device 112 using the playback settings file 108, as indicated by the arrow 122. The playback device 116 may be a DVD player, a set-top box, a home theater personal computer (HTPC), a satellite or cable TV box, or another type of playback device. The display device 112 may be a projector, a projection system, a plasma display, a liquid-crystal display (LCD), or another type of display device. The playback device 116 may receive the video file 102 on a physical computer-readable medium, such as a DVD, or may receive the video file 102 via an electronic transmission over a network.
In one embodiment, the playback device 116 and the display device 112 may be the same device. For instance, the display device 112 may be the playback device 116 in the sense that the display device 112 uses the playback settings file 108 for optimal playback of the video file 102. In another embodiment, the playback device 116 and the processing device 104 may be the same device. For instance, the playback device 116 may be the processing device 104 in the sense that the playback device 116 first generates the playback settings file 108, and then later uses the playback settings file 108 that it previously generated when playing back the video file 102.
The settings for a given group of frames are used for playback of each of those frames until a frame is reached that has new settings. For example, the playback settings 304A specify that those playback settings are to be used beginning with frame 1 of the video file 102 after decoding, whereas the playback settings 304B specify that those playback settings are to be used beginning with frame V of the video file 102. Therefore, frames 1 through V-1, corresponding to the frames group 302A, are played back in accordance with the playback settings 304A, whereas the frames beginning with the frame V, corresponding to the frame group 302B, are played back in accordance with the playback settings 304B. The difference between the embodiment of
With respect to the embodiments of both
Upon the playback device 116 receiving indication that the received video file 102 is to be played back, as indicated by the arrow 408, the playback device 116 determines an identity or identifier of the video file 102, and submits this identifier 404 to the playback settings server 402 over the network 406, as indicated by the arrow 410. In response, the playback settings server 402 sends the playback settings file 108 for the video file 102 to the playback device 116 over the network 406, as corresponding to the identifier 404 and as indicated by the arrow 412. Thereafter, the playback device 116 plays back the video file 102 on the display device 112 using the playback settings file 108, as has been described, and is indicated by the arrow 414. Besides the identifier 404 of the video file 102, the playback device 116 may also send an identity or identifier 405 of the display device 112, as indicated by the arrow 411, in the embodiment where the playback settings file 108 is specific to a particular type of the display device 112 in addition to being for a particular video file 102, and/or to other parameters of the display device 112.
The playback settings file 108 may have been previously generated by the playback device 116 and stored on the storage device 502. In another embodiment, the playback settings file 108 may have been generated by a different device, other than the playback device 116, and received by the playback device 116 for storage on the storage device 502. For example, the playback device 116 may receive the playback settings file 108 for the video file 102 from over a network for storage on the storage device 502. As another example, the playback device 116 may receive the playback settings file 108 on the same physical computer-readable medium as it has received the video file 102, such as a DVD.
Playback of the received video file 102 is requested, as indicated by the arrow 504. The playback device 116 in response retrieves the playback settings file 108 for the video file 102, as indicated by the arrow 506. The playback device 116 plays back the video file 102 using the playback settings file 108 for display on the display device 112, as has been described, and as indicated by the arrow 508.
The video file 102 is first analyzed, or processed, to generate the playback settings file 108 for the video file 102 (602). The playback settings file 108 may be generated further based on the particular type of display device 112 used for playing back the video file 102, and/or other parameters regarding the display device 112. Analysis of the video file 102 to generate the playback settings file 108 does not result in modification or alteration of the video file 102. The analysis may occur with or without user interaction, and may be performed with one or more passes of the video file 102, as has been described. Furthermore, analysis may be performed on the same or a different device than the device at which playback of the video file 102 is to ultimately occur.
The playback settings file 108 for the video file 102 is retrieved (604). Such retrieval may be accomplished in differing embodiments by performing 608, 610, 612, and 614, or by performing 616. In 608, an identifier of the video file 102 is determined that at least substantially uniquely identifies the video file 102. The type of display device 112 that is to be used for playing back the video file 102, and/or other parameters of the display device 112, may also optionally be determined (610). The identifier of the video file 102, and optionally the type of display device 112 or other parameters regarding the device 112, are submitted to the playback settings server 402 of
The video file 102 is played back using the playback settings file 108 that has been retrieved (618). Playback of the video file 102 may be accomplished without having to perform any real-time analysis of the video file 102 to determine the playback settings present in the file 108, since the settings can be simply read from the file 108. The playback settings may include deinterlacing settings, video noise reduction settings, color adjustment settings, brightness adjustment settings, scaling settings, and the like, on either a frame-by-frame or a group of frames-by-group of frames basis.
The communications mechanism 702 retrieves the playback settings file 108 for the video file 102 to be played back on the playback device 116. The communications mechanism as such may include or be a network communications mechanism, such as a network adapter, to retrieve the playback settings file 108 from a server over a network, as has been described in relation to
The playback mechanism 704 plays back the video file 102 in accordance with the playback settings of the playback settings file 108. The analysis mechanism 706, when present, processes or analyzes the video file 102 to generate the playback settings file 108. The display mechanism 708, when present, is that on which the playback mechanism 704 is to display the video file 102 during playback in accordance with the playback settings file 108. The display mechanism 708 may be or include a display device. Alternatively, such a display device may not be part of the playback device 116 itself. The playback settings file 108 may be generated based on the particular type or other parameters of the display mechanism 708.
It is noted that, although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement is calculated to achieve the same purpose may be substituted for the specific embodiments shown. This application is intended to cover any adaptations or variations of the present invention. Therefore, it is manifestly intended that this invention be limited only by the claims and equivalents thereof.