SYSTEM AND METHOD FOR CASTING CONTENT - Patent application

The method simplifies content sharing between devices by automatically detecting and transferring content to compatible external devices, addressing the complexity and user reluctance issues in existing systems, and enhancing the user experience through reduced intervention and improved efficiency.

JP7659059B2Active Publication Date: 2025-04-08GOOGLE LLC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2023528598
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2020-11-16
Publication Date
2025-04-08
Estimated Expiration
2040-11-16

AI Technical Summary

Technical Problem

Existing systems for content sharing and mirroring between devices are cumbersome and require significant user input, leading to a complicated user experience and user reluctance to use these features.

Method used

A method implemented by a computer that allows a user device to detect external devices within its settings range, identify compatible devices based on output capabilities and content characteristics, and automatically transfer content execution to those devices for output, with optional user verification.

Benefits of technology

This solution simplifies the content sharing process by reducing user intervention, enhancing the user experience by allowing seamless content transfer between devices, and improving the efficiency of content consumption across different output devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007659059000001
    Figure 0007659059000001
  • Figure 0007659059000002
    Figure 0007659059000002
  • Figure 0007659059000003
    Figure 0007659059000003
Patent Text Reader

Abstract

A system and method are provided that enable the transfer of content from a user device to an external device for output by the external device. The external device may be detected in a physical space and may be identified, for example, based on a previous connection with the user device, based on a shared network or system of connected devices including the user device, or based on image information captured by the user device and pre-stored anchor information identifying the external device. The external device may be selected for potential output of content based, for example, on pre-stored configuration information associated with the external device, including output capabilities associated with the external device. The identified external device may output the transferred content in response to a user verification input verifying that the content is to be output by the external device.
Need to check novelty before this filing date? Find Prior Art

Description

[Background technology]

[0001] background Connected, or networked, or compatible devices allow users to consume, share, and control content using different devices. Some systems rely on a series of user inputs to scan and discover compatible devices, initiate content sharing and / or mirroring, control compatible devices, etc. This can make the user experience complicated and cumbersome, discouraging users from using this functionality. Summary of the Invention

[0002] overview In one general aspect, a computer-implemented method includes a processor of a user device executing content on the user device; the user device detecting at least one external device within a set range of the user device; identifying the at least one external device for output of the content executed by the user device based on output capabilities of the at least one external device and output characteristics of the content executed by the user device; and transferring execution of the content from the user device to the at least one external device for output by the at least one external device.

[0003] In some implementations, detecting at least one external device within a set range of the user device includes detecting the at least one external device within a field of view of the user device. In some implementations, identifying the at least one external device includes detecting a physical feature in image information captured by the user device, identifying a location of the user device based on the detected physical feature, and identifying the at least one external device based on the identified location of the user device. In some implementations, the user device includes a handheld device and a head-mounted display device, executing the content includes executing the content on the handheld device, and detecting the physical feature in the image information includes detecting the physical feature in the image information captured within a field of view of the head-mounted display device. In some implementations, identifying the location of the user device based on the detected physical feature includes identifying the location of the user device based on a comparison of features pre-stored in a database and accessible to the user device via a server.

[0004] In some implementations, detecting the at least one external device within a range of the user device includes at least one of detecting the at least one external device as a previously connected device, detecting the at least one external device based on an electromagnetic signal, detecting the at least one external device within a shared network, or detecting the at least one external device within a network of previously connected devices. In some implementations, detecting the at least one external device within a range of the user device includes detecting the at least one external device within a field of view of a user of the user device.

[0005] In some implementations, transferring running content from the user device to the at least one external device for output by the at least one external device includes outputting a user verification request prior to transferring the content from the user device to the at least one external device, receiving a user verification input verifying the transfer of the content from the user device to the at least one external device, and transferring running content from the user device to the at least one external device in response to receiving the user verification input. In some implementations, outputting the user verification request includes outputting at least one of a visual request or an audio request, and receiving the user verification input includes receiving at least one of a touch input or an audio input.

[0006] In another general aspect, a system includes an output system including an audio output device and a visual output device, a sensing system, at least one processor, and a memory, the memory storing instructions that, when executed by the at least one processor, cause the at least one processor to output content executed by the at least one processor by the output system, cause the sensing system to detect at least one external device within a set range of the sensing system, identify the at least one external device for output of content executed by a user device based on output capabilities of the at least one external device and output characteristics of content output by the output system, and transfer execution of the content to the at least one external device for output by the at least one external device.

[0007] In some implementations, upon detecting the at least one external device, the instructions cause the at least one processor to at least one of: detect the at least one external device based on image information captured by the sensing system, detect the at least one external device as a previously connected device, detect the at least one external device based on an electromagnetic signal, detect the at least one external device within a shared network, or detect the at least one external device within a network of previously connected devices. In some implementations, upon detecting the at least one external device based on image information captured by the sensing system, the instructions cause the at least one processor to detect physical features in the image information, determine a location based on a comparison of the detected physical features to pre-stored features in a database accessible to the system via the server, and identify the at least one external device based on the determined location.

[0008] In some implementations, when transferring execution of the content to the at least one external device, the instructions cause the at least one processor to output a user verification request prior to transferring the content to the at least one external device, receive a user verification input verifying the transfer of the content to the at least one external device, and transfer execution of the content to the at least one external device in response to receiving the user verification input. In some implementations, the user verification request includes at least one of a visual request or an audio request, and the user verification input includes at least one of a touch input or an audio input. In some implementations, the output system, the sensing system, the at least one processor, and the memory are located in at least one of a handheld electronic device or a head-mounted display device operable within the network. [Brief description of the drawings]

[0009] [Figure 1]FIG. 1 illustrates an exemplary system consistent with implementations described herein. [Figure 2A] 2 is a front view of an exemplary user electronic device in the exemplary system shown in FIG. 1. [Figure 2B] 2 is a front view of an exemplary user electronic device in the exemplary system shown in FIG. 1. [Figure 2C] 2 is a front view of an exemplary user electronic device in the exemplary system shown in FIG. 1. [Figure 2D] 2 is a front view of an exemplary user electronic device in the exemplary system shown in FIG. 1. [Figure 2E] 2 is a front view of an exemplary user electronic device in the exemplary system shown in FIG. 1. [Diagram 3] FIG. 1 is a block diagram of an exemplary system configured to implement the concepts described herein. [Figure 4A] A diagram illustrating detection of an external device and transfer of content execution from a user device to an identified external device in accordance with implementations described herein. [Figure 4B] A diagram illustrating detection of an external device and transfer of content execution from a user device to an identified external device in accordance with implementations described herein. [Figure 4C] A diagram illustrating detection of an external device and transfer of content execution from a user device to an identified external device in accordance with implementations described herein. [Figure 4D] A diagram illustrating detection of an external device and transfer of content execution from a user device to an identified external device in accordance with implementations described herein. [Figure 4E] A diagram illustrating detection of an external device and transfer of content execution from a user device to an identified external device in accordance with implementations described herein. [Figure 4F] A diagram illustrating detection of an external device and transfer of content execution from a user device to an identified external device in accordance with implementations described herein. [Diagram 5] 1 is a flowchart illustrating an example method according to an implementation described herein. [Figure 6] 1 illustrates an example of a general purpose computing device and a general purpose mobile computing device. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0010] Detailed Description Users can consume content using many different types of devices, such as, for example, handheld devices (e.g., smartphones), wearable devices such as hand and / or wrist worn devices (e.g., smart watches, smart bracelets, smart rings), head worn devices (e.g., smart glasses, goggles, headsets), ear worn devices, neck worn strap devices, other mobile devices (e.g., tablet computing devices, laptop computing devices), desktop computing devices, smart televisions, smart speakers, etc. Systems and methods according to implementations described herein enable sharing and transfer of execution of content executed and output by a user device from a user device to a detected external device for execution and output by the external device in response to detection of the external device. For example, execution of content can be transferred or shared for output by an external device in response to detection of an external device within a set proximity or range of the user device, detection of an external device within a field of view of the user device, detection of an external device based on image data collected by the user device, detection of an external device in a shared local network, detection of a set signal strength associated with the external device, and other such detection conditions. In some implementations, detection of an external device for sharing or transfer of output of content is accomplished without user intervention. In some implementations, content is shared or transferred for output by the detected external device without user intervention. In some implementations, content is shared or transferred for output by the detected external device in response to user input indicating verification or confirmation. In some implementations, detection of the external device and / or transfer of content from a user device to an external device for execution by the external device may be performed with limited user intervention to enhance the user experience in consuming content within a system of connected devices.

[0011] In some circumstances, the user experience may be improved by sharing or transferring the execution of the content to a detected external device for output by the detected external device. For example, a user viewing content, e.g., video content, on a mobile device such as a smartphone may prefer to view the content on an alternative output device, e.g., a television display screen, a computer display screen, etc., having a larger image output capability, if a larger image output device is available. Similarly, a user listening to music, e.g., through earphones, an audio output device of a head-mounted wearable, etc., may prefer to listen to the music through an alternative output device, e.g., a smart speaker, a sound system, etc., if an alternative audio output device is available. The user experience may be further improved if the identification and transfer of content for output by an alternative output device can be facilitated by a detected previous connection of the device, detection of the device in a shared network or a system of previously connected devices, image recognition based on pre-stored anchor information associated with the alternative output device, etc., to reduce the amount of user interaction and input required to complete the transfer for execution of the content by the alternative output device. Thus, the term output capabilities may be used to refer to the quality with which an external device is capable of performing a task or set of tasks, and / or may refer to image (still and / or video) output and / or audio output that distinguishes and / or uniquely defines an external device. The term content output characteristics may be used to refer to a particular type of output data (e.g., image data and / or audio data) and / or amount of data associated with the output.

[0012] FIG. 1 is a diagram illustrating a user in relation to an exemplary system 100 according to an implementation described herein. In the example shown in FIG. 1, the user is wearing a wearable device 110 in the form of an exemplary head mounted display (HMD) device 110 or smart glasses 110, a wearable device 130 in the form of an exemplary wrist worn device 130 or smart watch 130, and a wearable device 140 in the form of an exemplary ear worn device 140 or earphone(s) 140 for purposes of explanation and illustration only. In the example shown in FIG. 1, the user is holding a handheld device 120, such as a smartphone 120, for purposes of explanation and illustration only.

[0013] Exemplary system 100 may include one or more computing and / or electronic devices that may communicate with each other, for example, via network 195 and / or via alternative network(s) and / or directly. Exemplary client or user devices may include, for example, exemplary devices 110, 120, 130, 140 worn and / or operated by a user, as well as other electronic devices including, for example, display screen 150 / television monitor 150, audio output device 155 / smart speaker 155, laptop or notebook computing device 160, tablet computing device 170, desktop computing device 180 and other such devices. Devices may access one or more external resources 190 via network 195. External resources 190 may include, for example, servers providing access to one or more databases, etc.

[0014] FIG 2A is a front view of an exemplary wearable device 110, or HMD 110, worn by a user in FIG 1. FIG 2B is a front view of an exemplary handheld device 120, or smartphone 120, held by a user in FIG 1. FIG 2C is a front view of an exemplary wearable device 130, or smartwatch 130, worn by a user in FIG 1. FIG 2D is a perspective view of an exemplary wearable device 140, or earphones 140, worn by a user in FIG 1. FIG 2E is a perspective view of another exemplary head-mounted wearable device 110'.

[0015] The wearable device 110 in the form of an example HMD 110 or smart glasses 110 shown in FIG. 2A may include a frame 111, with a display device 112 coupled to the frame 111. In some implementations, an audio output device 113 is coupled to the frame 111. In some implementations, a touch surface 114 allows for user control of the HMD 110, input, and the like. The HMD 110 may include a sensing system 116 including various sensing system devices and a control system 117 including various control system devices to facilitate operation of the HMD 110. The control system 117 may include a processor 119 operably coupled to components of the control system 117 and a communication module 115 to enable communication with external devices and / or networks. The HMD 110 may also include an image sensor 118 (i.e., a camera 118), a depth sensor, a light sensor, and other such sensing devices. In some implementations, the image sensor 118 or camera 118 can capture still and / or video images, patterns, features, lights, and the like.

[0016] Similarly, the wearable device 110' shown in FIG. 2E is shown attached to glasses worn by a user for use as a head-mounted wearable device 110'. However, the wearable device 110' may be attached to, for example, earphones, straps, bracelets, and other such devices wearable by a user. In some implementations, the wearable device 110' includes an audio input and / or output device 113' (i.e., microphone and / or speaker), an image sensor 118' (i.e., camera 118'), a depth sensor, a light sensor, and other such sensing devices. In some implementations, a touch input surface 114' allows for user control and input of the wearable device 110', and the like. The wearable device 110' may include a control system 117' and a processor 119' to facilitate operation of the wearable device 110', and a communication module 115' to enable communication with external devices and / or networks.

[0017] Figure 2 CA wearable device 130 in the form of a smart watch 130 in the example shown in may include an interface device 131. In some implementations, the interface device 131 functions as an output device including, for example, a display area 132 on which information can be output to a user. In some implementations, the interface device 131 functions as an input device including, for example, a touch surface 133 on which the interface device 131 can receive touch input from a user. In some implementations, the interface device 131 can function as an input device and an output device. The wearable device 130 may include a sensing system 136 including various sensing system devices. The wearable device 130 may include a control system 137 including various control system devices, a communication module 135 that enables communication with external devices and / or networks, and a processor 139 to facilitate operation of the device 130. The wearable device 130 may also include an image sensor 138 (i.e., a camera 138), a depth sensor, a light sensor, and other such sensing devices. In some implementations, the image sensor 138 or camera 138 can capture still and / or video images, patterns, features, lights, and the like.

[0018] A handheld device 120, in the form of a smartphone 120 in the example shown in FIG. 2B, may include an interface device 121. In some implementations, the interface device 121 functions as an output device including, for example, a display area 122 on which information can be output to a user. In some implementations, the interface device 121 functions as an input device including, for example, a touch surface 123 on which the interface device 121 can receive touch input from a user. In some implementations, the interface device 121 functions as both an input device and an output device. The handheld device 120 may include a sensing system 126 including various sensing system devices. The handheld device 120 may include a control system 127 including various control system devices, a communications module 125 that enables communication with external devices and / or networks, and a processor 129 to facilitate operation of the handheld device 120. The handheld device 120 may also include an image sensor 128 (i.e., a camera 128), a depth sensor, a light sensor, and other such sensing devices. In some implementations, the image sensor 128 or camera 128 can capture still and / or video images, patterns, features, lights, and the like.

[0019] A wearable device 140 in the form of earphones 140 is shown in FIG. 2D. The wearable device 140 may include an audio device 143. In some implementations, the audio device 143 functions as an audio output device (i.e., a speaker) and an audio input device (i.e., a microphone). In some implementations, a touch input surface 144 enables user control of the wearable device 140, input, and the like. The wearable device 140 may include a control system 147 and a processor 149 to facilitate operation of the wearable device 140, and a communication module 145 to enable communication with external devices and / or networks.

[0020] Fig. 3 is a block diagram of an example system 300 in which the concepts described herein can be implemented. The block diagram shown in Fig. 3 illustrates a first electronic device 310, such as, for example, one of the example user devices 110, 120, 130, 140 shown in Fig. 1, in communication with a second electronic device 315, such as, for example, one of the example external devices 150, 160, 170, 180, 190 shown in Fig. 1.

[0021] The first electronic device 310 may include a sensing system 360 and a control system 370. The sensing system 360 may include one or more different types of sensors, including, for example, light sensors, audio sensors, image sensors, distance / proximity sensors, and / or different combination(s) of other sensors and / or sensors. In some implementations, the sensing system 360 includes an image sensor and / or an optical sensor. The control system 370 may include, for example, power / pause control device(s), audio and video control device(s), optical control device(s), and / or other such devices and / or different combination(s) of devices. The sensing system 360 and / or the control system 370 may include more or fewer devices, depending on the particular implementation. The electronic device 310 may include a processor 390 in communication with the sensing system 360 and the control system 370. The processor 390 may process inputs received from the sensing system 360, such as, for example, images and / or optical scans captured by an image sensor / optical sensor. The first electronic device 310 may include an input system 340 capable of receiving user input that is processed by the processor 390 and output by an output system 350 under the control of the control system 370. The input system 340 may include various types of input devices including, for example, a touch input surface, an audio input device capable of receiving audio input (e.g., including an audio sensor included in the sensing system 360, or a microphone), a gesture recognition device (e.g., including images captured by an image sensor(s) of the sensing system 360 and processed by the processor 390), and other such input devices. The output system 350 may include various types of output devices such as, for example, a display device(s), an audio output device(s), or a speaker, physical and / or tactile output devices, and other such output devices.The first electronic device 310 may include a memory 380 and a communications module 330 that enables communication between the first electronic device 310 and one or more other external device(s), including, for example, the second electronic device 315, a network, a server, etc.

[0022] The second electronic device 315 may include a sensing system 365 including one or more different types of sensors and a control system 375 including a control module for controlling the operation of the second electronic device 315. The number and / or combination of components of the sensing system 365 and / or the control system 375 may vary depending on the particular embodiment. The second electronic device 315 may include a processor 395 in communication with the sensing system 365 and the control system 375, thereby enabling the processor 395 to process inputs received from the sensing system 360. The second electronic device 315 may include an input system 345 that can receive inputs that are processed by the processor 395 and output by an output system 355 under the control of the control system 375. The output system 355 may include various types of output devices, such as, for example, display device(s), audio output device(s), or speakers, physical and / or tactile output devices, and other such output devices. In some implementations, the second electronic device 315 includes a memory 385 and a communications module 335 that enables communication between the second electronic device 315 and one or more other external device(s), including, for example, the first electronic device 310, a network, a server, etc.

[0023] 4A-4F are diagrams illustrating detection and / or identification of an external device and forwarding execution of content or casting content from a user device to an identified external device according to implementations described herein. In the examples described with respect to FIGS. 4A-4F, a user device refers to one or more devices that a user is using to access content and forward execution of content or cast content to an external device, and an external device refers to one or more devices in a physical space that are configured to receive and output content from a user device(s). In the examples described with respect to FIGS. 4A-4F, handheld device 120 and wearable device 110 (in the form of smart glasses 110) are used as exemplary user devices and television 420 is used as an exemplary external device that receives content from a user device, purely for purposes of explanation and illustration. The principles described may be applied to other devices and / or combinations of devices that function as user devices, as well as other devices and / or combinations of devices that function as external devices.

[0024] FIG. 4A is a third-person view of a user approaching an exemplary physical space 400. In the example shown in FIG. 4A, the user is wearing an exemplary wearable device 110 (i.e., HMD 110 / smart glasses 110) and an exemplary wearable device 130 (i.e., smart watch 130). In the example shown in FIG. 4A, the user is accessing content 410 using a handheld device 120. In the exemplary scenario shown in FIG. 4A, the content 410 would be output to the display area 122 of the handheld device 120, but in FIG. 4A, the content 410 is shown in an exterior pane of the handheld device 120 for ease of explanation and illustration only. In this example, the content 410 is image or video content. The principles described herein can be applied to other types of content and / or to other kinds of user devices that provide users with access to content.

[0025] 4B, as the user moves further into the physical space 400, external devices within the physical space 400 may be detected. For example, external devices capable of communicating with the user device(s) the user is using (e.g., handheld device 120 and / or wearable device(s) 110, 130) may be detected. Detection and / or identification of the external device(s) may enable information exchange between the user device(s) and the detected external device(s) to enable the user to transfer or share or cast content to the detected external device(s) for output by the external device to provide an improved user experience.

[0026] In some implementations, the external device(s) are detected based on a previously established connection or pairing between the user device and the detected external device(s). In some implementations, the external device(s) are detected based on a detected signal, e.g., a short-range signal such as a wifi or Bluetooth signal, an electromagnetic signal, etc., emitted by the external device(s). In some implementations, the external device(s) are detected based on a detected signal strength. In some implementations, the external device(s) are detected in response to a determination that the user device(s) and the external device(s) are within the same local network. In some implementations, the user device(s) (e.g., handheld device 120 and / or wearable device 110) and the external device(s) include an ultra-wideband (UWB) chip that enables detection of communication between the user device(s) and the external device(s) for the exchange of information. In some implementations, external devices, features and / or elements within the physical space may be detected in image information captured by the user device(s). The image information captured by the user device(s) may be compared to pre-stored anchoring information to identify features that define the physical space 400. This may be used to identify the physical space 400, as well as to identify known external device(s) within the identified physical space 400, and / or to detect, locate and identify the external device(s) within the physical space 400.

[0027] Returning to FIG. 4B, the exemplary physical space 400 includes a television 420 mounted at the intersection of two physical boundaries, i.e., walls, of the physical space 400 that define a corner 490. A display of a computing device 440 is disposed on a desk 450 on a first side of a chair 460. A lamp 480 is disposed on a first side of a sofa 470. An audio output device 430 or smart speaker 430 is disposed on a table between a second side of each of the chair 460 and the sofa 470. The features and devices in the exemplary physical space 400 shown in FIGS. 4A and 4B are provided for purposes of explanation and illustration only. The principles described herein may be implemented in situations in which more or fewer features, elements, devices, etc. are available and / or arranged differently.

[0028] As described above, as the user moves within the physical space 400, various external devices, such as, for example, the television 420 and smart speaker 430, may be detected by the user device (in this example, the handheld device 120 and / or the HMD 110). For example, the external devices (in this example, in the form of the television 420 and smart speaker 430) may be detected based on a previous connection or pairing with the user device(s) (in this example, in the form of the handheld device 120 and the HMD 110), detection of the user device(s) and external device(s) in the same local network (e.g., a home network or local area network), signals emitted by the external device(s) and detected by the user device(s), etc. In some implementations, the detected external device(s) are identified with associated capabilities. For example, the television 420 may be identified as being capable of outputting image content (still images and / or video content along with audio content). The smart speaker 430 may be identified as being capable of outputting audio content. A connection may be established between the user device(s) and one (or more) of the identified external device(s) to facilitate transfer of content from the user device(s) to the identified external device(s) for execution by the identified external device(s).

[0029] In some circumstances, as a user enters physical space 400, various features, elements, devices, etc. are captured within the field of view V of the user device, in the form of an example HMD 110 shown in FIG. 4C. In some implementations, image information captured by the user device is used to detect and identify external devices within physical space 400. For example, image information captured by the user device may be used to identify external devices within the physical space that are suitable for transferring or sharing or casting content from the user device and / or that can output content to be transferred from the user device to the external device.

[0030] The exemplary physical space 400 includes numerous examples of substantially consistent features that are detectable in images captured by an image sensor of a user device and that can be used to identify the physical space 400 and locate external devices within the physical space 400. For example, the television 420 may be identified based on a known placement of the television 420 in the user's living room (in this example, the physical space 400), e.g., established during a device setup and configuration process in the user's home. In some implementations, the television 420 may be identified based on detection of a corner 490 of the physical space 400 and the positioning of the chair 460 and the smart speaker 430 on top. These physical features associated with the area surrounding the television 420 may be substantially consistent physical features that define anchoring information associated with the television 420 in the physical space, thus facilitating subsequent identification of the television 420 in the physical space 400. FIG. 4D illustrates a view of the television 420 through the HMD 110, including these substantially consistent features. Similarly, smart speaker 430 may be identified based on a known placement of smart speaker 430 proximate corner 490 between sofa 470 and chair 460. This type of anchoring information may be collected and stored in a database accessible, for example, via a server over a network as described above. A user may access the stored anchoring information for identification of physical space 400 and for identification of external devices within physical space 400. A user may transfer, or share, or cast content to the thus detected and identified external device for execution by the external device.

[0031] In the example shown in FIGS. 4A-4F, a user is consuming content, such as, for example, video content output by handheld device 120. As the user enters physical space 400, one or more external devices in physical space 400 that are compatible with receiving content 410 from handheld device 120 and outputting content 410 may be detected and identified in the manner described above with respect to FIGS. 4B and / or 4C. That is, one or more external device(s) equipped to output content 410 may be detected. In response to detecting and identifying an external device in physical space 400, the system may determine that television 420 (in this example, the external device) may enable improved viewing of content 410 currently being output by handheld device 120 (in this example, the user device). The system may make this determination based on, for example, previous connections and pairings, previous configurations of devices in the network, anchor information including pre-stored input / output capabilities or characteristics of television 420 (compared to the output characteristics of content 410), pre-stored processing capabilities or characteristics of television 420, etc.

[0032] In this example, the content 410 output by the handheld device 120 may be video content 410 including image content and audio content. Thus, the television 420 may be identified as an external device in the physical space 400 to which the video content 410 from the handheld device 120 is likely to be transferred or shared or cast for output based on characteristics associated with the content 410. In some implementations, the system may generate a query 425, or a prompt 425, or a verification request 425, as shown in FIG. 4E. The verification request 425 may request the user to confirm that the content 410 should be transferred or shared or cast to the television 420 prior to casting to avoid unintentional or inadvertent casting of the content to an external device. In the example shown in FIG. 4E, for purposes of explanation and illustration, the verification request 425 is a visual output by the television 420. In some implementations, the verification request 425 is output in different forms. For example, the verification request 425 may be an audio output, an audio output combined with a video output, a physical output, and the like. In response to the verification request 425, the user may input a verification input. The verification input may include, for example, an input at the HMD 110, an input at the handheld device 120, or the like. For example, the verification input may include a touch or tap input on the touch surface 114 of the HMD 110, the touch surface of the handheld device 120, or other such user input. The verification input may include an audible or voice input detected by an audio input device or microphone of an external device. As shown in FIG. 4F, in response to the user verification input, the content 410 being output by the handheld device 120 may be output by the television 420.

[0033] In some implementations, content from a user device (in this example, handheld device 120) may be transferred or cast to an external device (in this example, television 420) for execution without user intervention. That is, in some implementations, content from a user device (in this example, handheld device 120) may be transferred or shared or cast to an external device (in this example, television 420) for execution by the external device without the verification request 425 and user verification input described above with respect to FIG.

[0034] FIG. 5 is a flow chart illustrating an example method 500 for detecting external device(s) and transferring execution and output of content to the detected external device(s) according to implementations described herein. Content, e.g., content 410 output by a user device in the form of handheld device 120 described above with respect to FIGS. 4A-4F, may be executed and output by the first device (block 510). One or more external device(s) may be detected (blocks 520, 530). The detected external device(s) may be capable of communicating with the first device, e.g., via a network or other type of connection. In some implementations, the external device(s) are detected based on a previous connection or pairing to the first device, a shared network with the first device, a shared signal and / or signal strength, image information extracted from an image captured by the first device and / or another user device and matched with pre-stored anchor information, etc. The system may determine that one or more of the detected external device(s) are configured for output of the content currently being output by the first device (block 540) and may select one of the detected external devices for output of the content.

[0035] For example, as described above with respect to FIGS. 4A-4F, the system may determine which of the detected external devices detected in the physical space 400 are capable of outputting the content 410 currently being output by the handheld device 120. In the above example, the content 410 being output by the handheld device 120 includes at least image content and may also include audio content. Thus, the system may determine that the television 420 is most appropriately configured (among the external devices detected in the physical space 400) for outputting the video content 410. For example, the audio output device 430 or the smart speaker 430 may have limited or no image output capabilities. Similarly, the computing device 440 may have limited or no audio output capabilities. Thus, the system may select the television 420 as the second device for outputting the content 410.

[0036] In some implementations, the system outputs a verification request before transferring execution of the content from the first device to the second device (block 550), e.g., to prevent unintentional transfer or sharing or casting of the content to an external device. In response to a user input verifying the transfer of the content from the first device to the second device (block 560), the content may be transferred to the second device for output by the second device (block 570).

[0037] Systems and methods according to implementations described herein enable sharing and forwarding of execution of content output by a user device from a user device to an external device for execution and output by the external device. Execution of content may be forwarded or shared for output by an external device in response to detection of an external device within a set proximity or range of the user device, detection of an external device within the field of view of the user device, detection of an external device based on image data collected by the user device, detection of an external device in a shared local network, detection of a set signal strength associated with an external device, an electromagnetic signal, and other such detection conditions. Detection of the external device and / or forwarding of content from a user device to an external device for execution by the external device may be performed with limited user intervention to enhance the user experience in consuming content within a system of connected devices.

[0038] FIG. 6 illustrates an example of a general-purpose computing device 600 and a general-purpose mobile computing device 650, 690 that may be used with the techniques described herein. The computing device 600 is intended to represent various forms of digital computers, such as laptops, desktops, tablets, workstations, personal digital assistants, televisions, servers, blade servers, mainframes, and other suitable computing devices. For example, the computing device 600 may be and / or be used as a server as mentioned above. The computing device 650 is intended to represent various forms of mobile devices, such as personal digital assistants, mobile phones, smartphones, and other similar computing devices. The components shown, their connections and relationships, and their functions are intended to be merely exemplary and are not intended to limit the implementation of the invention described and / or claimed herein.

[0039] Computing device 600 includes a processor 602, a memory 604, a storage device 606, a high-speed interface 608 connecting to memory 604 and a high-speed expansion port 610, and a low-speed interface 612 connecting to a low-speed bus 614 and storage device 606. Processor 602 may be a semiconductor-based processor. Memory 604 may be a semiconductor-based memory. Each of components 602, 604, 606, 608, 610, and 612 may be interconnected using various buses, mounted on a common motherboard, or otherwise mounted as appropriate. Processor 602 is capable of processing instructions for execution within computing device 600, including instructions stored in memory 604 or storage device 606, to display graphical information for a GUI on an external input / output device, such as a display 616 coupled to high-speed interface 608. In other implementations, multiple processors and / or multiple buses may be used, along with multiple memories and types of memories, as appropriate. Also, multiple computing devices 600 may be connected, each providing a portion of the required operations (eg, as a bank of servers, a group of blade servers, or a multi-processor system).

[0040] The memory 604 stores information within the computing device 600. In one implementation, the memory 604 is one or more volatile memory units. In another implementation, the memory 604 is one or more non-volatile memory units. The memory 604 may also be another form of computer-readable medium, such as a magnetic disk or optical disk.

[0041] The storage device 606 can provide mass storage for the computing device 600. In one implementation, the storage device 606 can be a floppy disk device, a hard disk device, an optical disk device, a tape device, or the like, or an array of devices including flash memory or other similar solid-state memory devices, or devices in a storage area network or other configuration. The computer program product is tangibly embodied in an information carrier. The computer program product may also include instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer-readable or machine-readable medium, such as the memory 604, the storage device 606, or a memory on the processor 602.

[0042] The high-speed controller 608 manages the bandwidth-intensive operations of the computing device 600, and the low-speed controller 612 manages the less bandwidth-intensive operations. Such an allocation of functions is merely exemplary. In one implementation, the high-speed controller 608 is coupled to the memory 604, the display 616 (e.g., via a graphics processor or accelerator), and a high-speed expansion port 610 that can accept various expansion cards (not shown). In this implementation, the low-speed controller 612 is coupled to the storage device 606 and the low-speed expansion port 614. The low-speed expansion port, which may include various communication ports (e.g., USB, Bluetooth, Ethernet, wireless Ethernet), may be coupled to one or more input / output devices, such as a keyboard, pointing device, scanner, or a network device, such as a switch or router, for example, via a network adapter.

[0043] Computing device 600 may be implemented in many different forms, as shown. For example, it may be implemented as a standard server 666, or multiple times in a group of such servers. It may also be implemented as part of a rack server system 624. It may also be implemented in a personal computer, such as a laptop computer 622. Or, components from computing device 600 may be combined with other components in a mobile device (not shown), such as device 650. Each such device may include one or more of computing devices 600, 650, and the entire system may be made up of multiple computing devices 600, 650 in communication with each other.

[0044] Computing device 650 includes components such as a processor 652, memory 664, input / output devices such as a display 654, a communication interface 666, and a transceiver 668. Device 650 may also include a storage device, such as a microdrive or other device, to provide additional storage. Each of components 650, 652, 664, 654, 666, and 668 are interconnected using various buses, and some of the components may be implemented on a common motherboard or in other manners as appropriate.

[0045] The processor 652 can execute instructions in the computing device 650, including instructions stored in the memory 664. The processor may be implemented as a chipset of chips including separate analog and digital processors. The processor may be provided for coordination of other components of the device 650, such as, for example, control of a user interface, applications executed by the device 650, and wireless communication by the device 650.

[0046] The processor 652 may communicate with a user via a control interface 658 and a display interface 656 coupled to a display 654. The display 654 may be, for example, a Thin-Film-Transistor Liquid Crystal Display (TFT LCD) or an Organic Light Emitting Diode (OLED) display, or other suitable display technology. The display interface 656 may include appropriate circuitry for driving the display 654 to present graphical and other information to the user. The control interface 658 may receive commands from a user and translate the commands for submission to the processor 652. Additionally, an external interface 662 may be provided in communication with the processor 652 to enable short-range communication of the device 650 with other devices. The external interface 662 may, for example, enable wired communication in some implementations or wireless communication in other implementations, and multiple interfaces may be used.

[0047] The memory 664 stores information within the computing device 650. The memory 664 may be implemented as one or more of a computer readable medium or media, a volatile memory unit or units, or a non-volatile memory unit or units. An expansion memory 674 may also be provided and connected to the device 650 through an expansion interface 672, which may include, for example, a Single In Line Memory Module (SIMM) card interface. Such expansion memory 674 may provide extra storage space for the device 650 or may store applications or other information for the device 650. In particular, the expansion memory 674 may include instructions to perform or supplement the processes described above and may include secure information. Thus, for example, the expansion memory 674 may be provided as a security module for the device 650 and may be programmed with instructions that enable secure use of the device 650. Additionally, secure applications may be provided via a SIMM card along with additional information, such as placing identifying information on the SIMM card in an unhackable manner.

[0048] The memory may include, for example, flash memory and / or NVRAM memory, as described below. In one implementation, the computer program product is tangibly embodied on an information carrier. The computer program product includes instructions that, when executed, perform one or more methods, such as those described above. The information carrier is a computer machine-readable medium or machine-readable medium, such as memory 664, expansion memory 674, or memory on processor 652, and may be received, for example, via transceiver 668 or external interface 662.

[0049] Device 650 may communicate wirelessly via communication interface 666, which may include digital signal processing circuitry as necessary. Communication interface 666 may enable communication in a variety of modes or protocols, such as GSM voice calls, SMS, EMS, or MMS messaging, CDMA, TDMA, PDC, WCDMA, CDMA600, or GPRS. Such communication may occur, for example, via radio frequency transceiver 668. Additionally, short-range communication may occur, such as using Bluetooth, WiFi, or other such transceivers (not shown). Additionally, Global Positioning System (GPS) receiver module 670 may provide device 650 with additional navigation and location-related wireless data that may be used as appropriate by applications executing on device 650.

[0050] Device 650 may also communicate audibly using audio codec 660, which may receive voice information from a user and convert it into usable digital information. Audio codec 660 may likewise generate audible sounds for the user, such as through a speaker in a handset of device 650. Such sounds may include sounds from a voice telephone call, may include recorded sounds (e.g., voice messages, music files, etc.), and may include sounds generated by applications running on device 650.

[0051] The computing device 650 may be implemented in a number of different forms as shown, for example as a mobile phone 680, or as part of a smartphone 682, personal digital assistant, or other similar mobile device.

[0052] Various implementations of the systems and techniques described herein may be realized in digital electronic circuitry, integrated circuits, specially designed application specific integrated circuits (ASICs), computer hardware, firmware, software, and / or combinations thereof. These various implementations may include implementations in one or more computer programs executable and / or interpretable on a programmable system including at least one programmable processor, which may be special purpose or general purpose, coupled to transmit and receive data and instructions from a storage system, at least one input device, and at least one output device.

[0053] These computer programs (also known as programs, software, software applications or codes) contain machine instructions for a programmable processor and may be implemented in high-level procedural and / or object-oriented programming languages ​​and / or assembly / machine languages. As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, apparatus and / or device (e.g., magnetic disks, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and / or data to a programmable processor, including machine-readable media that receive machine instructions as machine-readable signals. The term "machine-readable signal" refers to any signal used to provide machine instructions and / or data to a programmable processor.

[0054] To enable interaction with a user, the systems and techniques described herein can be implemented on a computer having a display device (e.g., a cathode ray tube (CRT) or liquid crystal display (LCD) monitor) for displaying information to the user, and a keyboard and pointing device (e.g., a mouse or trackball) for enabling the user to provide input to the computer. Other types of devices can be used to provide interaction with the user as well. For example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback). Also, input from the user can be received in any form, including acoustic, speech, or tactile input.

[0055] The systems and techniques described herein may include back-end components (e.g., as a data server), or may include middleware components (e.g., an application server), or may include front-end components (e.g., a client computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described herein), or may be implemented in any combination of such back-end, middleware, or front-end components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communications network). Examples of communications networks include a local area network ("LAN"), a wide area network ("WAN"), and the Internet.

[0056] A computing system may include clients and servers. Clients and servers are generally remote from each other and typically interact through a communication network. The client-server relationship arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.

[0057] Although several embodiments have been described, it will be understood that various modifications can be made without departing from the spirit and scope of the invention.

[0058] Additionally, the logic flows depicted in the figures do not require the particular order shown, or sequential order, to achieve desired results. Additionally, other steps may be provided or steps may be eliminated from the described flows, and other components may be added or removed to the described systems.

Claims

1. A method of providing a content output on a computing device, comprising: detecting, by the computing device, at least one external device within a set range of the computing device; and identifying the at least one external device for output of the content output by the computing device based on an output capability of the at least one external device and an output characteristic of the content output by the computing device, wherein identifying the at least one external device includes: accessing anchoring information indicative of a known location of the at least one external device and physical features surrounding the at least one external device; and identifying the at least one external device based on a comparison of physical features detected in image information captured by the computing device to the anchoring information; 23. A computer-implemented method comprising: transferring an output of the content from the computing device to the at least one external device for output by the at least one external device.

2. 2. The computer-implemented method of claim 1, wherein detecting the at least one external device within the set range of the computing device comprises detecting the at least one external device within a field of view of the computing device.

3. the computing devices include handheld devices and head-mounted display devices; outputting the content includes executing the content on the handheld device; 3. The computer-implemented method of claim 1, wherein identifying the at least one external device comprises detecting a physical feature in image information captured within a field of view of the head-mounted display device.

4. Detecting the at least one external device within the range of the computing device includes: detecting the at least one external device as a previously connected device; detecting the at least one external device based on an electromagnetic wave signal; detecting said at least one external device within a shared network; or The computer-implemented method of any one of claims 1 to 3, comprising at least one of: detecting the at least one external device within a network of previously connected devices.

5. 4. The computer-implemented method of claim 1, wherein detecting the at least one external device within the set range of the computing device comprises detecting the at least one external device within a field of view of a user of the computing device.

6. Transferring output of the content from the computing device to the at least one external device for output by the at least one external device includes: outputting a verification request prior to transferring the content from the computing device to the at least one external device; receiving a validation input validating a transfer of the content from the computing device to the at least one external device; and transferring an output of the content from the computing device to the at least one external device in response to receiving the verification input.

7. outputting the verification request includes outputting at least one of a visual request or an audio request; The computer-implemented method of claim 6 , wherein receiving the verification input comprises receiving at least one of a touch input or an acoustic input.

8. 1. A system comprising: an output system including an audio output device and an image output device; A sensing system; At least one processor; and a memory storing instructions that, when executed by the at least one processor, cause the at least one processor to: causing the output system to output content executed by the at least one processor; causing the sensing system to detect at least one external device within a set range of the sensing system; Identifying the at least one external device for output of the content output by the at least one processor based on output capabilities of the at least one external device and output characteristics of the content output by the output system, and identifying the at least one external device includes: accessing anchoring information indicative of a known location of the at least one external device and physical features surrounding the at least one external device; and identifying the at least one external device based on a comparison of the anchoring information to physical features detected in image information captured by the sensing system, the instructions causing the at least one processor to: and transferring an output of the content to the at least one external device for output by the at least one external device.

9. Upon detecting the at least one external device, the instructions cause the at least one processor to: detecting the at least one external device as a previously connected device; detecting the at least one external device based on an electromagnetic wave signal; detecting said at least one external device within a shared network; or The system of claim 8 , further comprising: detecting the at least one external device within a network of previously connected devices.

10. In transferring the output of the content to the at least one external device, the instructions cause the at least one processor to: outputting a verification request before transferring the content to the at least one external device; receiving a validation input validating the transfer of the content to the at least one external device; 10. The system of claim 8 or 9, further comprising, in response to receiving the verification input, causing the at least one external device to transfer an output of the content.

11. The system of claim 10 , wherein the verification request comprises at least one of a visual request or an audio request, and the verification input comprises at least one of a touch input or an audio input.

12. The system of any one of claims 8 to 11, wherein the output system, the sensing system, the at least one processor, and the memory are located in at least one of a handheld electronic device or a head-mounted display device operable within a network.

13. A program causing a computer to execute the computer-implemented method according to any one of claims 1 to 7.

Citation Information

Patent Citations

  • Wearable device capable of finding objects and object finding method

    CN104317815A

  • Portable terminal, reproduction apparatus, content reproduction system, content reproduction program, computer readable recording medium, and control method of portable terminal

    JP2009060512A

  • Accessing functions of external devices using reality interfaces

    US20200192622A1