The present disclosure relates to streaming programs, and more specifically, to streaming a program to multiple devices with seamless transitions between devices.
Conventional systems having multiple television sets or other media devices in different locations and streaming a program to all of the multiple sets or devices may enable a viewer moving from one location to another location to seamlessly watch the program. However, with these systems, the viewer may miss the program during the time the viewer is moving from one location to another location. Other conventional systems may provide a capability to pause or stop the program on a first device at one location and resume the playing of the same program on a second device at another location. However, in this configuration, the viewer needs to perform certain actions to pause the program on the first device and to search and resume the same program on the second device starting from where the program was left off.
The present disclosure provides for viewing a program and seamlessly transitioning between devices in multiple locations while enabling movement between the multiple locations.
In one implementation, a method is disclosed. The method includes: determining a parameter to be monitored to provide seamless transitions between a first device and a second device; monitoring the parameter against a preset threshold; receiving the program from a content provider; and routing the program to one of: the first device when the parameter is below the preset threshold; or the second device when the parameter is above the preset threshold.
In another implementation, a system for viewing a program and seamlessly transitioning between devices while enabling movement between multiple locations is disclosed. The system includes: a plurality of devices including a first device and a second device, the plurality of devices configured to be located within at least one of the multiple locations; and a parameter monitor configured to determine and monitor a parameter to be monitored to provide seamless transitions between the first device and the second device against a preset threshold, to receive the program from a content provider, and to route the program to one of: the first device when the parameter is below the preset threshold; or the second device when the parameter is above the preset threshold.
In a further implementation, an apparatus for viewing a program and seamlessly transitioning between devices in multiple locations while enabling movement between the multiple locations is disclosed. The apparatus includes: means for determining a parameter to be monitored to provide seamless transitions between a first device and a second device; means for monitoring the parameter against a preset threshold; means for receiving the program from a content provider; and means for routing the program to one of: the first device when the parameter is below the preset threshold; or the second device when the parameter is above the preset threshold.
Other features and advantages should be apparent from the present description which illustrates, by way of example, aspects of the disclosure.
The details of the present disclosure, both as to its structure and operation, may be gleaned in part by study of the appended drawings, in which like reference numerals refer to like parts, and in which:
As described above, configurations of an entertainment system which enable seamless viewing of a program in multiple locations can be a challenge. Conventional solutions may provide a capability to pause or stop the program on a first device at one location and resume the playing of the same program on a second device at another location. However, the viewer needs to perform actions to pause the program on the first device and to search and resume the same program on the second device starting from the point where the program was left off.
Certain implementations of the present disclosure provide alternative solutions for seamlessly viewing a program in multiple locations while enabling movement between the multiple locations. The term “seamless viewing” refers to the process of transitioning the viewing of a viewer from one device at one point in the program to the same one point in the same program on another device. In one implementation, parameters are monitored to determine when to transition between devices.
After reading these descriptions, it will become apparent how to implement the disclosure in various implementations and applications. However, although various implementations of the present disclosure will be described herein, it is understood that these implementations are presented by way of example only, and not limitation. As such, this detailed description of various implementations should not be construed to limit the scope or breadth of the present disclosure.
Initially, the viewer 120 is watching, for example, a food program on the first device 110 in the first location (e.g., the living room 150). In one implementation, the parameter monitor 130 requests the content provider to stream or download the program to the first device 110 (through, for example, a wifi connection) because the viewer 120 is located within the preset threshold (e.g., within the confines of the living room 150; e.g., 30 feet from the parameter monitor) of the parameter monitor 130 (or the first device 110). In one implementation, the viewer 120 being located within the present distance threshold is measure by the location of the second device 210 (e.g., a mobile device) which is in possession of the viewer 120. Thus, the parameter monitor 130 keeps the second device 210 in a hold state. The parameter monitor 130 determines whether the distance of the second device 210 from the parameter monitor 130 has increased above the preset threshold, because, for example, the viewer 120 watching the food program on the first device 110 has left the first location with the second device 210 to prepare a sandwich in a second location (e.g., the kitchen 250). The parameter monitor 130 then instructs the first device 110 to pause the program and requests the content provider to stream or download the program (through, for example, the wifi connection) to the second device 210 rather than the first device 110, when the parameter monitor determines that the distance of the second device 210 from the parameter monitor 130 has increased above the preset threshold. Therefore, the transition process running on the parameter monitor 130 seamlessly transitions the program from the first device 110 to the second device 210 so that the viewer 120 is able to view the program without interruption as the viewer moves from the living room (i.e., the first location) to the kitchen (i.e., the second location).
In one implementation, the parameter monitor 130 enables the viewer 120 to continue viewing the program on the second device 210 in the second location 250 since the second device 210 is outside of the preset distance threshold. When the viewer 120 decides to return to the first location with the second device 210 (e.g., after the viewer 120 has prepared the sandwich in the kitchen and is ready to return to the living room), and once the distance of the second device 210 decreases below the preset distance threshold, the parameter monitor 130 executes the transition process in reverse from the steps described above.
That is, when the parameter monitor 130 determines that the distance of the second device 210 from the parameter monitor 130 has decreased below the preset threshold (because, for example, the viewer 120 watching the program on the second device 110 has left the second location (e.g., the kitchen) with the second device 210 and has returned to the first location (e.g., the living room)), the parameter monitor 130 instructs the second device 210 to pause the program and requests the content provider to stream or download (through, for example, the wifi connection) the program to the first device 110 again. Therefore, the transition process running on the parameter monitor 130 seamlessly transitions the program from the second device 210 to the first device 110 so that the viewer 120 is able to view the program without interruption as the viewer 120 moves from the kitchen (i.e., the second location) to the living room (i.e., the first location).
In one implementation, upon leaving the first location, the parameter monitor 130 prompts the viewer 120 whether to continue streaming the program on the second device 210. Once the viewer 120 clicks to accept the prompt, the parameter monitor 130 initiates the seamless transition back into the program (e.g., by requesting the content provider to stream the program to the second device 210).
In one implementation, upon returning to the first location, the parameter monitor 130 prompts the viewer 120 whether to stream the program on the first device 110. Once the viewer 120 clicks to accept the prompt, the parameter monitor 130 initiates the seamless transition back into the program (e.g., by requesting the content provider to stream the program to the first device 110).
In an alternative implementation for the parameter monitor 130, instead of requesting the content provider to stream or download the program to either the first or second device, the parameter monitor 130 may be configured to receive the program directly from the content provider. The parameter monitor 130 then determines whether the program is routed to the first 110 or second device 210.
In the illustrated implementation of
At block 520, the program is streamed or downloaded to the first device at the first location. In one implementation, the process 500 requests the content provider to stream or download the program to the first device 110 since the second device 210 is located within the preset distance threshold without exceeding it. In an alternative implementation, the process 500 determines and routes the program to the first 110 or second device 210 depending on the relative distance of the first device 110 with respect to the second device 210.
Limits of the parameter(s) are checked, at block 530, to determine whether the limits are exceeded. If it is determined, at block 530, that the limits are not exceeded, then the process 500 returns to block 520 to continue streaming or downloading to the first device at the first location. Otherwise, if it is determined, at block 530, that the preset limits are exceeded, then the program is paused on the first device 110 and is transitioned to the second device 210, at block 540. Thus, when the process 500 determines that the distance of the second device 210 from the first device 110, for example, has increased above the preset threshold, because the viewer 120 has left the first location with the second device 210, the program is paused on the first device 110 and is started or resumed on the second device 210, at block 550, from the point where it was left off in the first device 110.
In one implementation, the process 500 enables the viewer 120 to continue viewing the program on the second device 210 in the second location 250 since the second device 210 is outside of the preset distance threshold (i.e., the parameter(s) continue to stay outside of the preset limits, at block 560). When the viewer 120 decides to return to the first location with the second device 210, and once the parameter(s) are back within the preset limit(s), as measured at block 560, the process 500 executes the transition process to stream or download the program back onto the first device 110, while pausing the second device 210.
In an alternative implementation, parameter(s) monitored by the process 500 or parameter monitor 130 may include a viewer selection. For example, the viewer may, for some reason, decide to watch the program (which, for example, is being watched on the first device 110) on another device (e.g., a third device) during the mid-stream. In this case, the process 500 or parameter monitor 130 may pause the program on the first device 110 and instruct the third device to resume or start the program from the point where the viewer was watching on the first device 110.
In the illustrated implementation of
In one implementation, the parameter monitor 130 enables the viewer to continue viewing the program on the second device 620 in the second location since the second device 620 is outside of the preset threshold. When the viewer decides to return to the first location with the second device 620, and once the distance of the second device 620 from the parameter monitor 630 decreases below the preset threshold, the parameter monitor 630 executes the transition process in reverse from the steps described above.
In one implementation, the parameter monitor 630 is a stand-alone device that monitors the parameters of the first device 610 and the second device 620. In another implementation, the parameter monitor 630 is partially or wholly contained within the first 610 or second device 620. In another implementation, the parameter monitor 630 is wirelessly coupled to the first device 610 and the second device 620.
In one implementation, the parameter monitor 630 monitors the parameters of the first device 610 and the second device 620 with respect to each other. For example, one of the parameters monitored by the parameter monitor 630 includes a relative distance between the first device 610 and the second device 620. In one example, shown in
In the illustrated implementation of
In one implementation, the means for determining a parameter to be monitored to provide seamless transitions between the first and second devices includes means for determining a need for transitioning the viewing of the program from one device to another device. For example, the need for transitioning may include a situation where the viewer moves away from a location where the first device is located with a second device. Thus, to detect this situation, the means for determining the need for transition may involve monitoring a relative distance between the first and second devices. Therefore, in this example, the distance of the second device from the first device may be monitored, and a trigger or flag may be set or displayed when the distance increases above a preset threshold or decreases below the preset threshold. In other examples, other parameters, such as an absolute position of the viewer (using, for example, a GPS receiver coupled to the viewer or a mobile device carried by the user), may be monitored and a display (that is registered with the means for determining) closest to the viewer may be instructed to seamlessly play the program that the viewer is watching. In this configuration, other detectors (other than the GPS receiver coupled to the viewer) may be used. For example, a detector (e.g., an infra-red detector) mounted on displays may monitor an identifier coupled to the viewer and seamlessly display the program the viewer is watching.
In another implementation, the means for determining a parameter to be monitored to provide seamless transitions between the first and second devices also includes means for receiving or determining a preset threshold. In one implementation, determining the preset threshold may be done in the process of determining the need by the means for determining a need for transitioning the viewing of the program from one device to another device. For example, during the process of determining the need for transitioning, it may be determined that when the viewer is at least one distance (e.g., 30 feet) away from one device, the viewer is not able to adequately view the program on that device and that the program should be transitioned to another device. Thus, the preset threshold may set at the one distance.
In one implementation, the means for monitoring the parameter against a preset threshold includes monitoring the parameter so that when the parameter crosses the preset threshold, a flag or warning is set or displayed. Thus, when the flag or warning is set or displayed, the program is paused on the first device and is seamlessly transitioned to the second device. That is, the program is started or resumed on the second device from the point where it was left off in the first device.
Additional variations and implementations are also possible. For example, the program can be data for various types of content or other data, such as movies, television, video, music, audio, games, etc. Accordingly, the specific examples discussed herein are not the only implementations within the scope of the new technology. In another example, the parameter monitor 130 is included in a wifi router which can route the program to the first device or the second device depending on the parameter monitored.
One implementation includes one or more programmable processors and corresponding computer system components to store and execute computer instructions, such as for viewing a program and seamlessly transitioning between multiple devices in multiple locations while enabling movement between the multiple locations.
The above description of the disclosed implementations is provided to enable any person skilled in the art to make or use the disclosure. Various modifications to these implementations will be readily apparent to those skilled in the art, and the generic principles described herein can be applied to other implementations without departing from the spirit or scope of the disclosure. Accordingly, the techniques are not limited to the specific examples described above. Thus, it is to be understood that the description and drawings presented herein represent a presently possible implementation of the disclosure and are therefore representative of the subject matter that is broadly contemplated by the present disclosure. It is further understood that the scope of the present disclosure fully encompasses other implementations that may become obvious to those skilled in the art and that the scope of the present disclosure is accordingly limited by nothing other than the appended claims.