-
2022-05-17
17/010,288
2020-09-02
US 11,336,948 B1
2022-05-17
-
-
Sumaiya A Chowdhury
Rothwell, Figg, Ernst & Manbeck, P.C.
2040-09-02
A user may employ a user device (e.g., a television (TV) and a set-top box (STB)) to access a television system via a network. The television system may include one or more content servers (CSs) (e.g., a VOD server, an HTTP server, or other media server) for providing, among other things, a VOD service to the user and a broadcast transmission system for transmitting a multitude of linear television channels. Television system and/or user device is/are operable to enable the user to interact with an enhanced TV service (ETS) that allows the user to easily navigate among various different programmed linear channels (a.k.a., “streaming channels”) and VOD services. The ETS may be hosted in the television system, in user device, or in a combination of the two.
Get notified when new applications in this technology area are published.
H04N21/4312 » CPC main
Selective content distribution, e.g. interactive television or video on demand [VOD]; Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof; Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware; Generation of visual interfaces for content selection or interaction ; Content or additional data rendering involving specific graphical features, e.g. screen layout, special fonts or colors, blinking icons, highlights or animations
G11B27/10 » CPC further
Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel Indexing; Addressing; Timing or synchronising; Measuring tape travel
H04N21/4438 » CPC further
Selective content distribution, e.g. interactive television or video on demand [VOD]; Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof; Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware; OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB Window management, e.g. event handling following interaction with the user interface
H04N21/47202 » CPC further
Selective content distribution, e.g. interactive television or video on demand [VOD]; Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof; End-user applications; End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
H04N21/4825 » CPC further
Selective content distribution, e.g. interactive television or video on demand [VOD]; Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof; End-user applications; End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists
H04N21/8456 » CPC further
Selective content distribution, e.g. interactive television or video on demand [VOD]; Generation or processing of content or additional data by content creator independently of the distribution process; Content; Generation or processing of protective or descriptive data associated with content; Content structuring; Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
H04N21/431 IPC
Selective content distribution, e.g. interactive television or video on demand [VOD]; Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof; Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware Generation of visual interfaces for content selection or interaction ; Content or additional data rendering
H04N21/482 IPC
Selective content distribution, e.g. interactive television or video on demand [VOD]; Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof; End-user applications End-user interface for program selection
H04N21/443 IPC
Selective content distribution, e.g. interactive television or video on demand [VOD]; Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof; Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware OS processes, e.g. booting an STB, implementing a Java virtual machine in an STB or power management in an STB
H04N21/845 IPC
Selective content distribution, e.g. interactive television or video on demand [VOD]; Generation or processing of content or additional data by content creator independently of the distribution process; Content; Generation or processing of protective or descriptive data associated with content; Content structuring Structuring of content, e.g. decomposing content into time segments
H04N21/472 IPC
Selective content distribution, e.g. interactive television or video on demand [VOD]; Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof; End-user applications End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
This application is a continuation of U.S. application Ser. No. 16/281,804, filed on Feb. 21, 2019 (status pending), which is a continuation of U.S. application Ser. No. 15/677,236, filed on Aug. 15, 2017 (now U.S. Pat. No. 10,219,027, issued on Feb. 26, 2019), which is a continuation of U.S. application Ser. No. 15/616,564, filed on Jun. 7, 2017 (status abandoned), which is a continuation of U.S. application Ser. No. 14/922,597, filed on Oct. 26, 2015 (status abandoned), which claims the benefit of U.S. provisional application No. 62/068,374, filed on Oct. 24, 2014. The above identified applications and patents are incorporated by reference.
Aspects of this disclosure relate to a system for providing content (such as, but not limited to, music) to a user.
Users who enjoy watching music videos and/or listening to music (or other content) may subscribe to a television service operated by a television operator (e.g., cable TV operator) that provides access to such content. Such a television service may give the user the ability to listen to a variety of content (e.g., a variety of genres of music and/or a variety of genres of music videos). As one non-limiting example, the television service may include a number of linear channels dedicated to music programming from one or more content providers. The television service may also provide a video on demand service.
What is desired is an enhanced TV system that enables the user to easily navigate among the various different linear channels and video on demand (VOD) assets. Embodiments of such an enhanced TV system are described herein. While the embodiments are described with reference to music content, this was done solely for the sake of illustration as the enhanced TV system is applicable to any type of content, not just music content.
The accompanying drawings, which are incorporated herein and form part of the specification, illustrate various embodiments.
FIG. 1A illustrates a system according to some embodiments.
FIG. 1B illustrates a system according to some other embodiments.
FIG. 2 is a functional block diagram of a user device according to some embodiments.
FIGS. 3-12 illustrate user interface screens, according to some embodiments, that are provided by the application.
FIG. 1A illustrates a system 100 according to some embodiments. As shown in FIG. 1A, a user 102 may employ a user device 190 to access a television system 112 via a network 110. In this example, the user device 190 consists of a television (TV) 106 and a set-top box (STB) 108 (e.g., a device comprising a computer system having one or more processors, networking capabilities, and a user input detector for receiving commands from user 102), which is connected to network 110 (e.g., a cable TV network or other network) to which television system 112 is also connected (directly or indirectly). In some embodiments, user device may consist only of TV 106, in which case TV 106 may be a smart-TV comprising networking capabilities (e.g., receiver, transmitter), a computer system having one or more processors, and a user input detector (e.g., a receiver for receiving signals transmitted by a remote control 104). In some embodiments, television system 112 includes hardware and software found at a typical cable-TV head-end system, such as a computer system and networking capabilities. That is, for example, television system 112, in some embodiments, includes one or more content servers (CSs) 196 (e.g., a VOD server or other media server) for providing, among other things, a VOD service to user 102 and a broadcast transmission system for transmitting a multitude of linear television channels as is known in the art. In other embodiments, TV system 112 can be implemented using a merely set of one or more servers (e.g., HTTP servers). TV system 112 may be a distributed computer system or all of its components may be co-located. While CS 196 is shown in FIG. 1A as being a component of the TV system 112, this is not a requirement as CS 196 may be a component separate from TV system 112.
In some embodiments, television system 112 and/or user device 190 is/are operable to enable user 102 to interact with an enhanced TV service (ETS) 197 that allows the user to easily navigate among various different programmed linear channels (a.k.a., “streaming channels”) and video on demand (VOD) services. As shown in FIG. 1A, the ETS 197 may be hosted in television system 112, in user device 190 (e.g., in STB 108 and/or TV 106), or in a combination of the two. For example, the ETS 197 may be a computer program and a portion of the computer program (e.g., a server portion) may run on processor(s) within television system 112 and another portion (e.g., a client portion) may run on processor(s) within user device 190.
FIG. 1B illustrates a system 193 according to other embodiments. In this embodiment, user device 190 is in the form of a communication device 191 (e.g., a personal computer, a smartphone, a tablet, a phablet, a smart TV, internet TV, etc.) comprising networking capabilities (e.g., receiver, transmitter) that enable device 191 to communicate with television system 112 via network 110, a computer system comprising one or more processors, and a user input detector (e.g., a touch screen, keyboard, etc). In some embodiments, television system 112 and/or device 191 is/are operable to enable user 102 to interact with the ETS 197 as described above in connection with system 100. In this embodiment, the ETS may be hosted in television system 112, in user device 190 or in a combination of the two. For example, the ETS 197 may be a computer program and a portion of the computer program (e.g., a server portion) may run on processor(s) within television system 112 and another portion (e.g., a client portion) may run on processor(s) within user device 190.
FIG. 2 illustrates a functional block diagram of user device 190 and/or TV system 112 according to some embodiments. In the embodiment shown, the user device 190 and/or TV system 112 includes an electronic program guide (EPG) module 202 and an ETS module 204 of ETS 197.
In some embodiments, EPG module 202 functions to obtain EPG information from and EPG information server 210 by, for example, transmitting a request message to server 210. In response to such a request message, server 210 may obtain from a database 220 EPG information. In some embodiments, for each linear program channel (a.k.a., linear TV channel or streaming channel) that user 102 may access, the EPG information includes a set of one or more time slot records, where each time slot record in the set includes information identifying a time slot (e.g., a beginning time and an end time) and program information corresponding to the program occurring on the linear channel in that time slot (e.g., a program description). In some embodiments, the set of time slot records for streaming audio and video channels may only consist of a single time slot record.
In some embodiments, a time slot record may also include information for retrieving an object stored at (or generated by) a remote server. For example, the object may be an HTML document and the information for retrieving the HTML document may be a Uniform Resource Identifier (URI) (e.g., a Uniform Resource Locator (URL)). For example, a time slot record for one of the streaming video channels (or one of the streaming audio channels) may include not only information identifying the format of the music that is played on the streaming channel but also a URI for obtaining from a server an object (e.g., HTML document) corresponding to the streaming channel.
The EPG module 202 further functions to display at least some of the EPG information it receives from server 210. EPG module 202 may, before it displays the EPG information, process the information (e.g., format the information). FIG. 3 illustrates an example of EPG information 300 as displayed by EPG module 202 on a display device of user device 190. As shown in FIG. 3, EPG module 202 can provide information to user 102 as to the content that is currently available on each linear channel (as well as content recently shown on each linear channel). As further shown in FIG. 3, at least some of the linear channels are linear “music” channels (i.e., channels 1001, 1002, and 1003). A linear music channel may be a streaming audio channel or a streaming video channel, as is known in the art. As is also known in the art, EPG module 202 can allow user 102 to select for viewing/listening any one of the displayed channels in list 300.
In some embodiments, in response to user 102 selecting one of the streaming audio channels or streaming video channels via the EPG module 202, the EPG module 202 launches the ETS module 204 and provides to the ETS module information indicating that the user 102 desires to consume (e.g., watch or listen) the selected streaming channel. The ETS module 204 then tunes to the selected streaming channel so that the user can see/hear the content (e.g., music or other content) that is currently being transmitted on the streaming channel and displays a user interface to the user (see e.g., user interface 400 in FIG. 4).
For example, in some embodiments, when user 102 selects a particular streaming channel via the EPG module 202, EPG module 202 provides to ETS module 204 (which may be a conventional web browser) the URI included in the current time slot record for the selected streaming music channel (i.e., the time slot record that identifies a time slot that includes the present time). In response to receiving the URI from EPG module 202, ETS module 204 obtains the object identified by the URI. For example, ETS module 204 may send to a remote HTTP server 211 an HTTP request comprising the URI and, in response, receives from server 211 the identified object. The object (e.g., HTML document) causes ETS module 204 to display a user interface screen (see e.g., the user interface shown in FIG. 4) corresponding to the selected music channel. For example, in some embodiments, the object may include URIs that point to additional objects (e.g., images, scripts, videos, JSONobjects, XML files, manifest files for streaming content, flash objects, etc.) hosted by other servers (e.g. servers 212 and 214) and ETS module 204 obtains these additional objects and uses these additional objects in generating the user interface screen.
Referring now to FIG. 4, FIG. 4 illustrates an example user interface screen 400 generated by the ETS module 204 as a result of the user selecting to watch the Hit List streaming video channel (e.g., as a result of module 204 processing the object associated with the Hit List music streaming video channel—e.g., the object identified in the current time slot record for the Hit List streaming video channel).
Screen 400 includes a channel area 402 (a.k.a., a display area) in which the ETS module displays to the user the video content that is currently being transmitted on the selected streaming video channel (in this case the MC Hit List streaming video channel). User 102 is given the option to expand channel area 402 so that it takes up the entire display screen of the user device by selecting a “go full screen” activatable user interface element 410 (hereafter “button”).
User interface screen 400 also includes an artist list 404 and a video content list 406 listing video content related to an artist selected from the list 404. ETS module 204 enables user 102 to select an artist from list 404. In this particular example, the artist list 404 is in the form of an artist carousel, but the invention is not limited to using a carousel to provide a list, as other techniques can be used, such as a menu (drop down, pop-up, etc.) or other interface element for providing choices to a user. In the example shown, artist carousel 404 comprises a set of pictures (e.g., thumbnail photographs), where each picture identifies an artist (e.g., each picture contains a still or moving image of an artist or otherwise identifies the artist). In the embodiment shown, at any given time, at most only one of the pictures in the set is not obscured and the other pictures are either fully or partially obscured. The artist that is shown in the picture that is not obscured is referred to as the “selected artist.”
When screen 400 is first displayed to user 102, the selected artist will be the artist associated with the content that is currently being transmitted on the selected video channel. In this case, a Taylor Swift music video is currently being transmitted over the Hit List channel. Thus, the selected artist in carousel 404 is Taylor Swift. The user 101 can change the selected artist. For example, the user can change which picture in the carousel 404 will be the unobscured picture by, for example, putting the input focus on the carousel 404 and then pressing a certain button on a remote control 104 (or other input device), thereby changing the selected artist. In some embodiments, the artists that are included in artist list are the artists whose videos played just prior to the current video. Thus, if a video from Ariana Grande played just before the currently playing Taylor Swift video, then the artist in the carousel directly underneath Taylor Swift would be Ariana Grande.
In some embodiments, video content list 406 is a list of video content (e.g., music videos) related to whoever is the selected artist. Thus, when the selected artist is changed, list 406 will also change as list 406 display a list of videos related to the selected artist. User 102 can select to watch on demand any of the videos included in list 406.
As shown in the example, the list of video content 406 is presented to the user using a set of pictures, where each picture represents a different video. User 102 can select any of the listed videos to watch on demand. For example, with respect to system 100, user 102 can use remote control device 104 to communicate commands to the ETS 197 to cause the ETS to put the input focus on one of the pictures (e.g., highlight one of the pictures), and then, after the desired picture is highlighted, user 102 can send a “watch” command to the ETS (e.g., user can press a certain button on remote control 104, such as a button labeled “ok” or “select”). In response to receiving the “watch” command, the ETS will initiate a VOD session for the video identified by the selected picture. For example, the ETS may cause user device 190 to transmit to content server 196 (e.g., a VOD server) a video request identifying the selected video, and the server 196 responds to the request by streaming or otherwise providing the requested video to user device 190, which will play the video for user 102. In some embodiments, server 196 streams (or otherwise provides) the requested video to user device 190 by providing to the user device 190 one or more playlist files (e.g., manifest files) that enable the ETS to obtain audio/video data corresponding to the content being transmitted on the channel (e.g., the playlist file identifies a segment of video data corresponding to the video and the ETS upon receiving the playlist file sends a request to a content server for the video segment, and upon receiving the segment of video data the ETS renders the video data in display area 402). In addition to selecting a video from list 406, user 102 can select to watch on demand the video that is currently playing on the linear channel by selecting button 409.
Screen 400 may also include other buttons. For example, screen 400 may include a “Streaming Music” button 411, a “Streaming Video” button 412, and a “Video on Demand” button 413, a “Top Artists” button 414, a “Artist Just Played” button 415, a “Top Videos” button 416, a “You Watched” button 417, “Featured” button 418, and a “Search” button 419.
FIG. 5 illustrates a user interface screen 500 that may be displayed when user 102 selects the “Top Artists” button 414 from screen 400. Screen 500 is similar to screen 400 in that screen 500 includes channel area 402 and buttons 409-419. Additionally, screen 500 includes an artist list 504 in the form of an artist carousel and a video content list 506 listing related video content. Artist carousel 504 enables user 102 to select an artist. In the example shown, carousel 504 comprises a set of pictures, where each picture identifies an artist. In the embodiment shown, at any given time, at most only one of the pictures in the set is not obscured and the other pictures are either fully or partially obscured. As described above, the artist that is shown in the picture that is not obscured is referred to as the “selected artist.”
When screen 500 is first displayed to user 102 in response to user 102 activating the “Top Artists” button, the selected artist will be the artist designated as the current “top artist” within a particular category of music (e.g., within the category of music associated with the channel playing at the time the button was selected). In this case, Ariane Grande has been designated as the top artist within the “Hit List” music category. The user can change which picture in the carousel 504 will be the unobscured picture by, for example, putting the input focus on the carousel 504 and then pressing a certain button on a remote control 104 or other input device, thereby changing the selected artist. In some embodiments, the artists that are included in artist list 504 are only artists who have been designated as top artists within the music category (e.g. the artist within the category having the greatest number of video plays within a certain period of time, such as one week).
Like video content list 406, video content list 506 is a list of video content (e.g., music videos) related to whoever is the selected artist in carousel 504. Thus, when the selected artist is changed, list 506 will also change as list 506 displays a list of videos related to the selected artist. User 102 can select to watch on demand any of the videos included in list 506. As shown, the list of video content 506 is presented to the user using a set of pictures, where each picture represents a different video.
FIG. 6 illustrates a user interface screen 600 that may be displayed when user 102 selects to watch a video on demand (e.g., selects a video from a video list, such as list 406 or 506). In this example, user 102 has selected an Ariana Grande video from list 506.
Screen 600 includes a video display area 602 in which the ETS displays to the user the video selected by the user. User 102 is given the option to expand display area 602 so that it takes up the entire display screen of the user device by selecting a “go full screen” button 410.
Screen 600 includes a portion 604 for displaying information related to the artist performing in the selected video (e.g., in this case a picture of the artist). Screen 600 also includes a video content list 606 listing other videos by the selected artist. User 102 can select to watch on demand any of the videos included in list 606.
In addition to including buttons 410-419, screen 600 also includes a “Restart” button 603, a “Back” button 604, and a “More From This Artist” button 606. Activating Restart button 603 causes the ETS to replay the current video from its beginning. Activating Back button 604 will cause the ETS to play the streaming channel that was last played. For example, in this case the Hit List streaming video channel was the last played streaming channel; thus activating button 604 will cause the ETS to display screen 400. Activating button 606 causes the ETS to display on screen 600 additional videos by artist of the currently playing video (Ariana Grande in this example).
FIG. 7 illustrates a user interface screen 700 that may be displayed when user 102 selects “Top Videos” button 416 from screen 400. Screen 700 has many of the same elements as screen 400 but does not include the artist carousel 404. Instead, screen 700 includes a video content list 706 listing a set of videos. The listed videos are the top played videos within the music category of the currently playing streaming channel (i.e., Hit List in this example). User 102 can select to watch on demand any of the videos included in list 706.
FIG. 8 illustrates a user interface screen 800 that may be displayed when user 102 selects “You Watched” button 417 from screen 400. Screen 800 has many of the same elements as screen 400 but does not include the artist carousel 404. Instead, screen 800 includes a video content list 806 listing a set of videos. The listed videos are the most recent videos that user 102 has watched. User 102 can select to watch on demand any of the videos included in list 806.
FIG. 9 illustrates a user interface screen 900 that may be displayed when user 102 selects “Featured” button 418 from screen 400. Screen 900 is similar to screen 600. For example, screen 900 includes video display area 602 in which the ETS displays to the user a selected video. A difference between screen 900 and screen 600 is that the video that plays in video display area 602 on screen 600 is a user selected video, whereas the video that plays in video display 602 on screen 900 is a system selected video (a.k.a., “the featured video”). In this example, the featured video is an episode of a show named “Chronicles.” Also, unlike screen 600, screen 900 includes an artist carousel 904.
Artist carousel 904 is just like carousels 404 and 504 (i.e., carousel 904 enables user 102 to select an artist in the manner described above with reference to carousel 404). The artists listed in artist carousel 904 are the artists who are featured or mentioned in the video that is playing in display area 602. In this example, Drake was one of the artists featured in the Chronicles episode that is playing in area 602. Screen 900 also include a video content list 906, which is a list of video content (e.g., music videos) related to whoever is the selected artist in carousel 904. User 102 can select to watch on demand any of the videos included in list 906.
FIG. 10 illustrates a user interface screen 1000 that may be displayed when user 102 selects “Streaming Videos” button 412 from screen 400. Screen 1000 is similar to screen 400. For example, screen 1000 includes channel area 402 in which the ETS displays to the user the video content that is currently being transmitted on the selected streaming video channel (in this case the MC Hit List streaming video channel).
A difference between screen 1000 and screen 400 is that the artist carousel 404 is replaced with a channel group carousel for enabling user 102 to select a channel group (e.g., “Today's Music”) and video list 406 is replaced with streaming channel list 1006 listing the streaming channels that are included in selected channel group. User 102 can select a channel group in carousel 1004 in the same manner the user selects an artist in carousel 404. When user 102 selects a new channel group, the streaming channels displayed in list 1006 will change such that only those streaming channels included in the selected channel group are displayed. When user 102 selects a streaming video channel from list 1006 (e.g., when a user clicks on a channel or highlights a channel from the list and presses an “ok” button), screen 400 is displayed and the ETS will play in channel area 402 the video content that is currently being transmitted on the selected streaming video channel. That is, selecting a streaming channel from list 1006 has the same effect as selecting a streaming channel via the EPG.
FIG. 11 illustrates a user interface screen 1100 that may be displayed when user 102 selects to listen to a streaming audio channel. User 102 may select a streaming audio channel from either list 1006 or via the EPG module 202 as described above. Screen 1100 includes a content display area 1102 for displaying content (e.g., images, artist trivia, etc.) associated with the music content that is currently playing on the selected streaming audio channel. In the example shown, there are no videos related to the music content that is currently playing on the selected streaming audio channel (e.g., there are no videos related to the artist of the music content). Accordingly, screen 1100 does not include a video selection list. If one or more videos were related to the music content, then screen 1100 would include a video selection list containing the videos, like lists 406, 506.
FIG. 12 illustrates a user interface screen 1200 that may be displayed when user 102 selects “Search” button 419 from screen 400. Screen 1200 includes a text input box 1202 into which a user can input a search query (i.e., a string of characters). In embodiment shown, user 102 inputs the search query by selecting characters (e.g., letters, numbers, etc.) from a character bar 1204 that displays, among other things, the English alphabet. When a character is selected, the character is appended to the search query shown in input box 1202. The ETS may be configured to perform a dynamic search. That is, as characters are added to the search query, ETS performs a search using the search query and displays matching results underneath box 1202. The results of the search can include the names of music videos as well as artist names. In the example, shown, the artist name “will.i.am” is one of the search results that matches the search query “Will” and the user has highlighted this search result. If the user selects the “will.i.am” search result (e.g., highlights the search result and then presses an “OK” button on remote control 104 or other input device), then the ETS may display a list of music videos related to the selected artist. For example, screen 700 may be displayed where list 706 includes only videos related to the selected artist.
As discussed above, when user 102 activates a button on one of the user interface screens described above, the ETS typically changes the user interface in response. More specifically, in some embodiments, user activation of a such a button causes ETS module 204 to transmit to a server (e.g. server 211, 212 or 214) a message comprising information associated with the selected button (e.g., a button identifier). The message may also contain information identifying the streaming channel to which the ETS is tuned. In response to receiving this message, the server may use information in the message to retrieve from a database (e.g., database 215) information related to the activated button (e.g., a list of the videos the user 102 recently watched). The server then provides this information to the ETS module 204, which may then display the information and/or use the information to obtain further objects (e.g., images) to display.
While various embodiments of the present disclosure are described herein, it should be understood that they have been presented by way of example only, and not limitation. Thus, the breadth and scope of the present disclosure should not be limited by any of the above-described exemplary embodiments. Moreover, any combination of the above-described elements in all possible variations thereof is encompassed by the disclosure unless otherwise indicated herein or otherwise clearly contradicted by context.
1. A method for providing an enhanced service to a user of a user device in communication with a server system, the method comprising:
receiving information indicating that the user desires to consume a selected programmed linear music channel; and
after receiving the information, displaying on a display device of the user device a user interface screen, wherein the user interface screen comprises:
i) a first display area for displaying a graphic image associated with music content transmitted by the server system on the selected programmed linear music channel in accordance with a music content schedule for the selected programmed linear music channel,
ii) a second display area for displaying a set of graphic images;
displaying, in the first display area, a first graphic image associated with first scheduled music content transmitted by the server system on the selected programmed linear music channel in accordance with the music content schedule for the selected programmed linear music channel;
while displaying the graphic image in the first display area displaying in the second display area an artist list for enabling the user to select an artist, wherein the artist list comprises a set of at least two artist images including a first artist image and a second artist image, each artist image included in the set identifies an artist;
after the first scheduled music content has ended: 1) automatically displaying, in the first display area, a second graphic image associated with second scheduled music content transmitted by the server system on the selected programmed linear music channel in accordance with the music content schedule for the selected programmed linear music channel and 2) automatically adding to the displayed artist list a third artist image such that the first artist image, the second artist image, and the third artist image are displayed at the same time in the second display area;
while displaying the second graphic image in the first display area and the second set of graphic images in the second display area, receiving a user input indicating that the user has selected one of the graphic images included in the second set of graphic images; and
after receiving the user input, causing the video associated with the selected graphic image to be streamed on-demand to the user device.
2. The method of claim 1, wherein the first set of artist images includes at least four artist images.
3. The method of claim 2, wherein
the first set of artist images is displayed in the second display area in a grid pattern having at least two rows and two columns.
4. The method of claim 1, wherein
each graphic image included in the first set of graphic images is associated with a different video associated with the artist identified by the first artist image, and
each graphic image included in the second set of graphic images is associated with a different video associated with the artist identified by the third artist image.
5. The method of claim 1, wherein causing the video to be streamed on-demand to the user device comprises:
a) receiving a request transmitted by the user device for a playlist file associated with the video;
b) in response to the request, transmitting the playlist file to the user device, the playlist file identifying a segment of video data corresponding to the video;
c) receiving a request for the segment of video data corresponding to the video; and
d) in response to the request for the segment of video data, transmitting to the user device the segment of video data.
6. A method for providing a service to a user of a user device in communication with a server system, the method comprising:
receiving information indicating that the user desires to consume a selected programmed linear channel; and
after receiving the information, displaying on a display device of the user device a user interface screen, wherein the user interface screen comprises:
i) a first display area for displaying a first graphic image associated with first scheduled content transmitted by the server system on the selected programmed linear channel in accordance with a content schedule for the selected programmed linear channel, and
ii) a second display area for displaying a set of graphic images;
while displaying the first graphic image: 1) displaying in the second display area a first set of graphic images, wherein each graphic image included in the first set of graphic images is associated with a different video and 2) displaying an image carousel for enabling the user to select an image, wherein the image carousel comprises a first image;
after the first schedule content has ended: 1) automatically displaying, in the first display area, a second graphic image associated with second scheduled content transmitted by the server system on the selected programmed linear channel in accordance with the content schedule for the selected programmed linear channel; 2) automatically adding to the displayed carousel a second image; and 3) automatically displaying in the second display area a second set of graphic images, wherein each graphic image included in the second set of graphic images is associated with a different video; and
after displaying in the second display area the second set of graphic images and in response to receiving a user input directed to the carousel:
a) displaying the first image so that the first image is not obscured; and
b) replacing, in the second display area, the second set of graphic images with the first set of graphic images such that the first set of graphic images are displayed in the second display area in place of the second set of graphic images.
7. The method of claim 6, wherein the first set of graphic images includes at least two graphic images.
8. The method of claim 7, wherein
the first set of graphic images includes at least four graphic images, and
the first set of graphic images is displayed in the second display area in a grid pattern having at least two rows and two columns.
9. The method of claim 7, wherein each graphic image included in the second set of graphic images is associated with a different video associated with an artist identified by the second image.
10. A user device for providing a service to a user, the user device comprising:
a user input detector for receiving information indicating that the user desires to consume a selected programmed linear channel; and
a computer system comprising one or more processors, wherein the computer system is configured to:
display, on a display device, a user interface screen, wherein the user interface screen comprises:
i) a first display area for displaying a graphic image associated with content transmitted by the server system on the selected programmed linear channel in accordance with a content schedule for the selected programmed linear channel,
ii) a second display area for displaying a set of graphic images;
display, in the first display area, a first graphic image associated with first content transmitted by the server system on the selected programmed linear channel in accordance with a content schedule for the selected programmed linear channel;
while displaying the first graphic image: 1) display in the second display area a first set of graphic images and 2) display an artist list for enabling the user to select an artist, wherein the artist list comprises a first artist image that identifies an artist, and further wherein and each graphic image included in the first set of graphic images is associated with a different video;
after the first content has ended: 1) automatically display, in the first display area, a second graphic image associated with second content transmitted by the server system on the selected programmed linear channel in accordance with a content schedule for the selected programmed linear channel; 2) automatically add to the displayed artist list a second artist image such that the second artist image is not obscured; and 3) automatically display in the second display area a second set of graphic images, wherein each graphic image included in the second set of graphic images is associated with a different video; and
after receiving a user input indicating that the user has selected one of the graphic images displayed in the second display area, cause the video associated with the selected graphic image to be streamed on-demand to the user device.
11. The user device of claim 10, wherein
each graphic image included in the first set of graphic images is associated with a different video associated with the artist identified by the first artist image, and
each graphic image included in the second set of graphic images is associated with a different video associated with the artist identified by the second artist image.
12. The user device of claim 10, wherein the user device is configured to cause the video to be streamed to on-demand the user device by performing a process that includes:
a) the user device transmitting to a content server a request for a playlist file associated with the video;
b) the user device receiving the playlist file, the playlist file identifying a segment of video data corresponding to the video;
c) the user device transmitting to a content server a request for the segment of video data corresponding to the video;
d) the user device receiving the segment of video data; and
e) the user device rendering the segment video data in the first display area.
13. A server system for providing an enhanced service to a user, the server system comprising:
a receiver for receiving information indicating that the user desires to consume a selected programmed linear channel; and
a computer system comprising one or more processors, wherein the computer system is configured to:
cause a user device to display, on a display device, a user interface screen, wherein the user interface screen comprises:
i) a first display area displaying a first graphic image associated with first content transmitted by the server system on the selected programmed linear channel in accordance with a content schedule for the selected programmed linear channel,
ii) a second display area for displaying a set of graphic images;
cause the user device to display in the second display area while the first graphic image is displayed in the first display area a first set of graphic images, wherein each graphic image included in the first set of graphic images is associated with a different video;
cause the user device to display a list while the first graphic image is displayed in the first display area, wherein the list comprises a first image;
after the first content has ended: 1) automatically cause the user device to display, in the first display area, a second graphic image associated with second content transmitted by the server system on the selected programmed linear channel in accordance with a content schedule for the selected programmed linear channel; 2) automatically cause the user device to add to the displayed list a second image; and 3) automatically cause the user device to display a second set of graphic images, wherein each graphic image included in the second set of graphic images is associated with a different video.
14. The server system of claim 13, wherein
each graphic image included in the first set of graphic images is associated with a different video associated with an artist associated with the first artist image, and
each graphic image included in the second set of graphic images is associated with a different video associated with the artist associated with the second image.