The present invention relates generally to recording devices such a digital video recorder and more specifically to a method and apparatus in which the commercials in recorded programs are replaced with different commercials whenever the viewer fast-forwards through the original commercials.
The introduction of Digital Video Recorders (DVR) have revolutionized the television recording industry. DVRs store program material onto a storage medium that is easily accessible, reusable, and the recording does not degrade over time as with video tapes. DVRs may be implemented as stand alone devices that are interconnected to other devices. Alternatively, they may be implemented as a subsystem of a set top terminal, media center or television. In this case the DVR can control the channel tuned on the television, provide an interactive electronic program guide, and record programming on a manual or timer controlled basis. Additionally, the DVR can buffer incoming audiovisual programming to enable a viewer to pause or replay a portion of a live television program, so long as the pause or replay does not exceed the capacity of the buffer. In addition to the standard play mode (forward direction, standard speed), DVRs are capable of displaying video in several “trick play” modes. Trick play modes include fast forward play, slow forward play, fast reverse play, slow reverse play, and pause.
DVRs give the viewer an unprecedented amount of control over how the viewer watches live and recorded television programs. One of the effects of DVRs is that as viewers watch television programs stored on the DVR's storage medium, they have a tendency to skip over the commercial breaks. Since broadcasters generate their revenue through the value of the commercials they are concerned that the advent of the DVR may cause them to lose a significant part of their revenue.
As detailed below, a DVR system is provided in which the commercials in recorded programs are replaced with different commercials whenever the viewer fast-forwards through the original commercials. As used herein commercials refer to any content that interrupts the primary content that is of interest to the viewer. Accordingly, commercials include but are not limited to content supplied by a sponsor, the broadcast service provider, or any other party, which is intended to inform the viewer about a product or service. For instance, public service announcements, station identifiers and the like are also referred to as commercials.
It should be understood by those skilled in the art that, although the system is described as being implemented in connection with a DVR subsystem of a set-top terminal, the invention also may be implemented for use in a stand alone DVR device that is network enabled. In addition, those skilled in the art will realize that the invention may be implemented in connection with other types of video rendering devices including personal video recorders, video cassette recorders, DVD players and the like. In some cases the video rendering device may be located at the headend of a broadband network so that it can supply programming to multiple viewers over the broadband network. The video rendering device also may be implemented as a stand-alone portable device or it may be incorporated in other devices, both portable and non-portable, such as a television, personal computer, PDA, and the like.
Turning now to the drawings, where like numerals designate like components,
DVR system 10 includes external network connection/communication interfaces 59, which support devices such as modems, streaming media players and other network connection support devices and/or software, coupled through local or wide area networks (not shown) to program providers and providers of other content, such as advertising content. DVR system 10 further includes an in-band tuner 43, which tunes to a channel signal 16 selected by a viewer via user interface 55. User interface 55 may be any type of known or future device or technology allowing the consumer to select channels or programs the consumer wishes to receive, such as a remote control, mouse, microphone, keyboard, or touch-screen display associated with a personal video recorder.
Channel signal 16 includes video and/or audio components Demodulators 40 and 42 are responsive to in-band tuner 43. Demodulator 40, which may be a 64/256 quadrature amplitude modulation demodulator, for example, is responsive to receive a digital version of channel signal 16. Demodulator 40 identifies digital data packets from one or more digital sources, such as a Moving Pictures Experts' Group (MPEG) transport stream, a high-definition television stream, or a media stream from an external network connection 59, such as a cable modem, using well-known methods and techniques. Demodulator 42, which may be an NTSC demodulator, for example, is responsive to receive an analog version of channel signal 16 and to decode signals and markers according to well-known methods and techniques. Demodulators 40 and 42 are operative to output video information 20.
Video information 20 includes raw video or audio data, arranged for formatting in accordance with a predetermined media format. Video information 20 is preferably arranged in accordance with an MPEG media format, such as the MPEG-2 media format, but may be arranged in accordance with other media formats, including but not limited to other MPEG formats, Hypertext Markup Language (HTML), Virtual Hypertext Markup Language (VHTML), X markup language (XML), H.261, or H.263 formats.
Storage medium 64 is responsive to receive, among other things, encoded video signal 20 for storage. Storage medium 64 may be any local or remote device, now known or later developed, capable of recording data, including but not limited to a hard disk drive, a videocassette recorder tape, all types of optical storage media such as compact disks and digital videodisks, a magnetic tape, a home router, or a server.
Decoder 49 is responsive to receive recorded encoded video signal 20 from storage medium 64, and to play back recorded encoded video signal 20 via display device 25, in response to instructions from user interface 55. Decoder 49 is also responsive to receive and pass through video programming directly from tuner 43. Internal arrangements of decoder 49 are well known—decoder 49 may include analog-to-digital converters, one or more storage media and/or buffers, and general or special-purpose processors or application-specific integrated circuits, along with demultiplexors for demultiplexing and/or synchronizing at least two transport streams, for example, video and audio. Video and audio decoders and/or analog and digital decoders may be separate, with communication between separate decoders allowing for synchronization, error correction and control.
Display device 25, which also includes speakers for outputting audio signals, displays video programming received from tuner 43 or storage medium 64. Display device 25 is responsive to receive analog or digital signals, including but not limited to S-video, composite audio-video, SPDIF, and DVI.
Processor 39 and software 22 are illustrated functionally, and are responsive to various elements of DVR system 10, including demodulators 40 and 42, storage medium 64 and decoder 49. When loaded into a processor, such as processor 39, software 22 is operative to control encoding, recording and playback of encoded video signal 20. It will be appreciated, however, that aspects of the DVR system are not limited to any specific embodiments of computer software or signal processing methods. For example, one or more processors packaged together or with other elements of DVR system 10 may implement functions of processor 39 in a variety of ways. It will also be appreciated that software 22 may be any stored instructions, in one or more parts (stored, for example, on storage medium 64, or another internal or external storage medium such as a read-only-memory or a random-access memory) electronically controlling functions provided by DVR system 10, including firmware, and may be used or implemented by one or more elements, including one or more processors, of DVR system 10.
During normal operation of the DVR system 10, a viewer using user interface 55 selects a particular program to be recorded from video source 11 and/or selects a recorded program for playback from storage medium 64. When a program is to be recorded, an encoded video signal 20 associated with the selected program is transferred to storage medium 64. Likewise, when a program is to be played back, an encoded video signal 20 associated with the selected program is transferred from storage medium 64 to decoder 49 for processing. Decoder 49 demultiplexes and decodes encoded video signal 20 for presentation to the consumer via display device 25.
As previously mentioned, in addition to a standard mode of operation, a video rendering device such as the previously described DVR system 10 can also operate in a number of “trick play” modes. In one trick play mode of operation, DVR system 10 can, via user interface 55, fast-forward a program being played back. For instance, a user interface such as a remote control may have a dedicated key or button that fast-forwards through the currently playing program at one or more frame rates that are higher than the normal presentation frame rate. For instance, the fast-forward button on the remote control of a conventional DVR is often preprogrammed to fast-forward through a program at 4, 16, or 30 times the normal frame rate, depending on how many times the fast-forward button is depressed.
Since commercials are generally designed to be played at the same normal presentation rate as the primary programming content, when the viewer fast-forwards through a commercial, the message or information to be conveyed by the commercial may be partially or completely lost on the viewer. To overcome this problem, whenever a viewer fast-forwarding through a program comes upon a commercial, DVR system 10 can replace the commercial with a substitute commercial that is designed to be viewed at the faster frame rate. For example, if the viewer is fast-forwarding through a program at 4 times the normal presentation rate, the substitute commercial, which may have been recorded at a slow motion rate one quarter of its normal rate, will appear to be at normal speed to a viewer when it is rendered at 4 times the presentation rate. In this way a 60 second commercial, for instance, is replaced with a commercial that the viewer perceives as a normal 15 second commercial. Such a result can be achieved by proper coordination among the DVR system, the content provider (e.g., a CATV network operator), the commercial provider and perhaps a DVR commercial content provider and the content producer. One example of the manner in which these various entities may cooperate with one another is depicted in
The content producers 220 supply the programming content 212 to the content provider 260, who in turn makes the programming content available to the DVR system 10 over a broadband network (e.g., network 11 shown in
Advertisers or other commercial producers 225 supply commercials 215 to the content provider 260 and the corresponding substitute commercials 245 to the DVR commercial content provider 200. The commercial producers 225 also provide commercial metadata 230 to both the content provider 260 and the DVR commercial content provider 200. Among other information that may be included, the commercial metadata 230 includes a commercial identifier for each commercial that is being supplied. The content provider 260 packages the commercials with the programming content 232 before making it available to the DVR system 10. The content provider 260 also creates a commercials index 265 that is sent as metadata along with the content to the DVR system 10. As shown in
DVR commercial content provider 200 is in communication with the DVR system 10 over a communications network 250 such as the Internet, a public switched telephone network (PSTN), a wide area network (WAN), or the like. Depending on the relationship between the DVR commercial content provider 200 and the content provider 260, such communication may be established using the same broadband network over which the programming content is sent to the DVR system 10. That is, in
The subject matter (e.g., the product or service being advertised) of the substitute commercial may or may not be the same as the subject matter of the original commercial which it is replacing. In some cases the original commercial may be replaced with a rolling text message or a logo that would be easily legible at the higher playback rates. In other cases the original commercial may be replaced with another commercial that has movement, but which appears to be being rendered at the normal presentation rate when it is actually rendered at a faster rate. Since most DVR systems can generally fast-forward through a program at more than one speed, there may be multiple renditions of the substitute commercial each suitable for a different one of the fast forward presentation rates.
DVR commercial content provider 200 often has personal and/or demographic information available concerning individual viewers. For example, the DVR commercial content provider 200 may know the viewer's program preferences (e.g., science fiction, police dramas) and, possibly, the viewer's personal information (e.g., male, age 27, likes photography). This information can be used to select substitute commercials that are tailored to the individual viewer or the viewer's demographic group, thereby increasing the value of the commercials. This allows the DVR commercial content provider 200 to charge advertisers for targeted advertising, which can be much more valuable than shotgun advertising that occurs with normal broadcast commercials. In general, the substitute commercials may be selected by the DVR commercial content provider 200, the commercial producers 225, or both parties in coordination with one another. The substitute commercials may be periodically replaced with updated commercials so that they do not become outdated. Moreover, if a recorded program is rendered more than once, different substitute commercials may be used each time the program is subsequently viewed.
The communication between the DVR commercial content provider 200 and the DVR system 10 may be accomplished in either a push or pull manner. In a typical client/server environment involving a pull, the client engages a server with a request for service or information. The server responds to the request and returns information to the client. This interaction is referred to as a pull, since the client is effectively pulling information from the server. In the present case, the DVR system 10 (acting as the client) may request that the substitute commercials be forwarded to it by the DVR commercial content provider 200. The pull can be initiated or activated by any number of events. For example, a pull interaction may be initiated at the time a program is being recorded or when the viewer is watching a program and fast forwards through it. In a push interaction, the server transmits information to the client without explicit instruction from the client to do so. This interaction is referred to as a push, since the server is effectively pushing information to the client. In the present case, the substitute commercials may be automatically transmitted to the DVR system 10 using a push interaction initiated by the DVR commercial content provider 200.
In either a push or pull interaction, the substitute commercials may be forwarded from the DVR commercial content provider 200 to the DVR system 10 at regular intervals (e.g., hourly, daily, etc). In addition, or as an alternative thereto, the substitute commercials may be forwarded at other times using a pull interaction, such as whenever a program is downloaded to the DVR system 10 from the content provider 260. That is, the program, including commercials, as well as the substitute commercials, may all be downloaded contemporaneously.
As previously mentioned, when a viewer is watching a program recorded on the DVR system 10 and is fast-forwarding through a commercial, the commercial is replaced with a substitute commercial (if available) that is more suitably rendered at the faster frame rate. In order to accomplish this substitution the DVR system 10 includes a splice engine 30 (see
In the context of MPEG-2, a continuous video stream is encoded as a series of sequences. Each sequence is divided into groups of pictures (“GOPs”) and each GOP contains a series of encoded video frames. Each sequence includes a sequence header, each GOP includes a GOP header and each frame includes a frame header. Each sequence also includes at least 10 program clock references or “PCRs”. In addition, each data stream is transmitted as a contiguous series of packets, with each packet having a packet header. Each MPEG-2 encoded video frame further includes, in addition to video data and a frame type field (i.e., an I, B or P frame), timing and relative ordering information. The frame timing information includes (for each frame) a decode time stamp or “DTS” field, (which indicates the time at which a received frame will be decoded), and a corresponding presentation time stamp or “PTS” field (which indicates the time at which the decoded frame will be presented for display). While the time stamps located in the commercials index 265 which are used by the splice engine 30 may correspond to any appropriate ones of the various PCRs, the PTS will often be the suitable choice.
Another illustrative splicing technique in the context of MPEG-2 that does not employ the PCRs has been proposed by the Society of Motion Pictures and Television (“Proposed SMPTE Standard for Television—Splice Points for MPEG-2 Transport Streams”), which suggests a new extension to the MPEG-2 specifications to facilitate splicing by incorporation of splice points and related splicing-support information directly into the data stream at the time of encoding. These or any other techniques may be employed by the splice engine to splice substitute commercials into the digitally encoded data stream of the recorded programs.
Although a specific architecture has been described herein, including specific functional elements and relationships, it is contemplated that the systems and methods herein may be implemented in a variety of ways. For example, functional elements may be packaged together or individually, or may be implemented by fewer, more or different devices, and may be either integrated within other products, or adapted to work with other products externally. When one element is indicated as being responsive to another element, the elements may be directly or indirectly coupled.
The process shown in
It will furthermore be apparent that other and further forms of the invention, and embodiments other than the specific embodiments described above, may be devised without departing from the spirit and scope of the appended claims and their equivalents, and it is therefore intended that the scope of this invention will only be governed by the following claims and their equivalents.