Three dimensional (3D) display technologies have been developed to enhance viewing experience in various applications that employ video and/or graphics. In optical video disc technology (such as BLU-RAY DISC technology), multiview video coding (MVC) has been adopted to provide encoding of 3D video material stored on optical disks. MVC enables efficient encoding of stereoscopic video sequences. MVC is an extension of, and MVC encoded video is backward compatible with, the H.264 video standard.
For a detailed description of various examples, 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, direct, optical or wireless electrical connection. Thus, if a first device couples to a second device, that connection may be through a direct electrical connection, through an indirect electrical connection via other devices and connections, through an optical electrical connection, or through a wireless electrical connection. The recitation “based on” is intended to mean “based at least in part on.” Therefore, if X is based on Y, X may be based on Y and any number of other factors.
The following discussion is directed to various implementations of a system and method for selectably controlling the depth of three dimensional (3D) video generated by playing an optical video disc. Although one or more of these implementations may be preferred, the implementations disclosed should not be interpreted, or otherwise used, as limiting the scope of the disclosure, including the claims. In addition, one skilled in the art will understand that the following description has broad application, and the discussion of any implementation is illustrative and is not intended to intimate that the scope of the disclosure, including the claims, is limited to that implementation.
While the inclusion of 3D effects can greatly enhance the viewing of video and other media, some viewers experience discomfort, sometimes referred to as “3D fatigue,” when viewing 3D content. 3D content stored in the Blu-ray format (e.g., on a BLU-RAY DISC) is encoded using multi-view coding (MVC) as specified by the MPEG-4 video standard. In accordance with the Blu-ray format, content is authored with the 3D effects at a single depth and the viewer is forced to view the 3D images as authored, even when the 3D effect is too strong for sustained viewing by some viewers.
The optical disc and optical disc playback system disclosed herein provide relief from 3D fatigue by allowing a viewer, while viewing a 3D video, to vary the depth of the 3D images displayed and/or to disable the display of 3D effects altogether.
Video, such as a movie, consumes a great deal of storage space. Consequently, storing more than one fully authored movie on a disc is difficult. Additionally, seamlessly changing depth during a movie by switching between two separately authored movies can be problematic.
Rather than employing depth mask scaling, the data 102 includes a plurality of sets of video data that can be processed to generate video streams that can displayed in different combinations to provide variable depth 3D viewing. A first set of video data, referred to as a main view, provides video information for presentation to a first eye (e.g., the left eye) of a viewer. A second set of video data, referred to as a dependent view, provides video information for presentation to a second eye (e.g., the right eye) of the viewer. The optical disc 100 includes a plurality of dependent view video data sets each of which provides a different depth of view when played in conjunction with the main view data set. For example, a second dependent view may provide reduced 3D depth relative to a first dependent view when played in conjunction with the main view. While playing the first dependent view, if the viewer finds the depth of view uncomfortable, the second dependent view can selectably replace the first dependent view to reduce the 3D depth of the displayed video, and reduce the 3D fatigue induced by the video.
Similarly, while playing 3D content, a viewer may eliminate 3-D effects from the displayed video by viewing a single video stream derived from one or more of the views stored on the disk (e.g., the main view) for viewing via both eyes. In some implementations of the optical disc 100, the data 102 may also include a separate two dimensional (2D) video data set that can be played in lieu of the 3D views. Accordingly, while playing 3D video, 3D effects may be eliminated by replacing playback of main and dependent views with playback of a video stream derived from a main and/or dependent view, or playback of the dedicated 2D view.
The data 102 may also include control information (control instructions) that specifies times of video playback during which 3D depth can be changed or cannot be changed. Thus, when and where within a movie 3D depth is allowed to be changed can be controlled by the disc manufacturer or content author, and changes in 3D depth requested by a viewer may be ignored or delayed based on the control information.
The control information may also specify what levels of 3D depth are allowable (i.e., may be selected by a viewer) at any particular time. Thus, if a 3D depth that is not allowed (e.g., at the requested time) by the control information is requested, then the depth change may be ignored, delayed until a time when the requested depth is allowed, or a different and allowed depth (e.g., the closest allowable depth to the requested depth) may implemented in lieu of the requested depth.
The control information may further specify a 3D depth to apply at a specified time of playback. Thus, regardless of view depth selected by a viewer, the control information may specify playback of particular views at a specified time to produce a manufacturer/content author desired 3D depth.
The control circuitry 206 controls the operation of the motors 202, the optics 204, the video generation circuitry 210, and other components of the player 200 (such as audio decoders, power sources, displays, user interface logic, etc.) that have been omitted from
The view selector 208 may provide a user interface that allows a viewer to select and/or change the 3D depth of the video to be presented to the viewer. The view selector 208 may allow a user to select a 3D depth before and/or during playback of 3D video content. The view selector 208 may provide 3D depth options from which to select based on the 3D depths provided by the different video data sets stored on the optical disc 100, and/or the 3D depth restrictions specified by the control information stored on the optical disc 100.
Based on a depth selection value entered by the viewer and/or the control information provided to the view selector 208 from the optical disc 100, the view selector 208 selects the view(s) from the disc 100 to process for presentation to the viewer and selects the eye(s) of the viewer to which to present the video stream(s) generated based on the selected view(s).
The storage 304 stores instructions that the processor 302 executes to perform the view selection functions disclosed herein. The storage 304 is a non-transitory computer-readable storage device. A computer-readable storage device may include volatile storage such as random access memory, non-volatile storage (e.g., a hard drive, an optical storage device (e.g., CD or DVD), FLASH storage, read-only-memory), other non-transitory storage media, and combinations thereof. Processors execute software instructions. Software instructions alone are incapable of performing a function. Therefore, in the present disclosure, any reference to a function performed by software instructions, or to software instructions performing a function is simply a shorthand means for stating that the function is performed by a processor executing the instructions.
The storage 304 includes a view selection module 306. The view selection module 306 includes instructions that the processor 302 executes to perform the view selection operations disclosed herein. The storage 302 may also store other data, such as control information read from the optical disc 100, video data read from the optical disc 100, user entered 3D depth selection information, etc. Thus, the view selector 208 may comprise the processor 302 and the view selection module 306. Some implementations of the view selector 208 may include and/or consist of dedicated circuitry that performs the view selection functions described herein.
Toward the end of time interval 410, the 3D mask information prohibits implementation of viewer depth selection and/or requires presentation of 3D video (e.g., at a specified depth). Accordingly, the view selector 208 overrides the viewer's 2D selection and presents video stream 1 to eye 1 of the viewer, and presents stream 2 to eye 2 of the viewer during time interval 412. At expiration of time interval 412 the 3D mask information again allows user depth selection, and view selector 208 reverts to 2D presentation of video (as in interval 410) during time interval 414. Near the end of time interval 414 the viewer again selects viewing of 3D video, and the view selector 208 presents video stream 1 to eye 1 of the viewer, and presents stream 2 to eye 2 of the viewer during the time interval 416.
While viewing video streams 1 and 3, at the start of time interval 422, the 3D mask information changes and prohibits implementation of viewer depth selection, and/or prohibits use of 3D Depth2, and/or requires use of 3D Depth1. As a result, the view selector 208 presents video stream 1 to eye 1 of the viewer, and presents video stream 2 to eye 2 of the viewer during time interval 422. At the end of time interval 422, the 3D mask information allows implementation of viewer depth selection and/or use of Depth2 and the view selector 208 again presents video stream 1 to eye 1 of the viewer and presents video stream 3 to eye 2 of the viewer during time interval 424.
At the end of time interval 424, the viewer selects to return to display of 3D video using Depth1, and the view selector 208 presents video stream 1 to eye 1 of the viewer, and presents video stream 2 to eye 2 of the viewer during time interval 426. At the end of time interval 426, the viewer selects 2D viewing of the video, and the view selector 208 presents video stream 1 to both eye 1 and eye 2 of the viewer during time interval 428.
In block 502, the optical disc player 200 is decoding video streams from the video data (views) read from the optical disc 100 and presenting the video streams for viewing by selected eyes of the viewer. For example, the optical disc player 200 may alternately display images of each of two video streams (e.g., derived from a main and dependent view) and synchronize the display with the opening and closing of shutters of 3D viewing glasses worn by a user, thereby displaying each video stream to a selected eye. The video streams presented may be selected based on a 3D depth selected by the viewer where the optical disc 100 includes a plurality of dependent views each corresponding to a different 3D depth when presented in conjunction with a main view video stream.
In block 504, the optical disc player 200 determines whether the currently provided 3D depth is in accordance with 3D depth(s) presently allowed by control information read from the optical disc 100. The control information read from the optical disc 100 may specify what 3D depths are allowable for use at a given time.
If the 3D depth provided by the video streams currently being presented is not in accordance with the 3D depth(s) specified by the control information, then, in block 506 the optical disc player 200 selects views for decoding into video streams for presentation to the viewer in accordance with the 3D depth(s) allowed by the control information.
In block 508, the optical disc player 200 determines whether the viewer has selected a 3D depth different from the 3D depth provided by the video streams currently selected for presentation. If the 3D depth has not been changed by the viewer then playback continues in block 502.
If the viewer has requested a change in 3D depth, then in block 510 the optical disc player selects views from the optical disc 100 for decoding into video streams for playback in accordance with the viewer's selected depth and the depth(s) allowed by the control information read from the optical disk 100. The generated video streams are presented for viewing in block 502.
The above discussion is meant to be illustrative of the principles and various implementations of the present disclosure. 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.