This invention is directed towards media (video, audio, text, graphics, etc.) creation and delivery, and more particularly towards a system for creating, delivering, and assembling personalized messages based on user information.
Marketers have come to rely on demographic solutions to establish patterns and trends about the purchasing habits of customers and how these habits relate to purchases, demographics, and other factors. Alongside companies' proprietary databases, third party data warehouses have evolved, fashioned by many companies who share information either about specific customers or about data extracted from their customer bases. In both cases, advertisers use the derived information to generate observations relating to their markets, target individuals to different types of offerings and select appropriate media purchases for advertising.
In the case of video advertising media, e.g., video tapes that are mailed, internet video streams, or broadcast television (whether via terrestrial, cable, satellite, or any other distribution medium) advertising—there are only limited means to produce and/or deliver personalized versions of the advertisements that directly take advantage of the information available about consumers purchasing habits and the like. Mostly, this reflects the nature (such as bandwidth constraints) of the traditional delivery media for video, which provide very limited capability to deliver anything more than a common message.
In addition to the limitations imposed by the delivery medium, no advertiser is going to create/produce many different versions of one and the same message, simply because there is no time and/or resources to create the required diversity. The nature of video production, focused typically on one sequential video story, does not allow for incremental content changes. This forces advertisers to avoid topically relevant information, and offerings.
As such, even though companies know a tremendous amount of information about their customers, the ability to leverage this information has been limited by the nature of video creation/production and the fundamentals of the broadcast medium, requiring a bland vanilla message to be sent to all customers.
The present invention provides for a system for the simultaneous creation/production, delivery/transmission, and assembly of synchronous multiple personalized messages to specific targeted individuals, households, or other entities. The system can send rich media distinctly personalized messages to a small or large group of selected individuals through any appropriate distribution media.
The present invention includes a system and method for allowing the creation of a plurality of personalized messages comprising creating a personalized message template with a plurality of slots in sequence, wherein at least one of the slots can include one of a plurality of different segments, with all segments for a particular slot being a same length. The method includes providing a plurality of data streams to a receiving unit, each data stream delivering a different one of the plurality of segments for the at least one slots, wherein the segments are synchronized to begin and end at substantially the same time, and providing content selection information regarding content of the plurality of data streams to the receiving unit, the information including switch times for the plurality of synchronized segments, to allow the receiving unit to select among the plurality of data streams for one of the segments for the particular slot, to assemble a personalized message.
The present invention also includes wherein the receiving unit selects among the plurality of data streams in real time, and also wherein the personalized message is viewed by a viewer as it is assembled. The receiving unit can select among the plurality of data streams based on the content selection information and information about a viewer who will view the personalized message. Further, a data stream may be provided with a default personalized message to allow the receiving unit to display the default personalized message without selecting between the plurality of data streams. The plurality of data streams may be MPEG encoded data streams, and further the plurality of data streams can be multiplexed into a transport stream.
The present invention also includes wherein the segments are incomplete parts of a personalized message. Further, the present invention includes wherein the receiving unit is a set top box. The set top box can receive both analog data streams and digital data streams, and the set top box can momentarily switch from an analog data stream to a digital data stream to play out a personalized message. Further, the set top box can switch from an analog data stream to a digital data stream triggered by VBI data. Alternatively, the set top box can momentarily switch from a first digital data stream to a second digital data stream to play out a personalized message, however triggered. The set top box can receive a plurality of television channels over the data streams, and the channels include programs include a synchronized commercial break. During the synchronized commercial break, the data streams deliver segments to create a personalized message for display irrespective of which channel the set top box had selected.
The present invention also includes transition segments, which are inserted into the personalized message between the segments. Further it includes a plurality of templates for creating the personalized messages, wherein the templates include video sequence templates and audio sequence templates.
The present invention also includes a system and method for delivering a plurality of different messages over a television transmission network, including creating a plurality of different media segments, wherein the different media segments include incomplete sections of a complete message, and wherein at least one subset of the media segments are a same length. It includes transmitting a plurality of television programs to a television signal receiver, wherein the plurality of television programs have at least one synchronized commercial break; and during the synchronized commercial break, transmitting the plurality of different media segments to the television signal receiver, wherein all media segments in the at least one subset are transmitted simultaneously, The present invention further includes directing the television signal receiver to switch to one of the media segments in the subset as the media segments in the subset are received; and wherein after the synchronized commercial break, the television signal receiver switches to a previously selected television program.
An illustrative embodiment of the present invention provides all of the following functions:
Acquire and compile information that delineates the profiles of groups of individuals, enterprises, organizations or any identifiable entities. This information may be acquired through data mining organizations, collaborative profiling with the input of the entity to be characterized, regional and local demographics, the client customer, or other sources of information. This information will be organized in a special target entities information database. These profiles will be used to control specific profile driven message insertion and assembly units.
Acquire current information concerning news, weather, business conditions, user responses, and/or the status of any conditions relevant to the messaging content and/or context.
Provide for the creation, acquisition, synthesis, storage, and generation of multimedia (e.g., video, audio, still images, and text) modular information segments that can be generated and assembled utilizing entity profiles to drive rules based expert systems incorporated in message sequence templates. This information would constitute a resource library from which custom presentations for target individuals, or other entities could be assembled for the purpose of advertising, instruction, promotion, political persuasion, or any informational agenda. This material will be available through a special media database addressable via the semantics of composition.
Simultaneously and synchronously insert multimedia modular information segments and other information into the appropriate slots in a broadcast transmission stream for delivery to the entire selected group of users or entities at their media specific location.
Determine a message slot template based on which a profile driven assembly unit assembles personalized messages from the set of multimedia modular information segments and other information based upon each entity profile and its associated rales.
Track and verify all messages and provide for client reports and billing as required. Also monitor and receive responses if required or needed and analyze and compile such information for the client user.
U.S. Pat. No. 4,573,072 issued to Freeman, describes a system for switching between complete commercials sent over multiple channels, to allow different commercials to be displayed to a viewer, depending upon the viewer's interactive choices for commercial preferences. However, this patent only allows selection of substantially complete commercials, and has no disclosure of being able to assemble a personalized message in real time, both in terms of multiple segments for a message, but also in terms of various incomplete media components such as multiple and separate audio, video, graphics, rendering, and last minute information. Freeman also does not disclose both the synchronous and simultaneous insertion of modular incomplete media components to allow seamless assembly into complete personalized messages, which is enabled by digital television. Further, Freeman discloses using minimal or no criteria for selecting which commercial to show.
An advantage of the present invention includes an ability to deliver and distribute personalized messages over communication channels with present-day bandwidth limitations using present-day (already deployed) hardware and technology.
Another advantage of the present invention includes a system which allows for the efficient creation, production, delivery, transmission, and assembly of a very large number of personalized messages. This can typically be done at the same or lower cost (bandwidth, labor) required for doing the same steps for a few messages independent from each other.
The foregoing and other features and advantages of the present invention will be more fully understood from the following detailed description of illustrative embodiments, taken in conjunction with the accompanying drawings in which:
The goal of personalized messages is providing viewers with programs, messages and commercials that are more relevant given their personal situation. Personalized messages can be part of traditional broadcast (digital) television, advanced broadcast (digital) television (incl. video on demand) or streamed programs on the Internet (just like ordinary commercials). Some sample embodiments include Personalized Ads, Personalized News, etc.
An important feature of personalized messaging is that the production of the personalized messages only requires limited extra effort compared to current messages (such as commercials). A solution to this requirement is described in detail in U.S. application Ser. No. 09/545,015 filed on Apr. 7, 2000 of which the present application hereby incorporates by reference. Generally, a system according to the invention works as shown in
The present invention provides for the ability to customize personalized messages at the location in the delivery chain which best suits the requirements for personalization and delivery constraints. By selecting the best option for each slot to be played in the receiver (whether the set top box 58 or television 60, see
As an alternative embodiment, the selection of segments may be performed on a pseudo-random or complete random fashion, to allow different variations of a personalized message by an audience. Any combination of selected segments by user profile personalization plus some randomness may be performed. Further, a system may keep track of which segments were previously shown to any audience, so in a next transmission, different segments not before seen by the audience can be shown.
In its most simple case, each slot 66 contains both audio and video (i.e., both have the same template structure), but it is possible to have separate templates 72
For audio it is even possible that each channel (for example, background music, voice-over, sound effects, . . . ) has its own template 72, Furthermore it is possible to have multiple templates 72 for each video and/or audio channel. The template 72 to use is then selected before the commercial starts playing (again, based on available knowledge on the viewer in viewer profiles).
Yet another option is allowing overlapping slots in a template as depicted in
In a broadcast environment, where one source distributes exactly the same content to multiple receivers at the same time, each path through the commercial 64 that can be chosen from the templates 72 will need to have the same length. This constraint does not hold in a point-to-point situation, e.g., personalized commercials embedded in VOD, personalized news, Internet streaming, etc. In a point-to-point situation the source assembles a specific stream for an individual viewer.
To personalize a commercial 64 for each viewer in accordance with one embodiment of the present invention, the viewer-specific path through each template of the commercial 64 (i.e., the selection of the option to play for each slot) will be selected at the latest moment possible (Just-In-Time-Advertising-JITA), based on information 62,
Another last-minute edit that can be done according to the present invention is the addition of last-minute information in the form of text or graphics overlays that can be added to the commercial 58 (
To allow a switch 59 to switch between data-segments in data streams 50, the segments 70 are broadcast simultaneously on each data stream 50. For this example, three data streams 50a-c are shown, data stream 50f will be described below. The switch is presently set to data stream 50a, as shown by arrow 61. Since the segments 70 are simultaneously provided, they all have a synchronized end point (as shown by line 65), and the next set of segments have a synchronized start point (as shown by line 67). Because switching time by switch 59 is not instantaneous, a time gap 69 may be included between the end point 65 of one set of segments and the start point 67 of the next set of segments. This time gap 69 provides the delay necessary to allow the switch 59 to change seamlessly from one data stream 50a to another 50b. Output processing 63 may include buffering and other processing techniques for the data, for example to eliminate any gaps, or to add additional features to the data stream such as graphic overlays, as will be discussed below.
Although only three data streams 50a-c are shown, the present invention can use as many data streams or channels 50 to simultaneously deliver as many segments as needed. Also, multiple sets of data streams can be stacked into a broadcast, e.g., one set for a video template, and one for an audio template.
One or more additional data streams 50f may be used to carry data which assists in using the multiple segments. Such data can include the content selection data 62
Another use for the additional data stream 50f is to provide audio, additional graphics, information, and transitional data. Audio requires much lower bandwidth than video, and therefore several different audio streams can be sent on one data stream, along with other data, and then buffered in the receiver (e.g., on RAM or hard-disk) for future playback.
Examples of transitions include fade-ins, fade-outs, morphs, and wipes between video segments, and cross fades between audio segments. These specific transitions (instead of clean cuts between segments) are occasionally wanted for artistic reasons. Transitions sometimes help in improving the flow of the message.
Transitional data sent over data stream 50f defines the transitions to be played when switching from one segment to the next. One option is transmission of transition instructions to the receiver, which then computes/generates the transitions either in software or using dedicated hardware. Another option, which requires less processing power in the receiver, is that the transitions are transmitted in MPEG-2 format, meaning that the transition video and audio streams are precomputed before transmission. The switch 59 may select the correct transitional segment to connect a previous segment with a next segment. As an example, the switch 59
Alternatively, if there are sufficient available data streams 50, the transitions may each be sent by a different data stream 50, in a synchronized fashion with the regular segments, whereby the switch 59 does not need to collect and buffer the transitions ahead of time, but can simply select and switch to the proper data segment 70, wherein some data streams 50 include the segments, and some data steams 50 include transitions. The transitions are simply treated as other segments which go in a slot between the normal first selected segment and the next. In fact, since the transitions occur in between the segments, the data streams carrying the segments may be reused to include some of the transitions, while separate data streams only carry the transitions. Therefore, for the example of three data stream carrying three optional segments, with nine transitions, only nine data streams are needed to carry the simultaneous transitions, since the three segment data streams may also each carry one transition. Also, during the creative process it might be decided that certain transitions do not make sense from a story-telling perspective. In that case even less transition streams might be needed as some combinations of segments will never occur.
An alternate method for addressing the transition between segments is to make all segments 70 start and/or end in a similar manner. This would avoid the use of dedicated transition segments for changing between the other segments 70 and require no extra bandwidth.
An illustrative embodiment of a data transmission stream 56 coded as an MPEG-2 transport stream is shown in
In one embodiment of the present invention, bringing the receiver 58 into the authoring chain requires changes to the software of the receiver 58. Components of the final television program are delivered to the receiver 58 and the receiver assembles the final program that best matches the personalization criteria. To a standard digital television receiver 58, the features of adding matching of profiles, switching to assemble the final content, and possibly reporting, are added.
The Personalization Engine (PE) 140
There is one extra bit of information that the PE 140 uses that is not typically available at this low level. This information is the PID of the personalization channel where the metadata (the information telling the receiver about the number and of slots, the PIDs for the slot-options, etc.) is transmitted. There are three possible solutions for this. In situations where the middleware has a high abstraction level compared to the HAL (Hardware Abstraction Layer) API, this information can be extracted from the PMT, which is typically parsed inside the OEM specific software. If the PMT is parsed in the middleware, there are two options, which are actually viable in all situations. The first is to double-parse the PMT: Capture the received PMT in the part of the PE that sits on top of the demultiplexer API and extract the information from this parse. There is no guarantee that the PMT requested by the middleware is the one that is actually used to play the current service, however, as the middleware might be pre-caching PMTs, The other way is to collaborate with the uplink part of the personalization chain and have a calculated PID assignment for the personalization channel. This can be either a fixed offset from a content PID or a fixed PID for every transport stream. In the future, middleware may be able to pass the personalization PID to the PE, similar to the way conditional access is nowadays integrated with middleware stacks.
The Personalization Engine 140, as part of its normal operation, creates a log of activity and viewing information for accounting and further customization. This information has to be delivered back to the central server on a regular basis. The way of delivering this information depends on the capabilities of the network and the STB 58. At a minimum either a cable modem or a PSTN modem will be present to allow the reporting facilities to work. Since these types of modems typically use some form of IP communication, and the middleware stack manages this communication link, it is probably the easiest to work through an application implemented, on top of the middleware stack. Since one may also want to allow user preference settings, one can later extend the application with that functionality. For the user interface, the application can take full advantage of facilities offered by the middleware stack. Since most middleware stacks allow applications to be downloaded to the STB on the fly, the reporting and preference application can be updated with the latest features when necessary.
Whether or not an embodiment actually needs an application for reporting and preferences depends on the need to get the information to the server and on the need to allow users to influence their profile. If there is no need for any of these features, then the application will not be there. If only reporting is needed and there is a permanent link with the server by means of a cable modem, then the application will have no user interface.
In order to allow for last minute personalization for each individual receiver, rendering of extra information such as text, graphics, animations, synthesized audio and video is an attractive extra feature. The rendering result is subsequently overlayed over the broadcasted audio and/or video segments by the receiver. Rendering of text, graphics and animations can be done either at the transmission side (e.g., a head-end) or at the STB 58. If rendering is done at the transmission side, the resulting bitmap is placed in the broadcast transport stream and addressed to one specific STB. Because of bandwidth limitations, the rendered result cannot be overlayed with video at the transmission side; this has to be done in the receiver. If rendering is done in the STB, only the rendering commands have to be transferred. The STB should have sufficient rendering power to allow for this option. For both options, the STB must have sufficient graphics capabilities to support rendering with the required number of colors and resolution. For animations, even more processing power is required.
Graphics rendering on the STB is a difficult functionality. The STB resident software is likely to make use of the same graphics plane of the STB hardware as is required for displaying the rendering results for personalization. The most portable option is to go through the middleware software of the STB, but this may cause timing problems with the real-time (frame accurate) behavior of personalization overlays. The functionality of the overlay handling will need to be placed at a fairly low level within the STB software, and executing calls to the middleware API from this level may likely introduce reentrancy problems within the middleware stack. Also, most middleware APIs can only be called from applications running on top of the middleware, which is unsuitable for the real-time text/graphics overlay functionality. However, if the system does not use the middleware graphics or text capability for the text overlays, there may be a resource conflict with the use of the graphics hardware. This conflict can be resolved in several ways:
Make use of separate graphics hardware planes for overlay and middleware. This is obviously only feasible if the hardware contains at least one hardware graphics plane that is not used by the middleware.
Create virtual graphics planes. This would require a relatively large amount of extra memory for buffering of overlapped graphics information. The code would also need to be multithreading safe since both the middleware and the overlay processing will be making graphics API calls. It would provide the same level of functionality as the multiple hardware planes, but may affect performance.
Disable the overlay graphics for the duration of the user interface graphics display. This may be difficult to build. There will be a difficulty in predicting when there is no relevant user interface activity going on. There may be permanent graphics on the screen to signal channel numbers or other information. A better version of this may be to detect if the overlay area contains any non-transparent graphics and, if not, allow the overlay to proceed. As soon as UI graphics is displayed, in the area, the overlay must be removed.
Disable the user interface graphics for the duration of the overlay. This is probably the least acceptable option because the user of the STB will not want his visible information to disappear just because a commercial in the background wants to do some text overlay. However, it is the easiest option to predict, since the exact timing of the overlay graphics is known in the personalization engine. It may still require some buffering to allow a restore of the UI graphics once the overlay disappears.
An element in letting the receiver do the final assembly of personalized messages, as just described in a specific embodiment of the present invention, is the protocol between the transmitter and receiver that allows the receiver to do the final assembly of personalized messages. This so-called broadcast protocol defines how content material and associated metadata and control messages have to be multiplexed into MPEG-2 transport streams. It is an extendable protocol framework designed to be backward compatible with, existing digital broadcast.
In order to allow reliable hardware independent switching between slots of the broadcast, the present invention allows one to specially format the transmission of the content data of the main and alternative channels. This is helpful because of the buffering mechanisms used in digital receivers 58, as illustrated by
By means of roadblocking the same personalized message could be used for multiple programs transmitted in the same transport stream. Roadblocking is used in television broadcasting, and means that different television channels are broadcasting commercials at approximately the same time. This is done to ensure that channel changing (zapping) consumers will remain seeing commercials, despite their zapping. This will obviously ensure that consumers cannot zap away from commercials to TV programming; they will always zap between commercials.
A generalization of this approach is roadblocking with the same commercial, meaning that during zapping, consumers will see the same commercial at approximately the same time.
In the present invention, roadblocking goes one step further, meaning that all television channels in one transport stream are aligned such that they switch to the same personalized commercial at the exact same (video and audio) frame. This type of roadblocking ensures zero overhead in bandwidth in the specific transport stream due to personalization of commercials. The transport stream can contain exactly the same number of commercials as a situation with non-personalized commercials.
Detail of various protocols for the illustrative embodiment will now be provided. The broadcast protocol messages that are sent over the Meta Information Stream (cf. 50f in
The personalization protocol is an extension of the Broadcast Protocol, designed to allow content selection and assembly by the receiver 58 based on transmitted personalization information through the personalization protocol messages. The personalization protocol assumes that the STB has the user profile necessary to make the selections from the content information. The personalization protocol claims a message type and defines a message framework for all messages belonging to the personalization protocol, each identified by a message subtype. The personalization protocol covers the following messages:
Sequence Identification Message (SIM) 90
This message indicates the start of a personalization sequence. It assigns an identifier to the sequence, which will be used to identify the other messages belonging to the sequence. It also identifies the PIDs (streams) used for the personalized sequence. It also contains (optional) fields for copyright and authoring information.
Sequence Option Message (SOM) 92
This message announces an upcoming personalization switch point. It identifies the possible options, along with the selection criteria that drive the final selection. The message is linked to the sequence by means of the sequence identifier.
Switch Point Message (SPM) 96
This is an optional message following the SOM, which signals the actual start of the content gap that allows the switching of the decoder hardware to the new setting. It is linked to the sequence by means of the sequence identifier.
Sequence End Message (SEM) 94
This message signals the end of the entire sequence. After this message the sequence identifier is no longer valid and may be reused. The message is included for accounting purposes and is linked to the sequence by means of the sequence identifier.
A viable alternative to embedding the personalization media segments and control messages into the same transport stream as the TV program/channel the message is inserted into, is providing it via a different transport stream. In this alternative embodiment of the present invention, the receiver switches to the other transport stream at the moment the personalized message is to be played. This is typically indicated by a trigger message in the TV channel. Upon receipt of this trigger (which may contain the id of the transport stream to switch to), the receiver switches to the transport stream containing the personalized messaging content and metadata. At the end of playing the personalized ad, the receiver switches back to the transport stream containing the TV program. Depending on the capabilities of the receiver, the switch between transport streams might or might not be completely seamless. In case the hardware doesn't allow a seamless switch, the switch can be camouflaged, e.g., using a fade, a number of black frames, or using some rendered graphics. The broadcast protocol itself, as well as the personalization protocols do not need to be changed in this alternative embodiment.
A major advantage of this alternative embodiment is the saving in bandwidth when many personalized messages are broadcasted, divided over many different TV channels. Thus, the personalized messages can be concentrated in one (or a small number) of separate transport streams which can be completely filled with personalized messages (depending on the distribution in time). It can easily be seen that this leads to much less use of bandwidth compared to inserting the personalization messages into the same transport streams as the TV channels they become part of.
Yet another alternative embodiment of the present invention is a situation where the TV channel in which the personalized message will be played is analog instead of digital. In this situation the ad's media segments and control messages are, again, conveyed in a separate (digital) transport stream. In this embodiment, the analog TV channel will contain triggers (typically embedded as data in the VBI—Vertical Blanking Interval) that, trigger the receiver to switch over to the digital transport stream containing the personalized message. This alternative embodiment would work in most current digital set-top boxes as these are usually also capable of playing/decoding analog television. The attractiveness of this embodiment is that this enables personalized ads in analog television channels. Again, depending on the receiver's hardware, the switches from the analog channel to the ad in the digital transport stream and back might or might not be seamless, depending on the specific capabilities of the hardware in the receiver. Typically, receivers with dual tuners will be capable of performing a seamless switch. In single tuner systems a camouflage similar to the one mentioned above might be employed to cover potential switching artifacts.
The overlay protocol also is an extension of the broadcast protocol. It is used to distribute text and graphics messages that must be overlaid on top of the video. It registers a message type and defines a Content Data framework message for the different overlay protocol messages. Overlay protocol messages can be targeted at a specific receiver by means of a unique receiver address. In order to identify the personalization option video that the overlay belongs to, the video channel is identified. A subtype identifies the type of overlay data that the message contains. The following subtypes are covered:
Text overlay message.
This is a fixed text string to be overlaid on the video at the specified time and screen location. It allows font specification within the limits of the font capabilities of the personalization engine.
Tagged text overlay message.
This message is similar to the text overlay message, but the text may contain tags that are replaced with local information by the receiver. This allows the text string to be personalized with data that has been downloaded into the receiver.
Graphics overlay message.
This message is used when the rendering of the text has been done at the transmission side (i.e., the message is a bitmap), or when the overlay contains graphics,
In order to allow accounting of the actual viewed material, the STB needs to keep track of the personalized content that has been shown to the viewer. For this reason, the personalization engine typically keeps track of the paths chosen through the personalized content. This information can be transferred to a central server in some way. Unless this is done through a permanent connection, the information is stored on the STB between two accounting reporting moments. There are several options for this storage, including storage in RAM, NVRAM or physical media, etc.
If the STB has a hard drive, that can be used for non-volatile storage of the accounting information. The amount of information is very small, compared to video storage, so the capacity of a typical hard drive will be sufficient for long-term storage.
Another option is Smart Card storage. Storing the accounting information on a Smart Card allows physical retrieval of the information. The Smart Card could also be used to store the user profile information. The update of the user profile on the Smart Card could be done at the same time as the retrieval of accounting information from the Smart Card. The amount of storage available depends on the Smart Card and should be enough for accounting purposes. One problem with tins solution might be that a Conditional Access Smart Card, which cannot be used for the purpose of accounting, occupies the available Smart Card slot.
Details for options for distribution of the user profile information to the STBs will now be presented. While typically one option is chosen for a specific network, each network may need to choose a different option because of differences in STB capabilities,
One option is Broadcast carousel, since there will probably be a significant amount of bandwidth available between the customization slots, that bandwidth can be used to distribute the user profiles to the receivers. The user profiles are transmitted cyclically in a database distribution carousel that carries the User Profiles of all receivers on that part of the network. In a cable network this is possible, since the number of users is limited. In a satellite network the amount of information may be so big that the repeat rate would become too low. If the repeat rate is high enough, there may not be any need to store the profile in non-volatile memory in the STB.
Another option is overnight broadcast carousel. If the available bandwidth during peak hours is not high enough, the broadcast of the profile carousel can be moved to a low traffic time, if that is available. It can also be moved to a separate transport stream, and the STB can tune to that automatically if the user was not using it. This method may require non-volatile storage of the User Profile on the STB.
Another option is a permanent direct connection. Since an STB with personalization capabilities needs some way to retrieve the accounting information about the personalized TV content, there may be some form of communication with the server. This may be a cable modem with a permanent connection to the head-end. If that is the case, the STB can request the User Profile when necessary, and the server could signal the STB of an update in the profile. In. this situation, there is no need for non-volatile storage of the User Profile in the STB.
Similar to fulltime direct connection, is direct dialup connection. The connection needs to be established each time it is needed. This means that there is no reliable way for the server to signal the STB of an update in the profile. It also means that the profile must probably be cached in non-volatile memory on the STB. It is acceptable to have the STB dial-in every time it is powered on, or at least once a day to receive the latest profile. That way non-volatile storage would not be required.
Finally, it is possible to transfer the user profile via physical distribution. This would likely be a form of smart card distribution. Physical distribution does not allow frequent updates of the user profile, but it does allow the system to work, even when no other communication channel was available. The Smart Card is also used for accounting, and may include some incentive to get the users to return the smart card. This method could be used for small-scale trial runs.
Although the present invention is described with embodiments specific to MPEG-2, the present invention may be used by any type of data transmission system, including analog and digital broadcasting, cable, cellular, satellite and terrestrial broadcasts, Video on Demand, Digital Versatile Disc (DVD), Internet, internet streaming video, ethernet, wireless, ATM, MPEG (including MPEG 1, 2, 4 and variations thereof), AC3 etc.
Although the invention has been shown and described with respect to illustrative embodiments thereof, various other changes, omissions and additions in the form and detail thereof may be made therein without departing from the spirit and scope of the invention.
This patent application is a continuation of U.S. application Ser. No. 14/065,123, filed Oct. 28, 2013, which is a continuation of U.S. application Ser. No. 09/841,465, patented as U.S. Pat. No. 8,572,646, filed Apr. 24, 2001, which is a continuation-in-part of and claims the benefit of U.S. application Ser. No. 09/545,015 filed on Apr. 7, 2000, and also of claims priority to U.S. Provisional Application Ser. No. 60/236,990 filed Sep. 29, 2000 by Haberman et al., all of which are hereby incorporated by reference.
Number | Name | Date | Kind |
---|---|---|---|
3366731 | Wallerstein | Jan 1968 | A |
3639686 | Walker | Feb 1972 | A |
4331974 | Cogswell et al. | May 1982 | A |
4475123 | Dumbauld et al. | Oct 1984 | A |
4573072 | Freeman | Feb 1986 | A |
4602279 | Freeman | Jul 1986 | A |
4625235 | Watson | Nov 1986 | A |
4638359 | Watson | Jan 1987 | A |
4703423 | Bado et al. | Oct 1987 | A |
4716410 | Nozaki | Dec 1987 | A |
4789235 | Borah et al. | Dec 1988 | A |
4814883 | Perine et al. | Mar 1989 | A |
4847698 | Freeman | Jul 1989 | A |
4847699 | Freeman | Jul 1989 | A |
4847700 | Freeman | Jul 1989 | A |
4850007 | Marino et al. | Jul 1989 | A |
4918516 | Freeman | Apr 1990 | A |
5099422 | Foresman et al. | Mar 1992 | A |
5105184 | Pirani et al. | Apr 1992 | A |
5155591 | Wachob | Oct 1992 | A |
5173900 | Miller et al. | Dec 1992 | A |
5220501 | Lawlor et al. | Jun 1993 | A |
5231494 | Wachob | Jul 1993 | A |
RE34340 | Freeman | Aug 1993 | E |
5253940 | Abecassis | Oct 1993 | A |
5260778 | Kauffman et al. | Nov 1993 | A |
5291395 | Abecassis | Mar 1994 | A |
5305195 | Murphy | Apr 1994 | A |
5343239 | Lappington et al. | Aug 1994 | A |
5347632 | Filepp et al. | Sep 1994 | A |
5356151 | Abecassis | Oct 1994 | A |
5361393 | Rossillo | Nov 1994 | A |
5377354 | Scannell et al. | Dec 1994 | A |
5412416 | Nemirofsky | May 1995 | A |
5414455 | Hooper et al. | May 1995 | A |
5422468 | Abecassis | Jun 1995 | A |
5424770 | Schmelzer et al. | Jun 1995 | A |
5426281 | Abecassis | Jun 1995 | A |
5434678 | Abecassis | Jul 1995 | A |
5442390 | Hooper et al. | Aug 1995 | A |
5442771 | Filepp et al. | Aug 1995 | A |
5446919 | Wilkins | Aug 1995 | A |
5448568 | Delpuch et al. | Sep 1995 | A |
5499046 | Schiller et al. | Mar 1996 | A |
5515098 | Carles | May 1996 | A |
5515270 | Weinblatt | May 1996 | A |
5519433 | Lappington et al. | May 1996 | A |
5526035 | Lappington et al. | Jun 1996 | A |
5537141 | Harper et al. | Jul 1996 | A |
5548532 | Menand et al. | Aug 1996 | A |
5550735 | Slade et al. | Aug 1996 | A |
5566353 | Cho et al. | Oct 1996 | A |
5584025 | Keithley et al. | Dec 1996 | A |
5585838 | Lawler et al. | Dec 1996 | A |
5585858 | Harper et al. | Dec 1996 | A |
5594910 | Filepp et al. | Jan 1997 | A |
5610653 | Abecassis | Mar 1997 | A |
5617142 | Hamilton | Apr 1997 | A |
5632007 | Freeman | May 1997 | A |
5634849 | Abecassis | Jun 1997 | A |
5636346 | Saxe | Jun 1997 | A |
5638113 | Lappington et al. | Jun 1997 | A |
5652615 | Bryant et al. | Jul 1997 | A |
5671225 | Hooper et al. | Sep 1997 | A |
5682196 | Freeman | Oct 1997 | A |
5684918 | Abecassis | Nov 1997 | A |
5696869 | Abecassis | Dec 1997 | A |
5717814 | Abecassis | Feb 1998 | A |
5717923 | Dedrick | Feb 1998 | A |
5724091 | Freeman et al. | Mar 1998 | A |
5724472 | Abecassis | Mar 1998 | A |
5724521 | Dedrick | Mar 1998 | A |
5734413 | Lappington et al. | Mar 1998 | A |
5740388 | Hunt | Apr 1998 | A |
5740549 | Reilly et al. | Apr 1998 | A |
5754939 | Herz et al. | May 1998 | A |
5758259 | Lawler | May 1998 | A |
5761601 | Nemirofsky et al. | Jun 1998 | A |
5764275 | Lappington et al. | Jun 1998 | A |
5768521 | Dedrick | Jun 1998 | A |
5774170 | Hite et al. | Jun 1998 | A |
5774664 | Hidary et al. | Jun 1998 | A |
5778181 | Hidary et al. | Jul 1998 | A |
5781227 | Goode | Jul 1998 | A |
5784095 | Robbins et al. | Jul 1998 | A |
5784528 | Yamane et al. | Jul 1998 | A |
5796945 | Tarabella | Aug 1998 | A |
5802314 | Tullis et al. | Sep 1998 | A |
5805974 | Hite et al. | Sep 1998 | A |
5825884 | Zdepski et al. | Oct 1998 | A |
5835087 | Herz et al. | Nov 1998 | A |
5861881 | Freeman et al. | Jan 1999 | A |
5867208 | McLaren | Feb 1999 | A |
5873068 | Beaumont et al. | Feb 1999 | A |
5883621 | Iwamura | Mar 1999 | A |
5884305 | Kleinberg et al. | Mar 1999 | A |
5887243 | Harvey et al. | Mar 1999 | A |
5903263 | Emura | May 1999 | A |
5907837 | Ferrel | May 1999 | A |
5913031 | Blanchard | Jun 1999 | A |
5917830 | Chen et al. | Jun 1999 | A |
5929850 | Broadwin et al. | Jul 1999 | A |
5931901 | Wolfe et al. | Aug 1999 | A |
5937331 | Kalluri et al. | Aug 1999 | A |
5978799 | Hirsch | Nov 1999 | A |
5986692 | Logan et al. | Nov 1999 | A |
5991735 | Gerace | Nov 1999 | A |
6002393 | Hite et al. | Dec 1999 | A |
6018768 | Ullman et al. | Jan 2000 | A |
6026368 | Brown et al. | Feb 2000 | A |
6029045 | Picco et al. | Feb 2000 | A |
6038000 | Hurst, Jr. | Mar 2000 | A |
6038367 | Abecassis | Mar 2000 | A |
6049569 | Radha et al. | Apr 2000 | A |
6067348 | Hibbeler | May 2000 | A |
6075551 | Berezowski et al. | Jun 2000 | A |
6108486 | Sawabe et al. | Aug 2000 | A |
6137834 | Wine et al. | Oct 2000 | A |
6141358 | Hurst, Jr. et al. | Oct 2000 | A |
6160570 | Sitnik | Dec 2000 | A |
6304852 | Loncteaux | Oct 2001 | B1 |
6304853 | Malnekoff | Oct 2001 | B1 |
6327574 | Kramer et al. | Dec 2001 | B1 |
6330286 | Lyons et al. | Dec 2001 | B1 |
6343287 | Kumar et al. | Jan 2002 | B1 |
6357042 | Srinivasan et al. | Mar 2002 | B2 |
6360234 | Jain et al. | Mar 2002 | B2 |
6408278 | Carney et al. | Jun 2002 | B1 |
6411992 | Srinivasan et al. | Jun 2002 | B1 |
6424991 | Gish | Jul 2002 | B1 |
6449657 | Stanbach, Jr. et al. | Sep 2002 | B2 |
6457010 | Elderling et al. | Sep 2002 | B1 |
6463444 | Jain et al. | Oct 2002 | B1 |
6463585 | Hendricks | Oct 2002 | B1 |
6466975 | Sterling | Oct 2002 | B1 |
6502076 | Smith | Dec 2002 | B1 |
6567680 | Swetlik et al. | May 2003 | B2 |
6567980 | Jain et al. | May 2003 | B1 |
6574793 | Ngo et al. | Jun 2003 | B1 |
6588013 | Lumley et al. | Jul 2003 | B1 |
6601237 | Ten Kate et al. | Jul 2003 | B1 |
6611624 | Zhang et al. | Aug 2003 | B1 |
6657024 | Blackmon et al. | Dec 2003 | B1 |
6671880 | Shah-Nazaroff et al. | Dec 2003 | B2 |
6678332 | Gardere et al. | Jan 2004 | B1 |
6681395 | Nishi | Jan 2004 | B1 |
6694482 | Arellano et al. | Feb 2004 | B1 |
6698020 | Zigmond et al. | Feb 2004 | B1 |
6718551 | Swix | Apr 2004 | B1 |
6735628 | Eyal | May 2004 | B2 |
6785289 | Ward et al. | Aug 2004 | B1 |
6806909 | Radha et al. | Oct 2004 | B1 |
6850252 | Hoffberg | Feb 2005 | B1 |
6857024 | Chen et al. | Feb 2005 | B1 |
6877134 | Fuller et al. | Apr 2005 | B1 |
7068724 | Hamilton | Jun 2006 | B1 |
8572646 | Haberman | Oct 2013 | B2 |
8914825 | Harvey et al. | Dec 2014 | B1 |
20010013124 | Klosterman et al. | Aug 2001 | A1 |
20020026359 | Long et al. | Feb 2002 | A1 |
20020056093 | Kunkel et al. | May 2002 | A1 |
20020057336 | Gaul et al. | May 2002 | A1 |
20020083443 | Eldering et al. | Jun 2002 | A1 |
20020092017 | Klosterman et al. | Jul 2002 | A1 |
20020095676 | Knee et al. | Jul 2002 | A1 |
20020129362 | Chang | Sep 2002 | A1 |
20030110500 | Rodriguez | Jun 2003 | A1 |
20030177503 | Sull et al. | Sep 2003 | A1 |
20040025180 | Begeja et al. | Feb 2004 | A1 |
20040111742 | Hendricks | Jun 2004 | A1 |
20040136698 | Mock | Jul 2004 | A1 |
20040261127 | Freeman | Dec 2004 | A1 |
20050086691 | Dudkiewicz et al. | Apr 2005 | A1 |
20050086692 | Dudkiewicz et al. | Apr 2005 | A1 |
20050166224 | Ficco | Jul 2005 | A1 |
20050283796 | Flickinger | Dec 2005 | A1 |
20060212900 | Ismail | Sep 2006 | A1 |
20120159539 | Berberet et al. | Jun 2012 | A1 |
20120192224 | Eldering et al. | Jul 2012 | A1 |
20120240149 | McCoy et al. | Sep 2012 | A1 |
Number | Date | Country |
---|---|---|
WO 9926415 | May 1999 | WO |
Number | Date | Country | |
---|---|---|---|
20160277805 A1 | Sep 2016 | US |
Number | Date | Country | |
---|---|---|---|
60236990 | Sep 2000 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14065123 | Oct 2013 | US |
Child | 15166492 | US | |
Parent | 09841465 | Apr 2001 | US |
Child | 14065123 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 09545015 | Apr 2000 | US |
Child | 09841465 | US |