The present disclosure pertains generally to cable television network technology, and particularly to graphical user interface systems and methods optimized for interactive, user-configurable, on-screen electronic program guides.
As video and television content choices have proliferated, it has been an increasing challenge to simplify the process of content discovery and selection. Cable system operators face increasing competition with Internet and other digital delivery systems which offer the user search and delivery flexibility that has been impossible to replicate on cable television networks employing QAM video systems and legacy set-top boxes. In the case of legacy cable systems, each video stream requires a separate tuner to render and display it, and having more than two or three tuners in any device is commercially impractical. Though certain high-end cable TV set-top boxes may have four or more tuners, their deployment is costly and, hence, rare.
While on screen graphics representing available programming (e.g., “thumbnails”) have been used for at least the past decade, without some means of flexible sorting and self-organizing, a large array of full-motion video windows might provide more of a distraction than benefit. However, a system capable of dynamically formatting a custom-created matrix using full-motion video to represent each of the programming choices has been a challenge due to the aforementioned issues with multiple tuners in a set-top box.
To stay competitive with alternative programming sources, cable system operators need a content discovery environment that enables users to choose a desired program based on a full-motion visual representation and which also consolidates discovery and access to programs available over multiple services. Programs that are discoverable to the subscriber by such means should include currently broadcasting content such as live or real-time broadcasts, upcoming broadcasted content, and locally or remotely-stored video content such as video-on-demand and remote Internet-available video storage services such as YouTube and should also include subscriber-based storage such as content pre-recorded on a connected DVR.
Further, in addition to being able to use common search filters such as time, channel, and the genre of the programming, the content discovery process should include capabilities similar to Internet search engines. This should include key-word searching of the metadata associated with desired content, as well as metrics of specific content's current popularity with other viewers, both locally and nationally.
Systems and methods are provided that are capable of solving many problems of discovery and selection for TV programming, movies, video, and other content offered over digital TV or IP networks. A server system generates a “Personalized Content Navigation” (PCN) video mosaic where every “tile” can be simultaneously displayed in full-motion video with optional audio. The size, location and arrangement of the tiles may be changed. These video representations are rendered “in the cloud” and are delivered and displayed without reliance on the characteristics of the customer premises equipment such as the number of tuners available in the TV set or set-top box.
The interface may be reformatted, controlled, and navigated by the viewer not only with the television's remote control, but also with a laptop, tablet, smart phone, or most any other mobile device which may be used to dynamically configure the mosaic to present availability of programming content sorted by a wide range of criteria. The PCN serves as the primary user interface (UI) for the subscriber's service.
In some embodiments, the server system enables television subscribers to select and display various programs, movies, videos, or other media offerings in a mosaic where the individual tiles are dynamically sorted and grouped based on how well the programming's metadata match the subscriber's requests, on the real-time popularity of specific programming on the subscriber's system or specific social-media platforms, or by the types of programs that the subscriber has previously watched on particular days of the week or during a certain time of day.
In some embodiments, the server system monitors, via the Internet, various social media sites such as, by way of example only and without limitation, Twitter, Facebook, and Instagram, and builds a real-time database calculating for example, the rank or popularity of any television programming or specific performers carried by the subscriber's provider as well as other programming available via the internet. Sorting options can include the popularity of certain programming on social media as measured by trending patterns, or other metrics such as numbers of Tweets, Likes, Mentions, or similar references on various social media to specific content choices that are available to a viewer.
From this central database of computed “popularity” rankings derived from social media sources, the server system dynamically manipulates the order of the full-motion-video tiles based on the popularity of the programming as directed by the social media “popularity” database. The server system then enables the user to build a mosaic display of video tiles showing programming of interest to that individual as determined by, for example, the shows most tweeted about or “liked” on one or more social media platforms.
In some embodiments, the server system can detect mentions of programming on social media by a certain actor's name, character's name, episode name, or program name and then search a TV program guide database to identify the specific programming being referenced in the monitored social media. The server system can also watch for certain keywords and dynamically add a program to the video tile mosaic if it is of changing importance, such as determined by a sudden increase of mentions or Tweets about a particular keyword, actor, or program name. The server system can also configure the video mosaic to devote a line of video tiles labeled with the names of the user's friends who are currently viewing that programming, assuming the friends are also served by the server system (e.g., which is part of a cable system).
In some embodiments, a method for generating an interactive graphical user interface is performed at a server system remote from a client device. The method includes receiving, from the client device, user input selecting a first filter and filtering available video programming using one or more search conditions corresponding to the first filter, to identify a first plurality of videos that satisfy the one or more search conditions. The one or more search conditions include a criterion relating to a popularity metric for a social network. The method also includes generating a user interface that includes a first mosaic of selectable video tiles corresponding to the first plurality of videos. Respective videos of the first plurality of videos are played in respective video tiles of the first mosaic. The method further includes encoding the user interface as a video stream and transmitting the video stream containing the user interface toward the client device for display.
In some embodiments, a server system includes one or more processors and memory storing one or more programs configured to be executed by the one or more processors. The one or more programs include instructions for performing the above-described method. In some embodiments, a non-transitory computer-readable storage medium stores one or more programs configured for execution by one or more processors of a server system. The one or more programs include instructions for performing the above-described method.
Systems and methods are thus described for simplifying and personalizing an individual television viewer's discovery of available programming content through the interactive creation of a Personalized Advanced Content Discovery service using a video mosaic of full-motion elements or “tiles.” The system enables any user to explore available broadcast and on-demand programming; not only by the typically used categories of channel number, time slot, program name or genre, but also by other sorting options such as the user's previous viewing patterns based on the day of the week or time of day or specific metadata searches. Other options could include programming available on the user's digital video recorder, or available from other sources such as programming delivered over the public internet. Yet further means are provide to filter programming such as by popularity of certain programming on social media as measured by numbers of or trending patterns of Mentions, Tweets, Likes or similar references on various sites to the content choices that are available to a particular viewer.
In addition to the basic description and other metadata of available programming, users see each potential choice as a “tile” that is part of a high definition mosaic of multiple picture-in-picture displays, all displayed simultaneously in full motion and often showing the actual programming then in progress. The user experience is self-revealing, in that the user sees the actual video of the content represented playing on the tile. Upon selection of a tile by a user, audio of the video tile content may be presented, and more detailed information about the content the tile represents may be displayed. The mosaic of simultaneous full-motion video tiles are rendered “in the cloud” and are delivered to the user's TV or to other chosen viewing devices over a system operator's quadrature amplitude modulation (“QAM”) video network, by means of a private digital network or the public Internet. Likewise, the mosaic display can be viewed on an Internet-connected device capable of decoding video.
For a better understanding of the various described embodiments, reference should be made to the Detailed Description below, in conjunction with the following drawings. Like reference numerals refer to corresponding parts throughout the figures and description.
Reference will now be made to embodiments, examples of which are illustrated in the accompanying drawings. In the following description, numerous specific details are set forth in order to provide an understanding of the various described embodiments. However, it will be apparent to one of ordinary skill in the art that the various described embodiments may be practiced without these specific details. In other instances, well-known methods, procedures, components, circuits, and networks have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.
The present embodiments consolidate and integrate the content discovery process for all programming available to the cable-television or other video-content-consuming subscriber. This content may be available from the subscriber's cable or other broadband provider, and may also include content from the public Internet or content locally stored such as on a DVR, into a single, viewer-configured on-screen mosaic of full-motion-video tiles easily configured to display available programming in any of a number of user-specified arrangements.
A server system (e.g., application server platform 100,
It can also search and arrange the elements or tiles of full-motion video by episode, rating, genera, genre, actors or presenters, and program reviews from various sources. Further, it can also display tiles representing available programming sorted by real-time popularity of that program by region (e.g., neighborhood, city, or other region), as measured by the number of other system subscribers currently watching the subject broadcast, or by analysis of various social media measurements such as total or trending mentions, likes, or tweets or other metrics. See
The server system can also be used as the basis for a personalized social network in that a list of a TV viewer's friends can be entered into the server system by sending an e-mail, text or other communication to the server system. The server system builds a video mosaic of the channels being most watched by those friends as determined by analyzing a viewer's friends' current TV viewing as detected by Twitter feeds, Facebook or other social media “Likes” or comments.
Alternatively if the friends are on the same multichannel system, the server system can read the channel each identified friend is viewing from the multichannel video program distributor's set-top box as returned to the system head-end. The on screen video mosaic interface may or may not identify the friends who are watching a particular channel depending on the preferences of viewers or the video distributors' policies.
Any filter or triggering criteria associated with a user's personal preferences can also be set by the user to issue alerts when certain conditions are satisfied. For example, a certain user may wish to be notified when a particular actor or show is receiving a large number of mentions on social or traditional media. As a specific example, a user may wish to be notified if a certain actor's appearance on a particular show is trending on Twitter, Facebook, etc.
An item may be “trending” if it satisfies a popularity condition, such as a certain number or rate of “likes,” “retweets,” “mentions,” “up-votes,” or the like. If such a condition is satisfied, a text message with a screen image of the show may be sent to the user's smartphone to alert the user to the program. Similarly, an image could have been sent to the user's Instagram account or other similar social networking service. Any of the filters or triggering criteria created by the user for the display video in tiles on the television can be used to alert the user via message systems such as SMS or appropriate smartphone apps, and vice versa.
Similarly, any filter or triggering criteria associated with a particular user's personal preferences can also be set by the user to stream a live video feed to the user's smartphone, tablet, or laptop computer for viewing of a program. For example, where a particular actor's appearance on a certain show is trending on a social network, live video of the show may be streamed to a user's device. Similarly, any filter or triggering criteria associated with a particular user's personal preferences (such as those described above) can also be used to cause a DVR or other recording device to record the program.
The server system can search and arrange the tiles of full-motion video displayed on the on-screen mosaic based on previous viewing patterns for a particular time (e.g., season, time of year, day of week, and/or time of day) corresponding to the current time. By way of example only, if a particular subscriber watches a lot of basketball games during the National Collegiate Athletic Association (NCAA) annual basketball championship in March, then all those games may be highlighted, clustered and/or automatically promoted to the top rows of the mosaic. See
It can maintain viewing histories or stated entertainment preferences in separate accounts for different household members and enable different programming to be delivered to different viewing devices including for example only, other television sets, computers, tablets or smartphones.
By way of example only, a first member of the viewing household may want to only have certain sports programming such as basketball (but no golf or tennis) highlighted or promoted to the top rows of the video mosaic, while a second member of the viewing household might prefer certain talk shows or certain types of movies given prominence. See
Similarly, the subscriber could specify a “family viewing” preference that highlights programming that might be consumed by a plurality of their household members sitting together. Such individualized content selection video mosaic interfaces may be displayed together on one screen or separately on different TV viewing devices.
An alternative embodiment of a household viewing guide could involve displaying a single row or column of video tiles for each household member, with each tile showing the programming currently available on one of the respective household member's favorite channels. The number of “favorite channel” tiles reserved for each household member is limited only by the resolution of the TV viewing device.
The server system is able to identify and be responsive to any household member's personal devices, such as smart phones or tablets, that it can detect as being present in a TV viewing room. The server system, on command by an app launch, automatically reorganizes the on-screen video mosaic to show some of each household member's currently available favorite TV programs in as many windows as proportionately available.
The server system will stream a user's video mosaic guide(s) to a second-screen such as a smartphone or tablet in addition to the television screen.
Individual family members (or household members) can each have their own custom video mosaic. Further, any user can have any mix of genres. As one example, the top two rows in the mosaic could be tiles displaying sports channels, the third row could be news programs and the fourth or bottom row in this example could be arranged by network channels, etc. In some embodiments, each family member has a row or column of the mosaic to populate with their respective favorite shows. The server system can also watch for certain keywords, such by way of example, “breaking news” and dynamically add a full-motion-video tile to the on-screen mosaic if a key word is detected.
This functionality is implemented as shown in
These video representations are rendered and delivered to client TV viewing device for display without reliance on the characteristics of the customer premises equipment such as the number of tuners available in the TV set or set-top box.
Individual video tiles may be selected, the audio for the video being displayed may be heard, and detailed additional text and still graphic information about the selection may be displayed as can be seen in the screen shots of
In some embodiments, users are able to search for or sort among available content using search queries. Such search queries may be predefined by the provider of the user interface, such that the user selects from a list of constraints or search queries such as the “Cable Sports on ESPN 1” query shown being selected in
As previously noted, in some embodiments, queries may include search constraints relating to popularity metrics derived from one or more Internet based social networks. For example, a predefined search query may include a search constraint for content that has received a certain number, or rate, of up-votes in a social network such as, by way of example, “Likes” on Facebook. As another example, a predefined search query may include a search constraint for content that has received a certain number of mentions by users of some selected social network. Mentions include, by way of example, Twitter “retweets” and/or “hashtags,” as well as Facebook “Posts,” and/or any other textual content within a social network that represents, relates to, or refers to particular content.
Thus, search constraints relating to popularity metrics from social networks can be used to return results regarding specific content items, for example certain television shows or movies, that are popular among users of the selected social network. Also, information from various social networks may be accessible, such that the predefined queries can contain search constraints from different social networks, thus expanding the scope of information that can be used to generate useful search results (and/or sorting/filtering conditions) for the user.
Additionally, search queries can combine popularity metrics from multiple different social networks to provide more comprehensive results of popular content. Specifically, instead of returning content items that are popular or trending in one social network, a search query may allow a user to search for content that is trending across multiple social networks. Thus, all of the most popular shows, even from different social networks, can be returned in the results from a single search query.
In some embodiments, popularity metrics are determined by the social networks themselves. For example, Twitter may determine whether a particular content item such as a television show or movie is “trending” (or a list of content items that are trending). Likewise, Facebook will determine whether a particular content item is popular, or a list of content items that are currently popular, and will inform the application server platform 100 (i.e., the server system). In response to a suitable request from a user, the application server platform 100 returns search results based on the information provided from the social networks.
In some implementations, search queries include not only constraints relating to popularity of content in a social network, but also constraints relating to one or more other conditions. For example, a search query may include a constraint relating to genre, content type, and the like. As a specific example, a search query may be for “Comedies that are popular on Facebook” or “Talk shows that are the most popular across all social networks.” These search queries will return results that satisfy both of these constraints, or all of the constraints, if the query includes more than two constraints. See
In summary, the service provider can determine the number of channels of video available to be displayed on the video grid including all available channels. Furthermore, in some embodiments the service provider provides video grids of non-real-time video, such as trailers of available movies from a video-on-demand server of the service provider or otherwise assessable, to client devices for viewing. Likewise, Internet content such as videos can be displayed in searchable, filterable arrays using all the metrics available to television programming including Nielsen ratings or ratings from other sources, or “trending” statistics from Twitter or other social media as well as search terms and filtering that are specific to content provided over the Internet. Hence, a client device that has only one television tuner, or no tuner and only the ability to decode a video stream, can show a mosaic of video tiles.
In some embodiments, a method of generating an interactive graphical user interface for a television viewing device is provided. The method comprises formatting and rendering the interface on a computer system (e.g., the application server platform 100,
In some embodiments, the interface may be configured, managed, accessed or controlled through any one or combination of certain electronic devices including a remote control device provided for the television viewing device or its associated devices, PC, laptop computer, tablet, smartphone or other compatible personal electronic device.
In some embodiments, the interface includes a user configurable, on-screen program guide that includes a mosaic of a plurality of video components or tiles, all of which are capable of simultaneous full-motion-video display.
In some embodiments, selecting an individual tile enables the user to hear the matching audio track and get additional information.
In some embodiments, the interface may be reconfigured by the user to display the available programming according to a plurality of attributes.
In some embodiments, at least one of the attributes by which a programming display may be controlled is the real-time popularity of the subject programming. In some embodiments, the popularity of the subject programming may be computed by one or more attributes including the number of system subscribers or other viewers currently watching the programming and metrics derived from social media discussions regarding the programming.
In some embodiments, a method is provided to alert the user by transmitting an SMS, text, graphic or other message to the user's smart phone when a personalized discovery filter detects a valid condition of the filter.
In some embodiments, a personalized discovery filter detects a valid condition of the filter and initiates a streaming session via the Internet to an Internet-connected device as specified by a user for real-time viewing of a program or multiple programs that were detected by the filter.
In some embodiments, a personalized discovery filter detects a valid condition of the filter and initiates a recording to a DVR, personal computer, or any video recording device as specified by a user for later viewing by the user of the program or multiple programs that were detected by the filter. (Detection of the program or multiple programs by the filter results in the valid condition of the filter.
The embodiments described herein may be implemented with many different forms of software, firmware, and hardware. The actual software code or specialized server, video manipulation, or transmission hardware used to implement the embodiments described, is not limiting. Thus, the operation and behavior of the embodiments are described without reference to the specific software code or computational hardware used, as software and control hardware may be designed to implement the embodiments based on the descriptions provided herein.
Examples of forms in which the functionality described herein may be embodied include, but are not limited to, computer program logic for use with a processor (e.g., a microprocessor, microcontroller, digital signal processor, or general purpose computer), programmable logic for use with a programmable logic device (e.g., a Field Programmable Gate Array (FPGA) or other PLD), discrete components, integrated circuitry (e.g., an Application Specific Integrated Circuit (ASIC)), or any other means including any combination thereof
Computer program logic implementing all or part of the functionality previously described herein may be embodied in various forms, including, but in no way limited to, a source code form, a computer executable form, and various intermediate forms (e.g., forms generated by an assembler, compiler, linker, or locator). Source code may include a series of computer program instructions implemented in any of various programming languages (e.g., an object code, an assembly language, or a high-level language such as Fortran, C, C++, JAVA, or HTML) for use with various operating systems or operating environments. The source code may define and use various data structures and communication messages. The source code may be in a computer executable form (e.g., via an interpreter), or the source code may be converted (e.g., via a translator, assembler, or compiler) into a computer executable form.
The computer program may be fixed in any form (e.g., source code form, computer executable form, or an intermediate form) either permanently or transitorily in a tangible storage medium, such as a semiconductor memory device (e.g., a RAM, ROM, PROM, EEPROM, or Flash-Programmable RAM), a magnetic memory device (e.g., a diskette or fixed disk), an optical memory device (e.g., a CD-ROM), a PC card (e.g., PCMCIA card), or other memory device. The computer program may be fixed in any form in a signal that is transmittable to a computer using any of various communication technologies, including, but in no way limited to, analog technologies, digital technologies, optical technologies, wireless technologies (e.g., Bluetooth), networking technologies, and internetworking technologies. The computer program may be distributed in any form as a removable storage medium with accompanying printed or electronic documentation (e.g., shrink wrapped software), preloaded with a computer system (e.g., on system ROM or fixed disk), or distributed from a server or electronic bulletin board over the communication system (e.g., the Internet or World Wide Web).
Hardware logic (including programmable logic for use with a programmable logic device) implementing all or part of the functionality previously described herein may be designed using traditional manual methods, or may be designed, captured, simulated, or documented electronically using various tools, such as Computer Aided Design (CAD), a hardware description language (e.g., VHDL or AHDL), or a PLD programming language (e.g., PALASM, ABEL, or CUPL).
Programmable logic may be fixed either permanently or transitorily in a tangible storage medium, such as a semiconductor memory device (e.g., a RAM, ROM, PROM, EEPROM, or Flash-Programmable RAM), a magnetic memory device (e.g., a diskette or fixed disk), an optical memory device (e.g., a CD-ROM), or other memory device. The programmable logic may be fixed in a signal that is transmittable to a computer using any of various communication technologies, including, but in no way limited to, analog technologies, digital technologies, optical technologies, wireless technologies (e.g., Bluetooth), networking technologies, and internetworking technologies. The programmable logic may be distributed as a removable storage medium with accompanying printed or electronic documentation (e.g., shrink wrapped software), preloaded with a computer system (e.g., on system ROM or fixed disk), or distributed from a server or electronic bulletin board over the communication system (e.g., the Internet or World Wide Web).
The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the scope of the claims to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen in order to best explain the principles underlying the claims and their practical applications, to thereby enable others skilled in the art to best use the embodiments with various modifications as are suited to the particular uses contemplated.
This application claims priority to U.S. Provisional Patent Application Nos. 61/985,412, titled “System and Method for User-Configurable, Full-Motion Video Mosaic System,” filed Apr. 28, 2014, which is incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
61985412 | Apr 2014 | US |