Abstract:
A method, system and computer program provide a mechanism for smoothing the transition back from a virtual (computer generated) scene to a related video stream. An event such as a user input or timeout is received triggering a return to display of the video stream from a virtual scene related to content of the video stream. A number of time points and/or camera angles are either presented to the user or are automatically searched for the best match. The list may be presented in order according to an automatically detected matching criteria. The virtual scene may a scene constructed locally within a computer or digital video recorder (DVR) and the matching performed locally based on angle and time information provided from a content provider such as a server, or the virtual scene generation and matching may be performed at a remote location such as the content server.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention is related to consumer digital video recording devices (DVRs), and more particularly to a method and DVR that match a video stream with an exit point from a virtual scene. 
     2. Description of Related Art 
     Digital video recorder (DVRs), which may be in the form of a portable device such as a personal video recorder (PVR), a set-top box or a computer having a video interface and/or video capability provided from a digital or analog network source are becoming ubiquitous in households and other locations. 
     Techniques such as those disclosed in U.S. Pat. No. 7,142,209 to  Uyttendaele , et al., provide the possibility of merging virtual scene technology and video to give the user control of their own perspective, e.g., a “personal” camera angle, when viewing a video program. Other techniques, such as those disclosed in published U.S. Patent Application 2002/0188943 to  Freeman , et al., provide for “seamless”, i.e., video-synchronized switching between different real video views or graphics overlays, as well as other program sources, in response to a user selection. 
     However, for a user to truly have an integrated seamless experience, the video must not only be synchronized, but changes in camera angle, program position and other features of the displayed video should be minimized at transitions between video sources and/or virtual scenes. In particular, the transition back from a virtual scene to a video stream, which may be one of many video streams, is a complex problem in that a video stream (or a video stream selected from multiple streams) may be at an arbitrary camera angle and event time, while the content of the virtual scene is generally under user control. 
     Therefore, it would be desirable to provide a method and system that can minimize the transition changes from a virtual scene to a video stream, in order to provide a more seamless viewing experience for program viewers. 
     BRIEF SUMMARY OF THE INVENTION 
     The invention is embodied in a method, a digital video recording device (DVR), and a computer program product. The digital video recording device may be a personal video recorder (PVR), set-top box, personal computer, or any other device that provides for selection between a video stream and a virtual scene. 
     An event is received indicating a request to change from a currently-displayed virtual scene back to a video stream that was previously displayed. The time of switching to the virtual scene is stored and upon reception of the event is retrieved and used to filter possible selections of entry points and/or video sources for the transition from the virtual scene to a selected video stream. The selected video stream may be selected from multiple video sources according to a camera angle at an endpoint of the virtual scene, or if only a single video stream is available, the time of entry into the video stream may be selected by matching the camera angle as closely as possible to the virtual scene endpoint. 
     The camera angles of the video stream(s) may be provided along with the video stream(s) as sideband information, either encoded along with the video stream, or provided through another channel or network. Alternatively, still images can be extracted from the video stream and pattern matched to discover the camera angles. Selection of the video stream and entry time may be made under user selection, e.g., by providing a list, which may be ordered from “best match” downward, or the transition may be made automatically, directing playback to the “best match” video stream and entry point. 
     The foregoing and other objectives, features, and advantages of the invention will be apparent from the following, more particular, description of the preferred embodiment of the invention, as illustrated in the accompanying drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING 
       The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives, and advantages thereof, will best be understood by reference to the following detailed description of the invention when read in conjunction with the accompanying Figures, wherein like reference numerals indicate like components, and: 
         FIG. 1  is a block diagram illustrating a digital video recorder (DVR) in accordance with an embodiment of the present invention. 
         FIG. 2  is a block diagram illustrating a digital video recorder (DVR) in accordance with another embodiment of the present invention. 
         FIG. 3  is a block diagram illustrating a system in accordance with an embodiment of the present invention. 
         FIG. 4  is a pictorial diagram of a user interface in accordance with an embodiment of the present invention. 
         FIGS. 5A and 5B  are video timeline diagrams illustrating techniques in accordance with embodiments of the present invention. 
         FIG. 6  is a flowchart of a method in accordance with an embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
     The present invention relates to systems and devices that alternate between virtual scenes (e.g., computer rendered scenes) and video streams (e.g., video camera footage). In order to provide a more seamless viewing experience, upon return from displaying a virtual scene related to video stream content, a video stream and/or time point is found that closely matches the camera angle and/or content at the endpoint of the virtual scene. A single video stream may be searched by matching extracted still images or by using other scene-matching techniques in order to locate a time point for exit from the virtual scene that will provide a substantially seamless transition back to the video stream. The time point is constrained to a time after a previous exit from the video stream by checking against a time stamp of a stored exit point from the video stream. If multiple video streams are available, e.g., video streams from different cameras having different camera angles, then the video stream most closely matching the perspective of the endpoint of the virtual scene will be presented. The selection may be made automatically, according to a “best match” criterion, or a list may be presented to a viewer for selection from multiple video sources and/or time points. Camera angle information may be provided in conjunction with the video stream information, e.g., from a separate channel such as an Internet feed, or encoded along with the video stream information in a broadcast, satellite or closed-circuit distribution source. 
     Referring now to  FIG. 1 , a digital video recorder (DVR)  10 , in accordance with an embodiment of the invention, is shown. DVR  10  is connected to an external digital television (DTV) display  14 , but DVR  10  may alternatively be a portable device having an integral display. A remote control  12  is used to control operation of DVR  10 , in the exemplary embodiment according to methods of the present invention, in order to provide user input. However, it is understood that other user input methodologies can be employed, such as buttons and other controls integral to DVR  10 . DVR  10  includes an infrared (IR) interface  13  for receiving commands from remote control  12 , a processor  16  for executing program instructions that process video and virtual scene information in accordance with methodologies described in further detail below, and also provides control and other functionality as generally associated with DVR operations. A program and video memory  17  is coupled to processor  16  for storing data and program instructions, including program instructions in accordance with a computer program product embodiment of the present invention. A radio-frequency (RF)/video interface  18  receives video signals or RF signals from broadcast, closed-circuit or other video streaming sources and provides them for selection by processor  16  for ultimate display by DTV display  14 . A network interface  19  provides wired or wireless connection to public or private networks such as the Internet, for receiving additional information such as sideband camera angle and other information associated with video streams received by RF/Video interface  18 . Alternatively, network interface  19  may constitute the entire interface for receiving both the video streams (e.g., MPEG streams) and optional additional sideband information. A digital versatile disc (DVD) drive  15  and hard disk drive (HDD)  11  are also included in DVR  10  both for recording video program and other information. In another alternative embodiment of the present invention, program information stored on a disc inserted into DVD drive  15  or on hard disc drive (HDD)  11  may be manipulated by a viewer to switch to a virtual scene display, and the techniques of the present invention may be used to select time points and/or a video stream (e.g., a video stream selected from a number of differing-camera-angle video streams provided on DVD media) for return to display of a video stream. In some embodiments, components such as DVD drive  15 , HDD  11 , and IR interface  13  may not be present, may be located in other devices, or may be replaced with other technologies, such as solid-state drives (SSD), Blu-ray Disc (BD) drives, Bluetooth interfaces, RF interfaces, WiFi interfaces, and the like. 
     Referring now to  FIG. 2 , a DVR  20  in accordance with another embodiment of the invention is illustrated, in the form of a personal computer system. DVR  20  is implemented by personal computer  20 , which includes a processor  26  coupled to a memory  27  for storing program instructions including program instructions for implementing a DVR, for example by executing a third-party DVR program. Memory  27  further includes program instructions for carrying out techniques in accordance with the present invention, which may be integrated in such a DVR program, or may be provided as a stand-alone application or plug-in that enhances functionality of the DVR program or operating system. The program may be loaded into memory  27  or HDD  23  from a DVD drive  24  from a data storage media forming a computer program product in accordance with an embodiment of the present invention, such as DVD disc DVD. In order to receive video information from closed-circuit or broadcast sources, personal computer  20  includes an RF/Video interface  28 . However, techniques in accordance with an embodiment of the present invention can be performed on video received from a network interface  29  and RF/Video interface  28  is not required in such embodiments. Also, as mentioned above with respect to DVR  10  of  FIG. 1 , personal computer  20  may receive sideband information such as camera angle data from network interface  29 , or RF/Video interface  28  in addition to, and in conjunction with, video information. Personal computer  20  also includes a human interface device (HID) interface  22  for connection of HIDs, such as keyboards and pointing devices. Personal computer  20  is also illustrated as connected to an external display  25 . However, if personal computer  20  is a laptop, tablet or other integrated device, display  25  will generally be integral to personal computer  20 . In some embodiments, some of the components shown in  FIG. 2  may be absent, located within another device, or may be substituted with other technologies. 
     Referring now to  FIG. 3 , a networked system in accordance with an embodiment of the present invention is shown. A DVR, such as DVR  10 , as illustrated in  FIG. 1 , receives signals from one or more broadcast providers  34 , through one or more channels as mentioned above, e.g., RF broadcast, satellite broadcast and/or closed-circuit cable. DVR  10  may also receive video information from a generic network data source, such as an Internet Service Provider (ISP)  30  or other network provider, which may also be the channel that provides video data from broadcast provider  34 , obviating any need for an RF/Video connection. The above-described sideband information that informs camera angles and other data for informing return from a virtual scene can be provided from broadcast provider  34  via ISP  30  or encoded along with video/RF information received directly from broadcast provider  34 . Finally, a virtual scene assist provider  32  may be located remotely from DVR  10  and may either generate video corresponding to the virtual scene remotely according to user-provided control information received from DVR  10  through ISP  30  or may provide other information needed for constructing the virtual scene within DVR  10 . For example, a three-dimensional vector representation of a virtual scene associated with broadcast video provided by broadcast provider  34  may be provided, e.g., by a file transfer request, a database query, an RSS feed or other data retrieval technique to DVR  10 , and DVR  10  then generates the virtual scene according to a position and camera angle specified by user control. The depicted system is only exemplary and is intended to illustrate various locations for performing virtual scene construction and various means for sending video and virtual scene information to DVR  10  for viewing of video and virtual scenes, and the control of virtual scenes by an end-user. However, it is understood that other techniques and system configurations may be applied in accordance with other embodiments of the present invention and the particular system configuration should not be construed as limiting the possible system configurations, data sources and end-user appliances that implement techniques in accordance with the present invention as described in further detail below. 
     Referring now to  FIG. 4 , a user interface in accordance with an embodiment of the present invention is illustrated, showing a screen that may be presented to a user of DVR  10  or personal computer  20 , or other suitable device, when a transition back from a virtual scene to related video is requested and when automatic selection of the “best match” video source is not enabled in systems that provide for automatic selection, or is not implemented in systems that do not. As shown, user interface screen display  40  provides a user with options according to multiple video sources associated with multiple cameras, and specifying a position (specified as a time point) within each video stream for return to the particular video stream. Although not a requirement of the present invention, the selection options are presented in order from a “best match” downward to either the number of matches meeting a match criterion, or a limit of number of options/matches to present/locate. For static cameras, the time points may be omitted, as return to video can be performed at the exit time from the virtual scene. Also, for single-stream video sources, which may be single-camera or switched between multiple cameras, the selection options may specify only time points, as there are no multiple streams to select between. One or more screenshots  41  extracted from the video at the selectable camera angle(s) and time(s) may be displayed, either in icon form, or presented as a single frame in response to a user scrolling through options, to help a user decide which stream and/or time point to select. 
     Referring now to  FIG. 5A , a time line diagram showing a single video source, with segments  42 A- 42 G (which may be frames or longer video elements), and above each element, a set of coordinates according to: (tilt, pan, zoom). Below the video source timeline, an output timeline is shown, in which a user/viewer views video source segments  42 A and  42 B, and then switches to a virtual scene having segments  44 A- 44 C. As illustrated, the coordinates initially associated with virtual scene segment  44 A are matched to video segment  42 B. However at segment  44 C, the user has changed perspective, for example, in order to view a ball moving toward the edge of the screen. When the user/viewer selects return to video at exit time T OUT , a video segment  42 G having coordinates (−20, −45, 1.5) closely matching the coordinates (−15, −45, 1.0) of the endpoint of the virtual scene is chosen, either by the user from a list such as the list depicted in  FIG. 4  and described above, or automatically according to a “best match” criteria. The coordinates shown in  FIG. 5A  for the virtual scene are generally “known” by the virtual scene renderer, but the coordinates for video segments  42 A- 42 G are either encoded in the broadcast signal, transmitted by another channel, such as an Internet feed, or are determined by a matching/feature extraction algorithm that examines video segments  42 C- 42 G. Video segments  42 A- 42 B, need not be examined, as they occur before the time of entry to the virtual scene T IN . Alternatively, camera angles need not be considered at all, and frame matching techniques can be used instead to determine a best match. For example, still images may be sampled out of video segments  42 C- 42 G and compared by feature size and angle extraction to size and angle information already known for virtual scene segment  44 C. Or, frame matching can be performed on video frames sampled out of video segments  42 C- 42 G and compared directly to the endpoint frame(s) of virtual scene segment  44 C. 
     Referring now to  FIG. 5B , a time line diagram showing multiple video sources  46 A- 46 C, which for simplicity are illustrated as static camera angles. If camera angles are changed among multiple video sources, then segments such as those illustrated in  FIG. 5A  would also be employed in order to quantize the camera positions, which may be performed at the frame level or in larger segments. Below the video source timelines, an output timeline is shown, in which a user/viewer views video source  46 B, and then switches to a virtual scene having segments  44 A- 44 C. At exit time T OUT , video source  46 C is selected for return to video, as the camera angle and zoom of video source  46 C most closely matches the virtual scene endpoint segment perspective. As mentioned above, the selection may be automatic, or performed under user/viewer control with a list of located matches presented to the user as illustrated in  FIG. 4 . Further, rather than selecting a single video source from among multiple video source, the video upon return from the virtual scene may be interpolated from two or more multiple video sources having perspectives most closely matching the perspective of the virtual scene exit point. 
     Referring now to  FIG. 6 , a method according to an embodiment of the present invention is illustrated in a flowchart. First, a video stream is displayed (step  50 ) and when a user selects a virtual scene view (decision  51 ), the exit time is stored (step  52 ) and the view switches to the virtual scene (step  53 ). When the user selects return to video (decision  54 ), a search is conducted to locate video source and/or time points that match the virtual scene camera angle/content at the virtual scene endpoint (step  55 ). If a located matching scene time is after the stored exit time (decision  56 ), then the scene is added to a list (step  57 ), otherwise the scene (time point/video source) is discarded (step  59 ). When the list is full, or another search termination criteria is met (decision  58 ), the list is displayed (step  60 ), and in response to user selection, a switch is made to a selected video source/time point (step  61 ). 
     While the invention has been particularly shown and described with reference to the preferred embodiments thereof, it will be understood by those skilled in the art that the foregoing and other changes in form, and details may be made therein without departing from the spirit and scope of the invention.