METHOD FOR PROVIDING A PERSONALIZED VIDEO CHANNEL
BACKGROUND OF THE INVENTION
Field of the Invention
This invention relates to the field of personalization of content. In particular, the invention relates to methods for mixing broadcast and demand streams to create a personalized video stream. Description of the Related Art The advent of the videocassette recorder (VCR) as a consumer electronics product enabled consumers to time shift programming. That is to say, a consumer could record their favorite show one night and watch it another time. More recently, devices have been marketed that use a hard disk rather than a video cassette as a recording medium. These newer devices are relatively expensive because they include Moving Pictures Experts Group version 2
(MPEG2) encoders. Also, the present generation of devices has not delivered particularly good quality compared to a traditional VCR. Both of these types of devices are limited to providing time shifting. Throughout this discussion both traditional VCRs and the new video recorders that use hard disks will be referred to as VCRs.
One limit of the current VCRs is that they are only able to record scheduled programming. For example, a cable system might carry eighty different channels, but if none of those channels includes a Russian language newscast, then the VCR cannot obtain and record the desired newscast. Similarly, there is no ability to select and mix segments from different programs. For example, if a user wanted to watch only the world news portion of the ABC Evening News and then wanted to watch the score summary from ESPN news, the user would have to separately record both programs and manually scan to the desired portions. If both air simultaneously, the user might need to have multiple VCRs.
The prior art techniques do not provide for user requests for content that is not available on broadcast channels. The prior art techniques do not support
the creation of a personalized channel that mixes both broadcast and on demand information. Accordingly, what is needed is a method and apparatus that can provide personalized content derived from both broadcast information and on demand video and audio sources.
SUMMARY OF THE INVENTION
A method and apparatus for providing personalized content via a digital television system is described. This allows a digital television provider such as a cable company or a satellite company to devote a small amount of the available bandwidth to on demand programming while also allowing users a greater degree of choice in their viewing habits.
In one embodiment, a set top box is provided to customers of the digital television system. The set top box might be a computer, a thin client computer, a Java™ computer, and/or some other type of set top box. In one embodiment, a set top box used by existing digital television providers is modified to include additional software and a memory such as a hard disk drive, random access memory, and/or some other type of memory. This allows the set top box to record a user's preferred programming for viewing as a personalized stream. This personalized stream of recorded programming can include both programming from broadcast streams, e.g. broadcast stations, cable channels, etc., as well as programming not available on those broadcast streams.
In some embodiments, the streams set aside for providing on demand transmissions are scheduled by a computer that ranks user requests according to popularity. This allows a limited number of on demand streams to accommodate the most requested programs first. Thus, if only five streams are available for transmission of on demand program requests, the streams will be utilized to provide the most requested programs first.
In some embodiments, the set top box can record programs without applying an MPEG2 encoding. This improves the quality of the recording and reduces the hardware costs of the set top box. In this embodiment, the same decoder used to display video directly from the digital television provider is used to display recorded video during playback.
In some embodiments, the user of the set top box can request programs for inclusion in her/his personalized channel from a grid of available programs. Additionally, a free form text field can be provided to allow user input of a string that can be matched against titles in the broadcast channels and/or the on demand audio and video sources.
In some embodiments, the user can select portions of programs called segments. For example, a program such as a news program might be divided into segments to allow a user to better select the portions of the program that are of interest to them. In some embodiments, the on demand audio and video sources may include a charge for viewing the source. When a user requests a segment that includes a charge, that amount can be billed to her/his account, or the user can be prompted to provide payment.
BRIEF DESCRIPTION OF THE FIGURES
Fig. 1 illustrates a system including one embodiment of the invention.
Fig. 2 is a process flow diagram for defining a personalized stream. Fig. 3 is a process flow diagram for managing the use of a transmission medium for providing on demand programs.
DETAILED DESCRIPTION
A. System Overview
Figure 1 illustrates a system including one embodiment of the invention. The system shown is designed for installation as part of a digital cable system. In some embodiments, the invention can be used with digital satellite services. The system can provide television viewers with a personalized stream that mixes programming received from broadcast streams, e.g. scheduled programming on television stations, and on demand content, e.g. specialty and pay per view content, that is transmitted based on requests.
The following paragraph lists the elements of Figure 1 and describes their interconnections. Figure 1 includes a display 100, a set top box 102, an
input 126, a stream source 112, a receiver 120, a computer 122, and an audio/video source 124. The set top box 102 includes a memory 104, a software 106, a demodulator 108, and a translator 110. The set top box 102 is coupled in communication with the display 100 such as by a coaxial cable, a digital video connector, and/or some other connection. The input 126 is coupled in communication with the set top box 102, typically by wireless signals such as infrared (IR) signals. The set top box 102 is coupled in communication with the stream source 112 such as by a coaxial cable, a fiber optic cable, a wireless connection and or some other type of connection. This connection is used to provide broadcast streams 114 and on demand streams 116. The same connection can be used to provide the data channel 118 to the computer 122 and/or a separate communication channel such as a telephone return can be used to provide the data channel 118. The receiver 120 and the computer 122 are coupled to the stream source 112. The audio/video source 124 is coupled to the computer 122. The display 100 and the input 126 are discussed in greater detail in section B, "User Interface."
The following describes the use of the elements of Figure 1. In some embodiments, the set top box 102 is a modified digital cable or digital satellite set top box. In other embodiments, the set top box 102 is a thin client computer, a desktop computer, a personal computer, and/or some other computer. The set top box 102 is capable of receiving digital video signals from the stream source 112. In this example, the stream source 112 is the head end, e.g. the neighborhood distribution point, for a cable system. In other embodiments, the stream source 112 could be a satellite transmission system. For example, a typical digital cable system might include several hundred broadcast video streams 114, e.g. the broadcast channels, cable stations, premium cable stations, pay-per-view cable stations, etc.
The set top box 102 receives video streams from the stream source 112. The stream source 112 could be the cable head end, a satellite transmitter, and/or some other source. A large number of the received streams are broadcast streams. They comprised regularly scheduled programming. Examples of broadcast streams include television stations carried over cable, cable channels, pay-per-view channels, and/or other channels. For example, in one cable
system, there might be four broadcast streams with HBO. Each stream would include different programs on a fixed broadcast schedule.
The other type of stream received by the set top box 102 is an on demand stream. Each on demand stream can be encoded in the same format as the broadcast streams, but need not be. The difference between an on demand stream and a broadcast stream is the content of the stream. Each broadcast stream provide non-user selectable content that is selected by programming departments, etc. In contrast, the on demand streams provide user selected content that is chosen based on the selections of users. For example, if a cable system head end served around 8,000 households, then approximately 7-10 on demand streams might be available from that head end. The content of those on demand streams will vary from head end to head end based on the requests of households served by the head end. For example, the contents of the on demand streams from a stream source 112 serving a Russian immigrant community would be very different from the contents of the on demand streams from a stream source 112 serving a predominantly Hispanic community. The flexible nature of the content of the on demand streams allows them to be used to satisfy user requests for programming that are not scheduled on the broadcast streams. All of these streams flow into the set top box and are demodulated by the demodulator 108. The streams are then passed to the translator 110 for protocol translation. The translator 110 can handle the translation of multiple streams simultaneously according to some embodiments of the invention. This allows the set top box 102 to be used to watch one video stream while others are recorded. It also allows the translator 110 to send and receive data over the data channel 118. The translator 110 does not need to decode the signal into a form suitable for transmission to the display 100. As such, the digital data for a stream can be stored directly in the memory 104 without encoding or decoding such as by MPEG2. The memory 104 can be comprised of a variety of suitable storage media including random access memory, nonvolatile memory, hard drive memory, and/or removable memory. In some embodiments, a hard disk drive with
approximately ten hours of recording time is provided in conjunction with random access memory.
In some embodiments, the input 126 is a remote control. Typically the input 126 communicates with the set top box 102 via wireless signals such as infrared (IR) signals. The input 126 can function in many respects like a standard remote control allowing a user to control their set top box 102 and their display 100. For example, the user can turn the set top box 102 on and off, change the volume on the display 100, and select the stream being sent by the set top box 102 to the display 100. Some embodiments of the invention may include controls integrated directly into the set top box 102. Other embodiments may include a communication port that allows the set top box 102 to be controlled via devices in a home networking system.
The software 106 controls what is shown on the display 100 and responds to inputs received over the input 126. For example, the software 106 can decode a stream received from the translator 110 and show it on the display
100. The display 100 can be a television set, a digital television, a computer display, a monitor, and/or some other sort of display. For example, if the local network affiliate for ABC is broadcast on channel 7, the user can select channel 7 using the input 126 and the set top box 102 will display the current programming on channel 7 on the display 100. The recording and playback provided by the software 106 will be discussed in greater detail in conjunction with Figures 2-3.
Requests for programming can be signaled using the input 126 and transmitted over the data channel 118 to the computer 122. In some embodiments, the data channel 118 is another channel in the cable system, e.g. cable modem data service. In other embodiments, a telephone connection is used to provide the data channel 118 between the set top box 102 and the computer 122. In some embodiments, the data channel 118 uses the cable or satellite transmission channel in one direction and the telephone in the other direction. Irrespective of the type of channel used, the set top box 102 can convey requests for program segments over the data channel 118 to the computer 122.
The computer 122 can schedule the program segments on the on demand streams and thus allow the user to see programs that were not available in broadcast streams. The computer 122 can access the audio/video source 124 to get programming. The audio/video source 124 might be an audio library, a video library, an Internet site, and/or some other type of repository of audio/video programs. The computer 122 provides the content of the on demand streams to the stream source 112 for transmission to the set top boxes of customers served by the stream source 112 over the on demand streams 116. The computer 122 can also provide the schedule for both the broadcast streams 114 and the on demand streams 116 over the data channel 118.
Additionally, messages specific to a particular set top box (e.g. the set top box 102) can be sent over the data channel 118. For example, a message could be sent to the set top box 102 stating that a particular program requested by the user of the set top box 102 is unavailable, etc. Some embodiments of the invention support scheduling, recording, and playback of segments. Each segment is a portion of a program. For example, the ABC Evening News might be comprised of multiple segments, e.g. "World News", "Sports", "Business", "Entertainment", etc. The user of the set top box 102 could select which segments from the program she/he was interested in. Some programs such as movies might be comprised of a single segment.
Additionally, in some embodiments, a charge may be associated with the on demand request of segments. For example, a movie might have a cost associated with it, etc. This can be billed to the user's account, a predetermined credit card can be used, and/or the set top box 102 can prompt the user for an account or credit card number to bill the segment to.
B. User Interface
The display 100 and the input 126 provide a user interface to the set top box 102 to allow input to the set top box 102 and viewing of programs selected on the set top box 102.
Display Configuration
The set top box 102 decodes video streams being played either from the stream source 112 or the memory 104 and displays them on the display 100. Additionally, the set top box 102 can add menus and status information to the display 100.
The display 100 includes a current selected stream 200. This is the moving video stream selected by the user of the set top box 102. The source of the currently selected stream 200 can be the memory 104 or the stream source 112. For example, the currently selected stream 200 could be showing the current contents of one of the broadcast streams 114, e.g. a local ABC affiliate.
Alternatively, the currently selected stream 200 could be a previously recorded segment from the memory 104. Some streams may be audio only, e.g. music stream, etc. In that case, the set top box 102 can generate a video display to accompany the music such as a moving pattern or show the video portion of another stream.
The menu 202 generated by the set top box 102 can be selectively displayed based on signals received from the input 126. The menu 202 may cause the currently selected stream 200 to be inset on the display 100 as shown in Figure 1. In other embodiments, the menu 202 could replace the display of the currently selected stream 200. In other embodiments, the menu 202 is displayed over the currently selected stream 200. In other embodiments, the menu 202 takes up a larger portion of the screen than shown in Figure 1. For example, while programming guides are displayed, the currently selected stream 200 may be reduced in size further to accommodate the programming guide. The menu 202 provides options for controlling and configuring the set top box 102 and providing user preferences. The menu 202 can be used to access options that allow for program and/or segment recording, access to scheduling information, topic based stream selection, and/or placing requests for programming. For example, one menu option might present a topical list of program/segment types, e.g. news, sports, art, movies, etc., and allow for user selection of streams based on the topic. Another menu option might be used to
present a list of currently airing programs/segments on the broadcast streams 114 and the on demand streams 116. Other menu options, might provide future schedules and one touch recording requests. For example, a list and/or grid of future programs/segments could be shown and a signal from the input 126 could set the program/segment to record.
The status 204 can be selectively displayed based on signals received from the input 126. The status 204 could include information about the currently selected stream 200 and/or other status information such as volume, time of day, whether the program/segment is part of your personalized channel, descriptive information about the program, cast/credits information, and/or other information.
Remote Control
In some embodiments, the input 126 is a remote control with a transmitter 300 that provides signals from the user to the set top box 102. In this example, the transmitter 300 is an infrared transmitter to a receiver on the set top box 102. Signals can be sent from the input 126 to the set top box 102 using the infrared communication channel.
The controls on the input 126 have been divided into three types: stream selector keys 306, playback control keys 304, and navigation keys 302. The precise layout of the keys on the input 126 need not conform to the layout shown in Figure 1.
The stream selector keys 306 include keys for selecting a stream such as a numeric keypad, channel up/channel down keys, and/or some other stream selection keys. Also, common controls such as power keys and volume keys may be included with the stream selector keys. In some embodiments, the input
126 may include the capability to control the volume of the display 100.
The playback control keys 304 include keys for controlling the playback of a stream from the memory 104 such as play, pause, forward fast, rewind, stop and/or some other playback control keys. The navigation keys 302 include keys for accessing the menu 202, the status 204, selecting and adjusting options in the menu 202, and/or other
navigation keys. For example, the navigation keys 302 may include a key for signaling that a program highlighted in a list of programs should be recorded.
C. Personalized Stream
Figure 2 is a process flow diagram for defining a personalized stream. This could be used in conjunction with the system of Figure 1 to provide a personalized stream.
First, at step 400, a list and or grid of available segments is presented. This list could be displayed in response to a signal from the input 126 to the set top box 102. The list and/or grid can be shown on the display 100. Programs that are not part of the broadcast streams 114 can be selected from a list of available audio/video sources (e.g. the contents of the audio/video source 124). Also, free form requests can be accommodated by providing a field for typing titles of segments in some embodiments of the invention, e.g. type "Pakistani news". This might be input using a keyboard displayed on the display 100 or keys on the input 126. Responsive to the free form request, the computer
122 could provide matching programs and/or recommendations over the data channel 118.
Next, at step 402, a selection is made of desired segments. The selection can be made by the receipt of signals. For example, a button on the input 126 might be marked "Add to Stream". This would cause a signal to be sent to the set top box 102 to add a selected channel in the list and/or grid to the personal stream.
Next, at step 404, for each segment requested by the user, a determination is made as to whether the segment is a broadcast segment or an on demand segment. If the segment is a broadcast segment, the process continues at step 406 for the segment. If the segment is an on demand segment, the process continues at step 408 for the segment. When all of the segments have been handled, the process ends.
Broadcast segments are segments that have a predetermined time and stream associated with the segment. For example, the "ABC Evening News:
World News" segment will have a time and stream identifier associated with it,
e.g. 5:30 PM PST to 5:35 PM PST, stream "KGO 7". For on demand segments, the scheduling information will be provided by the computer 122 later.
At step 406, the set top box 102 is set to record the segment when it is broadcast. The recording takes place in the memory 104. The time and stream identifier associated with the broadcast segment are used to control the recording.
At step 408, a request is sent to receive an on demand segment. The request is sent over the data channel 118. Later, when the program is scheduled by the computer 122, the set top box 102 will be set to record the segment when it is available. In some embodiments, the on demand segments are scheduled on a first come-first served basis and the computer 122 will return a time and a stream identifier for the segment shortly after the request.
In other embodiments, the requests are aggregated over a predetermined period, e.g. a day, and then the programming choices are made. For example, a user might request a Russian newscast, but the scheduling of the newscast will not take place until multiple requests have been received from all subscribers in the area, e.g. at midnight each night.
Once a user has established her/his profile by identifying desired segments, she/he can watch their personalized channel at any time. In some embodiments, the input 126 includes a key for the personalized channel, e.g.
"My Channel". Signaling on the "My Channel" key starts the playback of the recorded segments specified by your requests. The contents of the channel may include a mixture of on demand and broadcast segments.
The channel may automatically update itself as new material comes in. For example, news segments might update on a daily basis while a weekly show might update on a weekly basis. In some embodiments, the user can designate that a segment is to be held until viewed. For example, if the user is a fan of
"Dharma and Greg", she/he might request that recorded segments be held until viewed, even if she/he does not watch an older episode before a new one is broadcast.
The user can signal on the playback control keys 304 of the input 126 to control the viewing of her/his channel. For example, the user could skip to the
next segment, fast forward through portions of a segment, and/or re- watch segments, etc.
If the set top box 102 includes a memory 104 with removable media, e.g. DVD-RAM, cartridges, etc., then it may be possible, using the input 126, to archive a segment on the removable media.
D. Scheduling the On Demand Streams
Figure 3 is a process flow diagram for managing the use of a transmission medium for providing on demand programs. This can be used in conjunction with the process of Figure 4 in the system of Figure 1 to schedule a selection of on demand segments for users of set top boxes (e.g. the set top box
102).
First, at step 500, requests are received for segments. These can be received over the data channel 118 on the computer 122. Depending on the system, the requests can be held for varying predetermined periods. The period used in a particular deployment will vary based on the number of on demand streams 116, e.g. S, and/or other factors. In one embodiment, the requests are held until a predetermined time each day, e.g. midnight. Then, the process continues at step 502.
At step 502, the requests are ranked based on demand. An example is shown in Table 1.
Table 1
This ranking allows the limited number of on demand streams 116 to be used in a manner that provides the most popular shows first. Other rankings may be used. For example, paid on demand segments could be provided in favor of free on demand segments to maximize revenues.
Next at step 504, the rankings are used to schedule the transmissions of segments over the on demand streams 116. The S highest ranking segments are shown first on S on demand streams 116. When those segments finish, the next highest ranking segments are shown, and so on. Assuming there were two on demand streams 116 and the requests were as in Table 1, then the "Russian News" and the "BBC News - English Language Edition" segments would be transmitted first. After the shortest segment is finished, the ESPN Baseball highlights would be scheduled next, and so on. The schedule generated at step 504 can be provided to the set top box 102 to allow for the scheduled recording of on demand segments at step 408.
In some instances, requests cannot be accommodated either because of lack of bandwidth in the on demand streams 116 and/or the inability to obtain the requested segment, e.g. from the audio/video source 124. Any unscheduled requests remaining after step 504 can result in a message back to the set top box 102. The message could explain the inability to satisfy the request.
In other cases, a request may be accommodated, but at a reduced or delayed schedule. For example, if a request for a nightly news segment can only be accommodated a day after the segment originally was placed in the audio/video source 124, users will be so informed. This might occur if the segment is requested by several people, but not enough to receive a more favorable schedule position.
The scheduling at step 504 can also take into account the availability of the segment. For example, the "Russian news" segment may become available each day at 5 AM PST. As such, scheduling of the segment for transmission prior to that time would not be sensible. Accordingly, the schedule generated at step 504 will account for the time of availability of a segment and ensure that the segment is transmitted rapidly upon its availability if the ranking for the segment is sufficiently high.
In other embodiments different ranking systems are used. For example, some embodiments rank requests by bandwidth requirements and accommodate shorter requests before longer requests. Other embodiments rank requests by payments, e.g. customers can pay to move their requests up in the rankings
and/or paid shows are ranked higher than free shows. Other embodiments, may use different rankings.
E. Alternative Embodiments
Personalized Stream without Set-Top Boxes
It is possible to implement some embodiments of the invention without the set top box 102. In these embodiments, a conventional television or conventional set top box, e.g. standard cable box, can be used to receive the personal stream. In these embodiments, the personalized stream is generated through customer votes for programming received over the Internet and/or the telephone. For example, customers might be able to place their requests for programming on a specific cable station, e.g. 78 "Viewer's Choice". The system would then aggregates requests and selects programming. A schedule may be provided in the channel itself, over the Internet, and/or through the telephone.
Multimedia Broadcasting
Some embodiments of the invention support the receipt of multiplexed multimedia content by the set top box 102. In these embodiments, the programming may be transmitted on one or more streams with multimedia content, e.g. web pages and/or customized data for different demographic groups. For example, a weather channel might be transmitted in a multiplexed multimedia format with several different multimedia components for different regions and/or different advertising either per region or per demographic group.
Some embodiments of the set top box 102 can select different portions of the multiplexed multimedia content based on a profile associated with the user. For example, the user might provide her zip code and her age. That could be used to select the appropriate regional forecast, e.g. New York City weather, and appropriate advertising, e.g. ad directed at 18-25 year old market. The user profile is typically stored on the set top box 102 and further detail can be provided, e.g. income, gender, race, interests, etc.
Additional Embodiments
In some embodiments, the components of the set top box 102 can be hardware based, software based, or a combination of the two. In some embodiments, the software 106 and/or programs on the computer 122 for scheduling the on demand streams 116 are included in one or more computer usable media such as CD-ROMs, floppy disks, and/or other media. Programs are one or more instructions for execution by a processor.
Some embodiments of the invention are included in an electromagnetic wave form. The electromagnetic wave form comprises information such as the software 106 and/or programs on the computer 122 for scheduling the on demand streams 116. For example, the software 106 might include a Java™ applet stored on a server at the stream source 112 that is accessed by the set top box 102.
F. Conclusion
The foregoing description of various embodiments of the invention has been presented for purposes of illustration and description. It is not intended to limit the invention to the precise forms disclosed. Many modifications and equivalent arrangements will be apparent.