Mobile-enabled voice search for media items displayed on alternative playback devices
By using a microphone to implement voice search on mobile devices, the waste of resources and poor user experience caused by virtual keyboard input on TV is solved, and the search efficiency and adaptability to the results are improved.
Patent Information
- Application Number
- CN201980087634.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2019-07-01
- Publication Date
- 2025-08-26
- Estimated Expiration
- 2039-07-01
AI Technical Summary
When searching for media content on playback devices such as TVs, inputting characters using a virtual keyboard results in waste of processing resources and network bandwidth, and poor user experience, especially when remote control does not support voice search.
By implementing voice search using a microphone on a mobile device, users initiate a projection session with the TV on a mobile device and input search criteria through voice, the TV device processes and displays search results, reducing dependence on the virtual keyboard.
Improves user experience, reduces the consumption of processing resources and network bandwidth, optimizes the display of search results to suit the TV screen, and simplifies search operations.
Smart Images

Figure CN113260990B_ABST
Abstract
Description
Technical Field
[0001] Aspects and implementations of the present disclosure relate to voice search, and more particularly, to mobile-enabled voice search for media items displayed on alternative playback devices. Background Art
[0002] Various platforms may provide media content items shared by users (e.g., user-uploaded videos, live streams) and / or provided by various entities (e.g., movies and / or television shows produced by production studios). The media content items may include pre-recorded or live content presented to the user on a large-screen client device via the platform's user interface. The user may access the user interface and use a virtual keyboard to enter a search query for the desired media content item to be consumed, especially when a voice-enabled remote control may not be available. Entering characters using a conventional virtual keyboard using certain electronic devices may be tedious and require pressing several inefficient keys to enter the desired characters. Summary of the Invention
[0003] The subject matter of the present disclosure relates to enabling voice search of media items to be displayed on an alternative playback device on a mobile device using an application ("mobile application") hosted on a mobile device. Examples of alternative playback devices include television (TV) systems (e.g., TV sets or smart TVs), personal computers, tablet computers, etc. First, a session between a mobile device and an alternative playback device can be detected. In one implementation, the session can be a projection session. When the session is established, a graphical user interface (GUI) can be presented to the user on the screen of the mobile device. The GUI can include a voice search GUI element to enable the user to perform a voice search. After the user selects the voice search GUI element, the user can be prompted (e.g., via a search suggestion on the screen) to provide an audio input requesting a search for one or more media items, the audio input specifying one or more search criteria for the search. When the audio input is received, a text search query derived from the audio input can be submitted to the alternative playback device to initiate the search and further present the search results to the user on the alternative playback device screen. In other implementations, the text search query can be submitted by the mobile device to a server (e.g., a search server, a media server), and the search results can be displayed on the alternative playback device. The server or the mobile device can transmit the search results to the alternative playback device. When search results are received and displayed on the alternative playback device screen, the user is further presented with a navigation GUI on the mobile device, wherein buttons represent "up", "down", "left", "right" and "select" to navigate the search results and further select the search result item to be played on the alternative playback device screen.
[0004] By using the microphone of the mobile device to enable voice search of media items, an improved user interface is provided. For example, the user no longer needs to click the numerous keys on the virtual keyboard to form a search query. Eliminating the need to type in a search query can also reduce the processing resources (on all remote controls, alternative playback devices and back-end servers) and network bandwidth resources incurred during the search. This can be achieved because error-free voice search queries can cause fewer key presses and fewer media content item suggestion data payloads to be sent. In addition, because the search query is submitted to the alternative playback device only when the user speaks the complete search term, processing resources are retained because the server will no longer receive incomplete search terms, as in the case of a conventional solution of typing one character of the search query at a time. In addition, because the search query is submitted to the back-end server by the alternative playback device, the search results presented to the user are optimized to include all relevant media items suitable for playing on the screen of the alternative playback device. Alternatively, in some implementations, the mobile device can directly submit the search query to the back-end server, and the search results can be displayed on the screen of the alternative playback device.
[0005] According to one aspect of the present disclosure, a method is provided, comprising: detecting a session between a mobile device and an alternative playback device; presenting a graphical user interface (GUI) on a screen of a user's mobile device in response to detecting that a session has been established, the GUI comprising a voice search GUI element representing a voice search; receiving a user selection of the voice search GUI element; receiving an audio input from the user requesting a search for one or more media items, the audio input specifying one or more search criteria for the search; and submitting a text search query derived from the audio input for processing, wherein the results of the search are presented to the user on a screen of the alternative playback device.
[0006] The method may also include where the results of the search are not presented to the user on a screen of the mobile device.
[0007] Detecting a session between the mobile device and the alternate playback device may also include receiving a user request via the GUI to initiate a session between the mobile device and the alternate playback device.
[0008] The method may further include where submitting the text search query for processing further comprises submitting the text search query to at least one of an alternative playback device or a backend server for processing.
[0009] The method may also include wherein one or more media items are selected from a plurality of media items hosted by the content sharing platform based on the text search query.
[0010] The GUI on the screen of the mobile device may be provided by a first application associated with the content sharing platform.
[0011] The results of the search may be presented on a screen of the alternative playback device via a GUI provided by a second application associated with the content sharing platform.
[0012] An alternative playback device could be a television system.
[0013] The method may further include displaying a navigation GUI element on the screen of the mobile device in response to submitting the text search query to the alternate playback device to navigate the results of the search on the screen of the alternate playback device.
[0014] The method may further include displaying a voice search suggestion on the GUI to prompt the user to provide audio input; and activating an audio input receiving feature of the mobile device to receive audio input from the user.
[0015] Enabling the audio input receiving feature of the mobile device may include obtaining user permission to enable the audio input receiving feature of the mobile device.
[0016] The session between the mobile device and the alternative playback device can be a casting session, a mirroring session, a screen sharing session, etc.
[0017] The method may also include: in response to failing to receive audio input from the user requesting a search: deactivating an audio input receiving feature of the mobile device; displaying a small suggestion on the GUI to prompt the user to make a selection of a voice search GUI element; and in response to receiving a selection of the voice search GUI element, activating the audio input receiving feature of the mobile device to receive audio input from the user.
[0018] The text search query may be received by the alternative playback device, and the text search query submitted by the alternative playback device to the content sharing platform.
[0019] The content sharing platform can select results for a search query based on the device type of the alternative playback device, and the content sharing platform can transmit the results of the search query to the alternative playback device for display. For example, the content sharing platform can determine the device type of the alternative playback device. The content sharing platform can do this in any suitable manner. For example, the content sharing platform can determine the device type based on information contained in a user account associated with the alternative playback device. Alternatively, data can be transmitted from the alternative playback device to the content sharing platform that identifies the device type. Determining the device type allows the content sharing platform to only provide results that are optimized and / or can only be processed by that device type.
[0020] According to another aspect of the present disclosure, a system is provided that includes one or more devices configured to implement the method described above. The system may include a client device and an alternative playback device. The system may also include a content sharing platform. The client device may be a mobile device, such as a smartphone. The alternative playback device may be a television. The content sharing platform may include a server.
[0021] According to another aspect of the present disclosure, a non-transitory computer-readable medium for storing instructions is provided, which, when executed by one or more processing devices, causes the one or more processing devices to implement the method described above.
[0022] According to another aspect of the present disclosure, a non-transitory computer-readable medium for storing instructions is provided, which, when executed by one or more processing devices, causes the one or more processing devices to receive an indication of a user request from an alternative playback device to perform a voice search on a mobile device, the one or more processing devices also presenting a voice search GUI element on a GUI presented on a screen of the mobile device, the voice search GUI element representing the voice search; prompting a user to provide audio input in response to receiving confirmation to perform a voice search; receiving an audio input from the user requesting to search for one or more media items, the audio input specifying one or more search criteria for the search; and submitting a text search query derived from the audio input to the alternative playback device to initiate a search, wherein the search results are presented to the user on a screen of the alternative playback device.
[0023] To prompt the user to provide audio input, the one or more processing devices may also display a voice search suggestion on the GUI to prompt the user to provide audio input; and in response to activation of the voice search GUI element, enable the mobile device to receive audio input from the user.
[0024] To present the voice search GUI element on the screen of the mobile device, the one or more processing devices may also initiate a session between the mobile device and the alternate playback device.
[0025] The session between the mobile device and the alternate playback device may be a casting session.
[0026] The results of the search may not be presented to the user on the mobile device screen.
[0027] One or more media items may be selected from a plurality of media items hosted by the content sharing platform based on a text search query.
[0028] The GUI on the mobile device screen may be provided by a first application associated with the content sharing platform, and the results of the search presented on the screen of the alternative playback device via a GUI provided by a second application associated with the content sharing platform.
[0029] An alternative playback device could be a television system.
[0030] The one or more processing devices may also, in response to submitting a text search query to the alternate playback device, display a navigation GUI element on the screen of the mobile device to navigate the results of the search on the screen of the alternate playback device.
[0031] Where appropriate, optional features of each aspect may be combined with those of other aspects. BRIEF DESCRIPTION OF THE DRAWINGS
[0032] The various aspects and implementations of the present disclosure will be more fully understood from the specific implementations given below and from the accompanying drawings of various aspects and implementations of the present disclosure. However, the present disclosure should not be considered as being limited to specific aspects or implementations, but is only for explanation and understanding.
[0033] Figure 1 Illustrated is an example system architecture for mobile-enabled voice searching of media content items according to one implementation of the present disclosure.
[0034] Figure 2 A flow chart illustrating aspects of a method for performing a voice search for a media content item according to one implementation of the present disclosure is depicted.
[0035] Figure 3 A flow chart illustrating aspects of a method for performing a voice search for a media content item when attempts to receive audio input fail, according to one implementation of the present disclosure.
[0036] Figure 4 A flow chart illustrating aspects of a method for performing a voice search for media content items initiated from a GUI element on a TV screen is depicted, according to one implementation of the present disclosure.
[0037] Figure 5 An example system is illustrated that includes a mobile device initiating a casting session with a surrogate playback device, according to some embodiments of the present disclosure.
[0038] Figure 6 is an example system according to some embodiments of the present disclosure that includes a mobile device having a first GUI to record audio input from a user and send a derived text search query to an alternative playback device.
[0039] Figure 7 is an example system according to some embodiments of the present disclosure that includes a mobile device having a first GUI to navigate media items in search results displayed on a second GUI on a screen of an alternative playback device.
[0040] Figure 8 An example block diagram of a computing device operating in accordance with one or more implementations of the present disclosure is illustrated. DETAILED DESCRIPTION
[0041] The technical problem solved by the embodiments of the present disclosure is that when searching for media content items to be displayed on a television (TV), when typing characters on a search user interface on a playback device such as a TV system, unnecessary processing resources and a poor user experience may occur. For example, when a user is watching media items on a TV using a remote control that does not support voice search, the user may need to type a search query to find a specific media item to consume. Typing a search query typically includes numerous key presses to navigate a virtual keyboard displayed on the TV screen and use arrow keys to select characters. Multiple key presses may undesirably consume processing resources on the remote control (if used) and the TV (which displays the virtual keyboard). In addition, this is particularly problematic due to the undesirable user experience of having to click potentially dozens of keys to form a search query in order to find a certain media item that the user is interested in playing.
[0042] In addition, each time the user enters a character using the virtual keyboard, the character is transmitted from the TV to the server to search for media content items based on the entered characters. The server can transmit information related to the media content items found, including the characters entered in their titles, as suggestions to the TV that is displaying the search user interface. The information related to the found media content items can include, for example, thumbnails, complete video files of the media content items, metadata (e.g., titles and descriptions of the media content items), etc. When the user enters a search query, sending multiple data payloads with the above information can consume processing resources at the server for performing the search operation, consume processing resources at the TV by displaying a list of suggested media content items, consume network bandwidth resources by sending multiple data payloads when entering characters, and so on.
[0043] Another technical problem solved by the embodiments of the present disclosure is that conventionally filling in a search query by moving a cursor across multiple rows and columns of a virtual keyboard to find the desired character can be error-prone for the user, resulting in a diminished user experience. The user must track the cursor around the virtual keyboard and stop it on the desired character to select it. If a title includes a large number of characters, the more key presses required to fill in the title, the greater the chance of mistakenly selecting the wrong character, requiring the user to delete the wrong character and re-enter the correct one. This tedious and error-prone process of searching for media items to play on TV is an undesirable and inconvenient experience for users watching TV who want to be able to quickly and efficiently find the media items they are looking for.
[0044] Another technical problem solved by embodiments of the present disclosure relates to using a mobile device (instead of a remote control and a virtual keyboard on a TV screen) to perform searches for media items and displaying the search results on the mobile device for the user to select to play on the TV. Having to navigate the potentially numerous media items in the search results on the small screen of the mobile device rather than utilizing the large TV screen to navigate and select the media items to be consumed may not provide a desirable experience for the user. An ideal user experience is achieved when the user who needs to consume media items on the TV has as little interaction with the mobile device as possible. More importantly, when the mobile device submits a search query to a backend server to render the search results, the backend server can customize the search results to include media items suitable for consumption on the mobile device, and therefore may omit media items suitable for consumption on the TV where the user intends to consume the media items he is looking for.
[0045] A technical solution to one or more of the technical problems identified above may include using a mobile device's microphone to perform a voice search for media items hosted by a content sharing platform, while providing search results including media items suitable for consumption on a TV, and displaying these search results on the TV. First, a user may request to initiate a projection session between the mobile device and the TV via a graphical user interface (GUI) presented on the screen of the mobile device. Alternatively, in some implementations, a projection session may already be established between the mobile device and the TV. A projection session refers to a communication mechanism that provides for sharing media items for display between devices, where one device sends the media items to another device via a wireless connection. When the projection session is initiated, a voice search GUI element may be presented to the user to enable the user to perform a voice search. After the user selects the voice search GUI element, the user may be prompted (e.g., via an on-screen search suggestion) to provide an audio input requesting a search for one or more media items, where the audio input may specify one or more search criteria for the search. When the audio input is received, a text search query derived from the audio input may be submitted to the TV to initiate the search, and the search results may be further presented to the user on the TV screen. Alternatively, in some implementations, the search query can be submitted directly by the mobile device to a server (e.g., a search server, a media server), and the results of the search can be received and displayed on the TV screen. When the search results are displayed on the TV, a navigation GUI is further presented to the user on the mobile device, wherein buttons represent "up," "down," "left," "right," and "select" for navigating the search results and further selecting a search result item to be played on the TV. In this way, improved control of the user interface is provided.
[0046] By enabling voice search for media items using the mobile device's microphone, users no longer need to tap numerous keys on a virtual keyboard to form a search query. Furthermore, because the search query is submitted to the TV only when the user speaks the complete search term, processing resources are conserved because the server no longer receives incomplete search terms, as is the case with conventional solutions where the search query is typed one character at a time. Furthermore, because the search query is submitted by the TV to the backend server, the search results presented to the user are optimized to include all relevant media items suitable for playback on the TV screen.
[0047] Thus, the technical effect can include improving the user experience by eliminating the need to perform numerous key presses to fill in a search query to find media content items by replacing a typed search query with a voice search. For example, a user can provide one or two key presses to initiate a projection session between a TV and a mobile device and start a voice search feature on the mobile device. Once the user provides audio input via the microphone of the mobile device, a text search query derived from the audio input is submitted to the TV without the user providing any further key presses. Eliminating the need to type a search query can also reduce processing resources (on all remote controls, TVs, and backend servers) and network bandwidth resources incurred during the search. This is achieved because fewer key presses and less media content item suggestion data payload are sent if the desired media content item is found based on an error-free voice search query.
[0048] Figure 1 An example system architecture 100 for providing voice search capabilities for efficient use during searches for media content items according to one implementation of the present disclosure is illustrated. The system architecture 100 includes one or more client devices (e.g., mobile devices 110 and alternative playback devices 170), one or more networks 105, one or more data repositories 106, and one or more platforms (e.g., content sharing platform 120, advertising platform 165, mobile platform 150, social networking platform 160, search platform 145, and content provider platform 195). A platform can be one or more computing devices (e.g., rack servers, router computers, server computers, personal computers, mainframe computers, laptop computers, tablet computers, desktop computers, etc.), data repositories (e.g., hard disks, memories, and databases), networks, software components, and / or hardware components.
[0049] The one or more networks 105 may include one or more public networks (e.g., the Internet), one or more private networks (e.g., a local area network (LAN) or one or more wide area networks (WAN)), one or more wired networks (e.g., Ethernet), one or more wireless networks (e.g., an 802.11 network or a Wi-Fi network), one or more cellular networks (e.g., a Long Term Evolution (LTE) network), routers, hubs, switches, server computers, and / or combinations thereof. In one implementation, some components of the architecture 100 are not directly connected to each other. In one implementation, the architecture 100 includes separate networks 105.
[0050] One or more data repositories 106 can be a memory (e.g., random access memory), a cache, a drive (e.g., a hard drive), a flash drive, a database system, or another type of component or device capable of storing data. One or more data repositories 106 can include multiple storage components (e.g., multiple drives or multiple databases) that can also span multiple computing devices (e.g., multiple server computers). Data repositories 106 can be permanent storage capable of storing data. The permanent storage can be a local storage unit or a remote storage unit. The permanent storage can be a magnetic storage unit, an optical storage unit, a solid-state storage unit, an electronic storage unit (main memory), or a similar storage unit. The permanent storage can be a single-chip device or a collection of distributed devices. As used herein, "collection" refers to any positive integer term.
[0051] Content items 121 (media content items) can be stored in one or more data repositories 106. Data repositories 106 can be part of one or more platforms. Examples of content items 121 can include, but are not limited to, digital videos, digital movies, animated images, digital photos, digital music, digital audio, website content, social media updates, e-books (ebooks), e-magazines, digital newspapers, digital audiobooks, e-journals, web blogs, Really Simple Syndication (RSS) feeds, e-comic books, software applications, etc. Content items 121 are also referred to as media items. Content items 121 may be pre-recorded or live. For simplicity, throughout this document, media items are used as examples of content items 121.
[0052] Content item 121 may be provided by a content provider. A content provider may be a user, company, organization, or the like. A content provider may provide content item 121 that is a video advertisement. A content provider providing a video advertisement is hereinafter referred to as an advertiser. For example, content item 121 may be a video advertisement about cars provided by a car advertiser. For example, when a service provider provides an advertisement to be viewed by a user on client devices 110 and 170, the service provider may charge the advertiser a fee.
[0053] Mobile device 110 may include devices such as smart phones, cellular phones, personal digital assistants (PDAs), tablet computers, portable media players, and the like.
[0054] Alternative playback devices 170 may include devices such as televisions, smart TVs, netbooks, laptops, e-book readers, tablet computers, desktop computers, and the like.
[0055] The mobile device 110 may include a communication application 112. Content items 121 may be consumed via the communication application 112, the Internet, or the like. As used herein, "media," "media item," "online media item," "digital media," "digital media item," "content," "media content item," and "content item" may include an electronic file that may be executed or loaded using software, firmware, or hardware configured to present the content item. In one implementation, the communication application 112 may be an application that allows a user to compose, send, and receive content items 121 (e.g., videos) through a platform (e.g., content sharing platform 120, advertising platform 165, mobile platform 150, social networking platform 160, search platform 145, and content provider platform 195) and / or a combination of platforms and / or networks.
[0056] For example, the communication application 112 can be a social networking application, a video sharing application, a video streaming application, a video on demand application, a photo sharing application, a chat application, a mobile application of a content provider, or any combination of such applications. The communication application 112 in the mobile device can render, display, and / or present one or more content items 121 (e.g., videos) to one or more users. For example, the communication application 112 can provide one or more user interfaces (e.g., graphical user interfaces) to be rendered on the display of the client device for sending, receiving, and / or playing videos. The communication application 112 in the mobile device can also receive audio input via an audio receiving device (e.g., a microphone).
[0057] In one implementation, the communication application 112 may include a voice search component 117 and a content viewer 116 and may provide a user interface 114 that may be used to enable voice search by receiving audio input representing one or more search criteria requesting a search for one or more content items 121. The audio input is received via a voice search GUI element presented in the content viewer 116 portion of the user interface 114. In one implementation, the content viewer 116 is embedded in an application (e.g., the communication application 112). In another implementation, the content viewer 116 may be a standalone application (e.g., a mobile application), such as the communication application 112, that allows a user to consume (e.g., play, display) content items 121, such as videos, images, documents (e.g., web pages), etc. For example, the content viewer 116 may be a web browser capable of accessing, retrieving, presenting, and / or navigating content (e.g., web pages such as Hypertext Markup Language (HTML) pages, digital media items, etc.) served by the platform's web server. In another example, the content viewer 116 may display an embedded media player (eg, a web page) embedded in a document (eg, the user interface 114). player or HTML5 player).
[0058] The content viewer 116 may be provided by a server and / or platform to the mobile device 110. For example, the content viewer 116 may be an embedded media player embedded in a user interface 114 (e.g., a document (webpage) or a screen of a standalone application) provided by the content sharing platform 120 or the content provider platform 195. In another example, the content viewer 116 may be an application downloaded from a platform (e.g., the content sharing platform 120, the advertising platform 165, the mobile platform 150, the social networking platform 160, the search platform 145, and the content provider platform 195). In another example, the content viewer 116 may be a standalone application pre-installed on the mobile device 110.
[0059] The voice search component 117 can provide voice search capabilities by receiving audio input indicating one or more search criteria requesting a search for one or more media items and submitting a text search query derived from the audio input to the alternative playback device 170 to initiate the search. The voice search component 117 can be implemented in computer instructions stored on one or more memory devices and executed by one or more processing devices. The voice search component 117 can receive a user request to initiate a casting session between the mobile device 110 and the alternative playback device 170 via the user interface 114. When the casting session is initiated, the user interface 114 can present a GUI including a voice search GUI element (e.g., a microphone icon) representing a voice search. The user can select the voice search GUI element to initiate a voice search by providing audio input to the user interface 114 of the communication application 112 (e.g., via the microphone of the mobile device 110). The audio input can indicate one or more search criteria requesting a search for one or more content items 121 hosted by the content sharing platform 120. The text search query derived from the audio input can be submitted to the alternative playback device 170 to initiate the search.
[0060] In another implementation, the communication application 112 may include a D-pad component 118 representing a virtual directional pad including keys corresponding to up, down, left, right, and fill (select) for navigating media items in search results displayed on the alternative playback device 170. When the user presses one or more of the virtual keys on the directional pad, the D-pad component 118 may receive key input selections. The D-pad component 118 may transmit the key inputs to the alternative playback device 170 for processing by one or more processors running the voice search component 177.
[0061] The alternative playback device 170 may include a communication application 172. Content items 121 may be consumed via the communication application 172, the internet, or the like. As used herein, "media," "media items," "online media items," "digital media," "digital media items," "content," "media content items," and "content items" may include electronic files that may be executed or loaded using software, firmware, or hardware configured to present content items. In one implementation, the communication application 172 may be an application that allows a user to compose, send, and receive content items 121 (e.g., videos) through a platform (e.g., a content sharing platform 120, an advertising platform 165, a mobile platform 150, a social networking platform 160, a search platform 145, and a content provider platform 195) and / or a combination of platforms and / or networks.
[0062] For example, the communication application 172 can be a social networking application, a video sharing application, a video streaming application, a video on demand application, a photo sharing application, a chat application, a mobile application of a content provider, or any combination of such applications. The communication application 172 in the alternative playback device 170 can render, display, and / or present one or more content items 121 (e.g., videos) to one or more users. For example, the communication application 172 can provide one or more user interfaces (e.g., graphical user interfaces) to be rendered in the display of the alternative playback device for sending, receiving, and / or playing videos.
[0063] In one implementation, the communication application 172 may include a voice search component 177 and a content viewer 176 and may provide a user interface 174 that may be used to display the results of a media item search, including one or more content items 121, in a portion of the content viewer 176. The user interface 174 may also be used to display a voice search GUI element to initiate a voice search for media content items 121 on the mobile device 110. The content viewer 176 may render, display, and / or present content items 121 (e.g., videos) to one or more users. In one implementation, the content viewer 176 is embedded in an application (e.g., the communication application 172). In another implementation, the content viewer 176 may be a standalone application (e.g., a desktop application, a television application, etc.), such as the communication application 172, that allows a user to consume (e.g., play, display) content items 121, such as videos, images, documents (e.g., web pages), etc. For example, the content viewer 176 can be a web browser capable of accessing, retrieving, presenting, and / or navigating content (e.g., web pages such as Hypertext Markup Language (HTML) pages, digital media items, etc.) served by the platform's web server. In another example, the content viewer 176 can display an embedded media player (e.g., a video player) embedded in a document (e.g., the user interface 174 (web page)). player or HTML5 player).
[0064] The content viewer 176 may be provided by a server and / or platform to the alternative playback device 170. For example, the content viewer 176 may be an embedded media player embedded in a user interface 174 (e.g., a document (webpage) or a screen of a standalone application) provided by the content sharing platform 120 or the content provider platform 195. In another example, the content viewer 176 may be an application downloaded from a platform (e.g., the content sharing platform 120, the advertising platform 165, the mobile platform 150, the social networking platform 160, the search platform 145, and the content provider platform 195). In another example, the content viewer 176 may be a standalone application pre-installed on the alternative playback device 170.
[0065] The voice search component 177 can provide a voice search GUI element to initiate a voice search for media content items on the mobile device 110 and then display the search results for the media items in the content viewer 176 portion of the user interface 174. In some implementations, the voice search component 177 can provide a voice search capability to allow for quick and efficient searching of media items without having to type a search query using a virtual keyboard displayed on the screen of the alternative playback device 170. The voice search component 177 can be implemented in computer instructions that are stored on one or more memory devices and executed by one or more processing devices. The voice search component 177 can receive a user request to initiate a voice search for media items using the communication application 112 on the mobile device 110 via the voice search GUI element presented on the user interface 174.
[0066] The voice search component 177 can prompt the user to launch an application on the mobile device 110 to perform a voice search (e.g., using the microphone of the mobile device 110). In this implementation, to enable voice search on the mobile device 110, the voice search component 177 can implicitly initiate a casting session, possibly between the alternative playback device 170 and the mobile device 110, such as when launching the communication application 112 on the mobile device 110.
[0067] The voice search component 177 can receive a text search query derived from an audio input from the mobile device 110, and the audio input specifies one or more search criteria for a search of one or more content items 121 hosted by the content sharing platform 120. The voice search component 177 can then submit the text search query to the content sharing platform 120 to perform the search and send the search results to the alternative playback device 170 for display to the user. In some implementations, the content sharing platform 120 can select the media items to be included in the search results based on the device type of the client device requesting the search results, in which case the alternative playback device 170 is requesting the search results. For example, media items that are more suitable for playing on a mobile device (e.g., hyperlinks to a web page) may not be included in the search results sent to a television. Similarly, media items that are more suitable for playing on a television (e.g., live programs on a television network) may not be included in the search results sent to a mobile device.
[0068] The search results may be presented to the user in the content viewer 176 of the alternative playback device 170 rather than on the screen of the mobile device 110. The user may navigate the search results displayed on the alternative playback device 170 via the D-pad component 118 of the mobile device 110. The user may also select one of the media items in the search results to be played in the content viewer 176 of the alternative playback device 170.
[0069] The content provider platform 195 can provide services, and the content provider can be a service provider. For example, the content provider can be a video streaming service provider that provides media streaming services via the communication application 172 for users to play videos, TV shows, video clips, audio, audio clips, and movies on the alternative playback device 170 via the content provider platform 195.
[0070] The social networking platform 160 may provide an online social networking service. The social networking platform 160 may provide a communication application 112 for users to create profiles and perform activities using their profiles. Activities may include: updating profiles; exchanging messages with other users; posting status updates, photos, videos, etc. to share with other users; evaluating (e.g., liking, commenting, sharing, recommending) status updates, photos, videos, etc.; and receiving notifications of other users' activities.
[0071] Mobile platform 150 can be and / or include one or more computing devices (e.g., servers), data repositories, networks (e.g., telephone networks, cellular networks, local area networks, the Internet, and / or a combination of networks), software components, and / or hardware components that can be used to allow users to connect, share information, and / or interact with each other using one or more mobile devices (e.g., phones, tablet computers, laptop computers, wearable computing devices, etc.) and / or any other suitable devices. For example, mobile platform 150 can support telephone communications, short message service (SMS) messaging, multimedia message service (MMS) messaging, text chat, and / or any other communication between users. Mobile platform 150 can support user communications via video messaging, video chat, and / or video conferencing.
[0072] The search platform 145 can be one or more computing devices (such as, rack servers, router computers, server computers, personal computers, mainframe computers, laptop computers, tablet computers, desktop computers, etc.), data repositories (e.g., hard disks, memories, databases), networks, software components and / or hardware components, which can be used to allow users to query one or more data repositories 106 and / or one or more platforms, and receive query results.
[0073] Advertising platform 165 can be one or more computing devices (such as rack servers, router computers, server computers, personal computers, mainframe computers, laptop computers, tablet computers, desktop computers, etc.), data storage repositories (e.g., hard disks, memories, databases), networks, software components, and / or hardware components that can be used to provide video advertisements.
[0074] The content sharing platform 120 can be one or more computing devices (such as rack-mounted servers, router computers, server computers, personal computers, mainframe computers, laptop computers, tablet computers, desktop computers, etc.), data repositories (e.g., hard drives, memories, and databases), networks, software components, and / or hardware components that can be used to provide access to and / or provide content items 121 to one or more users. For example, the content sharing platform 120 can allow users to consume, upload, download, and / or search for content items 121. In another example, the content sharing platform 120 can allow users to evaluate content items 121, such as approving ("liking"), disliking, recommending, sharing, rating, and / or commenting on content items 121. In another example, the content sharing platform 120 can allow users to edit content items 121. The content sharing platform 120 can also include a website (e.g., one or more web pages) and / or one or more applications (e.g., communication applications 115) that can be used to provide access to content items 121 to one or more users, for example, via the mobile device 110 and the alternative playback device 170. Content sharing platform 120 may include any type of content delivery network that provides access to content items 121 .
[0075] The content sharing platform 120 may include multiple channels (e.g., Channel A 125 to Channel Z 129). A channel may be data content available from a public resource or data content with a public topic or theme. The data content may be digital content selected by a user, digital content provided by a user, digital content uploaded by a user, digital content selected by a content provider, digital content selected by a broadcaster, etc. For example, channel A 125 may include videos Y and Z. A channel may be associated with an owner, who is a user who can perform operations on the channel. The data content may be one or more content items 121. The data content in a channel may be pre-recorded or live. Although a channel is described as one implementation of a content sharing platform, implementations of the present disclosure are not limited to content sharing platforms that provide content items 121 via a channel model.
[0076] Figure 2 A flow chart illustrating aspects of a method 200 for performing a voice search for media content items according to one implementation of the present disclosure is shown. The method 200 is performed by a processing device, which may include hardware (circuitry, dedicated logic, etc.), software (such as running on a general-purpose computer system or a dedicated machine), or a combination of both. In one implementation, the method 200 is performed by Figure 1 The method 200 is performed by the voice search component 117 in the mobile device 110. In one implementation, the method 200 is performed by a processing device of the mobile device.
[0077] At box 210, the processing device can detect the existence of a session between the mobile device and the alternative playback device so that the mobile device can communicate with the alternative playback device by sending media items to be played on the screen of the alternative playback device via the session. In one implementation, detecting the session can involve receiving a user request to initiate a session between the mobile device and the alternative playback device. In some implementations, the alternative playback device can be a television (TV) system or other client device with a large screen compared to a mobile device with a small screen. In certain implementations, the user request to initiate a session can be received via a graphical user interface (GUI) on the screen of the mobile device. The GUI on the screen of the mobile device can be provided by a user interface that is connected to a content sharing platform (e.g., Figure 1 The mobile device may be provided by a first application associated with a content sharing platform 120. Furthermore, in one implementation, the session between the mobile device and the alternative playback device may be a casting session. The casting session may provide for media items to be shared between the devices for display, wherein one device transmits the media items to the other device via a wireless connection. In one implementation, the mobile device may initiate a casting session with the alternative playback device to transmit a text search query to the alternative playback device, so that a search for media items based on the search query may be initiated by the alternative playback device.
[0078] At box 220, in response to detecting that a casting session has been initiated between the mobile device and the TV, the processing device may present a GUI that includes a voice search GUI element (e.g., a button with an image of a microphone) that represents a voice search. After the casting session is successfully initiated, a notification may be displayed on the screen of the mobile device indicating that the casting session has been initiated and the media item can be cast (e.g., for display, playback, or other consumption) to the TV (e.g., "Ready to cast to TV"). Similarly, a notification may be displayed on the TV screen indicating that a casting session with the mobile device has been initiated (e.g., "Successfully linked to mobile device"). In one implementation, the processing device may display a voice search suggestion on the GUI of the mobile device to prompt the user to provide audio input. For example, the search suggestion may be "Search on TV using voice."
[0079] At box 230, the processing device may receive a user selection of a voice search GUI element. When the user selects the voice search GUI element, such as by clicking on the voice search GUI element, the processing device may activate an audio input receiving feature of the mobile device to receive audio input from the user. For example, the audio input receiving feature may be the microphone of the mobile device. In addition, the processing device may obtain user permission to activate the audio input receiving feature of the mobile device. For example, the user may be prompted to provide permission to the processing device to access the microphone of the mobile device and have the option to allow or deny access. If the user chooses to allow access to the microphone, the processing device may activate the microphone of the mobile device and may record audio input from the user's specified search query. On the other hand, if the user chooses to deny access to the microphone, the voice search functionality may be terminated. In one implementation, the user may be prompted to provide permission for microphone access the first time the voice search capability is launched on the mobile device.
[0080] After the microphone is activated, it can listen for audio input from the user. The user can be prompted to speak a search term to find the media item they want to consume. For example, a search suggestion might appear on the screen of the mobile device, stating, "Try saying 'Play some music, please.'"
[0081] At block 250, the processing device may receive an audio input from a user requesting a search for media items that the user wants to consume. The audio input may specify search criteria for the search for media items. In some implementations, the media items may be selected from a content sharing platform (e.g., Figure 1 The content sharing platform 120) may be used to select a plurality of media items hosted by the content sharing platform 120, and the selection may be based on search criteria provided by the user.
[0082] At block 260, the processing device may obtain a text search query derived from the audio input (eg, via Figure 1145 of the search platform). Then, processing logic can submit a text search query to process the text search query. In some implementations, processing logic can submit a text search query to an alternative playback device via a projection session. The alternative playback device can receive the text search query and can initiate a search by submitting the text search query to the content sharing platform to perform a search. The content sharing platform can perform a search and can create search results by selecting media items that match the text search query and including the selected media items in the search results. In one implementation, the content sharing platform can select media items based on the device type of the alternative playback device. For example, media items that are more suitable for playing on a mobile device (e.g., hyperlinks to web pages) may not be included in the search results sent to a TV. Then, the content sharing platform can transmit the search results to the alternative playback device to be presented to the user on the screen of the alternative playback device. In one example, the search results can be presented on the screen of the alternative playback device via a GUI provided by an application (e.g., a TV application) associated with the content sharing platform. In some implementations, the search results may not be transmitted to the mobile device for display.
[0083] Processing device can display navigation GUI element on the screen of mobile device, to navigate the media items in the search result that shows on the screen of alternative playback device, and select media items so that show on the screen of alternative playback device.In some implementations, navigation GUI element can represent virtual directional pad, and described virtual directional pad comprises corresponding to up, down, left, right and fill in (selection) key.When the user presses one or more in the virtual key on directional pad, navigation GUI element can receive key input selection.Then, processing device can be transmitted to alternative playback device with key input for processing.
[0084] Figure 3 A flowchart illustrating aspects of a method 300 for performing a voice search for a media content item when attempts to receive audio input have failed according to one implementation of the present disclosure is depicted. The method 300 is performed by a processing device, which may include hardware (circuitry, dedicated logic, etc.), software (such as running on a general-purpose computer system or a dedicated machine), or a combination of both. In one implementation, the method 230 is performed by Figure 1 The method 300 is performed by the voice search component 117 in the mobile device 110. In one implementation, the method 300 is performed by a processing device of the mobile device.
[0085] At block 310, the processing device may receive a user's selection of a voice search GUI element on the screen of the mobile device, for example, by the user clicking on the voice search GUI element. At block 315, the processing device may activate the microphone of the mobile device to receive audio input from the user, as explained in more detail above. The user may be prompted to speak a search term to locate the media item the user is looking for.
[0086] At block 320, the processing device may wait for a predetermined period of time to receive audio input from the user. In one example, the wait time may be set to twenty seconds. The active microphone may receive a spoken phrase of audio input from the user representing the specified search criteria and may submit the audio input to the processing device for processing. If audio input is received during the wait period, the processing device may obtain a text search query derived from the audio input (e.g., via Figure 1 Processing logic may then submit the textual search query to the alternative playback device via the projection session to initiate a search at block 360.
[0087] On the other hand, if no audio input is received during the waiting period, the processing device may deactivate the mobile device's microphone at block 330. A microphone may be unable to receive audio input from the user for a number of reasons, including, for example, if the user does not speak during the waiting period or if high noise levels prevent the microphone from capturing audio input from the user. After deactivating the microphone, the processing device may notify the user at block 345 that no audio input was received and may also prompt the user to try again to provide audio input. For example, a message may appear on the mobile device's screen stating, "Didn't hear you. Tap the microphone to try again."
[0088] At block 350, the processing device may prompt the user that in order to attempt to provide audio input again, the user may need to activate the microphone again by selecting the voice search GUI element. If the user activates the microphone but then forgets or becomes distracted and does not provide search criteria for media items, it may be desirable to keep the microphone active for only a short period of time before automatically deactivating it to eliminate accidental recording of speech from the user. In this way, if the user clicks on the voice search GUI element but forgets to provide audio input, the microphone may only remain active for a short period of time and will then be deactivated, thereby preventing the microphone from capturing user speech after that point. If the user wishes to attempt to perform a voice search again, they may choose to activate the microphone again.
[0089] Figure 4A flow chart illustrating aspects of a method 400 for performing a voice search for a media content item initiated from a GUI element on a TV screen according to one implementation of the present disclosure is depicted. The method 400 is performed by a processing device, which may include hardware (circuitry, dedicated logic, etc.), software (such as running on a general-purpose computer system or a dedicated machine), or a combination of both. In one implementation, the method 400 is performed by Figure 1 The method 400 is performed by the voice search component 117 in the mobile device 110. In one implementation, the method 400 is performed by a processing device of the mobile device.
[0090] At box 410, a processing device of the mobile device may receive an indication of a user request from the TV to perform a voice search on the mobile device. In some implementations, a voice search GUI element may be presented to the user on a media search page of the TV application. The media search page may also display a virtual keyboard so that the user can provide a search term for a media item by typing the search term using the virtual keyboard. In one implementation, a search suggestion may be presented to the user on the TV screen, indicating that the user can use voice search from their mobile device instead of typing the search term using the virtual keyboard. For example, the search suggestion may state "Try voice search. Open the mobile app on your mobile device to search using the microphone." The user may select the voice search GUI element presented on the TV screen (e.g., by clicking on the voice search GUI element). In some implementations, the processing device of the TV application may broadcast the user's request to initiate a voice search for media items on the mobile device. When the user launches the mobile application on the mobile device, the mobile application may receive a broadcast message indicating the user's request to initiate a voice search on the mobile device.
[0091] At block 420, upon receiving an indication of a user request to initiate a voice search, the mobile application may present a voice search GUI element on the screen of the mobile device. In this case, the mobile application may also implicitly initiate a casting session between the TV and the mobile device, for example, when the mobile application is launched on the mobile device. The mobile application may then prompt the user to confirm the request to perform a voice search using the mobile device. For example, the mobile application may present a message on the mobile screen stating "Search faster on TV with your voice" with an option to turn off or allow the voice search feature. The user may confirm the voice search request by clicking an Allow button.
[0092] At block 430, in response to receiving confirmation from the user to perform a voice search, the processing device may prompt the user to provide audio input (e.g., via a search suggestion indicating voice search functionality). In some implementations, the user may need to enable the microphone of the mobile device (e.g., by clicking a voice search GUI element) to enable the mobile device to receive audio input from the user. The user may then speak a search phrase that may be recorded by the microphone as audio input, and the processing device may receive the audio input recorded by the microphone.
[0093] At block 450, in response to receiving audio input from a user indicating search criteria for one or more media items, the processing device may obtain a text search query derived from the audio input. The processing device may then submit the text search query to the TV via the casting session, as explained in more detail above. The search results may be presented to the user on the TV screen rather than on the mobile device screen.
[0094] Figure 5 An example system 500 is illustrated that includes a mobile device 602 initiating a casting session with an alternative playback device 610, the mobile device having a first GUI 605, according to some embodiments of the present disclosure. The mobile device 602 may be a device that is coupled to a first GUI 605. Figure 1 The mobile device 110 described above. An alternative playback device 610 may be a device that is combined with Figure 1 In some embodiments, the first UI 605 is presented on the mobile device 602 and the second UI 611 is presented on the alternative playback device 610. The mobile device 602 and the alternative playback device 610 can communicate via the network 105, such as in conjunction with Figure 1 described.
[0095] The mobile device 602 may include a display for presenting a UI 605 including content 604, as described herein. The content 604 may be any content including media items (e.g., search results, social media, web pages). The mobile device 602 may also present a voice search button 624 in the UI 605 and a first portion of the content 604. The voice search button 624 may be an interface tool that receives input from a user (e.g., by clicking the voice search button 624) to initiate a voice search using the mobile device. The content 604 may also include a search tip 606 that indicates to the user that a voice search capability can be performed via the voice search button. The content 604 may also include a notification message 607 that indicates to the user that the mobile device is ready to cast to the TV when a casting session has been initiated via the casting session button 625.
[0096] A user of mobile device 602 can initiate a casting session with alternative playback device 610 via cast session button 625. For example, mobile device 602 can receive a casting session initiation request from the user in the form of a gesture. The user can touch the display area of mobile device 602 represented by the area of cast session button 625. Upon receiving the request to initiate a casting session, mobile device 602 can send the casting session request to alternative playback device 610 via network 105. In some implementations, after the casting session between mobile device 602 and alternative playback device 610 is successfully initiated, the mobile device can display a notification message 607 indicating that mobile device 602 is ready to cast to alternative playback device 610 (e.g., a TV). In addition, alternative playback device 610 can display a notification message 620 indicating to the user that alternative playback device 610 has successfully linked to mobile device 602. When the casting session has been successfully initiated, a voice search function can be performed on the mobile device, as explained in more detail above.
[0097] Figure 6 is an example system 600 according to some embodiments of the present disclosure that includes a mobile device 602 having a first GUI 605 to record audio input from a user and send the derived text search query to an alternative playback device 610. After the user selects a voice search GUI element (e.g., by clicking Figure 5 6 (a voice search button 624 is displayed on the mobile device 602), the content 604 can be modified to display a voice search icon 626, indicating that the microphone of the mobile device 602 is active and may be recording audio input from the user. The user can speak a phrase representing search criteria for one or more media items. In some implementations, when the user speaks the search phrase, the mobile device 602 can display a text search query derived from the spoken search phrase in a notification message 607. For example, the user can say "please show me the latest Marvel movie", which can be displayed in the notification message 607 of the mobile device 602 after a short processing time of receiving the phrase from the microphone of the mobile device 602.
[0098] The mobile device 602 can then submit a text search query to the alternative playback device 610 via the casting session over the network 105, as explained in more detail above. In some implementations, to enable the user to match the search results with the search criteria, the text search query can also be displayed in a notification message portion 660 of the second GUI 611 of the alternative playback device 610. For example, the notification message 660 may be "Show me the latest Marvel movies," indicating the text search query received from the mobile device 602.
[0099] Figure 76 is an example system 700 according to some embodiments, which includes a mobile device 602 having a first GUI 605 to navigate media items in search results displayed on a second GUI 611 on the screen of an alternative playback device 610. The alternative playback device 610 can receive a text search query from the mobile device 602 via a projection session and can initiate a search by submitting the text search query to a content sharing platform to perform a search. The content sharing platform can perform the search and then search results 720 can be transmitted to the alternative playback device 610 to be presented to the user on the second GUI 611. In one example, the search results can be presented on the second GUI 611 of an application (e.g., a TV application) associated with the content sharing platform. The search results 720 can be composed of media items 721A to 721N, which include media items that match the search criteria specified by the user in the text search query. The media items 721 in this context can represent any media items that can be played on an application hosted by an alternative playback device (e.g., a TV application). Examples of media items 721 may include, but are not limited to, digital videos, digital movies, animated images, digital photos, digital music, digital audio, etc. A user may select one of the media items 721A to 721N to be played on the second GUI 611 of the alternative playback device 610 .
[0100] When the second GUI 611 on the alternative playback device 610 was showing search results 720, the first GUI 605 on the mobile device 602 can show navigation GUI element 706, to navigate the media items 721A to 721N in the search results 720 that on the second GUI 611, shows. In some implementations, navigation GUI element 706 can represent virtual directional pad, and described virtual directional pad comprises the key corresponding to up, down, left, right (for example, as represented by the up arrow, down arrow, left arrow and right arrow of navigation GUI element 706). When the user presses one or more in the virtual key on the directional pad, navigation GUI element 706 can receive key input selection. Mobile device 602 can key input be transferred to alternative playback device 610 for processing then. When the user clicks the arrow of navigation GUI 706, the focus on a media item 721A to 721N of search results 720 can move in the direction of the arrow that clicks, so that can select a media item 721A to 721N at a given time. The navigation GUI element 706 may also include a selection button (e.g., a central circular button of the navigation GUI element 706) to select the media item 721A to 721N that currently has focus. When the user clicks the selection button, the media item that currently has focus may be played in the second GUI 611 of the alternative playback device 610. The first GUI 605 of the mobile device 602 may then be changed to display Figure 5The voice search element 624 and the original content area 604 are shown in FIG.
[0101] Figure 8 An example block diagram of a computing device operating in accordance with one or more implementations of the present disclosure is shown. Computer system 800 may be Figure 1 106 or client devices 110 and 170 in an endpoint-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a television, a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a cellular phone, a network appliance, a server, a network router, a switch or bridge, or any machine capable of executing a set of instructions (sequentially or otherwise) that specify actions to be taken by the machine. Furthermore, while a single machine is illustrated, the term "machine" should also be taken to include any collection of machines that individually or collectively execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
[0102] The example computer system 800 includes a processing device (processor) 802, a main memory 804 (e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM), double data rate (DDR SDRAM) or DRAM (RDRAM), etc.), a static memory 806 (e.g., flash memory, static random access memory (SRAM), etc.), and a data storage device 818, which communicate with each other via a bus 840.
[0103] Processor (processing device) 802 represents one or more general-purpose processing devices, such as a microprocessor, a central processing unit, or the like. More particularly, processor 802 may be a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, or a processor that implements other instruction sets or a processor that implements a combination of instruction sets. Processor 802 may also be one or more special-purpose processing devices, such as an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a digital signal processor (DSP), a network processor, or the like. Processor 802 is configured to execute instructions 805 (e.g., of the communication application 112) to perform the operations discussed herein.
[0104] The computer system 800 may also include a network interface device 808. The computer system 800 may also include a video display unit 810 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)), input devices 812 (e.g., a keyboard and alphanumeric keypad, motion sensing input devices, touch screen), a cursor control device 814 (e.g., a mouse), and signal generating devices 820 (e.g., speakers).
[0105] The data storage device 818 may include a non-transitory machine-readable storage medium 824 (also a computer-readable storage medium) having stored thereon one or more sets of instructions 805 (e.g., of the communication application 112) embodying any one or more of the methodologies or functionality described herein. The instructions may also reside, completely or at least partially, within the main memory 804 and / or within the processor 802 during execution by the computer system 800, the main memory 804 and the processor 802 also constituting machine-readable storage media. The instructions may also be transmitted or received over the network 830 via the network interface device 808.
[0106] In one implementation, instructions 805 include instructions for voice search component 176 (e.g., Figure 1 17) and / or a software library containing methods for invoking the voice search component 117. In some implementations, the instructions 805 include instructions for the voice search component 117, the user interface 114, the content viewer 116, and / or the communication application 112. Although the computer-readable storage medium 824 (machine-readable storage medium) is shown as a single medium in the exemplary implementation, the terms "computer-readable storage medium" and "machine-readable storage 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 one or more instruction sets. The terms "computer-readable storage medium" and "machine-readable storage medium" should also be understood to include any medium that is capable of storing, encoding, or carrying an instruction set executed by a machine and causing the machine to perform any one or more of the methodologies of the present disclosure. The terms "computer-readable storage medium" and "machine-readable storage medium" should be understood accordingly to include, but are not limited to, solid-state memory, optical media, and magnetic media.
[0107] References throughout this specification to "one implementation" or "an implementation" mean that a particular feature, structure, or characteristic described in connection with that implementation is included in at least one implementation. Thus, the phrases "in one implementation" or "in an implementation" appearing in various places throughout this specification may, but do not necessarily, refer to the same implementation, depending on the specific context. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more implementations.
[0108] To the extent that the terms "includes," "has," "comprising," variations thereof, and other similar words are used in the detailed description or claims, these terms are intended to be included in a manner similar to the term "comprising" as open transition words without excluding any additional or other elements.
[0109] As used in this application, the terms "component," "module," "system," and the like are generally intended to refer to a computer-related entity, i.e., hardware (e.g., circuitry), software, a combination of hardware and software, or an entity associated with an operating machine having one or more specific functionalities. For example, a component can be, but is not limited to, a process, a processor, an object, an executable file, an execution thread, a program, and / or a computer running on a processor (e.g., a digital signal processor). For example, both an application running on a controller and the controller can be a component. One or more components can reside in a process and / or execution thread, and a component can be located on one computer and / or distributed between two or more computers. In addition, a "device" can take the form of specially designed hardware; general-purpose hardware that is specialized by executing software thereon to enable the hardware to perform specific functions (e.g., generating points of interest and / or descriptors); software on a computer-readable medium; or a combination thereof.
[0110] The aforementioned systems, circuits, modules, etc. have been described with respect to the interaction between several components and / or blocks. It should be understood that such systems, circuits, components, blocks, etc. may include these components or specified subcomponents, some of the specified components or subcomponents and / or additional components, and according to various permutations and combinations of the foregoing. Subcomponents may also be implemented as components that are communicatively coupled to other components rather than being included within a parent component (hierarchical). Additionally, it should be noted that one or more components may be combined into a single component to provide aggregate functionality, or divided into several separate subcomponents, and any one or more intermediate layers (such as a management layer) may be provided to communicatively couple to such subcomponents in order to provide integrated functionality. Any component described herein may also interact with one or more other components not specifically described herein but known to those skilled in the art.
[0111] In addition, the words "example" or "exemplary" are used herein to indicate use as an example, instance, or illustration. Any aspect or design described herein as "exemplary" is not necessarily to be construed as preferred or superior to other aspects or designs. Rather, the use of the words "example" or "exemplary" is intended to present concepts in a concrete way. As used in this application, the term "or" is intended to mean an inclusive "or" rather than an exclusive "or." That is, unless otherwise specified or clear from the context, "X employs A or B" is intended to mean any of the natural inclusive permutations. That is, if X employs A; X employs B; or X employs both A and B, then "X employs A or B" is satisfied under any of the aforementioned examples. In addition, unless otherwise specified or clear from the context to point to a singular form, the articles "a" and "an" as used in this application and the appended claims should generally be interpreted to mean "one or more."
[0112] Finally, the implementations described herein include the collection of data describing users and / or user activities. In one implementation, such data is collected only if the user consents to the collection of such data. In some implementations, the user is prompted to explicitly consent to the data collection. Furthermore, the user can opt in or opt out of such data collection activities. In one implementation, the collected data is anonymized before any analysis is performed to obtain any statistical patterns, so that the identity of the user cannot be determined from the collected data.
Claims
1. A method comprising: responsive to a mobile application on an initiating mobile device, detecting a message broadcast by an alternate playback device and initiating a casting session between the mobile device and the alternate playback device, the message reflecting a user request to perform a voice search on the mobile device; causing a graphical user interface (GUI) associated with the mobile application to be presented on a screen of the mobile device of the user, the GUI including a voice search GUI element representing a voice search; receiving a user selection of the voice search GUI element; receiving an audio input from the user requesting a search for one or more media items, the audio input specifying one or more search criteria for the search; as well as By submitting a text search query derived from the audio input for processing via the projection session, the text search query and results of the search are caused to be presented on a screen of the surrogate playback device via the projection session.
2. The method according to claim 1, wherein Results of the search are not presented to the user on a screen of the mobile device.
3. The method according to claim 1, wherein Initiating the casting session between the mobile device and the alternative playback device further comprises: A user request is received via the GUI to initiate the casting session between the mobile device and the alternate playback device.
4. The method according to claim 1, wherein Submitting the text search query for processing further includes: The text search query is submitted to at least one of the alternative playback device or a backend server for processing.
5. The method according to claim 1, wherein Results of the search are presented on a screen of the alternative playback device.
6. The method according to claim 1, wherein The alternative playback device is a television system.
7. The method according to claim 1, further comprising: In response to submitting the text search query, a navigation GUI element is displayed on the screen of the mobile device to navigate the results of the search on the screen of the alternative playback device.
8. The method according to claim 1, further comprising: Displaying a voice search suggestion on the GUI to prompt the user to provide the audio input; as well as An audio input receiving feature of the mobile device is activated to receive audio input from the user.
9. The method according to claim 1, further comprising: In response to failing to receive audio input from the user requesting the search: deactivating an audio input receiving feature of the mobile device; as well as In response to receiving a selection of the voice search GUI element, an audio input receiving feature of the mobile device is activated to receive audio input from the user.
10. The method according to any one of claims 1 to 9, wherein: Results of the search are selected by a content sharing platform based on a device type of the alternate playback device, and wherein the results of the search query are transmitted by the content sharing platform to the alternate playback device for display.
11. A system comprising one or more devices configured to perform the method according to any one of claims 1-10.
12. A non-transitory computer-readable medium for storing instructions that, when executed by one or more processing devices, cause the one or more processing devices to perform the method according to any one of claims 1 to 10.
13. A non-transitory computer-readable medium for storing instructions that, when executed by one or more processing devices, cause the one or more processing devices to: responsive to a mobile application on an initiating mobile device, detecting a message broadcast by an alternate playback device and initiating a casting session between the mobile device and the alternate playback device, the message reflecting a user request to perform a voice search on the mobile device; presenting a voice search graphical user interface (GUI) element on a screen of the mobile device, the voice search GUI element representing the voice search; prompting the user to provide audio input in response to receiving confirmation to perform the voice search; receiving an audio input from the user requesting a search for one or more media items, the audio input specifying one or more search criteria for the search; as well as By submitting a text search query derived from the audio input for processing via the projection session, the text search query and results of the search are caused to be presented on a screen of the surrogate playback device via the projection session.
14. The computer-readable medium of claim 13, wherein: To prompt the user to provide audio input, the one or more processing devices further: Displaying a voice search suggestion on the GUI to prompt the user to provide the audio input; and In response to activation of the voice search GUI element, the mobile device is enabled to receive audio input from the user.
15. The computer-readable medium of claim 13, wherein: To present a voice search GUI element on a screen of the mobile device, the one or more processing devices further: The casting session between the mobile device and the alternative playback device is initiated.
16. The computer-readable medium of claim 13, wherein: Results of the search are not presented to the user on a screen of the mobile device.
17. The computer-readable medium of claim 13, wherein: The alternative playback device is a television system.
18. The computer-readable medium of any one of claims 13 to 17, wherein: The one or more processing devices also: In response to submitting the text search query, a navigation GUI element is displayed on the screen of the mobile device to navigate the results of the search on the screen of the alternative playback device.
Citation Information
Patent Citations
System, television receiver, information terminal, control method, program, and recording medium
CN103609130A
Smart television voice remote controller control method and system based on DLNA (Digital Living Network Alliance)
CN105141998A
Information search method and device
CN106570100A
Microphone system and speech recognition system
JP1999015490A