US20240155201A1 - Systems and methods for displaying search results for program content - Google Patents
Systems and methods for displaying search results for program content Download PDFInfo
- Publication number
- US20240155201A1 US20240155201A1 US17/982,249 US202217982249A US2024155201A1 US 20240155201 A1 US20240155201 A1 US 20240155201A1 US 202217982249 A US202217982249 A US 202217982249A US 2024155201 A1 US2024155201 A1 US 2024155201A1
- Authority
- US
- United States
- Prior art keywords
- streaming media
- media content
- content provider
- programs
- search
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/482—End-user interface for program selection
- H04N21/4828—End-user interface for program selection for searching program descriptors
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/45—Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
- H04N21/462—Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities
- H04N21/4622—Retrieving content or additional data from different sources, e.g. from a broadcast channel and the Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/40—Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
- H04N21/47—End-user applications
- H04N21/482—End-user interface for program selection
- H04N21/4826—End-user interface for program selection using recommendation lists, e.g. of programs or channels sorted out according to their score
Definitions
- a system for displaying search results may, in response to receiving the one or more search terms for program content, cause a search to be performed in a particular program content catalog provided for programs available to be streamed or broadcast to a particular receiving device.
- the system may determine that a first set of programs, television channels or streaming media content provider platforms is relevant to search terms input by a user.
- a second set of the programs, television channels or streaming media content provider platforms are also or instead listed or ordered on the display based on one or more received priority indicators.
- the priority indicators may be generated and/or received based on sponsorships from various sponsor systems. For example, the priority indicators may pre-associate the second set of programs with one or more specific search terms prior to the search.
- Various different sponsors may purchase or otherwise obtain rights to one or more search terms, such that their particular sponsored programs, television channels or streaming media content provider platforms are displayed above or more prominently than other items in the search results resulting from use of those search terms by users of the receiving device, users of the content distribution system of the receiving device and/or users that meet certain characteristics or demographics.
- one or both of the sets may include zero or just one item.
- the system determines, based on search results from the search, that the same program relevant to the search terms is available to be streamed to the particular receiving device via a plurality of different streaming media content provider platforms.
- the system then electronically displays the plurality of different streaming media content provider platforms providing that same program based on the priority indicators.
- the streaming media content provider platforms which are sponsored are displayed above or more prominently than other streaming media content provider platforms providing the same program, but which are not sponsored, or which are sponsored at a lower level.
- FIG. 1 is a block diagram illustrating an example environment in which embodiments of systems and methods for displaying search results for program content may be implemented according to one non-limiting embodiment.
- FIG. 2 is a block diagram illustrating elements of an example receiving device having a system for displaying search results for program content according to one non-limiting embodiment.
- FIG. 3 is an example search results according to one non-limiting embodiment.
- FIG. 4 is an example search results according to another non-limiting embodiment.
- FIG. 5 is a flow diagram of an example method for displaying search results for program content according to one non-limiting embodiment.
- FIG. 6 is a flow diagram of an example method for displaying search results for program content involving received priority indicators based on sponsorship according to one non-limiting embodiment.
- FIG. 7 is a flow diagram of an example method for displaying search results for program content involving searching metadata in a program content catalog according to one non-limiting embodiment.
- FIG. 1 is a block diagram illustrating an example environment in which embodiments of systems and methods for displaying search results for program content may be implemented according to one non-limiting embodiment.
- a search result display system 100 may be part of or otherwise operably coupled to an electronic device such as a receiving device 118 (e.g., on a customer premises 116 ) to search, based on received search terms, for programs available to be streamed or broadcast to receiving device 118 .
- the search result display system 100 may also generate for display on presentation device 120 a listing of programs, television channels or streaming media content provider platforms ordered based on the search and one or more received priority indicators (e.g., based on sponsorships).
- the search result display system 100 may cause a voice search result for “sci-fi movies” to contain a top result that is sponsored.
- the top result displayed based on the priority indicator may or may not have otherwise been present at all in the search results.
- sponsored results may be offered to potential advertisers as a way to increase their content viewership on a particular television service provider's platform, such as that of a satellite television service provider providing service to receiving device 118 .
- sponsored results may be offered to potential advertisers as a path to direct consumers to specific content within the streaming services available via receiving device 118 .
- a service provider providing service to receiving device 118 may electronically reach out to particular streaming media content providers to allow them to automatically insert sponsored results that lead to their specific streaming provider platform from a voice search or other search input methods, such as textual input, by the user.
- the search result display system 100 may order the listed applications of the multiple platforms on which the content is available based on which of those platforms has a sponsorship tied or otherwise related to the search terms that were used to find that content.
- the search result display system 100 may be located in, or hosted by, a remote system such as that of the program distributor 106 , content provider 104 and/or information provider 138 .
- a first set of programs, television channels or streaming media content provider platforms may be relevant to the search terms based on the search.
- a second set of the programs, television channels or streaming media content provider platforms are also or instead listed or ordered on the display, such as on presentation device 120 , based on one or more received priority indicators received form the priority indicator system 122 .
- the priority indicators may be generated and/or received based on sponsorships from the various sponsor system(s) 124 . For example, the priority indicators may pre-associate the second set of programs with one or more specific search terms prior to the search.
- Various different sponsors may purchase or otherwise obtain rights to one or more search terms, such that their particular sponsored programs, television channels or streaming media content provider platforms are displayed above or more prominently than other items in the search results provided in response to use of those search terms by users of the receiving device 118 , users of the content distribution system of the receiving device 118 and/or users of the content distribution system that meet certain characteristics or demographics.
- this second set of programs may be displayed above, or more prominently on the presentation device 120 than, other items in the search result listing based on the sponsorship of the certain programs, television channels or streaming media content provider platforms in the second set.
- the advertisers and/or sponsors may include, but are not limited to: streaming media content providers; television broadcast channels; program distributors; other content providers; program distributors; service providers; and sponsors or other advertisers associated with particular programs, broadcast television channels or streaming media content provider platforms; etc.
- Sponsor system(s) 124 may include systems of such entities and/or systems of brokers, clearinghouses, agents, service providers, or representatives of such entities.
- the search result display system 100 may also be operably connected to a communication system 108 to send and receive information with other systems.
- this communication may be to receive a particular program content catalog provided by the program distributor 106 , content provider 104 and/or information provider 138 for programs available to be streamed or broadcast to the particular receiving device 118 ; to receive priority indicators from the priority indicator system 122 ; to send or receive search results; to send or receive requests for search results or other such information listed above; and to send and receive configuration information regarding the receiving device 118 and/or other electronic devices in communication with the receiving device 118 , etc.
- Such information may also be used to generate a search results list on other devices for display on remote devices or display screens that are based on received priority indicators.
- the program distributor 106 , content provider 104 , sponsor system(s) 124 , and/or information provider 138 each represent multiple different entities and systems of that respective type, some or all of which communicate with one or more different receiving devices, such as receiving device 118 , to implement the systems and methods for displaying search results for program content as described herein.
- audio, video, and/or data service providers such as, but not limited to, television service providers, provide their customers a multitude of video and/or data programming (hereafter, collectively and/or exclusively “programming”).
- programming is often provided by use of a receiving device 118 communicatively coupled to a presentation device 120 configured to receive the programming.
- the receiving device 118 interconnects to one or more communications media or sources (such as a cable head-end, satellite antenna, telephone company switch, Ethernet portal, off-air antenna, or the like) that provide the programming.
- the receiving device 118 commonly receives a plurality of programming by way of the communications media or sources described in greater detail below. Based upon selection by a user, the receiving device 118 processes and communicates the selected programming to the presentation device 120 .
- the receiving device 118 may be a “television converter,” “receiver,” “set-top box,” “television receiving device,” “television receiver,” “television recording device,” “satellite set-top box,” “satellite receiver,” “cable set-top box,” “cable receiver,” “media player,” “streaming device,” and/or “television tuner.”
- the receiving device 118 may be any suitable converter device or electronic equipment that is operable to receive or play back programming and communicate program content search results for presentation on presentation device 120 .
- the receiving device 118 may itself include user interface devices, such as buttons or switches.
- a remote-control device (“remote”) 128 is operable to control the receiving device 118 and/or the presentation device 120 .
- the remote 128 typically communicates with the receiving device 118 using a suitable wireless medium, such as infrared (“IR”), radio frequency (“RF”), or the like.
- IR infrared
- RF radio frequency
- the search result display system 100 may also have such wireless functionality to communicate with and/or control other electronic devices remotely.
- Examples of a presentation device 120 include, but are not limited to, a television (“TV”), a monitor, a projector, a media player, a smartphone, a tablet device, a mobile device, a personal computer (“PC”), a digital video recorder (“DVR”), game system, or the like. Presentation devices 120 employ a display, one or more speakers, and/or other output devices to communicate video and/or audio content to a user. In many implementations, one or more presentation devices 120 reside in or near a customer's premises 116 and are communicatively coupled, directly or indirectly, to the receiving device 118 . Further, the receiving device 118 and the presentation device 120 may be integrated into a single device.
- Such a single device may have the above-described functionality of the receiving device 118 and the presentation device 120 , or may even have additional functionality.
- a search result display system such as search result display system 100 may also or instead be a part of, integrated with or otherwise operably coupled to various other electronic devices, such as presentation device 120 and/or remote 128 and, in various embodiments, may each operate independently or in conjunction with search result display system 100 of the receiving device 118 .
- a search result display system such as search result display system 100 may also or instead be a part of, integrated with or otherwise operably coupled to various other systems, such as those of program distributor 106 , sponsor system(s) 124 , content provider 104 and/or information provider 138 .
- a content provider 104 provides program content, such as television content, to a distributor, such as the program distributor 106 .
- Example content providers include television stations which provide local or national television programming, and special content providers which provide premium based programming or pay-per-view programming.
- a content provider 104 may also or instead be a streaming content provider that provides streaming digital content on demand over the Internet to devices directly, or via a program distributor 106 , via web browsers residing on the devices.
- a content provider or program distributor 106 may provide streaming digital content on demand over the Internet to devices, such as receiving device 118 , via a streaming application residing on the device that is specific to, and/or receives streaming content only from, the particular content provider platform provided by the content provider 104 .
- Program content which may also be referred to as a program, is communicated to the program distributor 106 from the content provider 104 through suitable communication media, generally illustrated as communication system 108 for convenience.
- Communication system 108 may include many different types of communication media, now known or later developed. Non-limiting media examples include telephone systems, the Internet, internets, intranets, cable systems, fiber optic systems, microwave systems, asynchronous transfer mode (“ATM”) systems, frame relay systems, radio frequency (“RF”) systems, cellular systems, satellite systems and other wireless systems.
- ATM asynchronous transfer mode
- RF radio frequency
- the received program content is converted by the program distributor 106 into a suitable signal (a “program signal”) that is communicated (i.e., “uplinked”) by one or more antennae 110 to one or more satellites 112 (separately illustrated herein from, although considered part of, the communication system 108 ).
- the communicated uplink signal may contain a plurality of multiplexed programs.
- the uplink signal is received by the satellite 112 and then communicated (i.e., “downlinked”) from the satellite 112 in one or more directions, for example, onto a predefined portion of the planet.
- a receiver antenna 114 that is within reception range of the downlink signal communicated from satellite 112 receives the above-described downlink signal.
- the receiver antenna 114 can be located at customer premises 116 .
- customer premises 116 include a residence, a business, or any other suitable location operable to receive signals from satellite 112 .
- the received signal is communicated, typically over a hard-wire connection, to the receiving device 118 .
- the receiving device 118 converts the received signal from antenna 114 into a signal and/or format suitable for communication to a presentation device 120 or another device, such as another receiving device, a mobile device or a home computing system.
- the receiver antenna 114 may be remotely located from the customer premises 116 .
- the antenna 114 may be located on the roof of an apartment building, such that the received signals may be transmitted, after possible recoding, via cable or other mechanisms, such as Wi-Fi, to the customer premises 116 .
- the receiving device 118 may receive programming partially, or entirely, from a source other than the above-described receiver antenna 114 .
- Other embodiments of the receiving device 118 may receive programming from program distributors 106 and/or content providers 104 via locally broadcast RF signals, cable, fiber optic, Internet media, or the like.
- information provider 138 may provide various forms of content and/or services to various devices residing in the customer premises 116 .
- information provider 138 may provide a program content catalog provided of programs (or metadata regarding or identifying programs) available to be streamed or broadcast to the particular receiving device, an EPG, a Web page or other information to the receiving device 118 or other computing device.
- Information provider 138 may further perform or facilitate electronic commerce transactions.
- Information provider 138 may also provide information regarding characteristics or demographics of users of receiving device 118 , search term sponsorship pricing, etc.
- the information provider 138 may also communicate with and/or provide such information to any other entity or system shown in FIG. 1 .
- FIG. 1 illustrates just one example of a content distribution environment 102 and the various embodiments discussed herein are not limited to such environments.
- environment 102 and the various devices therein may contain other devices, systems and/or media not specifically described herein.
- the search result display system 100 may be embedded or otherwise located in a component of a mobile device, smartphone or vehicle and the presentation device 120 may be that of a mobile device, vehicle navigation system or other audio-visual system.
- Example embodiments described herein provide applications, tools, data structures and other support to implement systems and methods for displaying search results for program content.
- the example of the electronic device having a search result display system 100 shown in FIG. 1 is receiving device 118 .
- other embodiments of the described techniques may include other devices having a search result display system such that sponsored search results associated with other devices and/or users may be generated, including other receiving devices, such as audio and DVD players, digital recorders, computers, peripherals, output devices, televisions, mobile devices, smartphones, tablets and other electronic devices.
- receiving devices such as audio and DVD players, digital recorders, computers, peripherals, output devices, televisions, mobile devices, smartphones, tablets and other electronic devices.
- numerous specific details are set forth, such as data formats, code sequences, and the like, in order to provide a thorough understanding of the described techniques.
- FIG. 2 is a block diagram illustrating elements of an example receiving device having a system for displaying search results for program content according to one non-limiting embodiment.
- the receiving device 118 is a set-top box configured to receive, record and display programming on a presentation device, such as presentation device 120 shown in FIG. 1 .
- the receiving device 118 is part of a presentation device, such as a television, or is a digital video recorder (DVR) device, or part of a mobile device or other portable computing device.
- DVR digital video recorder
- one or more general purpose or special purpose computing systems/devices may be used to operate and store information regarding the receiving device 118 , and communicate with communication system 108 .
- the receiving device 118 may comprise one or more distinct computing systems/devices and may span distributed locations.
- each block shown may represent one or more such blocks as appropriate to a specific embodiment or may be combined with other blocks.
- the search result display system 100 of the receiving device 118 may be implemented in software, hardware, firmware, or in some combination to achieve the capabilities described herein.
- receiving device 118 comprises a computer memory (“memory”) 201 , a display 202 , one or more Central Processing Units (“CPU”) 203 , Input/Output devices 204 (e.g., keyboard, mouse, RF or infrared receiver, light emitting diode (LED) panel or liquid crystal display (LCD), USB ports, other communication ports, and the like), other computer-readable media 205 , and network connections 206 .
- the program content catalog 216 , the priority indicators 217 and search results display generator 215 portions of the search result display system 100 are shown residing in memory 201 .
- some portion of the contents, and some, or all, of the components of program content catalog 216 , priority indicators 217 and search results display generator 215 may be stored on and/or transmitted over the other computer-readable media 205 .
- the search results display generator 215 preferably executes on one or more CPUs 203 and facilitates the displaying search results for program content as described herein.
- the search result display system 100 also facilitates communication with peripheral devices, such as remote 128 and remote systems, such as the program distributor 106 , content provider 104 , sponsor system(s) 124 , priority indicator system 122 and/or information provider 138 , via the I/O devices 204 and network connections 206 .
- the search result display system 100 may also interact via the communication system 108 with other devices and systems such as the program distributor 106 , content provider 104 , sponsor system(s) 124 , priority indicator system 122 and/or information provider 138 , or the like.
- the other device may be a home computing system (e.g., a desktop computer, a laptop computer, etc.) or mobile device that includes the functionality of the search results display generator 215 components of the search result display system 100 .
- the priority rules engine 232 may electronically receive, via an input device for the receiving device 118 (e.g., the remote control 128 ), one or more search terms for program content available to be streamed or broadcast to the receiving device 118 . In response to receiving the one or more search terms for program content, the priority rules engine 232 may electronically cause the search engine 234 to search, in the program content catalog 216 , for program content relevant to the one or more search terms.
- the program content catalog 216 may have been provided via communication system 108 (e.g., by the program distributor 106 , content provider 104 and/or information provider 138 ) to indicate programs available to be streamed or broadcast to the receiving device 118 .
- priority rules engine 232 may cause a listing of programs, television channels or streaming media content provider platforms to be displayed on the screen of the presentation device 120 .
- a first set of the listed programs, television channels or streaming media content provider platforms are relevant to the search terms based on the search and a second set of the listed programs, television channels or streaming media content provider platforms are also or instead listed or ordered on the display based on one or more received priority indicators 217 pre-associating the second set with the one or more search terms prior to the search.
- the priority rules engine 232 may electronically generate or receive one or more priority indicators 217 for certain programs, television channels or streaming media content provider platforms based on and in response to a sponsorship of the certain programs, television channels or streaming media content provider platforms.
- the priority indicators 217 give priority to order the certain programs, television channels or streaming media content provider platforms, in response to the search, to be displayed on the screen of the presentation device 120 above, or more prominently than, other items in the search result listing based on the sponsorship of the certain programs, television channels or streaming media content provider platforms.
- the priority rules engine 232 electronically determines, based on search results from the search, that a same program relevant to the search terms is available to be streamed to the particular receiving device via a plurality of different streaming media content provider platforms.
- the search results display generator 215 then electronically displays on the screen of the presentation device 120 the plurality of different streaming media content provider platforms based on the priority indicators 217 .
- the streaming media content provider platforms which are sponsored are displayed above or more prominently than other streaming media content provider platforms providing the same program, but which are not sponsored, or which are sponsored at a lower level.
- Other code or programs 230 e.g., an audio/video processing module, a Web server, and the like
- other data repositories such as other data store 220
- code or programs 230 also reside in the memory 201 , and preferably execute on one or more CPUs 203 .
- one or more of the components in FIG. 2 may not be present in any specific implementation. For example, some embodiments may not provide other computer readable media 205 or a display 202 .
- the search result display system 100 includes an application program interface (“API”) that provides programmatic access to one or more functions of the search result display system 100 .
- API application program interface
- Such an API may provide a programmatic interface to one or more functions of the search result display system 100 that may be invoked by one of the other programs 230 or some other module.
- the API enables software, such as user interfaces, plug-ins and adapters to integrate functions of the search result display system 100 into desktop computer or mobile device applications, and the like.
- the API may be, in at least some embodiments, invoked or otherwise accessed via the search result display system 100 , or remote entities, such as the program distributor 106 , content provider 104 , sponsor system(s) 124 , priority indicator system 122 and/or information provider 138 to access various functions of the search result display system 100 .
- the sponsor system(s) 124 may select particular search terms to purchase for the purpose of sponsoring a particular television program provided on a particular channel or streaming platform, and communicate this to the search result display system 100 , program distributor 106 , content provider 104 , priority indicator system 122 and/or information provider 138 via one or more APIs interfacing with those systems.
- the priority indicator system 122 receives such information and sends applicable priority indicators 217 to the search result display system 100 to indicate which programs, television channels or streaming media content provider platforms are to be displayed more prominently in conjunction with or as part of search results in response to particular search terms being used.
- one or more of the search results display system 100 , program content catalog 216 and priority indicators 217 may be operably present in one or more of the program distributor 106 , content provider 104 , sponsor system(s) 124 , priority indicator system 122 and/or information provider 138 .
- the receiving device 118 may transmit the search terms to a remote system and then the search may be performed remotely from the receiving device 118 .
- the search results including any sponsored results may then be communicated back to the receiving device 118 via network 108 for display on the screen of the presentation device 120 .
- components/modules of the search result display system 100 are implemented using standard programming techniques.
- the operation rules stored in the search results display generator 215 , priority rules engine 232 and search engine 234 portions of the search result display system 100 may be implemented as a “native” executable running on the CPU 203 , along with one or more static or dynamic libraries.
- the, the operation rules stored in the search results display generator 215 , priority rules engine 232 and search engine 234 portions of the search result display system 100 may be implemented as instructions processed by a virtual machine that executes as one of the other programs 230 .
- a range of programming languages known in the art may be employed for implementing such example embodiments, including representative implementations of various programming language paradigms, including but not limited to, object-oriented (e.g., Java, C++, C #, Visual Basic.NET, Smalltalk, and the like), functional (e.g., ML, Lisp, Scheme, and the like), procedural (e.g., C, Pascal, Ada, Modula, and the like), scripting (e.g., Perl, Ruby, Python, JavaScript, VBScript, and the like), or declarative (e.g., SQL, Prolog, XML, and the like).
- object-oriented e.g., Java, C++, C #, Visual Basic.NET, Smalltalk, and the like
- functional e.g., ML, Lisp, Scheme, and the like
- procedural e.g., C, Pascal, Ada, Modula, and the like
- scripting e.g., Perl, Ruby, Python, JavaScript,
- instructions stored in a memory configure, when executed, one or more processors of the receiving device 118 to perform the functions of the search result display system 100 described herein.
- instructions cause the CPU 203 or some other processor, such as an I/O controller/processor, to perform displaying search results for program content as described herein.
- the CPU 203 or other processor may be configured to perform other operations such as playing a recording of content and tracking viewing habits and interaction with sponsored results.
- the embodiments described above may also use well-known or other synchronous or asynchronous client-server computing techniques.
- the various components may be implemented using more monolithic programming techniques as well; for example, as an executable running on a single CPU computer system, or alternatively decomposed using a variety of structuring techniques known in the art, including but not limited to, multiprogramming, multithreading, client-server, or peer-to-peer, running on one or more computer systems each having one or more CPUs.
- Some embodiments may execute concurrently and asynchronously, and communicate using message passing techniques.
- Equivalent synchronous embodiments are also supported by a receiving device search result display system 100 implementation.
- other functions could be implemented and/or performed by each component/module, and in different orders, and by different components/modules, yet still achieve the functions of the search result display system 100 .
- programming interfaces to the data stored as part of the search result display system 100 can be available by standard mechanisms such as through C, C++, C #, and Java APIs; libraries for accessing files, databases, or other data repositories; scripting languages such as XML; or Web servers, FTP servers, or other types of servers providing access to stored data.
- the operations rules 216 and other data store 220 may be implemented as one or more database systems, file systems, or any other technique for storing such information, or any combination of the above, including implementations using distributed computing techniques.
- some or all of the components of the search result display system 100 may be implemented or provided in other manners, such as at least partially in firmware and/or hardware, including, but not limited to one or more application-specific integrated circuits (“ASICs”), standard integrated circuits, controllers (e.g., by executing appropriate instructions and including microcontrollers and/or embedded controllers), field-programmable gate arrays (“FPGAs”), complex programmable logic devices (“CPLDs”), and the like.
- ASICs application-specific integrated circuits
- controllers e.g., by executing appropriate instructions and including microcontrollers and/or embedded controllers
- FPGAs field-programmable gate arrays
- CPLDs complex programmable logic devices
- system components and/or data structures may also be stored as contents (e.g., as executable or other machine-readable software instructions or structured data) on a computer-readable medium (e.g., as a hard disk; a memory; a computer network, cellular wireless network or other data transmission medium; or a non-transitory computer-readable storage medium to be read by an appropriate drive or via an appropriate connection, such as a DVD, random access memory (RAM) or flash memory device) so as to enable or configure the computer-readable medium and/or one or more associated computing systems or devices to execute or otherwise use or provide the contents to perform at least some of the described techniques.
- a computer-readable medium e.g., as a hard disk; a memory; a computer network, cellular wireless network or other data transmission medium; or a non-transitory computer-readable storage medium to be read by an appropriate drive or via an appropriate connection, such as a DVD, random access memory (RAM) or flash memory device
- a transitory computer-readable medium as used herein means a signal transmission itself (for example, a propagating electrical or electromagnetic signal itself) and not the hardware medium on which information is stored.
- Some or all of the system components and data structures may also be stored as data signals (e.g., by being encoded as part of a carrier wave or included as part of an analog or digital propagated signal) on a variety of computer-readable transmission mediums, which are then transmitted, including across wireless-based and wired/cable-based mediums, and may take a variety of forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames).
- Such computer program products may also take other forms in other embodiments. Accordingly, embodiments of this disclosure may be practiced with other computer system configurations.
- FIG. 3 is an example search results 300 according to one non-limiting embodiment.
- a user has entered search terms (e.g., via a voice enabled remote control 128 or by textual input) to find particular programming related to those search terms.
- the system 100 of FIG. 2 has displayed on the screen of the presentation device 120 of FIG. 1 search results 300 including a sponsored results section 302 as top search results above or on top of the non-sponsored results section 304 .
- Program A 306 relevant to the search terms is available on streaming media content provider platform X 308 and the same Program A 310 is also available on the streaming media content provider platform Y 312 .
- streaming media content provider platform X has sponsored the search terms such that programs available from content provider platform X related to such search terms are displayed above other non-sponsored results.
- Program A 306 available on streaming media content provider platform X is displayed as a selectable item in the sponsored results section 302
- Program A 310 available on the streaming media content provider platform Y is displayed as a selectable item in the non-sponsored results section 304 below the sponsored results section 302 .
- a process may be initiated to play Program A via streaming media content provider platform X 308 or provide further information regarding Program A on streaming media content provider platform X 308 .
- the user may instead select the listing Program A 310 available on streaming media content provider platform Y 312 , and a process may be initiated to play Program A instead via streaming media content provider platform Y 312 or provide further information regarding Program A on streaming media content provider platform Y 312 .
- FIG. 4 is an example search results 400 according to another non-limiting embodiment.
- a user has entered search terms (e.g., via a voice enabled remote control 128 or by textual input) to find particular programming related to those search terms.
- the system 100 of FIG. 2 has displayed on the screen of the presentation device 120 of FIG. 1 search results 400 including a sponsored results section 302 as top search results above or on top of the non-sponsored results section 304 .
- the system 100 has found that there exists a priority indicator based on a sponsorship of those search terms for Program B 402 on channel z 404 and a priority indicator based on a sponsorship of those search terms for Program A 306 on streaming media content provider platform X 308 .
- priority indicators indicating which search result listing takes priority within such sponsored results (i.e., within the sponsored results section 302 ).
- the priority indicators e.g., from priority indicators 217
- Program B 402 on channel z 404 is to be listed within the sponsored results section 302 above
- Program A 306 on streaming media content provider platform X 308 e.g., sue to a higher sponsorship level
- a highest sponsorship level may cause a priority indicator to indicate that all programs on a particular channel or streaming media content provider platform are always to be listed at the very top of the sponsored results section 302 .
- FIG. 5 is a flow diagram of an example method 500 for displaying search results for program content according to one non-limiting embodiment.
- the system 100 electronically receives, via an input device for a receiving device, one or more search terms for program content available to be streamed or broadcast to the particular receiving device.
- the input device is a remote control device, and the electronically receiving the one or more search terms for program content available to be streamed or broadcast to the particular receiving device includes receiving the one or more search terms as voice input via the remote control device.
- the input device is a keyboard, touch screen or other device capable of receiving and processing the search terms as textual input.
- the system 100 in response to receiving the one or more search terms for program content, electronically causes a search to be performed, in a particular program content catalog provided for programs available to be streamed or broadcast to the particular receiving device, for program content relevant to the one or more search terms.
- the system 100 in response to the search, electronically causing a listing of programs, television channels or streaming media content provider platforms to be displayed on the screen.
- a first set of the listed programs, television channels or streaming media content provider platforms are relevant to the search terms based on the search.
- a second set of the listed programs, television channels or streaming media content provider platforms are also or instead listed or ordered on the display based on one or more received priority indicators pre-associating the second set with the one or more search terms prior to the search.
- the priority rules engine 232 may electronically generate or receive one or more priority indicators 217 for certain programs, television channels or streaming media content provider platforms based on and in response to a sponsorship of the certain programs, television channels or streaming media content provider platforms.
- the priority indicators 217 give priority to order the certain programs, television channels or streaming media content provider platforms, in response to the search, to be displayed on the screen of the presentation device 120 above, or more prominently than, other items in the search result listing based on the sponsorship of the certain programs, television channels or streaming media content provider platforms.
- the priority rules engine 232 electronically determines, based on search results from the search, that a same program relevant to the search terms is available to be streamed to the particular receiving device via a plurality of different streaming media content provider platforms.
- the search results display generator 215 then electronically displays on the screen of the presentation device 120 the plurality of different streaming media content provider platforms based on the priority indicators 217 .
- the streaming media content provider platforms which are sponsored are displayed above or more prominently than other streaming media content provider platforms providing the same program, but which are not sponsored, or which are sponsored at a lower level.
- FIG. 6 is a flow diagram of an example method 600 for displaying search results for program content involving received priority indicators based on sponsorship according to one non-limiting embodiment.
- causing the listing of programs, television channels or streaming media content provider platforms to be displayed on the screen as described with respect to method 500 may include the operation of method 600 .
- the system 100 electronically generates the first set of programs, television channels or streaming media content provider platforms based on results of the search.
- the system 100 determines whether there are any received priority indicators pre-associating the one or more search terms with any specific programs, television channels or streaming media content provider platforms available to be streamed or broadcast to the particular receiving device based on a sponsorship associated with the specific programs, television channels or streaming media content provider platforms. If it is determined that there are received priority indicators pre-associating the one or more search terms with any specific programs, television channels or streaming media content provider platforms available to be streamed or broadcast to the particular receiving device based on a sponsorship associated with the specific programs, television channels or streaming media content provider platforms, then the method 600 proceeds to 606 .
- the method 600 proceeds to 610 .
- the system 100 electronically includes the one or more specific programs, television channels or streaming media content provider platforms in the second set.
- the system 100 electronically causes the specific programs, television channels or streaming media content provider platforms included in the second set to be displayed above or more prominently than all programs, television channels and streaming media content provider platforms in the first set.
- the system 100 just displays the first set.
- FIG. 7 is a flow diagram of an example method 700 for displaying search results for program content involving searching metadata in a program content catalog according to one non-limiting embodiment.
- causing the search to be performed as described with respect to method 500 may include the operation of method 700 .
- the system 100 in response to receiving the search terms, searches the particular program content catalog for metadata associated with the search terms and with programs which, according to the catalog, are available to be streamed or broadcast to the particular receiving device.
- the system 100 identifies the first set based on metadata that is associated with the search terms and also describes content characteristics of the first set.
- the system 100 identifies as metadata in the particular program content catalog the priority indicators pre-associating the second set with the one or more search terms.
- the priority indicators indicate to display for selection the second set above or more prominently on the display than the first set.
- the system 100 determines to include the second set in the listing of programs based on the result of the searching in the particular program content catalog.
- the system 100 determines to display the second set for selection in the listing of programs above or more prominently on the display than the first set based on the priority indicators.
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
Description
- A system for displaying search results may, in response to receiving the one or more search terms for program content, cause a search to be performed in a particular program content catalog provided for programs available to be streamed or broadcast to a particular receiving device. The system may determine that a first set of programs, television channels or streaming media content provider platforms is relevant to search terms input by a user. A second set of the programs, television channels or streaming media content provider platforms are also or instead listed or ordered on the display based on one or more received priority indicators. The priority indicators may be generated and/or received based on sponsorships from various sponsor systems. For example, the priority indicators may pre-associate the second set of programs with one or more specific search terms prior to the search. Various different sponsors (e.g., advertisers) may purchase or otherwise obtain rights to one or more search terms, such that their particular sponsored programs, television channels or streaming media content provider platforms are displayed above or more prominently than other items in the search results resulting from use of those search terms by users of the receiving device, users of the content distribution system of the receiving device and/or users that meet certain characteristics or demographics. In some instances, one or both of the sets may include zero or just one item.
- In one example, the system determines, based on search results from the search, that the same program relevant to the search terms is available to be streamed to the particular receiving device via a plurality of different streaming media content provider platforms. The system then electronically displays the plurality of different streaming media content provider platforms providing that same program based on the priority indicators. In particular, the streaming media content provider platforms which are sponsored are displayed above or more prominently than other streaming media content provider platforms providing the same program, but which are not sponsored, or which are sponsored at a lower level.
- The components in the drawings are not necessarily to scale relative to each other. Like reference numerals designate corresponding parts throughout the several views.
-
FIG. 1 is a block diagram illustrating an example environment in which embodiments of systems and methods for displaying search results for program content may be implemented according to one non-limiting embodiment. -
FIG. 2 is a block diagram illustrating elements of an example receiving device having a system for displaying search results for program content according to one non-limiting embodiment. -
FIG. 3 is an example search results according to one non-limiting embodiment. -
FIG. 4 is an example search results according to another non-limiting embodiment. -
FIG. 5 is a flow diagram of an example method for displaying search results for program content according to one non-limiting embodiment. -
FIG. 6 is a flow diagram of an example method for displaying search results for program content involving received priority indicators based on sponsorship according to one non-limiting embodiment. -
FIG. 7 is a flow diagram of an example method for displaying search results for program content involving searching metadata in a program content catalog according to one non-limiting embodiment. -
FIG. 1 is a block diagram illustrating an example environment in which embodiments of systems and methods for displaying search results for program content may be implemented according to one non-limiting embodiment. - A search
result display system 100 may be part of or otherwise operably coupled to an electronic device such as a receiving device 118 (e.g., on a customer premises 116) to search, based on received search terms, for programs available to be streamed or broadcast to receivingdevice 118. The searchresult display system 100 may also generate for display on presentation device 120 a listing of programs, television channels or streaming media content provider platforms ordered based on the search and one or more received priority indicators (e.g., based on sponsorships). For example, the searchresult display system 100 may cause a voice search result for “sci-fi movies” to contain a top result that is sponsored. The top result displayed based on the priority indicator may or may not have otherwise been present at all in the search results. In various embodiments, sponsored results may be offered to potential advertisers as a way to increase their content viewership on a particular television service provider's platform, such as that of a satellite television service provider providing service to receivingdevice 118. - Also, in various embodiments, sponsored results may be offered to potential advertisers as a path to direct consumers to specific content within the streaming services available via receiving
device 118. As one example, a service provider providing service to receivingdevice 118 may electronically reach out to particular streaming media content providers to allow them to automatically insert sponsored results that lead to their specific streaming provider platform from a voice search or other search input methods, such as textual input, by the user. As another example, if a search reveals the same content is available via receivingdevice 118 on multiple platforms, the searchresult display system 100 may order the listed applications of the multiple platforms on which the content is available based on which of those platforms has a sponsorship tied or otherwise related to the search terms that were used to find that content. In some embodiments, the searchresult display system 100 may be located in, or hosted by, a remote system such as that of theprogram distributor 106,content provider 104 and/orinformation provider 138. - In one example embodiment, a first set of programs, television channels or streaming media content provider platforms may be relevant to the search terms based on the search. A second set of the programs, television channels or streaming media content provider platforms are also or instead listed or ordered on the display, such as on
presentation device 120, based on one or more received priority indicators received form thepriority indicator system 122. The priority indicators may be generated and/or received based on sponsorships from the various sponsor system(s) 124. For example, the priority indicators may pre-associate the second set of programs with one or more specific search terms prior to the search. Various different sponsors (e.g., advertisers) may purchase or otherwise obtain rights to one or more search terms, such that their particular sponsored programs, television channels or streaming media content provider platforms are displayed above or more prominently than other items in the search results provided in response to use of those search terms by users of thereceiving device 118, users of the content distribution system of thereceiving device 118 and/or users of the content distribution system that meet certain characteristics or demographics. - In various embodiments, this second set of programs may be displayed above, or more prominently on the
presentation device 120 than, other items in the search result listing based on the sponsorship of the certain programs, television channels or streaming media content provider platforms in the second set. The advertisers and/or sponsors may include, but are not limited to: streaming media content providers; television broadcast channels; program distributors; other content providers; program distributors; service providers; and sponsors or other advertisers associated with particular programs, broadcast television channels or streaming media content provider platforms; etc. Sponsor system(s) 124 may include systems of such entities and/or systems of brokers, clearinghouses, agents, service providers, or representatives of such entities. - The search
result display system 100 may also be operably connected to acommunication system 108 to send and receive information with other systems. For example, this communication may be to receive a particular program content catalog provided by theprogram distributor 106,content provider 104 and/orinformation provider 138 for programs available to be streamed or broadcast to theparticular receiving device 118; to receive priority indicators from thepriority indicator system 122; to send or receive search results; to send or receive requests for search results or other such information listed above; and to send and receive configuration information regarding thereceiving device 118 and/or other electronic devices in communication with thereceiving device 118, etc. - Such information may also be used to generate a search results list on other devices for display on remote devices or display screens that are based on received priority indicators. In various embodiments, the
program distributor 106,content provider 104, sponsor system(s) 124, and/orinformation provider 138 each represent multiple different entities and systems of that respective type, some or all of which communicate with one or more different receiving devices, such as receivingdevice 118, to implement the systems and methods for displaying search results for program content as described herein. - In the
environment 102, audio, video, and/or data service providers, such as, but not limited to, television service providers, provide their customers a multitude of video and/or data programming (hereafter, collectively and/or exclusively “programming”). Such programming is often provided by use of areceiving device 118 communicatively coupled to apresentation device 120 configured to receive the programming. - The
receiving device 118 interconnects to one or more communications media or sources (such as a cable head-end, satellite antenna, telephone company switch, Ethernet portal, off-air antenna, or the like) that provide the programming. Thereceiving device 118 commonly receives a plurality of programming by way of the communications media or sources described in greater detail below. Based upon selection by a user, thereceiving device 118 processes and communicates the selected programming to thepresentation device 120. - For example, the
receiving device 118 may be a “television converter,” “receiver,” “set-top box,” “television receiving device,” “television receiver,” “television recording device,” “satellite set-top box,” “satellite receiver,” “cable set-top box,” “cable receiver,” “media player,” “streaming device,” and/or “television tuner.” Accordingly, thereceiving device 118 may be any suitable converter device or electronic equipment that is operable to receive or play back programming and communicate program content search results for presentation onpresentation device 120. Further, thereceiving device 118 may itself include user interface devices, such as buttons or switches. In many applications, a remote-control device (“remote”) 128 is operable to control thereceiving device 118 and/or thepresentation device 120. The remote 128 typically communicates with thereceiving device 118 using a suitable wireless medium, such as infrared (“IR”), radio frequency (“RF”), or the like. The searchresult display system 100 may also have such wireless functionality to communicate with and/or control other electronic devices remotely. - Examples of a
presentation device 120 include, but are not limited to, a television (“TV”), a monitor, a projector, a media player, a smartphone, a tablet device, a mobile device, a personal computer (“PC”), a digital video recorder (“DVR”), game system, or the like.Presentation devices 120 employ a display, one or more speakers, and/or other output devices to communicate video and/or audio content to a user. In many implementations, one ormore presentation devices 120 reside in or near a customer'spremises 116 and are communicatively coupled, directly or indirectly, to thereceiving device 118. Further, thereceiving device 118 and thepresentation device 120 may be integrated into a single device. Such a single device may have the above-described functionality of thereceiving device 118 and thepresentation device 120, or may even have additional functionality. Also, a search result display system such as searchresult display system 100 may also or instead be a part of, integrated with or otherwise operably coupled to various other electronic devices, such aspresentation device 120 and/or remote 128 and, in various embodiments, may each operate independently or in conjunction with searchresult display system 100 of thereceiving device 118. Also, a search result display system such as searchresult display system 100 may also or instead be a part of, integrated with or otherwise operably coupled to various other systems, such as those ofprogram distributor 106, sponsor system(s) 124,content provider 104 and/orinformation provider 138. - A
content provider 104 provides program content, such as television content, to a distributor, such as theprogram distributor 106. Example content providers include television stations which provide local or national television programming, and special content providers which provide premium based programming or pay-per-view programming. Acontent provider 104 may also or instead be a streaming content provider that provides streaming digital content on demand over the Internet to devices directly, or via aprogram distributor 106, via web browsers residing on the devices. In some embodiments, instead of via a web browser, a content provider orprogram distributor 106 may provide streaming digital content on demand over the Internet to devices, such as receivingdevice 118, via a streaming application residing on the device that is specific to, and/or receives streaming content only from, the particular content provider platform provided by thecontent provider 104. - Program content, which may also be referred to as a program, is communicated to the
program distributor 106 from thecontent provider 104 through suitable communication media, generally illustrated ascommunication system 108 for convenience.Communication system 108 may include many different types of communication media, now known or later developed. Non-limiting media examples include telephone systems, the Internet, internets, intranets, cable systems, fiber optic systems, microwave systems, asynchronous transfer mode (“ATM”) systems, frame relay systems, radio frequency (“RF”) systems, cellular systems, satellite systems and other wireless systems. - In at least one embodiment, the received program content is converted by the
program distributor 106 into a suitable signal (a “program signal”) that is communicated (i.e., “uplinked”) by one ormore antennae 110 to one or more satellites 112 (separately illustrated herein from, although considered part of, the communication system 108). The communicated uplink signal may contain a plurality of multiplexed programs. The uplink signal is received by thesatellite 112 and then communicated (i.e., “downlinked”) from thesatellite 112 in one or more directions, for example, onto a predefined portion of the planet. - A
receiver antenna 114 that is within reception range of the downlink signal communicated fromsatellite 112 receives the above-described downlink signal. Thereceiver antenna 114 can be located atcustomer premises 116. Examples ofcustomer premises 116 include a residence, a business, or any other suitable location operable to receive signals fromsatellite 112. The received signal is communicated, typically over a hard-wire connection, to the receivingdevice 118. The receivingdevice 118 converts the received signal fromantenna 114 into a signal and/or format suitable for communication to apresentation device 120 or another device, such as another receiving device, a mobile device or a home computing system. In some embodiments, thereceiver antenna 114 may be remotely located from thecustomer premises 116. For example, theantenna 114 may be located on the roof of an apartment building, such that the received signals may be transmitted, after possible recoding, via cable or other mechanisms, such as Wi-Fi, to thecustomer premises 116. - The receiving
device 118 may receive programming partially, or entirely, from a source other than the above-describedreceiver antenna 114. Other embodiments of the receivingdevice 118 may receive programming fromprogram distributors 106 and/orcontent providers 104 via locally broadcast RF signals, cable, fiber optic, Internet media, or the like. - In addition,
information provider 138 may provide various forms of content and/or services to various devices residing in thecustomer premises 116. For example,information provider 138 may provide a program content catalog provided of programs (or metadata regarding or identifying programs) available to be streamed or broadcast to the particular receiving device, an EPG, a Web page or other information to the receivingdevice 118 or other computing device.Information provider 138 may further perform or facilitate electronic commerce transactions.Information provider 138 may also provide information regarding characteristics or demographics of users of receivingdevice 118, search term sponsorship pricing, etc. Theinformation provider 138 may also communicate with and/or provide such information to any other entity or system shown inFIG. 1 . - The above description of the
environment 102, thecustomer premises 116, and the various devices therein, is intended as a broad, non-limiting overview of an example environment in which various embodiments of systems and methods for displaying search results for program content may be implemented.FIG. 1 illustrates just one example of acontent distribution environment 102 and the various embodiments discussed herein are not limited to such environments. In particular,environment 102 and the various devices therein, may contain other devices, systems and/or media not specifically described herein. For example, in some embodiments, the searchresult display system 100 may be embedded or otherwise located in a component of a mobile device, smartphone or vehicle and thepresentation device 120 may be that of a mobile device, vehicle navigation system or other audio-visual system. - Example embodiments described herein provide applications, tools, data structures and other support to implement systems and methods for displaying search results for program content. The example of the electronic device having a search
result display system 100 shown inFIG. 1 is receivingdevice 118. However, other embodiments of the described techniques may include other devices having a search result display system such that sponsored search results associated with other devices and/or users may be generated, including other receiving devices, such as audio and DVD players, digital recorders, computers, peripherals, output devices, televisions, mobile devices, smartphones, tablets and other electronic devices. In the following description, numerous specific details are set forth, such as data formats, code sequences, and the like, in order to provide a thorough understanding of the described techniques. The embodiments described also can be practiced without some of the specific details described herein, or with other specific details, such as changes with respect to the ordering of the code flow, different code flows, and the like. Thus, the scope of the techniques and/or functions described are not limited by the particular order, selection, or decomposition of steps described with reference to any particular module, component, or routine. -
FIG. 2 is a block diagram illustrating elements of an example receiving device having a system for displaying search results for program content according to one non-limiting embodiment. - In one embodiment, the receiving
device 118 is a set-top box configured to receive, record and display programming on a presentation device, such aspresentation device 120 shown inFIG. 1 . In other embodiments, the receivingdevice 118 is part of a presentation device, such as a television, or is a digital video recorder (DVR) device, or part of a mobile device or other portable computing device. Note that one or more general purpose or special purpose computing systems/devices may be used to operate and store information regarding the receivingdevice 118, and communicate withcommunication system 108. In addition, the receivingdevice 118 may comprise one or more distinct computing systems/devices and may span distributed locations. Furthermore, each block shown may represent one or more such blocks as appropriate to a specific embodiment or may be combined with other blocks. Also, the searchresult display system 100 of the receivingdevice 118 may be implemented in software, hardware, firmware, or in some combination to achieve the capabilities described herein. - In the embodiment shown, receiving
device 118 comprises a computer memory (“memory”) 201, a display 202, one or more Central Processing Units (“CPU”) 203, Input/Output devices 204 (e.g., keyboard, mouse, RF or infrared receiver, light emitting diode (LED) panel or liquid crystal display (LCD), USB ports, other communication ports, and the like), other computer-readable media 205, and network connections 206. Theprogram content catalog 216, thepriority indicators 217 and search results displaygenerator 215 portions of the searchresult display system 100 are shown residing inmemory 201. In other embodiments, some portion of the contents, and some, or all, of the components ofprogram content catalog 216,priority indicators 217 and search results displaygenerator 215 may be stored on and/or transmitted over the other computer-readable media 205. The search resultsdisplay generator 215 preferably executes on one ormore CPUs 203 and facilitates the displaying search results for program content as described herein. The searchresult display system 100 also facilitates communication with peripheral devices, such asremote 128 and remote systems, such as theprogram distributor 106,content provider 104, sponsor system(s) 124,priority indicator system 122 and/orinformation provider 138, via the I/O devices 204 and network connections 206. For example, the searchresult display system 100 may also interact via thecommunication system 108 with other devices and systems such as theprogram distributor 106,content provider 104, sponsor system(s) 124,priority indicator system 122 and/orinformation provider 138, or the like. For example, the other device may be a home computing system (e.g., a desktop computer, a laptop computer, etc.) or mobile device that includes the functionality of the search results displaygenerator 215 components of the searchresult display system 100. - The priority rules
engine 232 may electronically receive, via an input device for the receiving device 118 (e.g., the remote control 128), one or more search terms for program content available to be streamed or broadcast to the receivingdevice 118. In response to receiving the one or more search terms for program content, the priority rulesengine 232 may electronically cause thesearch engine 234 to search, in theprogram content catalog 216, for program content relevant to the one or more search terms. Theprogram content catalog 216 may have been provided via communication system 108 (e.g., by theprogram distributor 106,content provider 104 and/or information provider 138) to indicate programs available to be streamed or broadcast to the receivingdevice 118. - In response to the search,
priority rules engine 232 may cause a listing of programs, television channels or streaming media content provider platforms to be displayed on the screen of thepresentation device 120. A first set of the listed programs, television channels or streaming media content provider platforms are relevant to the search terms based on the search and a second set of the listed programs, television channels or streaming media content provider platforms are also or instead listed or ordered on the display based on one or morereceived priority indicators 217 pre-associating the second set with the one or more search terms prior to the search. - For example, the priority rules
engine 232 may electronically generate or receive one ormore priority indicators 217 for certain programs, television channels or streaming media content provider platforms based on and in response to a sponsorship of the certain programs, television channels or streaming media content provider platforms. Thepriority indicators 217 give priority to order the certain programs, television channels or streaming media content provider platforms, in response to the search, to be displayed on the screen of thepresentation device 120 above, or more prominently than, other items in the search result listing based on the sponsorship of the certain programs, television channels or streaming media content provider platforms. - In one example, the priority rules
engine 232 electronically determines, based on search results from the search, that a same program relevant to the search terms is available to be streamed to the particular receiving device via a plurality of different streaming media content provider platforms. The search resultsdisplay generator 215 then electronically displays on the screen of thepresentation device 120 the plurality of different streaming media content provider platforms based on thepriority indicators 217. The streaming media content provider platforms which are sponsored are displayed above or more prominently than other streaming media content provider platforms providing the same program, but which are not sponsored, or which are sponsored at a lower level. - Other code or programs 230 (e.g., an audio/video processing module, a Web server, and the like), and potentially other data repositories, such as
other data store 220, also reside in thememory 201, and preferably execute on one ormore CPUs 203. Of note, one or more of the components inFIG. 2 may not be present in any specific implementation. For example, some embodiments may not provide other computer readable media 205 or a display 202. - In some embodiments, the search
result display system 100 includes an application program interface (“API”) that provides programmatic access to one or more functions of the searchresult display system 100. Such an API may provide a programmatic interface to one or more functions of the searchresult display system 100 that may be invoked by one of theother programs 230 or some other module. In this manner, the API enables software, such as user interfaces, plug-ins and adapters to integrate functions of the searchresult display system 100 into desktop computer or mobile device applications, and the like. - In addition, the API may be, in at least some embodiments, invoked or otherwise accessed via the search
result display system 100, or remote entities, such as theprogram distributor 106,content provider 104, sponsor system(s) 124,priority indicator system 122 and/orinformation provider 138 to access various functions of the searchresult display system 100. For example, the sponsor system(s) 124 may select particular search terms to purchase for the purpose of sponsoring a particular television program provided on a particular channel or streaming platform, and communicate this to the searchresult display system 100,program distributor 106,content provider 104,priority indicator system 122 and/orinformation provider 138 via one or more APIs interfacing with those systems. In various embodiments, thepriority indicator system 122 receives such information and sendsapplicable priority indicators 217 to the searchresult display system 100 to indicate which programs, television channels or streaming media content provider platforms are to be displayed more prominently in conjunction with or as part of search results in response to particular search terms being used. - In various embodiments, one or more of the search results
display system 100,program content catalog 216 andpriority indicators 217 may be operably present in one or more of theprogram distributor 106,content provider 104, sponsor system(s) 124,priority indicator system 122 and/orinformation provider 138. For example, the receivingdevice 118 may transmit the search terms to a remote system and then the search may be performed remotely from the receivingdevice 118. The search results including any sponsored results may then be communicated back to the receivingdevice 118 vianetwork 108 for display on the screen of thepresentation device 120. - In an example embodiment, components/modules of the search
result display system 100 are implemented using standard programming techniques. For example, the operation rules stored in the search results displaygenerator 215,priority rules engine 232 andsearch engine 234 portions of the searchresult display system 100 may be implemented as a “native” executable running on theCPU 203, along with one or more static or dynamic libraries. In other embodiments, the, the operation rules stored in the search results displaygenerator 215,priority rules engine 232 andsearch engine 234 portions of the searchresult display system 100 may be implemented as instructions processed by a virtual machine that executes as one of theother programs 230. In general, a range of programming languages known in the art may be employed for implementing such example embodiments, including representative implementations of various programming language paradigms, including but not limited to, object-oriented (e.g., Java, C++, C #, Visual Basic.NET, Smalltalk, and the like), functional (e.g., ML, Lisp, Scheme, and the like), procedural (e.g., C, Pascal, Ada, Modula, and the like), scripting (e.g., Perl, Ruby, Python, JavaScript, VBScript, and the like), or declarative (e.g., SQL, Prolog, XML, and the like). - In a software or firmware implementation, instructions stored in a memory configure, when executed, one or more processors of the receiving
device 118 to perform the functions of the searchresult display system 100 described herein. In one embodiment, instructions cause theCPU 203 or some other processor, such as an I/O controller/processor, to perform displaying search results for program content as described herein. Similarly, theCPU 203 or other processor may be configured to perform other operations such as playing a recording of content and tracking viewing habits and interaction with sponsored results. - The embodiments described above may also use well-known or other synchronous or asynchronous client-server computing techniques. However, the various components may be implemented using more monolithic programming techniques as well; for example, as an executable running on a single CPU computer system, or alternatively decomposed using a variety of structuring techniques known in the art, including but not limited to, multiprogramming, multithreading, client-server, or peer-to-peer, running on one or more computer systems each having one or more CPUs. Some embodiments may execute concurrently and asynchronously, and communicate using message passing techniques. Equivalent synchronous embodiments are also supported by a receiving device search
result display system 100 implementation. Also, other functions could be implemented and/or performed by each component/module, and in different orders, and by different components/modules, yet still achieve the functions of the searchresult display system 100. - In addition, programming interfaces to the data stored as part of the search
result display system 100, can be available by standard mechanisms such as through C, C++, C #, and Java APIs; libraries for accessing files, databases, or other data repositories; scripting languages such as XML; or Web servers, FTP servers, or other types of servers providing access to stored data. The operations rules 216 andother data store 220 may be implemented as one or more database systems, file systems, or any other technique for storing such information, or any combination of the above, including implementations using distributed computing techniques. - Different configurations and locations of programs and data are contemplated for use with techniques described herein. A variety of distributed computing techniques are appropriate for implementing the components of the illustrated embodiments in a distributed manner including but not limited to TCP/IP sockets, RPC, RMI, HTTP, and Web Services (XML-RPC, JAX-RPC, SOAP, and the like). Other variations are possible. Other functionality could also be provided by each component/module, or existing functionality could be distributed amongst the components/modules in different ways, yet still achieve the functions of the search
result display system 100. - Furthermore, in some embodiments, some or all of the components of the search
result display system 100 may be implemented or provided in other manners, such as at least partially in firmware and/or hardware, including, but not limited to one or more application-specific integrated circuits (“ASICs”), standard integrated circuits, controllers (e.g., by executing appropriate instructions and including microcontrollers and/or embedded controllers), field-programmable gate arrays (“FPGAs”), complex programmable logic devices (“CPLDs”), and the like. Some or all of the system components and/or data structures may also be stored as contents (e.g., as executable or other machine-readable software instructions or structured data) on a computer-readable medium (e.g., as a hard disk; a memory; a computer network, cellular wireless network or other data transmission medium; or a non-transitory computer-readable storage medium to be read by an appropriate drive or via an appropriate connection, such as a DVD, random access memory (RAM) or flash memory device) so as to enable or configure the computer-readable medium and/or one or more associated computing systems or devices to execute or otherwise use or provide the contents to perform at least some of the described techniques. A transitory computer-readable medium as used herein means a signal transmission itself (for example, a propagating electrical or electromagnetic signal itself) and not the hardware medium on which information is stored. Some or all of the system components and data structures may also be stored as data signals (e.g., by being encoded as part of a carrier wave or included as part of an analog or digital propagated signal) on a variety of computer-readable transmission mediums, which are then transmitted, including across wireless-based and wired/cable-based mediums, and may take a variety of forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames). Such computer program products may also take other forms in other embodiments. Accordingly, embodiments of this disclosure may be practiced with other computer system configurations. -
FIG. 3 is anexample search results 300 according to one non-limiting embodiment. In the example shown, a user has entered search terms (e.g., via a voice enabledremote control 128 or by textual input) to find particular programming related to those search terms. In response, thesystem 100 ofFIG. 2 has displayed on the screen of thepresentation device 120 ofFIG. 1 search results 300 including a sponsoredresults section 302 as top search results above or on top of thenon-sponsored results section 304. In the present example, as a result of the search, thesystem 100 found thatProgram A 306 relevant to the search terms is available on streaming media contentprovider platform X 308 and thesame Program A 310 is also available on the streaming media contentprovider platform Y 312. However, streaming media content provider platform X has sponsored the search terms such that programs available from content provider platform X related to such search terms are displayed above other non-sponsored results. Thus, in the search results 300.Program A 306 available on streaming media content provider platform X is displayed as a selectable item in the sponsoredresults section 302, whereasProgram A 310 available on the streaming media content provider platform Y is displayed as a selectable item in thenon-sponsored results section 304 below the sponsoredresults section 302. When the user selects thelisting Program A 306 available on streaming media contentprovider platform X 308, a process may be initiated to play Program A via streaming media contentprovider platform X 308 or provide further information regarding Program A on streaming media contentprovider platform X 308. The user may instead select thelisting Program A 310 available on streaming media contentprovider platform Y 312, and a process may be initiated to play Program A instead via streaming media contentprovider platform Y 312 or provide further information regarding Program A on streaming media contentprovider platform Y 312. -
FIG. 4 is anexample search results 400 according to another non-limiting embodiment. In the example shown, a user has entered search terms (e.g., via a voice enabledremote control 128 or by textual input) to find particular programming related to those search terms. In response, thesystem 100 ofFIG. 2 has displayed on the screen of thepresentation device 120 ofFIG. 1 search results 400 including a sponsoredresults section 302 as top search results above or on top of thenon-sponsored results section 304. In the present example, as a result of the search, thesystem 100 has found that there exists a priority indicator based on a sponsorship of those search terms forProgram B 402 onchannel z 404 and a priority indicator based on a sponsorship of those search terms forProgram A 306 on streaming media contentprovider platform X 308. However, there may be additional priority indicators indicating which search result listing takes priority within such sponsored results (i.e., within the sponsored results section 302). In the present example, the priority indicators (e.g., from priority indicators 217) indicate thatProgram B 402 onchannel z 404 is to be listed within the sponsoredresults section 302 aboveProgram A 306 on streaming media content provider platform X 308 (e.g., sue to a higher sponsorship level) based on use of those search terms or other criteria, regardless of a degree of relevance of the individual program to the search terms. For example, a highest sponsorship level may cause a priority indicator to indicate that all programs on a particular channel or streaming media content provider platform are always to be listed at the very top of the sponsoredresults section 302. -
FIG. 5 is a flow diagram of anexample method 500 for displaying search results for program content according to one non-limiting embodiment. - At 502, the
system 100 electronically receives, via an input device for a receiving device, one or more search terms for program content available to be streamed or broadcast to the particular receiving device. In an example embodiment, the input device is a remote control device, and the electronically receiving the one or more search terms for program content available to be streamed or broadcast to the particular receiving device includes receiving the one or more search terms as voice input via the remote control device. However, other embodiments the input device is a keyboard, touch screen or other device capable of receiving and processing the search terms as textual input. - At 504, the
system 100, in response to receiving the one or more search terms for program content, electronically causes a search to be performed, in a particular program content catalog provided for programs available to be streamed or broadcast to the particular receiving device, for program content relevant to the one or more search terms. - At 506, the
system 100, in response to the search, electronically causing a listing of programs, television channels or streaming media content provider platforms to be displayed on the screen. A first set of the listed programs, television channels or streaming media content provider platforms are relevant to the search terms based on the search. A second set of the listed programs, television channels or streaming media content provider platforms are also or instead listed or ordered on the display based on one or more received priority indicators pre-associating the second set with the one or more search terms prior to the search. For example, referring toFIG. 2 , the priority rulesengine 232 may electronically generate or receive one ormore priority indicators 217 for certain programs, television channels or streaming media content provider platforms based on and in response to a sponsorship of the certain programs, television channels or streaming media content provider platforms. Thepriority indicators 217 give priority to order the certain programs, television channels or streaming media content provider platforms, in response to the search, to be displayed on the screen of thepresentation device 120 above, or more prominently than, other items in the search result listing based on the sponsorship of the certain programs, television channels or streaming media content provider platforms. - In another example, the priority rules
engine 232 electronically determines, based on search results from the search, that a same program relevant to the search terms is available to be streamed to the particular receiving device via a plurality of different streaming media content provider platforms. The search resultsdisplay generator 215 then electronically displays on the screen of thepresentation device 120 the plurality of different streaming media content provider platforms based on thepriority indicators 217. The streaming media content provider platforms which are sponsored are displayed above or more prominently than other streaming media content provider platforms providing the same program, but which are not sponsored, or which are sponsored at a lower level. -
FIG. 6 is a flow diagram of anexample method 600 for displaying search results for program content involving received priority indicators based on sponsorship according to one non-limiting embodiment. In an example embodiment, causing the listing of programs, television channels or streaming media content provider platforms to be displayed on the screen as described with respect tomethod 500 may include the operation ofmethod 600. - At 602, the
system 100 electronically generates the first set of programs, television channels or streaming media content provider platforms based on results of the search. - At 604, the
system 100 determines whether there are any received priority indicators pre-associating the one or more search terms with any specific programs, television channels or streaming media content provider platforms available to be streamed or broadcast to the particular receiving device based on a sponsorship associated with the specific programs, television channels or streaming media content provider platforms. If it is determined that there are received priority indicators pre-associating the one or more search terms with any specific programs, television channels or streaming media content provider platforms available to be streamed or broadcast to the particular receiving device based on a sponsorship associated with the specific programs, television channels or streaming media content provider platforms, then themethod 600 proceeds to 606. On the other hand, if it is determined that there are not any received priority indicators pre-associating the one or more search terms with any specific programs, television channels or streaming media content provider platforms available to be streamed or broadcast to the particular receiving device based on a sponsorship associated with the specific programs, television channels or streaming media content provider platforms, then themethod 600 proceeds to 610. - At 606, the
system 100 electronically includes the one or more specific programs, television channels or streaming media content provider platforms in the second set. - At 608, the
system 100 electronically causes the specific programs, television channels or streaming media content provider platforms included in the second set to be displayed above or more prominently than all programs, television channels and streaming media content provider platforms in the first set. - At 610, if it is determined that there are not any received priority indicators pre-associating the one or more search terms with any specific programs, television channels or streaming media content provider platforms available to be streamed or broadcast to the particular receiving device based on a sponsorship associated with the specific programs, television channels or streaming media content provider platforms, then the
system 100 just displays the first set. -
FIG. 7 is a flow diagram of anexample method 700 for displaying search results for program content involving searching metadata in a program content catalog according to one non-limiting embodiment. In an example embodiment, causing the search to be performed as described with respect tomethod 500 may include the operation ofmethod 700. - At 702, the
system 100, in response to receiving the search terms, searches the particular program content catalog for metadata associated with the search terms and with programs which, according to the catalog, are available to be streamed or broadcast to the particular receiving device. - At 704, the
system 100, as a result of the searching, identifies the first set based on metadata that is associated with the search terms and also describes content characteristics of the first set. - At 706, the
system 100, as a result of the searching, identifies as metadata in the particular program content catalog the priority indicators pre-associating the second set with the one or more search terms. The priority indicators indicate to display for selection the second set above or more prominently on the display than the first set. - At 708, the
system 100, determines to include the second set in the listing of programs based on the result of the searching in the particular program content catalog. - At 710, the
system 100 determines to display the second set for selection in the listing of programs above or more prominently on the display than the first set based on the priority indicators. - While various embodiments have been described hereinabove, it is to be appreciated that various changes in form and detail may be made without departing from the scope of the invention(s) presently or hereafter claimed.
Claims (20)
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/982,249 US12348828B2 (en) | 2022-11-07 | 2022-11-07 | Systems and methods for displaying search results for program content |
| US19/233,330 US20250310611A1 (en) | 2022-11-07 | 2025-06-10 | Systems and methods for displaying search results for program content |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/982,249 US12348828B2 (en) | 2022-11-07 | 2022-11-07 | Systems and methods for displaying search results for program content |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US19/233,330 Continuation US20250310611A1 (en) | 2022-11-07 | 2025-06-10 | Systems and methods for displaying search results for program content |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| US20240155201A1 true US20240155201A1 (en) | 2024-05-09 |
| US12348828B2 US12348828B2 (en) | 2025-07-01 |
Family
ID=90928425
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US17/982,249 Active 2042-11-07 US12348828B2 (en) | 2022-11-07 | 2022-11-07 | Systems and methods for displaying search results for program content |
| US19/233,330 Pending US20250310611A1 (en) | 2022-11-07 | 2025-06-10 | Systems and methods for displaying search results for program content |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US19/233,330 Pending US20250310611A1 (en) | 2022-11-07 | 2025-06-10 | Systems and methods for displaying search results for program content |
Country Status (1)
| Country | Link |
|---|---|
| US (2) | US12348828B2 (en) |
Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080189736A1 (en) * | 2007-02-07 | 2008-08-07 | Sbc Knowledge Ventures L.P. | System and method for displaying information related to a television signal |
| US20120330854A1 (en) * | 2009-05-08 | 2012-12-27 | Maclaughlin Edwin J | Distributable referral directory |
| US20140236735A1 (en) * | 2013-02-19 | 2014-08-21 | Qiang Du | Displaying amount paid to website in user profile |
| US20140245352A1 (en) * | 2013-02-22 | 2014-08-28 | Facebook, Inc. | Time-Sensitive Content Update |
| US9055343B1 (en) * | 2013-06-07 | 2015-06-09 | Google Inc. | Recommending content based on probability that a user has interest in viewing the content again |
| US20150169705A1 (en) * | 2013-12-13 | 2015-06-18 | United Video Properties, Inc. | Systems and methods for combining media recommendations from multiple recommendation engines |
| US20190045250A1 (en) * | 2017-08-03 | 2019-02-07 | Suppose TV LLC | System and methods for enabling users to select and prioritize a set of criteria |
| US20220159343A1 (en) * | 2020-11-17 | 2022-05-19 | Rovi Guides, Inc. | Systems and methods for aggregating content identifiers in a super-interface |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6163316A (en) * | 1997-01-03 | 2000-12-19 | Texas Instruments Incorporated | Electronic programming system and method |
| US6005565A (en) * | 1997-03-25 | 1999-12-21 | Sony Corporation | Integrated search of electronic program guide, internet and other information resources |
-
2022
- 2022-11-07 US US17/982,249 patent/US12348828B2/en active Active
-
2025
- 2025-06-10 US US19/233,330 patent/US20250310611A1/en active Pending
Patent Citations (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20080189736A1 (en) * | 2007-02-07 | 2008-08-07 | Sbc Knowledge Ventures L.P. | System and method for displaying information related to a television signal |
| US20120330854A1 (en) * | 2009-05-08 | 2012-12-27 | Maclaughlin Edwin J | Distributable referral directory |
| US20140236735A1 (en) * | 2013-02-19 | 2014-08-21 | Qiang Du | Displaying amount paid to website in user profile |
| US20140245352A1 (en) * | 2013-02-22 | 2014-08-28 | Facebook, Inc. | Time-Sensitive Content Update |
| US9055343B1 (en) * | 2013-06-07 | 2015-06-09 | Google Inc. | Recommending content based on probability that a user has interest in viewing the content again |
| US20150169705A1 (en) * | 2013-12-13 | 2015-06-18 | United Video Properties, Inc. | Systems and methods for combining media recommendations from multiple recommendation engines |
| US20190045250A1 (en) * | 2017-08-03 | 2019-02-07 | Suppose TV LLC | System and methods for enabling users to select and prioritize a set of criteria |
| US20220159343A1 (en) * | 2020-11-17 | 2022-05-19 | Rovi Guides, Inc. | Systems and methods for aggregating content identifiers in a super-interface |
Also Published As
| Publication number | Publication date |
|---|---|
| US20250310611A1 (en) | 2025-10-02 |
| US12348828B2 (en) | 2025-07-01 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20230421846A1 (en) | Systems and methods for assessing viewer interest in content and advertisements | |
| US10764638B2 (en) | Metadata system for real-time updates to electronic program guides | |
| US9948987B2 (en) | Systems and methods for providing predefined category-based channel lists | |
| US11838590B2 (en) | Systems and methods for an adaptive electronic program guide | |
| US9674516B2 (en) | Systems and methods for picture quality monitoring | |
| US9980007B1 (en) | Generating and dynamically updating a personalized programming guide | |
| US20160150278A1 (en) | Systems and methods for video scene processing | |
| US9959349B1 (en) | Content guide and/or content channels to provide trending content associated with social media | |
| US9794603B1 (en) | System and method for inserting and assigning a channel or program link per device or user | |
| US12348828B2 (en) | Systems and methods for displaying search results for program content | |
| US9135245B1 (en) | Filtering content based on acquiring data associated with language identification | |
| US10136188B1 (en) | Display of content in a program guide based on immediate availability of the content | |
| EP3329396B1 (en) | Systems and methods for synchronization of television channel data | |
| US11575968B1 (en) | Providing third party content information and third party content access via a primary service provider programming guide | |
| KR20070087383A (en) | Product classification method by category of home shopping data broadcasting | |
| WO2021155720A1 (en) | Information communication system, receiver, terminal apparatus, display control method, and non-volatile storage medium | |
| US20150052227A1 (en) | Apparatus and method for providing supplemental content |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| AS | Assignment |
Owner name: DISH NETWORK L.L.C., COLORADO Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SPIES, BRONSON;REEL/FRAME:061679/0599 Effective date: 20221104 |
|
| FEPP | Fee payment procedure |
Free format text: ENTITY STATUS SET TO UNDISCOUNTED (ORIGINAL EVENT CODE: BIG.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NOTICE OF ALLOWANCE MAILED -- APPLICATION RECEIVED IN OFFICE OF PUBLICATIONS |
|
| STCF | Information on status: patent grant |
Free format text: PATENTED CASE |