# Patent

## Title
Apparatus and method for managing telepresence sessions

## Abstract

A system that incorporates teachings of the present disclosure may include, for example, obtaining images that are captured by a camera system at a location associated with a user, transmitting video content representative of the images over a network for presentation by another media processor at another location, receiving at a media processor media content and second video content representative of second images that are associated with the second user, and presenting at a display device at the location the media content and the second video content in a telepresence configuration that simulates a presence of the other user at the location, where the presentation of at least one of the media content and the second video content at the display device is delayed based on latency parameters associated with the other media processor.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is related to co-pending U.S. application entitled “APPARATUS AND METHOD FOR PROVIDING MEDIA CONTENT” by Hines et al., U.S. application Ser. No. 13/168,539 filed on Jun. 24, 2011 entitled “APPARATUS AND METHOD FOR PRESENTING MEDIA CONTENT WITH TELEPRESENCE” by Hines et al., and U.S. application Ser. No. 13/168,549 filed on Jun. 24, 2011 entitled “APPARATUS AND METHOD FOR PRESENTING THREE DIMENSIONAL OBJECTS WITH TELEPRESENCE” by Hines et al. The disclosure of each of these related applications is hereby incorporated by reference herein in their entirety.
FIELD OF THE DISCLOSURE
The present disclosure relates generally to communication and more specifically to an apparatus and method for managing telepresence sessions.
BACKGROUND
Media consumption has become a multibillion dollar industry that continues to grow rapidly. High resolution displays such as high definition televisions and high resolution computer monitors can present two-dimensional movies and games with three-dimensional perspective. Collectively, improvements in viewing, audio, and communication technologies are causing demand for consumption of all types of media content. Individuals often desire to share their experiences, including with respect to media consumption, products and services. The sharing of these experiences is often limited by the capabilities of communication devices being utilized for messaging and the like. The sharing of these experiences is often limited by factors that are independent of the communication devices.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 depicts an illustrative embodiment of a communication system that provides media services with telepresence;
FIG. 2 depicts an illustrative embodiment of a presentation device and media processor for presenting media content that can be used in the system of FIG. 1;
FIG. 3 depicts an illustrative embodiment of a viewing apparatus that can be used with FIG. 2;
FIG. 4 depicts an illustrative embodiment of a presentation device with a polarized display that can be used in the system of FIG. 1;
FIGS. 5-7 depict illustrative embodiments of communication systems that provide media services with telepresence;
FIG. 8 depicts an illustrative embodiment of a method operating in portions of the devices and systems of FIGS. 1-7;
FIG. 9 depicts an illustrative embodiment of a communication system that provides media services with telepresence;
FIG. 10 depicts an illustrative embodiment of a method operating in portions of the devices, systems and/or methods of FIGS. 1-9; and
FIG. 11 is a diagrammatic representation of a machine in the form of a computer system within which a set of instructions, when executed, may cause the machine to perform any one or more of the methodologies discussed herein.



DETAILED DESCRIPTION
The present disclosure describes, among other things, illustrative embodiments of methods and devices for synchronizing telepresence sessions among a plurality of users. The telepresence sessions present media content, as well as video content of the users, which simulate a co-location of the users at each of the other user locations. In one or more embodiment, latency areas of a network can be detected and routes can be configured for the telepresence sessions based on the latency area. In one or more embodiments, a delay can be injected into delivery and/or presentation of one or both of the media content and the video content for select user locations to synchronize the telepresence configurations. In one or more embodiments, loopback testing can be performed to determine the latency area and/or a time period for delaying the delivery and/or presentation of one or both of the media content and the video content for select user locations. In one or more embodiments, dedicated routes can be provided for telepresence sessions, such as based on a service upgrade and/or a history of utilization of telepresence sessions.
In one or more embodiments, the media content and/or the video content, or a portion thereof, can be presented as three dimensional (3D) content to enhance the telepresence. In one or more embodiments, the 3D content can be generated by a remote server and/or can be generated by each media processor, such as through use of a depth map. In one or more embodiments, 3D cameras and/or a plurality of two dimensional cameras at each user location can be utilized for generating 3D content. In one or more embodiments, images of a user can be rotated or otherwise repositioned during presentation in response to detecting speech of the user to further enhance the telepresence by simulating the user facing another user to speak. Other embodiments are also included herein.
One embodiment of the present disclosure can include a server that includes a memory and a controller coupled to the memory. The controller can be adapted to receive a request for a telepresence session between first and second media processors, where the first media processor is located at a first location of a first user, and where the second media processor is located at a second location of a second user. The telepresence session can include providing media content and video content over a network for presentation in a telepresence configuration at a first display device of the first location and at a second display device of the second location. The telepresence configuration simulates the first user being present at the second location and simulates the second user being present at the first location. The controller is adapted to determine a latency area of the network based on latency testing and configure routes over the network for the telepresence session based on the latency area. The controller is adapted to determine latency associated with the presentation of the telepresence configuration at the first location and delay presentation of at least one of the media content and the video content at the second location based on the determined latency associated with the presentation of the telepresence configuration at the first location. At least one of the media content and the video content are presented as three dimensional content at the first display device.
One embodiment of the present disclosure can include a method that includes obtaining first images that are captured by a first camera system at a first location associated with a first user and transmitting first video content representative of the first images over a network for presentation by a second media processor at a second location associated with a second user. The method includes receiving over the network at a first media processor of the first location, media content and second video content representative of second images that are associated with the second user. The method includes presenting at a first display device of the first location, the media content and the second video content in a first telepresence configuration that simulates a presence of the second user at the first location. The media content and the first video content can be adapted for presentation by the second media processor in a second telepresence configuration that simulates a presence of the first user at the second location. The presentation of at least one of the media content and the second video content at the first display device can be delayed based on latency parameters associated with the presentation of the second telepresence configuration by the second media processor thereby synchronizing the first and second telepresence configurations.
One embodiment of the present disclosure can include a non-transitory computer-readable storage medium that includes computer instructions. The instructions can enable obtaining media content at a server. The instructions can enable receiving over a network at the server, first video content of a first user at a first location. The instructions can enable receiving over the network at the server, second video content of a second user at a second location. The instructions can enable receiving over the network at the server, third video content of a third user at a third location. The instructions can enable transmitting over the network from the server, the media content and the second and third video content to a first media processor for presentation in a first telepresence configuration at a first display device that simulates the second and third users being present at the first location. The instructions can enable transmitting over the network from the server, the media content and the first and third video content to a second media processor for presentation in a second telepresence configuration at a second display device that simulates the first and third users being present at the second location. The instructions can enable transmitting over the network from the server, the media content and the first and second video content to a third media processor for presentation in a third telepresence configuration at a third display device that simulates the first and second users being present at the third location. The instructions can enable synchronizing the presentations of the first, second and third telepresence configurations by determining a largest latency among a select one of the presentations of the first, second and third telepresence configurations and delaying the presentations of the remaining others of the first, second and third telepresence configurations based on the determined largest latency.
FIG. 1 depicts an illustrative embodiment of a first communication system 100 for delivering media content, which can include 3D media content. System 100 provides for synchronizing telepresence sessions among a plurality of users at different locations to simulate a co-location of the users at each of the other user locations. System 100 provides for the detection of latency areas of a network where routes can be configured for the telepresence sessions based on the latency area. System 100 also provides for injection of a delay into delivery and/or presentation of one or both of the media content and the video content for select user locations to synchronize the telepresence configurations.
The communication system 100 can represent an Internet Protocol Television (IPTV) broadcast media system although other media broadcast systems can be utilized by the present disclosures. The IPTV media system can include a super head-end office (SHO) 110 with at least one super headend office server (SHS) 111 which receives media content from satellite and/or terrestrial communication systems. In the present context, media content can represent audio content, moving image content such as videos, still image content, or combinations thereof. The SHS server 111 can forward packets associated with the media content to video head-end servers (VHS) 114 via a network of video head-end offices (VHO) 112 according to a common multicast communication protocol.
The VHS 114 can distribute multimedia broadcast programs via an access network 118 to commercial and/or residential buildings 102 housing a gateway 104 (such as a residential or commercial gateway). The access network 118 can represent a group of digital subscriber line access multiplexers (DSLAMs) located in a central office or a service area interface that provide broadband services over optical links or copper twisted pairs 119 to buildings 102. The gateway 104 can use common communication technology to distribute broadcast signals to media processors 106 such as computers, Set-Top Boxes (STBs) or gaming consoles which in turn present broadcast channels to display devices 108 such as television sets or holographic display devices, managed in some instances by a media controller 107 (such as an infrared or RF remote control, gaming controller, etc.).
The gateway 104, the media processors 106, and/or the display devices 108 can utilize tethered interface technologies (such as coaxial, phone line, or powerline wiring) or can operate over a common wireless access protocol such as Wireless Fidelity (WiFi). With these interfaces, unicast communications can be invoked between the media processors 106 and subsystems of the IPTV media system for services such as video-on-demand (VoD), browsing an electronic programming guide (EPG), or other infrastructure services.
Some of the network elements of the IPTV media system can be coupled to one or more computing devices 130, where a portion of these computing devices can operate as a web server for providing portal services over an Internet Service Provider (ISP) network 132 to media processors 106, wireline display devices 108 or wireless communication devices 116 (e.g., cellular phone, laptop computer, etc.) by way of a wireless access base station 117 operating according to common wireless access protocols such as WiFi, or cellular communication technologies (such as GSM, CDMA, UMTS, WiMAX, Software Defined Radio or SDR, and so on).
A satellite broadcast television system can be used in conjunction with, or in place of, the IPTV media system. In this embodiment, signals transmitted by a satellite 115 carrying media content can be intercepted by a common satellite dish receiver 131 coupled to the building 102. Modulated signals intercepted by the satellite dish receiver 131 can be transferred to the media processors 106 for decoding and distributing broadcast channels to the display devices 108. The media processors 106 can be equipped with a broadband port to the IP network 132 to enable services such as VoD and EPG described above.
In yet another embodiment, an analog or digital broadcast distribution system such as cable TV system 133 can be used in place of or in conjunction with the IPTV media system described above. In this embodiment the cable TV system 133 can provide Internet, telephony, and interactive media services.
The present disclosure can apply to any present or next generation over-the-air and/or landline media content services system. In one embodiment, an IP Multimedia Subsystem (IMS) network architecture can be utilized to facilitate the combined services of circuit-switched and packet-switched systems in delivering the media content to one or more viewers.
System 100 can provide 3D content to the building 102 for presentation and/or can provide 2D content that can be rendered into 3D content by one or more client devices, such as the media processor 106 or the TV 108. The 3D image content can be based upon various 3D imaging techniques, including polarization, anaglyphics, active shuttering (such as alternate frame sequencing), autostereoscopy, and so forth. The present disclosure can include presentation of all or a portion of a display in 3D, including utilizing devices that do not require a wearable viewing apparatus (e.g., does not require active shuttering glasses).
In one embodiment, system 100 can include one or more image capturing devices 175 (e.g. a camera) that can capture 2D and/or 3D images of a user and/or other objects at the building 102. Other components can be utilized in combination with or in place of the camera 175, such as a scanner (e.g., a laser system that detects object circumference), distance detector, and so forth. In one embodiment, camera 175 can be a group of cameras, such as two or more cameras for providing different viewing angles and/or for providing a holographic image. In one embodiment, the camera 175 can capture images in 2D which are processed into 3D content, such as by media processor 106 and/or computing device 130. In one embodiment, depth maps can be utilized to generate 3D content from 2D images. In another embodiment, the camera 175 can be a stereoscopic camera that directly captures 3D images, such as through use of multiple lenses. A collector 176 or other component can facilitate the processing and/or transmission of the captured images. The collector 176 can be a stand-alone device, such as in communication with the media processor 106 and/or the gateway 104 (e.g., wirelessly and/or hardwired communication) or can be integrated with another device, such as the media processor 106.
Computing device 130 can also include computer readable storage medium 180 having computer instructions for establishing a telepresence communication session between client devices. The computing device 130 can provide media content to a number of different users at different locations, such as a user at building 102, via the telepresence communication session. Computing device 130 can provide the media content in a telepresence configuration that simulates each of the other users (not shown) being present at building 102. For instance, the telepresence configuration can display the media content and further display each of the other users to simulate them watching the media content. In one embodiment, the particular telepresence configuration can be adjusted by one or more of the users based on user preferences, such as retrieved from a user profile or determined from monitored viewing behavior.
In one or more embodiments, the storage medium 180 can include computer instructions for determining a latency area of the access network 118 and can configure routes for the telepresence session based on the latency area, such as avoiding use of one or more network elements of the latency area. In one or more embodiments, the storage medium 180 can include computer instructions for determining a delay to inject or otherwise provide to the delivery and/or presentation of the telepresence configuration to select locations in order to synchronize the telepresence sessions among locations. For example, the computing device 130 can delay delivery of the video content and/or the media content (e.g., a unicast or multicast of the media content) to a number of locations so that those locations can be synchronized with another location that is experiencing latency.
In one or more embodiments, the media content and/or the images of the users, or a portion thereof, can be presented as 3D content to enhance the telepresence. For example, the 3D content can be generated by computing device 130 and/or can be generated by media processor 106, such as through use of a depth map in combination with the corresponding images. System 100 can include other components to enhance the telepresence experience. For instance, lighting and audio components can be utilized to facilitate capturing the images and audio from a user. The lighting and/or audio components can be controlled by the media processor 106 and/or by the computing device 130. User preferences and/or monitored behavior can be utilized in controlling the lighting and/or audio components.
In one embodiment, the users can be part of a social network and the computing device 130 can be in communication with a social network application, such as for selecting the media content to be provided in the telepresence configuration. In one embodiment, one of the media processors 106 can maintain control over presentation of the media content in the telepresence configuration, such as pause, fast-forward, rewind, size, resolution, and so forth. In one embodiment, the telepresence configuration, including providing the media content and the video content of each of the users, can be performed without using the computing device 130 to generate the video content from captured images or to combine the media and video content. In one example, the telepresence configuration can be generated by the media processors and distributed through a peer-to-peer technique, where the media processors share the video content amongst themselves and obtain the media content from one of the media processors or from another source, such as media content being broadcast. In one embodiment, each of the media processors 106 of the different users can be in a master-slave arrangement to control presentation of the media content and facilitate generating the telepresence configuration.
System 100 enables video and/or audio content of the users to be provided to the other users in real-time to establish a communication session while simulating the co-location of the users and providing telepresence with the media content.
FIG. 2 depicts an illustrative embodiment of a presentation device 202 and the media processor 106 for presenting a telepresence configuration 210 that can include video content 225 which is captured images of one or more other users that are at different locations from where the presentation device 202 is located. The telepresence configuration 210 can also include the media content 250. The telepresence configuration 210 can simulate the other users being present at the location of the presentation device 202 through use of the video content 225. The simulation can be performed in a number of different ways, including presenting the other users in the images as if they were viewing the media content. The simulation can be facilitated by the positioning of the camera 175 and/or by post-capture processing, such as adjusting the video content 225 so that the other users appear as being rotated towards the media content 250. Other simulation effects can be utilized. For example, the images in the video content 225 can be re-sized, including based on the particular size of the presentation device 202, to further simulate the other users being present at the location of the presentation device 202. The media content 250 and/or video content 225 of one or more users can be provided for presentation in the telepresence configuration 210 in 3D.
One or both of the presentation device 202 and the media processor 106 can include the camera 175 that captures images of the user that are provided to the other users in their telepresence configuration 210. The camera 175 can capture 2D images and/or can capture 3D images. The camera 175 can be a group of cameras to capture multiple views, including views to construct a holographic image, such as of the user and/or of objects associated with the user. In one embodiment, the presentation device 202 can be a holographic display device that presents all or a portion of the telepresence configuration 210 as holographic content. The holographic content can allow a viewer's perspective on a depicted object to change as the viewer moves around the hologram content, just as it would if the object were real.
In the present illustration, the presentation device 202 is depicted as a television set. It will be appreciated that the presentation device 202 can represent a portable communication device such as a cellular phone, a PDA, a computer, or other computing device with the ability to display media content. The media processor 106 can be an STB, or some other computing device such as a cellular phone, computer, gaming console, or other device that can process and direct the presentation device 202 to present images associated with media content. It is further noted that the media processor 106 and the presentation device 202 can be an integral unit. For example, a computer or cellular phone having computing and display resources collectively can represent the combination of a presentation device 202 and media processor 106.
The media processor 106 can be adapted to communicate with accessories such as the viewing apparatus 300 of FIG. 3 by way of a wired or wireless interface, such as through RF and/or light waves 206. The communication can be one-way and/or two-way communication, such as providing the viewing apparatus 300 with a transceiver 302. A wired interface can represent a tethered connection from the viewing apparatus 300 to an interface of the media processor (e.g., USB or proprietary interface). A wireless interface can represent a radio frequency (RF) interface such as Bluetooth, WiFi, Zigbee or other wireless standard. The wireless interface can also represent an infrared communication interface. Any standard or proprietary wireless interface between the media processor 106 and the viewing apparatus 300 is can be utilized by the presented disclosure.
The viewing apparatus 300 can represent an apparatus for viewing two-dimensional and/or 3D stereoscopic images which can be still or moving images. The viewing apparatus 300 can be an active shutter viewing apparatus. In this embodiment, each lens has a liquid crystal layer which can be darkened or made to be transparent by the application of one or more bias voltages. Each lens 304, 306 can be independently controlled. Accordingly, the darkening of the lenses can alternate, or can be controlled to operate simultaneously.
Each viewing apparatus 300 can include various components associated with a communication device including a wireline and/or wireless transceiver 302 (herein transceiver 302), a user interface (UI), a power supply, a location detector, and a controller 307 for managing operations thereof. The transceiver 302 can support short-range or long-range wireless access technologies such as infrared, Bluetooth, WiFi, Digital Enhanced Cordless Telecommunications (DECT), or cellular communication technologies, just to mention a few. Cellular technologies can include, for example, CDMA-1X, UMTS/HSDPA, GSM/GPRS, TDMA/EDGE, EV/DO, WiMAX, SDR, and next generation cellular wireless communication technologies as they arise. The transceiver 302 can also be adapted to support circuit-switched wireline access technologies (such as PSTN), packet-switched wireline access technologies (such as TCPIP, VoIP, etc.), and combinations thereof.
The UI can include a depressible or touch-sensitive keypad with a navigation mechanism such as a roller ball, joystick, mouse, or navigation disk for manipulating operations of the communication device 300. The keypad can be an integral part of a housing assembly of the apparatus 300 or an independent device operably coupled thereto by a tethered wireline interface (such as a USB cable) or a wireless interface supporting for example Bluetooth. The keypad can represent a numeric dialing keypad commonly used by phones, and/or a Qwerty keypad with alphanumeric keys. The UI can further include a display such as monochrome or color LCD (Liquid Crystal Display), OLED (Organic Light Emitting Diode) or other suitable display technology for conveying images to an end user of the apparatus 300. In an embodiment where the display is touch-sensitive, a portion or all of the keypad 308 can be presented by way of the display.
The UI can also include an audio system 312 that utilizes common audio technology for conveying low volume audio (such as audio heard only in the proximity of a human ear) and high volume audio for hands free operation. The audio system 312 can further include a microphone for receiving audible signals of an end user. The audio system 312 can also be used for voice recognition applications. The UI can further include an image sensor such as a charged coupled device (CCD) camera for capturing still or moving images.
The power supply can utilize common power management technologies such as replaceable and rechargeable batteries, supply regulation technologies, and charging system technologies for supplying energy to the components of the apparatus 300 to facilitate long-range or short-range portable applications. The location detector can utilize common location technology such as a global positioning system (GPS) receiver for identifying a location of the communication device 300 based on signals generated by a constellation of GPS satellites, thereby facilitating common location services such as navigation.
The transceiver 302 can also determine a proximity to a cellular, WiFi or Bluetooth access point by common power sensing techniques such as utilizing a received signal strength indicator (RSSI) and/or a signal time of arrival (TOA) or time of flight (TOF). The controller 306 can utilize computing technologies such as a microprocessor, a digital signal processor (DSP), and/or a video processor with associated storage memory such a Flash, ROM, RAM, SRAM, DRAM or other storage technologies.
In one embodiment, the viewing apparatus 300 can utilize a receiver portion of the transceiver 302 in the form of an infrared. Alternatively, the viewing apparatus 300 can function as a two-way communication device, in which case a full infrared transceiver could be utilize to exchange signals between the media processor 106 and the viewing apparatus 300.
The viewing apparatus 300 can utilize a controller 307 to control operations thereof, and a portable power supply (not shown). The viewing apparatus 300 can have portions of a UI. For example, the viewing apparatus 300 can have a multi-purpose button 312 which can function as a power on/off button and as a channel selection button. A power on/off feature can be implemented by a long-duration depression of button 312 which can toggle from an on state to an off state and vice-versa. Fast depressions of button 312 can be used for channel navigation. Alternatively, two buttons can be added to the viewing apparatus 300 for up/down channel selection, which operate independent of the on/off power button 312. In another embodiment, a thumbwheel can be used for scrolling between channels.
The viewing apparatus 300 can also include an audio system 313 with one or more speakers in the extensions of the housing assembly such as shown by references 314, 316 to produce localized audio 318, 320 near a user's ears. Different portions of the housing assembly can be used to produce mono, stereo, or surround sound effects. Ear cups (not shown) such as those used in headphones can be used by the viewing apparatus 300 (as an accessory or integral component) for a more direct and low-noise audio presentation technique. The volume of sound presented by the speakers 314, 316 can be controlled by a thumbwheel 310 (or up/down buttons—not shown).
It would be evident from the above descriptions that many embodiments of the viewing apparatus 300 are possible, all of which are included in the present disclosure. In one embodiment, the viewing apparatus 300 can be utilized as part of the image capture process. For instance, the transceiver 302 can function to transmit a locator and/or calibration request that is wirelessly emitted for receipt by the camera(s) 175 or another processing device, such as the media processor 106. The emitted signal can be position information that is utilized to facilitate capturing images of a target, including adjusting the positioning and focus of the camera(s) 175 to capture the user and/or another object.
In one embodiment, the presentation device 202 can present holographic content that enables different perspectives of a user and/or object to be viewed depending on the position of the viewer. The holographic content can be all or a portion of the telepresence configuration 210, such as only the media content 250 or only one or more of the video content 225. As an example, the presentation device 202 can utilize active shuttering where different perspectives of an image are presented during different time slots which can be synchronized with the viewing apparatus 300. The particular perspective of an image can be viewed via the active shuttering of the viewing apparatus 300 based on the position of the viewer, such as detected from the viewing apparatus. An example of this is described in U.S. application Ser. No. 12/839,943 filed on Jul. 20, 2010, the disclosure of which is hereby incorporated by reference in its entirety. Other techniques and components can be utilized for presenting holographic content at the presentation device 202, including with or without a viewing apparatus 300.
In one embodiment, the images of the user in video content 225 can be modified, including change of clothing, environment and/or appearance. For example, the images of the other users can be presented but without the viewing apparatus 300 being worn. For instance, other images of the other users, such as in user profiles, can be utilized to modify the images to fill in pixels where the viewing apparatus 300 was removed. In another example, the modification of the images of the video content 225 can be based on the media content, such as the images of the other users being presented but wearing a cowboy hat where the media content is a cowboy movie. The modifications to the video content 225 can be based on a number of different factors, such as user preferences, and can be controlled by various entities, such as allowing a user to retain control over any modifications to the presentation of their own images and/or allowing a user to control any modification to the presentation of other users.
FIG. 4 depicts an illustrative embodiment of a presentation device 402 with a polarized display. A display can be polarized with polarization filter technology so that alternative horizontal pixel rows can be made to have differing polarizations. For instance, odd horizontal pixels 402 can be polarized for viewing with one polarization filter, while even horizontal pixels 404 can be polarized for viewing with an alternative polarization filter. The viewing apparatus 300 previously described can be adapted to have one lens polarized for odd pixel rows, while the other lens is polarized for viewing even pixel rows. With polarized lenses, the viewing apparatus 300 can present a user a 3D stereoscopic image. The telepresence configuration 210 of FIG. 2 can be presented utilizing the presentation device 402.
System 400 illustrates use of multiple cameras 175 for capturing images of user 420 from different perspectives or views. The different perspective images can then be utilized for generating a 3D representation of the user 420. The particular number and positioning of the cameras 175 can vary. In one embodiment, one of the cameras 175 can be a depth or distance camera that is utilized for generating a depth map associated with the user 420 so that the depth map and images captured by the other cameras can be used in constructing the 3D representation of the user 420.
FIG. 5 depicts an illustrative embodiment of a communication system 500 that can provide the telepresence configuration 210 to a plurality of locations 102, 502 and 503. While three locations are illustrated in system 500, the present disclosure can utilize two or more locations. The telepresence configuration 210 for each of the locations 102, 502 and 503 includes the media content 250 and includes video content 225 for the other users. For example, a user 520 at location 102 is provided with video content 225 that includes other users 525 at locations 502 and 503. The computing device 130 can be utilized to provide the telepresence configuration 210 to each of the locations 102, 502, 503, such as through receiving captured images of each of the users 520 and 525 and distributing the video content 225 and the media content 250 to each of the locations. As an example, each of the media processors 106 can then present the video content 225 and the media content 250, such as in the side-by-side window arrangement shown in FIG. 2. In one embodiment, the captured images and the media content 250 can be combined by the computing device 130 into single content that is provided to the locations 102, 502 and 503, such as through a multicast, without the need for further arranging the media and video content. In one embodiment, separate or a combined stream of the media content 250 and the video content(s) 225 can be provided to each media processor 106 for combining into the telepresence configuration 210.
In one embodiment, the media processor 106 can instruct the users 520 and 525 to sit or otherwise position themselves where they will be watching the telepresence configuration 210. A position of the user can then be determined for adjusting the camera 175. A distance to the viewer can be determined, such as through use of time-of-flight, stereo triangulation, sheet of light triangulation, structured light, interferometry, coded aperture, and so forth. Other components can also be utilized to facilitate the process, including a depth camera integrated with camera 175 or provided as a stand-alone component.
FIG. 6 depicts an illustrative embodiment of another communication system 600 that can present the telepresence configuration 210 at display devices 108 of different users at different locations via a telepresence communication session. System 600 can be overlaid or operably coupled with the devices and systems of FIGS. 1-5 to receive media content 250 and/or video content 225, which is presentable as 3D content. System 600 can include computing device 130 for receiving 2D media content from a media source 650 and for generating (or otherwise obtaining) a depth map associated with the media content, such as based on object segmentation. The computing device 130 can encode the media content and depth map (such as into a single video stream in H.264 format encapsulated in an MPEG-2 wrapper) and transmit the media content and depth map to one or more media processors 106, such as through broadcast, multicast and/or unicast utilizing network 625. In one embodiment, the computing device 130 can generate the depth map in real-time or near real-time upon receipt of the 2D media content, such as from a broadcast studio. The computing device 130 can also generate a depth map for video content that is captured by the cameras 175 in 2D.
System 600 includes media processors 106 which receive the video stream of the 2D media and video content and the corresponding depth maps. The media processors 106 can generate 3D content using the depth maps in real time upon receipt of the video stream. The media processors 106 can also detect the capability of display devices (such as through HDMI 1.4a) and can adjust the media content accordingly. For instance, if a display device 108 can only present 2D content, then the media processor 106 may discard the depth map and provide the 2D content to the display device. Otherwise, the media processor 106 can perform the real-time generation of the 3D content using the depth map and provide the content to the 3D capable display device 108. The conversion into 3D content from the depth map(s) can be based upon various imaging techniques and the 3D presentation in the telepresence configuration 210 can be based upon various formats including polarization, anaglyphics, active shuttering (such as alternate frame sequencing), autostereoscopy, and so forth.
In one embodiment, position information associated with one or more viewers can be utilized to adjust 3D media content, such as adjusting a convergence of the media content 250 and/or video content 225 based on a distance of the viewer(s) from the display device 108. Calibration can also be performed using a number of components and/or techniques, including a distance camera to measure distances and/or image camera 175 for capturing images of the viewers which can be used for interpolating distances.
System 600 has the flexibility to selectively provide 2D content and 3D content to different locations. System 600 further has the flexibility to selectively provide a combination of 2D and 3D content for presentation in the telepresence configuration 210 (FIG. 2). For example, a user may desire to watch the media content 250 in 3D while viewing the video content 225 in 2D. The selection of 2D or 3D presentation can be based on a number of factors, including device capability and type of content. The selection can be made by a number of different entities, including the users via the media processors 106 and/or by the service provider via computing device 130. The selection of 2D or 3D can also be made by one or more devices of system 600 without user intervention based on a number of factors, such as device capability, network status, viewing history, and so forth.
FIG. 7 depicts an illustrative embodiment of another communication system 700 that can present a telepresence configuration 710 at presentation devices 202 of different users at different locations 102, 502, 503 via a telepresence communication session. System 700 can be overlaid or operably coupled with the devices and systems of FIGS. 1-6 to receive media content and/or video content which is presentable as 3D or holographic content. System 700 can include components similar to that of system 600, such as the media processor 106, the presentation device 202, the computing device 130 and the cameras 175. The presentation device can be various types of display devices including televisions, holographic display devices, volumetric display devices, and so forth.
While three locations are illustrated in system 700, the present disclosure can utilize two or more locations. The telepresence configuration 710 for each of the locations 102, 502 and 503 can include object content 750 and can include video content 225 for the other users. For example, a user 520 at location 102 can be provided with video content 225 that includes other users 525 at locations 502 and 503. The computing device 130 can be utilized to provide the telepresence 710 to each of the locations 102, 502, 503, such as through receiving captured images of each of the users 520 and 525 and distributing the video content 225 and the object content 750 to each of the locations. As an example, each of the media processors 106 can then present the video content 225 and the object content 750, such as in a side-by-side window arrangement that simulates the users 525 being present at the location 102, such as positioning the video content 225 as if the users 525 were viewing the object content 750. In one embodiment, the captured images of the users (e.g., video content 225) and the object content 750 can be combined by the computing device 130 into single content that is provided to the locations 102, 502 and 503, such as through a multicast, without the need for further arranging the object and video content. In one embodiment, separate or a combined stream of the object content 750 and the video content(s) 225 can be provided to each media processor 106 for combining into the telepresence configuration 710.
The object content 750 can be generated based on images captured by a camera system 725 that includes a group of cameras 175. The group of cameras 175 can be positioned to capture different viewing angles for an object 730. The images can then be processed into the object content 750 by generating 3D images from 2D images for the object 730 and/or capturing 3D images using 3D stereoscopic cameras. Various 3D techniques and components can be utilized, including polarization, anaglyphics, active shuttering (such as alternate frame sequencing), autostereoscopy, and so forth.
In one embodiment, the generated object content 750 is 3D content that is holographic content. The holographic content provides different viewing perspectives of the object 730 based on viewer position in reference to a display device. The object content 750 can be generated in whole or in part by various devices in system 700, such as computing device 130 and/or media processor 106. In one embodiment, the selection of a device to perform the generation of the object content 750 or a portion thereof can be based on load-balancing. For instance, local devices such as media processor 106 of location 503 can generate all or a portion of the object content 750 when a desired amount of processing resources are available for the local media processor 106. However, if a desired amount of processing resources are not available for the local media processor 106 at location 503 then other devices, such as one or more of the other media processors at locations 102 and 502 and the computing device 130 can generate the object content 750.
In one embodiment, a plurality of formats can be generated for the object content 750. The different formats can be based on the capabilities of the media processors 106 and/or the presentation devices 202. For instance, holographic content may be generated for the media processor 106 if it is determined that the presentation device 202 at location 102 is a holographic display device or otherwise has the ability to present holographic images, while 3D content based on active shuttering can be generated for the media processor 106 of location 502 if it is determined that capabilities at location 502 warrant this format. In one embodiment, the selection and generation of the format of the object content 750 can be based on capability determinations being made by the devices of system 700, such as the computing device 130 querying the local devices for display capabilities and/or accessing user profiles or past history information to make the determination. In one embodiment, each of the various formats can be generated without regard to device capabilities and a selection can then be made of the corresponding format to be transmitted.
In one embodiment, the group of cameras 175 of camera system 725 can be arranged to surround the object 730, such as capturing or otherwise covering a 360 degree perspective of the object. This configuration can facilitate generating holographic content and/or generating 3D content that can be navigated. In one embodiment, the group of cameras 175 of camera system 725 can be arranged such that the plurality of different viewing angles of the images captures only a portion of 360 degrees of viewing perspective of the object 730. In one example, the computing device 130 and/or local devices (e.g., the media processor(s) 106) can generate additional images for a remaining portion of the 360 degrees of the viewing perspective of the object 730 based on the captured images. The additional images can then be utilized with the captured images to generate holographic content and/or to generate 3D content that can be navigated. In one example, the computing device 130 and/or local devices (e.g., the media processor(s) 106) can control the position of one or more of the cameras 175 to capture images for the remaining portion of the 360 degrees of the viewing perspective of the object 730. The additional captured images can then be utilized with the captured images to generate holographic content and/or to generate 3D content that can be navigated.
The cameras 175 of camera system 725 can be arranged in various configurations and there can be various numbers of cameras. For example, the cameras 175 can surround the object 730 in a circular configuration or can surround the object in a spherical configuration. As described above, the cameras 175 may only partially surround the object 730, and camera movement and/or image extrapolation can be performed to account for any viewing angles or portions of the object that are not covered by the particular camera configuration. As an example, image extrapolation or interpolation can be utilized that predicts or estimates unknown portions of the object 730 based on known portions of the object determined from one or more of the captured images. The object 730 of FIG. 7 is illustrated as a vase having a substantially uniform curved surface and curved rim. The captured images can be utilized to determine a radius of curvature of the rim and the shape of the outer surface of the vase of object 730 as shown in the captured images. These parameters can then be used in image extrapolation or interpolation to fill in the unknown portions of the image that were not captured in the images. Other techniques for determining unknown portions of the object 730 can also be used in the present disclosure.
System 700 and camera system 725 allow various objects to be placed in front of the group of cameras so that 3D content or holographic content representative of the objects can be shared among viewers in a telepresence environment. For example, camera system 725 can define a target field or capture area 790 into which objects can be placed, such as object 730, so that the objects can be provided in the telepresence configuration 710. In one embodiment, one or more of the cameras 175 that define the target field 790 can be re-positioned to capture various perspectives of the object. The re-positioning of the cameras 175 can be performed in a number of different ways, such as pivoting cameras, sliding cameras on a track (e.g., a circular or annular track), and so forth. In one embodiment, the re-positioning of the cameras 175 can be performed automatically based on actuation of motors (e.g., electric servo-motors) coupled with the cameras that can adjust the position of the camera.
FIG. 8 depicts an illustrative embodiment of a method 800 operating in portions of the devices and systems described herein and/or illustrated in FIGS. 1-7. Method 800 can begin with step 802 in which media content 250 is obtained, such as through transmission over a network from a media source. The media content 250 can be various types from various sources. For example, the media content 250 can be movies that are broadcast or accessed on demand. In one embodiment, the media content 250 can be still images. In one embodiment, the media content 250 can be images of an object that can be manipulated, such as presenting images of a car that can be rotated. The media content 250 can be received as 2D content and converted to 3D content and/or can be received as 3D content. The media content 250 can be received by the computing device 130 (e.g., a centralized distribution process) and/or received by one or more of the media processors 106 (e.g., a distributed or master-slave process). It should be understood that the present disclosure can include the media processor 106 being various types of devices, including personal computers, set top boxes, smart phones and so forth.
At step 804, video content 225 can be received from a plurality of different media receivers 106 at different locations. The video content 225 can be received as part of a communication session established between media processors 106 of each of the different users. Each of the video content 225 can be received as 2D content and converted to 3D content and/or can be received as 3D content. Each of the video content 225 can be received by the computing device 130 (e.g., a centralized distribution process) and/or received by one or more of the media processors 106 (e.g., a distributed or master-slave process). The video content 225 can be captured by one or more cameras 175 at each location, where the cameras are 2D and/or 3D cameras. Other components can also be used to facilitate capturing the video content 225, including lighting components and/or audio components, which can be controlled locally and/or remotely (e.g., by the computing device 130 or a master media processor 106).
At step 806, it can be determined if 3D content has been requested or is otherwise desired. For instance, a user profile associated with each user at each location can be accessed by the computing device 130 and/or one or more of the media processors 106 to determine if 3D content is desired for the media content 250 and/or video content 225. If 3D content is desired then at step 808 the content can be processed accordingly. For example, if the content received is in 3D format then a determination can be made if the format is compatible with the media processors 106 and adjusted accordingly. For instance, content can be adjusted to be compatible with a first media processor 106 and a copy of the content can be further adjusted to be compatible with a second media processor. If the content is in 2D format then the content can be converted to 3D format, such as through use of a depth map or using other techniques.
At step 809, images can be captured of the object 730 using the camera system 725. The images can capture a plurality of different viewing angles or perspectives of the object 730 so that the object content 750 can be generated such that the object is presented as 3D content. In one embodiment, the 3D content can be holographic content. The object content 750 can be generated based on captured 2D and/or 3D images, including 3D images captured by a plurality of stereoscopic cameras 175 of camera system 725. The camera system 725 can be controlled locally and/or controlled remotely, such as by the computing device 130. The control over the camera system 725 can include re-positioning of the cameras 175, as well as other adjustable features, including resolution, speed, and so forth.
In one embodiment, one or more locations (e.g., locations 102, 502 and 503) can include the camera system 725 so that a user at the particular location can virtually share any objects (e.g., object 730) with other users through use of the camera system 725.
In one embodiment, the user 525 associated with the camera system 725 can be a merchant or other entity providing goods or services. For example, the object 730 can be a product being sold by the merchant. The location 503 can be a sales facility associated with the user or can be a location that is being utilized by the user 525 to sell his or her product (e.g., object 730). In one example, the merchant can be charged for selling the product by a service provider operating portions of the system 700, such as the computing device 130 and/or the camera system 725. In one example, revenue that is generated as a result of presentation of the object content 750 can be shared between the merchant and the service provider. Other fee sharing arrangements with merchants for utilization of the camera system 725 can also be used by the present disclosure.
At step 810, the media content 250 and/or the object content 750, along with the video content 225 can be presented at each display device of each location in a telepresence configuration, such as configuration 210 of FIG. 2 and/or configuration 710 of FIG. 7. The telepresence configuration can simulate each of the users being co-located at each location. In one embodiment, the telepresence configurations can be adjustable, such as by the user selecting the configuration. The adjustments to the telepresence configuration can include positioning of the video content, size, resolution, and so forth.
In one embodiment at step 812, the computing device 130 and/or the media processor 106 can monitor to detect speech of a user at one of the locations. If speech is detected from a target user, then at step 814 the video content can be adjusted (e.g., by the computing device 130 and/or the media processor 106) to further simulate the target user speaking to the other users. This simulation can include depicting the target user or a portion thereof (e.g., the user's head) turning to face the viewer of the display device to speak with them. In one embodiment, the telepresence configuration can provide images of the rear of the other user's head's as if they were watching the media content and then present the face of the target user when the target user is speaking. In one embodiment, images of a front of a user's head can be used to generate video content depicting the back of the user's head, such as through determining shape, circumference, hair color and so forth.
In one embodiment at step 816, user interaction with the object content 750 can be detected or otherwise determined, such as by one of the media processors 106 and/or the computing device 130. The user interaction can be based on user inputs at a user interface at one of the locations 102, 502, 503. At step 818, the object content 750 can be adjusted in response to the user interaction. The adjustment can be performed in a number of different ways, including based on utilizing different images with different viewing angles, adjusting the cameras 175 of camera system 725 to provide for different perspective, and/or extrapolating views based on the captured images.
In one embodiment, the user interaction can be based on movement of the user, such as movement of the user's hand towards the presented object 730. As an example, the user 520 at location 102 can be viewing a 3D or holographic representation of the object 730 and can move his or her hand so as to gesture rotating the object 730. In the telepresence configurations of locations 502 and 503, the gestures of the user 520 can be viewed as the hand of the user rotating the object 730 due to the positioning of the object content 750 and the video content 225 in the telepresence configuration 710. The interaction is not limited to moving the object 730, and can include other interaction, such as removing a portion of the object to present a different view.
In one embodiment at step 820, system 700 can provide telepresence messaging between users. For instance, user 520 at location 102 can send a message to user 525 at location 502. The message can be input by the user 520 via text, speech, and/or selection of pre-determined messages. The message can be presented in the telepresence configuration 710 at presentation device 202 of location 503 via 3D or holographic text. The message can be presented in combination with, or in place of, the media content 250 and/or the object content 750. In one embodiment, the sender of the message can select the recipient(s) of the message so that only select users can see the message even though other users may be participating in the communication session. In one embodiment, the message can be sent in conjunction with a social network and/or messaging service, including facebook, tweeter and so forth.
FIG. 9 depicts an illustrative embodiment of another communication system 900 that can present a telepresence configuration 910 at presentation devices 108 of different users at different locations 902, 903, 904 via a telepresence communication session. System 900 can be overlaid or operably coupled with the devices, systems and methods of FIGS. 1-8 to receive media content and/or video content in the telepresence configuration 910. The media content and/or video content (e.g., media content 250 and video content 225 of FIG. 2) can be presented as 3D or holographic content. System 900 can include components similar to that of system 600, such as the media processor 106, the computing device 130 and the cameras 175. The presentation devices 108 can be various types of display devices including televisions, holographic display devices, volumetric display devices, and so forth. The cameras 175 can be various types of devices, including 2D and 3D cameras and can be any number and configuration of cameras, including system 725 of FIG. 7. While three locations are illustrated in system 900, the present disclosure can utilize two or more locations.
The media processors 106 of the locations 902, 903, 904 can communicate with each other and/or with the computing device 130 over a network 950 that includes network elements 955. The network elements 955 can be various devices utilized for providing communication, including routers, switches, servers, DSLAMs, and so forth. The number and configuration of the network elements 955 can vary. A multimedia source 960 can be utilized for sourcing the media content to the media processors 106 of the locations 902, 903, 904, such as via the computing device 130, although other sources can also be used by the present disclosure, including local sources, such as a DVR at one of the locations 902, 903, 904.
System 900 can provide for latency testing to be performed with respect to the media processors 106 of the locations 902, 903, 904, as well as with respect to the network elements 955 that could be used for providing the telepresence sessions between these locations. The type of latency testing performed can vary. For example, loopback testing can be performed by the computing device 130 to each of the media processors 106 of the locations 902, 903, 904. The loopback testing can also be originated from devices other than the computing device 130, such as from the media processors 106 of one or more of the locations 902, 903, 904 and/or from one or more network elements 955, such as along a potential route of the telepresence session. In one embodiment, multiple loopback tests can be originated from multiple devices along potential routes of the telepresence session. The results of this group of loopback tests can be utilized to isolate particular network elements 955 that are experiencing latency.
Other latency testing techniques can also be utilized by the present disclosure for isolating network elements 955 experiencing latency, including periodically or otherwise gathering latency parameters associated with all or a portion of the network elements 955 of the network 950. The latency parameters can be analyzed for determining particular network elements 955 experiencing latency. It should be understood that the latency can be caused by various factors, including workload, faults, on-going maintenance, and so forth. In one or more embodiments, the methodology and/or the components used to determine which network elements 955 of the network 950 are experiencing latency can be selected based on a known or predicted cause of the latency.
In one embodiment, when one or more network elements 955 of the network 950 are determined to be experiencing latency, then a latency area 980 can be determined or otherwise defined for the network 950. The latency area 950 can be determined based on the isolated network elements 955 experiencing the latency, as well as a known topology of the network 950. For example, the latency area 980 of FIG. 9 depicts three network elements 955A, 955B, 955C. In this example, network elements 955A and 955C have been determined to be experiencing latency while no such determination has been made with respect to network element 955B. However, the network element 955B has been included in the latency area 980 because, based on the network topology, it has been determined that routing 985 between network element 955A and network element 955C would be done through network element 955B.
In one or more embodiments, the routes for the telepresence session can be configured or otherwise determined based on the latency area 980. For example, routes can be configured to avoid all or a portion of the network elements 955 in the latency area 980. The configuration of the routes can be performed by a number of different devices (e.g. the computing device 130) and can be performed in a centralized or distributed fashion (e.g., using a group of computing devices 130 positioned in different parts of the network 950).
In one or more embodiments, dedicated routes can be utilized for the telepresence sessions. For example, heavy users of telepresence sessions and/or users that have obtained a service upgrade may be provided with dedicated routes using select network elements 955 that are intended to reduce latency in the transmission and/or receipt of the telepresence session signals. In one or more embodiments, the select network elements 955 of the dedicated routes can be dedicated devices that are used only for telepresence sessions and/or for limited functions that include telepresence sessions. In one or more embodiments, the select network elements 955 of the dedicated routes can be devices (dedicated devices and/or non-dedicated devices) that are known to have lower latency, such as due to lower workloads, higher processing resources, and so forth.
Continuing with the example set forth in system 900, one dedicated route 970 is illustrated between media processor 106 of location 903 and the computing device 130. This example illustrates the locations 902 and 904 utilizing non-dedicated routes through the network 950. The number and configuration of dedicated routes can vary, including providing all or only a portion of the media processors 106 of the locations 902, 903, 904 with dedicated routes to and from the computing device 130. Other dedicated routes can also be utilized, such as where data is being exchanged with other devices, such as routes directly between media processors 106 of the locations 902, 903, 904 without routing to the computing device 130.
In one or more embodiments, the latency area 980 can be utilized for reconfiguring the dedicated route 970. For instance, the dedicated route 970 might normally include network element 955C. But, since network element 955C has been determined to be part of latency area 980, the dedicated route 970 can be re-configured to avoid use of network element 955C through re-routing to network element 955D and to network element 955E.
System 900 also provides for injecting delay into the presentation of one or more of the telepresence configurations 910, including portions of the telepresence configuration, such as the media content. As an example, a determination can be made as to which of the locations 902, 903, 904 are experiencing the largest latency in presentation of the media content and/or the video content in the telepresence configuration. One or more delay time periods can be determined based on this latency and a delay(s) can be injected into presentation of the telepresence configuration for the other locations. The delay(s) can be applied to both the media content and the video content or can be separately applied, including use of different delay periods for the media content and the video content. By delaying the presentation of the other devices by the delay time(s) associated with the location experiencing the most latency, system 900 can provide a synchronized presentation of the telepresence configuration. The delay(s) can be injected by the computing device 130, such as by delaying delivery of the media content to locations 902, 903 when location 904 is experiencing the largest latency for the media content. The delay(s) can also be injected by the media processors 106 at select locations, including based on a delay period calculated by the computing device 130 for the other location and transmitted to the media processors, when presenting the telepresence configuration 910 at the display devices 108 of the select locations.
FIG. 10 depicts an illustrative embodiment of a method 1000 operating in portions of the devices, systems and/or methods described herein and/or illustrated in FIGS. 1-9. Method 1000 can begin with step 1002 in which a request for a telepresence session is received. The request can be received at various devices, depending on how the telepresence session is being managed. For example, in system 900 of FIG. 9, the telepresence session request can be received by computing device 130 from one or more of the media processors 106 at locations 902, 903, 904. In one embodiment, the telepresence session request can be received in conjunction with a social network application.
In step 1004, latency testing can be performed for network elements that could potentially deliver signals for the telepresence session (i.e., the element is part of a possible route for the telepresence session). The type of latency testing can vary and can include loopback testing, such as from the computing device 130 to each of the media processors 106 at locations 902, 903, 904. The latency testing can be performed between other devices of the network, including between network elements in order to isolate select network elements that are experiencing latency issues. The latency testing can be performed at various times. For example, latency testing can be performed in response to receiving the request for the telepresence session and/or can be performed at other times, such as periodically. Other types of latency testing can also be included in the present disclosure, including gathering packet latency telemetry from all or a portion of the network elements.
In step 1004, a latency area can be detected or otherwise determined based on the results of the latency testing. The latency area can include network elements experiencing latency issues. The latency area can further include other network elements that have not been determined to be experiencing latency issues but due to their position in proximity to those network elements, they are included in the latency area. In step 1008, routes for the telepresence session can be configured based on the latency areas. For example, routes can be configured to avoid all or a portion of the network elements in the latency area.
In step 1010, it can be determined whether any of the users, such as at locations 902, 903, 904, have dedicated routes. For example, a user may have a service plan that includes dedicated routes for telepresence sessions. In one or more embodiments, service plan upgrades can be offered in response to a request for a telepresence session. In one or more embodiments, usage of telepresence sessions by a user can be monitored to generate a history for the user. The history can be compared to a usage threshold to determine if a dedicated route should be provided to the user for the telepresence session.
If the user is permitted to utilize a dedicated route then in step 1012 the route can be re-configured based on the dedicated route. It should be further understood that the sequence of the steps of method 1000 can be changed. For example, dedicated routes can first be determined and then the dedicated routes can be altered when the dedicated route passes through, or otherwise relies upon, a network element of the latency area. If on the other hand, there are no dedicated routes then method 1000 proceeds to step 1014 to determine if latency issues still exist.
If there are no latency issues remaining or if the latency issues are within acceptable tolerances then in step 1018 the telepresence session can be provided. If on the other hand, there are latency issues outside of acceptable tolerances then in step 1016 a delay can be injected into the presentation of the telepresence configuration at a portion of the locations. For example, a determination can be made as to which location is experiencing the greatest latency and a delay period can be calculated based on that latency. A local delay can be injected, such as the other media processors 106 at the other locations delaying presentation of the media content and/or the video content to synchronize the telepresence configurations at each location. The present disclosure can also use a remote delay, such as the computing device 130 delaying providing the media content and/or the video content to a portion of the locations based on a calculated delay period.
In one embodiment, the delay period can be based on a difference in latency between the different locations. For example, a first location may present an image at a 20 ms relative mark, while a second location presents the same image at a 40 ms relative mark and a third location presents the same image at a 60 ms relative mark. A first delay period can be calculated for the first location to be 40 ms based on the delay difference between the first and third location. A second delay period can be calculated for the second location to be 20 ms based on the delay difference between the second and third location. No delay would be provided to the third location in this example. The method 1000 can proceed to step 1018 to provide the telepresence session.
Upon reviewing the aforementioned embodiments, it would be evident to an artisan with ordinary skill in the art that said embodiments can be modified, reduced, or enhanced without departing from the scope and spirit of the claims described below. The embodiments described above can be adapted to operate with any device capable of performing in whole or in part the steps described for methods 800 and 1000.
In one embodiment, the latency testing, the determination of the latency area, the configuration of the routes and/or the injection of the delay can be performed at various times, including during the telepresence session. For example, testing can be periodically performed during the telepresence session to determine if there has been a change to the latency area and/or a change to a delay period to be injected into the presentation of the telepresence configuration by one or more of the media processors. If a change is detected then corresponding corrections can be made, such as re-configuring routes and/or changing the delay time period.
In one embodiment, configuring routes based on latency areas and injecting a delay into the presentation of the telepresence configuration at a portion of the locations can be selectively applied based on thresholds. For example, injecting delay into the presentation of the telepresence configuration for a portion of the locations can be utilized without re-configuring routes based on latency areas when a first latency threshold has not been satisfied. However, when the first latency threshold is satisfied (e.g., latency time periods exceeding a pre-determined amount) then both techniques may be applied to synchronize the telepresence configurations at each of the locations.
In one embodiment, the delay can be implemented to video alone, audio alone and/or to both video and audio. In one embodiment, the delay period can be calculated for the video portion of the content and the audio portion can be synchronized with the video portion.
In one embodiment, a combination of media content 250 and object content 750 can be presented in the telepresence configurations. For example, a merchant can present the object content 750 for a product (images of which are captured by the camera system 725) being sold while presenting the media content 250 that is an infomercial describing the product.
In one embodiment, the device(s) that perform the functions described herein can be selected based on capability. For example, if all media processors 106 have the ability to generate 3D video content then a distributed process can be utilized that does not utilize the computing device 130. If only a portion of the media processors 106 have the ability to generate 3D content then a master-slave arrangement can be established between the media processors 106 without the need to utilize the computing device 130. If none of the media processors 106 have the ability to generate 3D content then the computing device 130 can be utilized for generating 3D content. Similarly, 2D images captured by a 2D camera can be transmitted to a device capable of generating 3D video content, such as the computing device 130 and/or another media processor 106. In one embodiment, the selection of the device(s) can be based on other factors, including processing resources, workload, type of content and so forth. For example, if only one media processor 106 has the capability to generate 3D content then the computing device 130 may be utilized along or in conjunction with the select media processor for generating the 3D content.
In one embodiment, the selection of the media content can be performed in conjunction with a negotiation process amongst at least a portion of the users that are intended to receive the telepresence configuration. For example, the users can vote on the media content to be presented. In another embodiment, priority can be provided to particular users for the negotiating process, such as priority based on device capability. As another example, past voting history can be used as a factor in the selection of the media content, such as weighting votes more heavily when the user has been unsuccessful in voting to select media content in the past.
In one embodiment, the selection of the media content can be based on factors associated with one of the users. For example, the other users may desire to wish happy birthday to a target user. A telepresence session can be established with the target users and the other users in which the media content is a particular singer singing a birthday song to the target user. The selection of the singer can be done based on a preference of the target user, including based on monitored consumption history by the target user of songs.
In one embodiment, the providing of the telepresence configuration can be done in conjunction with a social network application. For example, each of the users can be members of the social network and the establishing of the communication session between the different users can be initiated based on selections made from the social network application.
In one embodiment, the presentation of the telepresence configuration by a media processor 106 can be done at multiple display devices. For example, in a system that has three display devices positioned adjacent to each other, the media processor 106 can provide a middle display device with the media content for presentation while providing the end display devices with each of the video content from the other users to simulate the other users being co-located at the location of the media processor 106.
Other suitable modifications can be applied to the present disclosure without departing from the scope of the claims below. Accordingly, the reader is directed to the claims section for a fuller understanding of the breadth and scope of the present disclosure.
FIG. 11 depicts an exemplary diagrammatic representation of a machine in the form of a computer system 1100 within which a set of instructions, when executed, may cause the machine to perform any one or more of the methodologies discussed above. In some embodiments, the machine operates as a standalone device. In some embodiments, the machine may be connected (e.g., using a network) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client user machine in server-client user network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.
The machine may comprise a server computer, a client user computer, a personal computer (PC), a tablet PC, a laptop computer, a desktop computer, a control system, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. It will be understood that a device of the present disclosure includes broadly any electronic device that provides voice, video or data communication. Further, while a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
The computer system 1100 may include a processor or controller 1102 (e.g., a central processing unit (CPU), a graphics processing unit (GPU, or both), a main memory 1104 and a static memory 1106, which communicate with each other via a bus 1108. The computer system 1100 may further include a video display unit 1110 (e.g., a liquid crystal display (LCD), a flat panel, a solid state display). The computer system 1100 may include an input device 1112 (e.g., a keyboard), a cursor control device 1114 (e.g., a mouse), a disk drive unit 1116, a signal generation device 1118 (e.g., a speaker or remote control) and a network interface device 1120. The devices of computer system 1100 can be found in the previously shown figures, such as computing device 130, camera system 725, camera 175, media processor 106, TV 202 and so forth.
The disk drive unit 1116 may include a machine-readable medium 1122 on which is stored one or more sets of instructions (e.g., software 1124) embodying any one or more of the methodologies or functions described herein, including those methods illustrated above. The instructions 1124 may also reside, completely or at least partially, within the main memory 1104, the static memory 1106, and/or within the processor or controller 1102 during execution thereof by the computer system 1100. The main memory 1104 and the processor 1102 also may constitute machine-readable media. The instructions 1124 can include one or more of the steps described above, including calibration steps, such as determining or interpolating viewer distance, determining convergence from viewer distance, and so forth.
Dedicated hardware implementations including, but not limited to, application specific integrated circuits, programmable logic arrays and other hardware devices can likewise be constructed to implement the methods described herein. Applications that may include the apparatus and systems of various embodiments broadly include a variety of electronic and computer systems. Some embodiments implement functions in two or more specific interconnected hardware modules or devices with related control and data signals communicated between and through the modules, or as portions of an application-specific integrated circuit. Thus, the example system is applicable to software, firmware, and hardware implementations.
In accordance with various embodiments of the present disclosure, the methods described herein are intended for operation as software programs running on a computer processor. Furthermore, software implementations can include, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the methods described herein.
The present disclosure can include a machine readable medium containing instructions 1124, or that which receives and executes instructions 1124 from a propagated signal so that a device connected to a network environment 1126 can send or receive voice, video or data, and to communicate over the network 1126 using the instructions 1124. The instructions 1124 may further be transmitted or received over a network 1126 via the network interface device 1120.
While the machine-readable medium 1122 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term “machine-readable medium” shall also be taken to include any medium that is capable of storing or encoding a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure.
The term “machine-readable medium” shall accordingly be taken to include, but not be limited to: solid-state memories such as a memory card or other package that houses one or more read-only (non-volatile) memories, random access memories, or other re-writable (volatile) memories; magneto-optical or optical medium such as a disk or tape. Accordingly, the disclosure is considered to include any one or more of a machine-readable medium, as listed herein and including art-recognized equivalents and successor media, in which the software implementations herein are stored.
Although the present specification describes components and functions implemented in the embodiments with reference to particular standards and protocols, the disclosure is not limited to such standards and protocols. Each of the standards for Internet and other packet switched network transmission (e.g., TCP/IP, UDP/IP, HTML, HTTP), as well as the examples for calibration, distance determination, communication protocols, and so forth, represent examples of the state of the art. Such standards are periodically superseded by faster or more efficient equivalents having essentially the same functions. Accordingly, replacement standards and protocols having the same functions are considered equivalents.
The illustrations of embodiments described herein are intended to provide a general understanding of the structure of various embodiments, and they are not intended to serve as a complete description of all the elements and features of apparatus and systems that might make use of the structures described herein. Many other embodiments will be apparent to those of skill in the art upon reviewing the above description. Other embodiments may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. Figures are also merely representational and may not be drawn to scale. Certain proportions thereof may be exaggerated, while others may be minimized. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.
Such embodiments of the inventive subject matter may be referred to herein, individually and/or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any single invention or inventive concept if more than one is in fact disclosed. Thus, although specific embodiments have been illustrated and described herein, it should be appreciated that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, can be used by the present disclosure.
The Abstract of the Disclosure is provided with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. In addition, in the foregoing Detailed Description, it can be seen that various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus the following claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separately claimed subject matter.

## Claims

1. A server comprising:
a memory that stores executable instructions; and
a controller coupled to the memory, wherein the controller, responsive to executing the instructions, facilitates performance of operations comprising:
receiving a request for a telepresence session between first and second media processors, wherein the first media processor is located at a first location of a first user, wherein the second media processor is located at a second location of a second user, wherein the telepresence session comprises providing media content and video content over a network for presentation in a telepresence configuration at a first display device at the first location and at a second display device at the second location, wherein the telepresence configuration simulates the first user being present at the second location and simulates the second user being present at the first location,
determining a latency area of the network based on latency testing to obtain a determined latency;
configuring routes over the network for the telepresence session based on the latency area;
determining latency associated with the presentation of the telepresence configuration at the first location; and
delaying presentation of one of the media content, the video content or both at the second location based on the determined latency associated with the presentation of the telepresence configuration at the first location,
wherein the media content, the video content or both are presented as three dimensional content at the first display device.

2. The server of claim 1, wherein the delay of the presentation synchronizes the presentation of the telepresence configuration at the first and second locations.

3. The server of claim 1, wherein the operations further comprise:
performing the latency testing by analyzing latency metrics generated from loop back testing associated with the first and second media processors; and
determining the latency area based on the latency metrics.

4. The server of claim 3, wherein the operations further comprise:
isolating network elements of the network experiencing latency based on the latency metrics to obtain isolated network elements; and
determining the latency area based on a topology of the network and the isolated network elements.

5. The server of claim 4, wherein the routes are configured over the network based on the latency area by avoiding use of a network element in the latency area.

6. The server of claim 1, wherein the operations further comprise delaying the providing of the media content to the second media processor based on the determined latency associated with the presentation of the telepresence configuration at the first location.

7. The server of claim 1, wherein the operations further comprise:
detecting a dedicated route for one of the first media processor, the second media processor or both for the telepresence session; and
configuring the route or routes over the network for the telepresence session based on the dedicated route.

8. The server of claim 1, wherein the operations further comprise:
monitoring utilization of telepresence sessions by the first user;
determining if the utilization satisfies a telepresence threshold; and
offering a service upgrade to the first user, the service upgrade including a dedicated route for the telepresence session when the utilization satisfies the telepresence threshold.

9. The server of claim 1, wherein the telepresence configuration comprises images of the second user in the video content orientated to simulate the second user turning to face the first user at the first location in response to speech from the second user being detected.

10. The server of claim 1, wherein the operations further comprise converting the media content, and the video content, or both from two dimensional content to the three dimensional content.

11. A method comprising:
obtaining first images that are captured by a first camera system at a first location associated with a first user;
transmitting first video content representative of the first images over a network for presentation by a second media processor at a second location associated with a second user;
receiving over the network at a first media processor at the first location, media content and second video content representative of second images that are associated with the second user;
presenting at a first display device at the first location, the media content and the second video content in a first telepresence configuration that simulates a presence of the second user at the first location, wherein the media content and the first video content are adapted for presentation by the second media processor in a second telepresence configuration that simulates a presence of the first user at the second location; and
using the first media processor to present a service upgrade offer that indicates a dedicated route for telepresence sessions based on a history of utilization of telepresence sessions by the first media processor, wherein the utilization satisfies a telepresence threshold,
wherein the presenting of the media content, the second video content or both at the first display device is delayed based on latency parameters associated with the presentation of the second telepresence configuration by the second media processor to synchronize the first and second telepresence configurations.

12. The method of claim 11, wherein the first media processor delays the presenting of the media content, the second video content or both at the first display device based on the latency parameters.

13. The method of claim 11, comprising transmitting the latency parameters to a remote server for determining a time period for delaying the presenting of the media content, the second video content or both at the first display device.

14. The method of claim 11, wherein the media content, the first video content, the second video content or a combination thereof is presented as three dimensional content.

15. The method of claim 11, comprising providing a response from the first media processor to a loop back test from a remote server to determine latency parameters associated with the presentation of the first telepresence configuration by the first media processor.

16. The method of claim 15, wherein a route is configured for delivery of one of the media content, the second video content or both to the first media processor based on results of the loop back test.

17. The method of claim 11, wherein the presenting of the media content at the first display device is delayed by a remote server that delays providing the media content to the first media processor based on the latency parameters associated with the presentation of the second telepresence configuration by the second media processor.

18. A machine-readable storage device comprising executable instructions that, responsive to being executed by a processor, cause the processor to perform operations comprising:
obtaining media content at a server;
receiving over a network at the server, first video content of a first user at a first location;
receiving over the network at the server, second video content of a second user at a second location;
receiving over the network at the server, third video content of a third user at a third location;
transmitting over the network from the server, the media content and the second and third video content to a first media processor for presentation in a first telepresence configuration at a first display device that simulates the second and third users being present at the first location;
transmitting over the network from the server, the media content and the first and third video content to a second media processor for presentation in a second telepresence configuration at a second display device that simulates the first and third users being present at the second location;
transmitting over the network from the server, the media content and the first and second video content to a third media processor for presentation in a third telepresence configuration at a third display device that simulates the first and second users being present at the third location;
synchronizing the presentations of the first, second and third telepresence configurations by determining a largest latency among a select one of the presentations of the first, second and third telepresence configurations to obtain the first, second and third telepresence configurations having a determined largest latency and delaying presentations of remaining others of the first, second and third telepresence configurations based on the determined largest latency;
obtaining latency metrics from loop back testing associated with the first, second and third media processors;
isolating network elements of the network experiencing latency based on the latency metrics to obtain isolated network elements;
determining a latency area of the network based on a topology of the network and the isolated network elements; and
configuring routes over the network to transmit the media content and the first, second and third video content to the corresponding first, second and third media processors based on reducing utilization of network elements in the latency area.