Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND APPARATUS FOR GENERATING VIRTUAL CHANNELS
Document Type and Number:
WIPO Patent Application WO/2016/094072
Kind Code:
A1
Abstract:
A request for a virtual channel is received at a head end from a content receiver. A linear content sequence is created including multiple instances of content selected based on a channel specification containing specified content types and optional subfields for the virtual channel, user information received from the content receiver, and metadata about the multiple instances of content. At least a portion of the multiple instances of content is transmitted from the head end to the content receiver according to an order of the linear content sequence. The linear content sequence can be modified based on interaction data from the content receiver regarding user interaction with the transmitted portion of the multiple instances of content.

Inventors:
CHORNEY EVAN (US)
Application Number:
PCT/US2015/062113
Publication Date:
June 16, 2016
Filing Date:
November 23, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
TECHNICOLOR USA INC (US)
International Classes:
H04N21/258; H04N21/262; H04N21/2668; H04N21/442; H04N21/658
Foreign References:
US20080242280A12008-10-02
US20100138865A12010-06-03
US20110041157A12011-02-17
US20140325568A12014-10-30
US20020052864A12002-05-02
Other References:
None
Attorney, Agent or Firm:
SHEDD, Robert D. et al. (4 Research Way3rd Floo, Princeton New Jersey, US)
Download PDF:
Claims:
CLAIMS

We claim:

1 . A method for providing a virtual channel, comprising:

receiving a request for a virtual channel;

generating a linear content sequence including multiple instances of content selected based on a channel specification containing at least one content type; and

transmitting at least a portion of the multiple instances of content based on said specified at least one content type according to an order of the linear content sequence.

2. The method of claim 1 , further comprising:

receiving a request for a next instance of content in the linear content sequence at a head end from a content receiver while transmitting a current instance of content in the linear content sequence;

ceasing transmitting the current instance of content; and

transmitting the next instance of content.

3. The method of claim 2, further comprising:

receiving a request to return to the current instance of content at the head end from the content receiver while transmitting the next instance of content; ceasing transmitting the next instance of content; and

transmitting the current instance of content from a portion of the current instance of content corresponding to an elapsed time from said operation of ceasing transmitting the current instance of content.

4. The method of claim 1 , wherein said creating a linear content sequence including multiple instances of content includes omitting an instance of content from the linear content sequence based on an indication in a user information that the instance of content has already been accessed.

5. The method of claim 1 , wherein said creating a linear content sequence including multiple instances of content includes omitting an instance of content from the linear content sequence based on an indication in a user information that access of a related instance of content was stopped before completion. 6. The method of claim 1 , further comprising:

receiving interaction data at the head end from the content receiver regarding user interaction with the transmitted portion of the portion of the multiple instances of content; and

modifying the linear content sequence based on the interaction data.

7. The method of claim 6, wherein said modifying the linear content sequence comprises at least one of removing one of the multiple instance of content from the linear content sequence and adding an additional instance of content to the linear content sequence.

8. The method of claim 6, wherein the interaction data includes at least one of user feedback regarding one of the multiple instances of content, an indication regarding a portion that was presented of one of the multiple instances of content, and an indication that a request was received to switch from one of the multiple instances of content to another instance of content.

9. The method of claim 1 , further comprising:

receiving a request at the head end from the content receiver to retransmit an instance of content in the linear content sequence currently being transmitted; and

retransmitting the instance of content from the head end to the content receiver.

10. The method of claim 9, wherein the request is a purchase request.

1 1 . The method of claim 1 , wherein the multiple instances of content included in the linear content sequence are further selected based on priority ratings of the multiple instances of content.

12. The method of claim 1 , wherein the metadata about the multiple instances of content includes at least one of titles of the multiple instances of content, descriptions of the multiple instances of content, episode identifiers of the multiple instances of content, season identifiers of the multiple instances of content, album identifiers of the multiple instances of content, and content ratings of the multiple instances content.

13. The method of claim 1 , further comprising transmitting a list of the multiple instances of content included in the linear content sequence from the head end to the content receiver.

14. The method of claim 1 , wherein a user information includes at least one of user indicated preferences or data regarding previous content access.

15. The method of claim 1 , wherein the channel specification for the virtual channel includes at least one of a category of content, a content rating, and a content type.

16. The method of claim 1 , wherein the multiple instances of content include content types of at least one of movies, television shows, advertisements, video, audio, and music.

17. A computing device, comprising:

a processor; and

a memory coupled to the at least one processor, the memory for storing instructions which, when executed by the processor, performs the operations of: receiving a request for a virtual channel;

generating a linear content sequence including multiple instances of content selected based on a channel specification containing at least one content type; and transmitting at least a portion of the multiple instances of content based on said specified at least one content type according to an order of the linear content sequence. 18. The computing device of claim 17, wherein the instructions are executed by the processor further comprises:

receiving a request for a next instance of content in the linear content sequence at a head end from a content receiver while transmitting a current instance of content in the linear content sequence;

ceasing transmitting the current instance of content; and

transmitting the next instance of content.

19. The computing device of claim 18, wherein the instructions are executed by the processor further comprises:

receiving a request to return to the current instance of content at the head end from the content receiver while transmitting the next instance of content; ceasing transmitting the next instance of content; and

transmitting the current instance of content from a portion of the current instance of content corresponding to an elapsed time from said operation of ceasing transmitting the current instance of content.

20. The computing device of claim 17, wherein said operation to create a linear content sequence including multiple instances of content includes omitting an instance of content from the linear content sequence based on an indication in a user information that the instance of content has already been accessed.

21 . The computing device of claim 17, wherein said operation to create a linear content sequence including multiple instances of content includes omitting an instance of content from the linear content sequence based on an indication in a user information that access of a related instance of content was stopped before completion.

22. The computing device of claim 17, wherein the instructions are executed by the processor further comprises:

receiving interaction data at the head end from the content receiver regarding user interaction with the transmitted portion of the portion of the multiple instances of content; and

modifying the linear content sequence based on the interaction data.

23. The computing device of claim 22, wherein said operation to modify the linear content sequence comprises at least one of removing one of the multiple instance of content from the linear content sequence and adding an additional instance of content to the linear content sequence.

24. The computing device of claim 22, wherein the interaction data includes at least one of user feedback regarding one of the multiple instances of content, an indication regarding a portion that was presented of one of the multiple instances of content, and an indication that a request was received to switch from one of the multiple instances of content to another instance of content. 25. The computing device of claim 17, wherein the instructions are executed by the processor further comprises:

receiving a request at the head end from the content receiver to retransmit an instance of content in the linear content sequence currently being transmitted; and

retransmitting the instance of content from the head end to the content receiver.

26. The computing device of claim 25, wherein the request is a purchase request.

27. The computing apparatus of claim 17, wherein the multiple instances of content included in the linear content sequence are further selected based on priority ratings of the multiple instances of content.

28. The computing apparatus of claim 17, wherein the metadata about the multiple instances of content includes at least one of titles of the multiple instances of content, descriptions of the multiple instances of content, episode identifiers of the multiple instances of content, season identifiers of the multiple instances of content, album identifiers of the multiple instances of content, and content ratings of the multiple instances content.

29. The computing device of claim 17, wherein the instructions are executed by the processor further comprises: transmitting a list of the multiple instances of content included in the linear content sequence from the head end to the content receiver.

30. The computing apparatus of claim 17, wherein a user information includes at least one of user indicated preferences and data regarding previous content access.

31 . The computing apparatus of claim 17, wherein the channel specification for the virtual channel includes at least one of a category of content, a content rating, and a content type.

32. The computing apparatus of claim 17, wherein the multiple instances of content include content types of at least one of movies, television shows, advertisements, video, audio, and music. 33. A computer readable medium containing computer readable instructions to provide a virtual channel, the instructions when executed by one or more processors performs the operations comprising:

receiving a request for a virtual channel;

generating a linear content sequence including multiple instances of content selected based on a channel specification containing at least one content type; and transmitting at least a portion of the multiple instances of content based on said specified at least one content type according to an order of the linear content sequence.

Description:
METHOD AND APPARATUS FOR GENERATING VIRTUAL CHANNELS

TECHNICAL FIELD OF THE INVENTION

Embodiments described herein relate generally to content delivery systems and, more particularly, to generating virtual channels of media content. BACKGROUND OF THE INVENTION

Conventional content delivery systems, such as cable or satellite television systems, typically transmit media content (such as movies, television programs, music, and so on) from a head end of a content provider to one or more content receivers (such as a set top box). Often, multiple instances of media content (individual television programs, movies, and so on) can be broadcast from a head end to one or more content receivers at the same time as multiple channels in the broadcast. Each channel can be associated with a programming provider who organizes what content is broadcast associated with a particular channel at a particular time, such as the LIFETIME™ television channel. A user can set the user's content receiver to a particular channel of the broadcast in order to have the content receiver present the instance of content associated with that channel currently being received.

However, in such a multiple channel broadcast scenario, the user is not able to control the content being received beyond selecting the channel to be presented. In some cases, a user cannot access an entire instance of content associated with a particular selected channel. Instead, a user can switch between multiple available channels, in an activity commonly referred to as "channel surfing." A user can channel surf to see what other instances of content are currently being broadcast, to find an instance of content more interesting than the instance of content the user previously selected, and/or for a variety of other reasons.

Contrary to this broadcast scenario, a head end of a content provider can also transmit instances of media content to content receivers in an "on demand" scenario. In an on demand scenario, a user selects specific media content which is then requested by a user's content receiver. The user's request for a particular instance of content can be received at a head end from a user's content receiver. The requested instance of media content can then be transmitted from the head end to the user's content receiver. The on demand scenario however requires a user to specifically select content that is to be received which does not reflect the random nature of channel surfing of conventional content delivery systems.

Accordingly, there can be a present need for generating virtual channels in an on demand content delivery system.

SUMMARY

This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Description of the

Embodiments section below. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.

Embodiments described herein can relate to, include, or take the form of methods, systems, and apparatuses for providing a virtual channel. A request for a virtual channel can be received at a head end from a content receiver. A linear content sequence can be created including multiple instances of content selected based on a channel specification for the virtual channel, user information received from the content receiver, and metadata about the multiple instances of content. At least a portion of the multiple instances of content can be transmitted from the head end to the content receiver according to an order of the linear content sequence.

Various embodiments described herein can relate to, include, or take the form of a method for providing a virtual channel. The method can include the operations of receiving a request for a virtual channel at a head end from a content receiver, creating a linear content sequence including multiple instances of content selected based on a channel specification for the virtual channel, user information received from the content receiver, and metadata about the multiple instances of content, and transmitting at least a portion of the multiple instances of content from the head end to the content receiver according to an order of the linear content sequence

Other embodiments described herein can relate to, include, or take the form of a computing device. The computing device, and more specifically, the memory of the computing device can store instructions which, when executed by a processor of the computing device can perform one or more of the processes described herein. Such a process can include receiving a request for a virtual channel from a content receiver, creating a linear content sequence including multiple instances of content selected based on a channel specification for the virtual channel, user information received from the content receiver, and metadata about the multiple instances of content, and transmitting at least a portion of the multiple instances of content to the content receiver according to an order of the linear content sequence.

BRIEF DESCRIPTION OF THE FIGURES

Reference will now be made to representative embodiments illustrated in the accompanying figures. It is understood that the following descriptions are not intended to limit the disclosure a particular embodiment or a set of particular embodiments. To the contrary, this disclosure is intended to cover alternatives, modifications, and equivalents as can be derived from the disclosure of the described embodiments as defined by the appended claims and as illustrated in the accompanying figures:

FIG. 1 depicts a block diagram of an exemplary content delivery system configured for providing a virtual channel;

FIG. 2 depicts a flow chart illustrating operations of first exemplary process of providing a virtual channel;

FIG. 3 depicts a flow chart illustrating operations of a second exemplary process of providing a virtual channel; and FIG. 4 depicts an exemplary embodiment of a user interface of a channel sequence that is used to create a linear content sequence used to provide a virtual channel.

The use of the same or similar reference numerals in different drawings indicates similar, related, or identical items.

DESCRIPTION OF THE EMBODIMENTS

Various exemplary embodiments are described more fully below with reference to the accompanying drawings, which form a part hereof, and which show specific exemplary embodiments. However, embodiments can be implemented in many different forms and should not be construed as limited to the embodiments set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will convey the scope of the embodiments to those skilled in the art. The following detailed description is, therefore, not to be taken in a limiting sense. Many exemplary embodiments described herein relate to methods, systems, and apparatuses for providing a virtual channel. A request for a virtual channel can be received at a head end from a content receiver. A linear content sequence including multiple instances of content (such as movies, television shows, advertisements, video, audio, music, and so on) can be created. The multiple instances of content can be selected based on a channel specification for the virtual channel, user information received from the content receiver, and metadata about the multiple instances of content. At least a portion of the multiple instances of content can be transmitted from the head end to the content receiver according to an order of the linear content sequence. In this way, on demand content can be transmitted to a user mimicking channels of a multiple channel broadcast system. Further, the virtual channel can be customized for a particular user or users such that the content transmitted is more likely to be of interest.

In various exemplary embodiments, a request for a next instance of content in the linear content sequence can be received during transmission of one of the multiple instances of content. The head end can cease transmission of the instance of content and can begin transmitting the requested next instance of content. A request can then be received to return to the previous instance of content. The head end can cease transmission of the requested next instance of content and can return to transmission of the previous instance of content.

However, in some implementations, the head end can return to transmitting the previous instance of content from a portion corresponding to a time that has elapsed since transmission of the previous instance of content was ceased. In this way, the head end can behave as if the previous instance of content was being transmitted during the cessation period and the user was not accessing that transmitted content during that period. In this way, a user can be able to switch within the content of the linear content sequence similarly to how a user can channel surf among channels of a multiple channel broadcast system.

In various exemplary embodiments, linear content sequence can be customized for a user or users based on the channel specification for the virtual channel, the user information, and the metadata about the multiple instances of content. For example, instances of content already accessed by a user and/or instances of content similar to those the user ceased accessing or indicated that the user did not like can be omitted. By way of another example, instances of content similar to other content accessed by the user can be included.

In various exemplary embodiments, the linear content sequence can be modified based on interaction data received at the head end from the content receiver. For example, if a user switches from a first instance of content in the linear content sequence to a second instance of content, instances of content similar to the first instance of content can be removed and/or not added to the linear content sequence. Further, instances of content similar to the second instance of content can be added to the linear content sequence or used to replace instances of content currently included in the linear content sequence.

In various exemplary embodiments, the head end can receive a request to retransmit the entirety of an instance of content that is currently being

transmitted. Such a request can be a request to purchase the instance of content. In response to such a request, the head end can transmit the instance of content to the content receiver. In this way, a user can be able to order an instance of content partway through transmission associated with the linear content sequence, enabling the user to access portions that the user can have missed (such as if the user was switching between instances of content in the linear content sequence).

In various exemplary embodiments, the multiple instances of content included in the linear content sequence can be selected based on other factors beyond the channel specification, user data, and the metadata regarding the instances of content. For example, various instances of content can have priority ratings, such as where sponsors have paid to have certain instances of content be more likely to appear in a linear content sequence. In such an example, when two instances of content could both be selected based on the channel specification, user data, and metadata, the instance with the higher priority rating can be selected for inclusion first. In various exemplary embodiments, the channel specification can be any kind of data specifying what kind of content to include in the linear content sequence. For example, the channel specification can specify to include content categorized as "romance" or "action." In such an example, the virtual channel can be associated with that particular category and a user can access different virtual channels of different categories to access different categories of content. Alternatively, the channel specification can be configured according to the specification of a particular user indicated by preferences (such as user provided preferences, historical content access information for the user, and so on) in the user information and the virtual channel can be customized for that particular user. By way of another example, the channel specification can specify to only include content associated with a particular programming provider (such as the USA Network™) that does not exceed a particular content rating (such as suitable for general audiences). By way of still another example, the channel specification can specify to include content in a particular order of content type (such as in a movie, television show, music order).

In various exemplary embodiments, the metadata can include a variety of different information regarding instances of content available for inclusion. Such information can include, but is not limited to, titles of the multiple instances of content, descriptions of the multiple instances of content, episode identifiers of the multiple instances of content, season identifiers of the multiple instances of content, album identifiers of the multiple instances of content, content ratings of the content, and/or any other information that can be searched in relation to the channel specification and/or user information to customize content included in the linear sequence of content.

In various exemplary embodiments, a list of the instances of content included in the linear sequence of content can be provided to a user. For example, such a list can be transmitted from the head end to the content receiver. In this way, the user can be able to determine what content is available and can be able to switch among content available in the linear content sequence, facilitating greater user satisfaction with content presented by the content receiver. FIG. 1 depicts a block diagram of an exemplary embodiment of a communication system 100 configured for generating and providing a virtual channel. The communication system can include a head end 101 of a content provider (such as a satellite, cable, Internet, or other content provider) that is communicably connected to one or more content receivers 103 (such as a set top box, a television, a display device, a computing device, a cell phone, a tablet, or other content receiver) via a communication networks 1 02 (such as a satellite communication network, a cable communication network, a cellular

communication network, the Internet, and the like).

The head end 101 can include one or more processing units 104, one or more communication components 1 06, and one or more non-transitory storage media 105 (which can take the form of, but is not limited to, a magnetic storage medium, optical storage medium, magneto-optical storage medium, read only memory, random access memory, erasable programmable memory, flash memory, and the like). The non-transitory storage media 105 can store a database 107 or other data storage structure of instances of content (such as one or more movies, television shows, advertisements, audio, video, music, and the like) and metadata regarding the instances of content. In some embodiments, storage medium 105 can be configured in multiple locations where the content and metadata are stored in such locations. For example, metadata can be stored in a first location of storage medium 105 while content is stored in a second location of storage medium 105. Note, processing unit 1 04 and communication component 106 can be configured to implement various instruction sets of commands to perform different operations as disclosed within the exemplary embodiments of this specification.

Although the instances of content are described as stored in the database 107 of the head end 101 , it is understood that this is an example. In various implementations, the instances of content can be stored by one or more other computing devices accessible by the head end without departing from the scope of the present disclosure.

The content receiver 103 can be any electronic device capable of presenting content received from the head end 101 . The content receiver can include one or more processing units 108, one or more non-transitory storage media 109, one or more communication components 1 1 0, one or more output components for presenting content received from the head end such as one or more displays 1 1 1 and/or speakers 1 12, and/or one or more user interface components 1 13 (such as one or more keyboards, mice, remote controls, buttons, and so on). Note, processing unit 108 and communication component 1 10 can be configured to implement various instruction set of commands to perform different operations as disclosed within the exemplary embodiments of this specification.

The head end 101 can generate and provide one or more virtual channels. The head end can receive a request for a virtual channel from the content receiver 103. The head end can create a linear content sequence including multiple instances of content selected from the database 107 based on a channel specification for the virtual channel, user information received from the content receiver, and metadata about the multiple instances of content. At least a portion of the multiple instances of content can be transmitted from the head end to the content receiver according to the order of the linear content sequence. For example, the channel specification for the virtual channel can specify that the channel is a romantic comedy channel. The user information can indicate that the user has previously accessed content categorized as romantic comedy starring an actor named Adam Sandler. As such, when the virtual channel is requested the head end 101 can analyze metadata regarding the multiple instances of content to create the following linear content sequence: Moviel , Movie2, and Movie3 where the metadata indicates that Movie1 -3 are categorized as romantic comedies starring Adam Sandler. The head end can begin transmitting Moviel to the content receiver 1 03, followed by Movie2 and Movie3. Subsequently, the head end can modify the linear content sequence by adding additional instances of content to the linear content sequence that are categorized as romantic comedies and/or star Adam Sandler.

By way of another example, the channel specification for the virtual channel can specify that the channel is for a particular user. The user information can indicate that the user has specified a preference for a show titled "Cooking Help," but has previously accessed episodes 1 , 4, and 6 of that show. As such, when the virtual channel is requested the head end 101 can analyze metadata regarding the multiple instances of content to create the following linear content sequence: Cooking Help episode 2, Cooking Help episode 3, and Cooking Help episode 5. The head end can begin transmitting Cooking Help episode 2 to the content receiver 103, followed by Cooking Help episode 3 and Cooking Help episode 5. At the time of request, Cooking Help episode 6 is not available for transmission. However, subsequent to the creation of the linear content sequence, Cooking Episode 6 can become available for transmission. As such, the head end can modify the linear content sequence by adding Cooking Help episode 6. That is, the virtual channel list is configured to provide episodes of shows that have not been viewed yet by a user or have just been released for viewing.

By way of still another example, the channel specification for the virtual channel can indicate the order of content in virtual channel. The user information can indicate that the user has provided feedback that the user does not care for heavy metal (and/or the user has previously stopped access of music content categorized as heavy metal prior to completion). As such, when the virtual channel is requested the head end 101 can analyze metadata regarding the multiple instances of content to create the following linear content sequence: Moviel , TelevisionShowl , Musid , and Movie2 where the metadata indicates that Musid is not categorized as heavy metal. The head end can begin transmitting Moviel to the content receiver 103, followed by TelevisionShowl , Musid , and Music2.

In some exemplary embodiments, the channel specification for the virtual channel which is used to create a linear content sequence is generated in a specific order of different types of content with different content instances being placed within such a frame work. Different types of content can be defined as being movies, television shows, short form videos as seen on services such as YOUTUBE™, music, and the like. A channel specification for a virtual channel can be specified by a user in generating such a list or automatically by a preference engine as to produce a specific order of a type of content. The format of the channel specification can be presented to a user for adjustment using a user interface as to be described later in exemplary embodiments presented below.

In an exemplary embodiment, a first channel specification for a virtual channel can be of the format of "Moviel , TelevisionShowl , TelevisionShow2, Musid , Music2". This listing would be used to deliver a content instance of a specific movie title, two specific television show episodes or programs of a series, and two music selections. For example, in a first use of this first channel specification, the linear content sequence to be played back can be Star Wars (movie), Episode 1 of Agents of S.H.I.E.L.D. (television show), Episode 39 of the Simpsons, (television show), Beat It (music), and That's All (music). When the first channel specification is used again, a linear content sequence use can be presented can be Empire Strikes Back (movie), Episode 2 of the Agents of S.H.I.E.L.D. (television show), Episode 40 of the Simpsons (television show), P.Y.T. (music), and Home by the Sea (music).

In another exemplary embodiment, a second channel specification for a virtual channel can be in the format of "Music Albuml , Musid , Television Seriesl , Television Series2, ShortFormVideol , ShortFormVideo2". In the first use of the second channel specification, the content to be played back is Aja (music album), Pyramids (music), Episode 5 of Married with Children (television series), Episode 78 of Futurama (television series), Episode 5 of Mental Floss (short form video), and Episode 34 of Peanut Butter Gamer (short form video). In the second use of the second channel specification, the content to be played back is Gaucho (music album), Thinking of You (music), Episode 6 of Married with Children (television series), Episode 79 of Futurama (television series), Episode 6 of Mental Floss (short form video), and Episode 35 of Peanut Butter Gamer (short form video). Other embodiments of channel specifications that are used for linear content sequences, content types, and content played back in accordance with such specifications can be implemented in accordance with the described principles.

TABLE 1 discloses different content types that can be used to generate a channel specification in accordance with the described principles.

album is typically composed of a number of songs.

A music selection such as a song. The

Music

song can come from a music album .

Media that can be episodic that is produced

Shortformvideo for a distribution network such as

YOUTUBE™ or M-GO™

An advertisement can be in the form of a

Advertisement

commercial, ad banner, and the like.

TABLE 1

The channel specification for the virtual channel can include subfields defining the virtual channel and/or content to include in and/or exclude from the virtual channel. For example, such subfields can include a category of content, a content rating, a content type, and/or any other specification regarding the virtual channel and/or content of the virtual channel. These subfields of content can be specified by including additional fields as shown in TABLE 2 below. For example, if a user wants to have a television series with a specific actor using the subfield &Actor, the user could indicate "TelevisionSeriesl &Actor= 'MARTIN SHEEN' " where the actor Martin Sheen is used as a filter to select a specific television series. The text between the single quote marks represents a search term that can be used to search through database 1 07 where any content that matches such a term can be selected when the linear content sequence is generated. Hence, in the current example, a television series such as Spin City, Two and Half Men, and Anger Management can be selected by head end 1 01 to be presented as part of a linear content sequence. Other examples are possible in accordance with the illustrative principles presented.

SUBFIELD DESCRIPTION &Actor Specification of a particular actor that is in content to be selected.

&Director Specification of a particular director that directed content to be selected.

&Genre Specification of a particular genre of content to be selected.

&Musician Specification of a specific musician or music group that played on content to be selected.

&Author Specification of a specific author that wrote content to be selected.

&Event Specification of a specific event that is selected as content. Events can be sporting events, specials, one off content, and the like.

&Freetext Specification of a search term that is used to search for content that has a matching term in the metadata of such content as stored in database 107. Matching content from the search can be selected for generating the linear content sequence.

TABLE 2

The metadata can be any kind of information describing the instances of content. The metadata can be stored within and/or separate from the instances of content. Such metadata can include titles of the instances of content, descriptions of the instances of content, episode identifiers of the instances of content, season identifiers of the instances of content, album identifiers of the instances of content, content ratings of the content, and/or any other information describing the instances of content. The user information can be any kind of information about the user and/or the user's content access habits. Such information can include preferences that the user has specified, historical data regarding the user's content access habits, limitations on content the user can access, and/or any other such information regarding the user.

During transmission of one of the multiple instances of content according to the order of the linear content sequence, the head end 101 can be configured to receive a request from the content receiver 103 to switch to a subsequent or previous instance of content. In response to such a request, the head end can cease transmission of the currently transmitted instance of content and can switch to the requested instance. In some implementations, a list of the linear content sequence can be transmitted to the content receiver to enable a user to navigate through the linear content sequence, simulating the ability to channel surf allowed in multiple channel broadcast systems. In various exemplary embodiments, the head end 101 can simulate that the instances of content are being broadcast at a particular time like in a multiple channel broadcast system. For example, if an instance of content included in the linear content sequence has been entirely transmitted, the user can not be allowed to switch to transmission of that instance of content. However, in some cases the user can be allowed to purchase that instance of content, in which case the entirety of that instance of content can be retransmitted to the content receiver 103.

By way of another illustrative example, the user can request to switch to a subsequent instance of content in the linear content sequence and then later switch back to the previous instance of content. In response to such requests, the head end 101 can return to transmitting the previous instance of content at a portion of the previous instance corresponding to the time that has elapsed since the user switched from the previous to the next. In this way, the head end can simulate that the previous instance was being transmitted during transmission of the next instance, even though transmission of the previous instance ceased upon request for the next instance, and that the user simply switched between the two. However, in some cases the user can be allowed to purchase the previous instance of content, in which case the entirety of the previous instance can be retransmitted to the content receiver 103 even though the user had switched to the next instance so that the user can access the previous instance in full. In some exemplary embodiments, the head end 101 can receive interaction data from the content receiver 1 03 regarding user interaction with the transmitted portion of the multiple instances of content. For example, such interaction data can include indications that the user stopped transmission of an instance of content, switched from a currently transmitting instance of content to another instance of content in the linear content sequence, provided feedback related to a currently transmitting instance of content, and/or any other such interaction with one or more instances of content transmitted related to the linear content sequence. Based at least upon such interaction data, the head end can modify the linear content sequence. Such modification can include adding one or more additional instances of content, replacing one or more instances of content included in the linear content sequence with one or more other instances of content, removing one or more instances of content from the linear content sequence, and so on.

Although the selection of instances of content for inclusion in the linear content sequence is described above as being based on the channel

specification, the user information, and the metadata, it is understood that this is an example. In various implementations the instances of content can be further selected based on a variety of different factors.

For example, one or more instances of content can be sponsored by one or more content creators or suppliers. As part of such sponsorship, various instances of content can be assigned a priority rating. The priority rating for a particular instance of content can indicate to select a particular instance of content before another instance of content that is not sponsored, or for which the sponsor did not pay as much to sponsor. In such an example, when multiple instances of content can be selected based on the channel specification, the user information, and the metadata, instances of content with a higher priority rating can be selected first. Alternatively, specific content can be linked with

advertisements that are to be shown with such content instances.

FIG. 2 depicts a flow chart of an exemplary embodiment illustrating operations of a first exemplary process 200 of providing a virtual channel. The process can be performed by the system 100 of FIG. 1 .

The method can begin at 201 with the operation of receiving a request for a virtual channel. The request can be received at a head end from a content receiver.

Thereafter, at 202, the method can continue with the operation of creating a linear content sequence from a channel specification. The linear content sequence can be created by including multiple instances of content and content types selected based on a channel specification for the virtual channel, user information received from the content receiver, and metadata about the multiple instances of content. In some illustrative embodiments, the linear content sequence generated from a channel specification should specify the content types with the associated subfields for selecting the content instances that are used to form the linear content sequence.

Thereafter, at 203, the method can continue with the operation of transmitting at least a portion of the linear content sequence. The portion of the linear content sequence can be transmitted by transmitting one or more instances of content included in the linear content sequence from the head end to the content receiver in accordance with an ordering specified in the linear content sequence of content types and/or specified subfields.

Although the exemplary process 200 is illustrated and described above as including particular operations performed in a particular order, it is understood that this is an illustrative example. In various implementations, various orders of the same, similar, and/or different operations can be performed without departing from the scope of the present disclosure.

For example, the operations at 202 and 203 are illustrated and described linearly and sequentially creating the linear content sequence and transmitting at least a portion of the linear content sequence. However, in various

implementations these operations can be performed repeatedly and/or in tandem. For example, the linear content sequence can be created, at least a portion of the linear content sequence can be transmitted, the linear content sequence can be modified, and at least a portion of the modified linear content sequence can be transmitted. Various other configurations are possible and contemplated without departing from the scope of the present disclosure.

FIG. 3 depicts an exemplary embodiment of a flow chart illustrating operations of a second exemplary process 300 of providing a virtual channel. The method can be performed by the system 100 of FIG. 1 .

The method can begin at 301 where a head end operates. The flow can proceed to 302 where the head end determines whether or not a virtual channel request is received. Such a request can be received at the head end from a content receiver. If so, the flow can proceed to 303. Otherwise, the flow can return to block 301 where the head end continues to operate.

At 303, after the head end determines that a virtual channel request is received, the head end can create a linear content sequence using specified content types and optional subfields. The linear content sequence can be created by including multiple instances of content selected based on a channel specification for the virtual channel using specified content types and optional subfields, user information received from the content receiver, and metadata about the multiple instances of content. The flow can proceed to 304 where at least a portion of the linear content sequence is transmitted. The portion of the linear content sequence can be transmitted by transmitting one or more instances of content included in the linear content sequence from the head end to the content receiver in accordance with an ordering specified in the linear content sequence.

Thereafter, at 305, the head end can determine whether or not to modify the linear content sequence. The head end can determine whether or not to modify the linear content sequence based on interaction data regarding user interaction with the transmitted portion of the linear content sequence received from the content receiver, other user information received from the content receiver, additional instances that become available, information indicating that previously available instances of content are no longer available, and/or other such factors. Modifications can be also made in response to user input to add, remove, replace, and the like of specific content types and subfields. If the head end determines to modify the linear content sequence, the flow can proceed to 306 where the linear content sequence is modified before proceeding to 307. Otherwise, the flow can proceed directly to 307.

Thereafter, at 307, the head end can determine whether or not to change content currently being transmitted. The head end can determine whether or not to change content currently being transmitted based on one or more requests received from the content receiver, completed transmission of an instance of content, and/or other such factors. If the head end determines to change content being transmitted, the flow can proceed to 308 where the instance of content being transmitted is changed before proceeding to 309. Otherwise, the flow can proceed directly to 309.

Thereafter, at 309, the head end can determine whether or not to cease transmission of the linear content sequence. Such a determination can be based on receipt of a request from the content receiver to cease transmission, completion of transmission of the linear content sequence, and/or other such factors. If so, the flow can return to block 301 where the head end continues to operate. Otherwise, the flow can return to 304 where transmission of the linear content sequence continues.

Although exemplary method 300 is illustrated and described above as including particular operations performed in a particular order, it is understood that this is an example. In various embodiments, various orders of the same, similar, and/or different operations can be performed without departing from the scope of the present disclosure.

For example, in various illustrative embodiments the method 300 can include the additional operation of receiving a request to purchase one of the instances of content included in the linear content sequence. Such a purchased instance of content can be a previously transmitted instance of content, an instance of content currently being transmitted, and instance of content not currently being transmitted, an instance of content related to one of the instances of content included in the linear content sequence (such as where the linear content sequence includes advertisements for movies and the purchased instance of content is a movie related to one of the advertisements), and so on. Various other configurations are possible and contemplated without departing from the scope of the present disclosure.

FIG. 4 presents an exemplary embodiment of a user interface 400 that can be used to generate a channel sequence of content types and subfields. From the exemplary specified channel sequence, a number of content instances can be used for delivering a content sequence in accordance with the disclosed principles. The channel sequence can be modified using a user interface such a keyboard, mouse, voice activation, user input device, and the like to add, remove, modify content types and subfields.

Specifically, the exemplary channel sequence specifies a first term

"Movie1 &GENRE='MYSTERY"' where content instances comporting to being mystery movies will be selected as the first entry of a linear sequence. The second term TelevisionShow1 &GENRE='SPORTS' in the channel sequence would have sporting events selected as the second entry of a linear sequence. The third term "TelevisionShow2" would have a television show selected as the third content instance. Likewise, the fourth term of "TelevisionShow3" would have a second television show selected as a fourth instance. The fifth term of a content type "MUSIC1 &GENRE='JAZZ' " would have a jazz based music selection selected as the fifth content instance for the linear sequence. The last term specified in the channel sequence, "MUSIC2&MUSICIAN='GENESIS' " would have songs of the music group GENESIS selected as the sixth and final content instance of the present linear sequence. Note, if the channel sequence is repeated, a new selection of content instances can be selected by system 100 even though the specified content types stay the same.

As described above and illustrated in the accompanying figures, the present disclosure details methods, systems, and apparatuses for providing a virtual channel. A request for a virtual channel can be received at a head end from a content receiver. A linear content sequence including multiple instances of content (such as movies, television shows, advertisements, video, audio, music, and so on) can be created. The multiple instances of content can be selected based on a channel specification for the virtual channel, user information received from the content receiver, and metadata about the multiple instances of content. At least a portion of the multiple instances of content can be transmitted from the head end to the content receiver according to an order of the linear content sequence. In this way, on demand content can be transmitted to a user mimicking channels of a multiple channel broadcast system. That is, the exemplary embodiments can provide on demand content in a format that can be intermixed with regular broadcast content which is "pushed" to a user.

Otherwise, the selection of each piece of content from an on-demand system can seem to a user like a "pull" system where the user selects each piece of content. Further, the virtual channel can be customized for a particular user or users such that the content transmitted is more likely to be of interest.

In the present disclosure, the methods disclosed can be implemented as sets of instructions or software readable by a device. Further, it is understood that the specific order or hierarchy of steps in the methods disclosed are examples of sample approaches. In other embodiments, the specific order or hierarchy of steps in the method can be rearranged while remaining within the disclosed subject matter. The accompanying method claims present elements of the various steps in a sample order, and are not necessarily meant to be limited to the specific order or hierarchy presented. The described disclosure can be provided as a computer program product, or software, that can include a non-transitory machine-readable medium having stored thereon instructions, which can be used to program a computer system (or other electronic devices) to perform a process according to the present disclosure. A non-transitory machine-readable medium includes any mechanism for storing information in a form (e.g., software, processing application) readable by a machine (e.g., a computer). The non-transitory machine-readable medium can take the form of, but is not limited to, a magnetic storage medium (e.g., floppy diskette, video cassette, and so on), optical storage medium (e.g., CD- ROM), magneto-optical storage medium, read only memory (ROM), random access memory (RAM), erasable programmable memory (e.g., EPROM and EEPROM), flash memory, and so on. Although embodiments which incorporate the teachings of the present disclosure have been shown and described in detail herein, those skilled in the art can readily devise many other varied embodiments that still incorporate these teachings. Having described preferred embodiments of a system, method and user interface for generating virtual channels (which are intended to be illustrative and not limiting), it is noted that modifications and variations can be made by persons skilled in the art in light of the above teachings. It is therefore to be understood that changes can be made in the particular embodiments of the disclosure disclosed which are within the scope of the disclosure as outlined by the appended claims. Additionally, some embodiments can take the form of a computer program product tangibly embodied in a non-transitory computer-readable storage medium. More particularly, the computer-readable storage medium can include computer executable instructions which, when executed by at least one processor, can perform one or more of the methods described herein. In some embodiments, the computer-readable storage medium can include: a first set of instructions executable by a processing unit to receive a request for a virtual channel from a content receiver, a second set of instructions, stored in the non- transitory computer-readable storage medium, executable by the processing unit to create a linear content sequence including multiple instances of content selected based on a channel specification for the virtual channel, user information received from the content receiver, and metadata about the multiple instances of content, and a third set of instructions, stored in the non-transitory computer- readable storage medium, executable by the processing unit to transmit at least a portion of the multiple instances of content to the content receiver according to an order of the linear content sequence.