HK1201660B - Automatic commercial playback system - Google Patents
Automatic commercial playback system Download PDFInfo
- Publication number
- HK1201660B HK1201660B HK15101852.8A HK15101852A HK1201660B HK 1201660 B HK1201660 B HK 1201660B HK 15101852 A HK15101852 A HK 15101852A HK 1201660 B HK1201660 B HK 1201660B
- Authority
- HK
- Hong Kong
- Prior art keywords
- content
- specified
- content stream
- dvr
- time
- Prior art date
Links
Description
Cross Reference to Related Applications
This application is related to the following U.S. patent applications, each of which is incorporated herein by reference: U.S. patent application No. 09/665921 entitled "CLOSED condition TAGGING SYSTEM" now issued to U.S. patent No. 7889964B 1, U.S. patent application No. 11/182135 entitled "CLOSED product having a program AN ADVERTISEMENT IN THE BROADCAST STREAM now issued to U.S. patent No. 7986868B 2, U.S. patent application No. 11/182876 entitled" CLOSED condition TAGGING SYSTEM "now issued to U.S. patent No. 8036514B 2, AND U.S. patent application No. 11/473543 entitled" IN-BAND correction AND SYNCHRONIZATION SYSTEM "now issued to U.S. patent No. 7661121B 2.
Technical Field
Embodiments of the invention generally relate to multimedia devices. Embodiments of the present invention relate more particularly to techniques for automatically playing at least a portion of an advertisement that a user of a multimedia device has fast-forwarded through.
Background
The approaches described in this section could be pursued, but are not necessarily approaches that have been previously conceived or pursued. Thus, unless otherwise indicated herein, the approaches described in this section are not necessarily prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
Most programs broadcast on publicly accessible cable and television stations are divided into multiple independent program intervals separated by commercial breaks. Typically, a commercial break has a limited duration that is less than the duration of the program interval preceding and/or following the commercial break. During commercial breaks, broadcasters that have broadcast programs broadcast one or more advertisements (collectively referred to as a "commercial group"). These advertisements are not part of the program-such advertisements may be replaced with other advertisements without affecting the viewer's understanding of the program in any way.
Typically, multimedia devices such as Digital Video Recorders (DVRs) not only allow their users to play back content that the DVR has previously recorded (or is currently recording), but also allow their users to play back or fast forward such content faster than normal presentation speeds. When the DVR is fast-forwarding the content, the DVR skips at least some frames of the content-frames that the DVR would otherwise present to the user if the DVR had already played the content at normal speed. DVRs sometimes have the ability to fast forward content at different user selection speeds, where more frames are skipped at a faster speed than at a slower speed. When the DVR is fast-forwarding the content at a significant rate, the user may not be able to clearly understand the content that the DVR is playing at all. In fact, the user may not even desire to understand what the DVR is fast forwarding through. Because users are often more interested in program content occurring during program intervals than in advertising content occurring during commercial breaks between those program intervals, users often use the fast forward feature of DVRs to attempt to fast forward at least partially through the commercial breaks so that users do not need to spend time viewing advertisements.
The approaches described in this section are approaches that could be pursued, but not necessarily approaches that have been previously conceived or pursued. Thus, unless otherwise indicated, it should not be assumed that any of the approaches described in this section qualify as prior art merely by virtue of their inclusion in this section. Similarly, unless otherwise indicated, issues identified with respect to one or more methods should not be assumed to have been identified in any prior art in accordance with this section.
Drawings
The present invention is illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements and in which:
FIG. 1 is a flow diagram illustrating an example of a technique for automatically playing a recorded advertisement (beyond which a multimedia device has fast-forwarded), in accordance with an embodiment of the present invention;
FIG. 2A illustrates an exemplary system for automatically playing a recorded advertisement over which a multimedia device has fast forwarded, according to an embodiment;
FIG. 2B is a block diagram that illustrates a general overview of the components of a Digital Video Recorder (DVR), according to an embodiment of the invention; and
FIG. 3 is a block diagram illustrating a digital video recorder on which embodiments may be implemented.
Detailed Description
Methods and apparatus for automatically playing at least a portion of an advertisement that a user has fast forwarded past using a multimedia device are described. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form in order to avoid unnecessarily obscuring the present invention.
Embodiments are described herein according to the following outline:
1.0 general overview
2.0 structural overview
3.0 playing skipped advertisements
4.0 implementation mechanisms-hardware overview
5.0 extensions and substitutions
1.0 general overview
The needs identified in the foregoing background, and other needs and objects that will become apparent for the following description, are achieved in the present invention, which comprises, in one aspect, techniques for automatically playing at least a portion of an advertisement past which a multimedia device has fast forwarded (typically in response to a command by a user to fast forward through the advertisement).
Sophisticated modern multimedia devices, such as Digital Video Recorders (DVRs), media players, personal computers, handheld devices (e.g., cellular phones, smart phones, tablets, etc.), and the like, have the ability to playback multimedia content and allow users to implement special effect functions, including but not limited to any of the following: fast forward, variable rate fast forward, rewind, variable rate rewind, pause, frame stepping, slow motion play, or play functions. For example, a DVR can schedule the recording of a program that will be broadcast at some future time. If a DVR user is interested in recording all episodes of a televised series of television shows, the DVR user may instruct their DVR to obtain a "quarterly pass" for that series. In response to such an instruction, the DVR automatically determines, from, for example, electronic program guide ("EPG") data, the time at which the series of episodes will be televised in the future. Typically, whenever an episode of a selected series is to be broadcast, the DVR automatically turns to the channel on which the episode is to be played and records the episode on at least one storage device of the DVR. For as long as the recorded episode remains on the DVR's storage device, the user of the DVR may instruct the DVR to play the episode to the user's television. Conveniently, this allows DVR users to watch programs that are of interest to the user at times other than those programs' airtime. The DVR user does not even need to know in advance the exact time at which those programs will be broadcast.
As used herein, a "program" is any visual and/or auditory content presented through a display and/or speakers of a display system. For example, a program may be an episode of a multi-episode series, a movie, a sporting event, or a news presentation, but this is not an exclusive list of "programs". When the DVR schedules a program for future recording, the DVR attempts to add the program to the recording schedule that the DVR maintains in its own storage mechanism. Whenever a program on the DVR's recording schedule is broadcast or available, the DVR automatically records the program.
When a user wants the DVR to fast forward through recorded commercial breaks such that the user can watch (at normal playback speed) the next program interval of the recorded program that the user was watching, the user will typically attempt to instruct the DVR to stop fast forwarding when the user detects that the commercial break has ended, and to start playing at normal speed. However, the reaction time of humans is relatively slow. As a result, by the time the user can detect that the DVR has fast-forwarded past the end of the commercial break, the DVR has fast-forwarded into at least a portion of the program interval that follows the commercial break. Because a typical user does not want to miss viewing any portion of the program interval, the user would then instruct the DVR to rewind the recorded content from that point in the recorded content stream in order to adjust to the beginning of the portion of the program. When the DVR is rewinding recorded content, a typical user will watch what is being displayed and try to detect the exact start of the program interval following the commercial break. When the user visually detects this point, the user instructs the DVR to begin playing the recorded content forward at normal speed.
According to one embodiment of the invention, when the DVR is fast-forwarding through content (which may include advertising content and program content), the DVR reads in-band data or in-band tags that are used to look for tag information whose presence is expressed in or derived from information contained, for example, in a private data stream or closed captioning associated with the content. According to one embodiment of the invention, advertisers pay the DVR service a fee in exchange for having the DVR service cause the DVR to recognize the presence of a particular tag at a specified point in the content stream. For example, the designated point may be in a commercial break or program interval. When the DVR detects the presence of a particular tag while fast-forwarding, the DVR enters a special state. According to one embodiment of the invention, any time the DVR is in this special state, if the DVR detects that the user has instructed the DVR to stop fast forwarding (e.g., because the user instructed the DVR to begin playing content at normal speed or to begin rewinding content), then the DVR places the specified temporal location in the recorded commercial break. For example, the specified temporal location may be specified by a particular tag. Typically, the specified temporal location occurs in or at the beginning of an advertisement for an advertiser who pays for the DVR service and is selected by the advertiser. The DVR stops performing whatever activity the DVR is engaged in, "jumps back" to the specified temporal location in the recorded commercial break, and resumes playing the recorded content stream at normal speed from the specified temporal location.
In one embodiment of the invention, the DVR remains in the special state until at least a specified amount of time has elapsed since the DVR "jumped back" to a specified temporal location, after which the DVR exits the special state. Typically, the specified amount of time is equal to the amount of time required to play at least a portion of the advertisement in which the specified temporal location occurs. In such embodiments of the invention, the set of commands that the DVR will accept from the user is limited in some way after the DVR has "jumped back" and while the DVR remains in the special state (e.g., the DVR might ignore the user's fast forward or pause commands). Thus, in one embodiment of the invention, a DVR user that instructs the DVR to fast-forward through a commercial break has to view at least a portion of the advertisements that occur during the commercial break before the user can resume viewing the program that follows the commercial break.
In other aspects, embodiments of the invention include computer devices and computer-readable storage media configured to carry out the foregoing techniques.
2.0 structural overview
FIG. 2A illustrates an example system for automatically playing advertisements or content that a multimedia device, such as a DVR, has fast forwarded in excess, according to an embodiment. The system comprises at least one client multimedia device, such as a DVR202, the DVR202 being communicatively coupled to the network 205 through any communication interface, such as an ethernet interface or a wireless communication port. The functionality of a DVR is represented in U.S. patent No. 6233389, which is owned by the present assignee and incorporated herein by reference. The system also includes a service provider 204, a content provider 206, a personal computer 208, and a portable device 210.
The personal computer 208 may be a personal computing device such as a desktop computer or laptop computer, and is also coupled to the network 205 through any communication interface, including wirelessly. The portable device 210 may be any handheld computing device, cellular telephone, portable media player, or any other portable device capable of displaying multimedia content and may be coupled to the network 205 through any communication interface, including wirelessly. DVR202, personal computer 208, and portable device 210 each communicate with service provider 204 over network 205. In another embodiment, DVR202, personal computer 208, and portable device 210 each communicate with content provider 210 over network 205.
The network 205 may be implemented by any medium or mechanism that provides for the exchange of data between devices in a communication system. Examples of network 205 include, but are not limited to, a network such as a Local Area Network (LAN), a Wide Area Network (WAN), the internet, one or more terrestrial, satellite, or wireless links, etc. Alternatively or additionally, any number of devices connected to network 205 may also be directly connected to each other through a communication link.
In one embodiment, content provider 206 provides broadcast program content to DVR202 via cable, satellite, terrestrial communication, network, or other transmission methods. The broadcast program content may include any multimedia content such as audio content, image content, video content, and the like. In another embodiment, the content provider 206 provides multimedia content, such as any downloadable content, to the DVR202, personal computer 208, or portable device 210 over the network 205.
In one embodiment, DVR202 communicates with service provider 204, which service provider 204 provides any of (but is not limited to): program guide data, graphical resources (such as fonts, pictures, brand icons, pictures, etc.), service information, software, advertisements, event identification data, other forms of data that enable DVR202 to operate independently of service provider 204 to meet the interests of the user, and so forth. In another embodiment, DVR202, personal computer 208, and portable device 210 may communicate with one another to transfer content, metadata, or any other data over network 205, a communication connection, or any local network.
In another embodiment, the content provider 206 may provide the content data or any metadata to the service provider 204, including but not limited to any of the following: promotional data, icons, world wide web data, or other information. Service provider 204 may then parse the metadata and provide the content data metadata to DVR202, personal computer 208, or portable device 210.
Referring to fig. 2B, in an embodiment, DVR202 generally includes a number of components, represented by signal converter 254, that are necessary to digitize an analog television signal and convert it to or accept a digital data stream. An example of the internal structure and operation of a DVR is also described in U.S. patent No. 6233389.
DVR202 receives broadcast signals from an antenna, from a cable television system, satellite receiver, etc., via input 252A. Input 252A may include multiple tuning modules that allow multiple signals to be received and recorded simultaneously. For example, the TV input stream received by input 252A may take the form of a National Television Standards Committee (NTSC) compliant signal or a PAL compliant broadcast signal. As another example, the TV input stream received by input 252A may take a Digital form such as a Digital Satellite System (DSS) compliant signal, a Digital Broadcast Services (DBS) compliant signal, or an Advanced Television Standards Committee (ATSC) compliant signal. DBS, DSS, and ATSC are based on standards known as motion Pictures Experts Group 2(MPEG-2) and MPEG-2Transport (MPEG-2 Transport). MPEG-2transport is a standard for formatting a digital data stream from a TV source transmitter so that a TV receiver can decompose the input stream to find programs in a multiplexed signal. As another example, a digital stream downloaded or streamed over a network may be in a digital format such as MPEG-2, MPEG-4, WMV, AVCHD, or the like.
In an embodiment, the MPEG-2transport multiplex supports multiple programs in the same broadcast channel with multiple video and audio feeds and dedicated data. Input 252A diverts to a particular program in the channel, extracts a specified MPEG stream from the channel, and feeds the MPEG stream to the rest of the system. In an embodiment, input 252A downloads a digital stream from a source across the internet and feeds the digital stream to the rest of the system. Analog TV signals are encoded into a similar MPEG format using separate video and audio encoders so that the rest of the system does not know how to acquire the signal. Information may be modulated into the Vertical Blanking Interval (VBI) of an analog TV signal in a number of standard ways; for example, the North American Broadcast Teletext Standard (NABTS) may be used to modulate information onto certain lines of an NTSC signal that the FCC authorizes for use by the Closed Caption (CC) and some other line of the Extended Data Service (EDS). Such signals are decoded by input 252A and passed to other modules as if the signals had been delivered via an MPEG private data channel.
In an embodiment, the recording module 260 records the incoming data stream by storing the digital data stream on at least one storage facility represented by storage devices 264A/264B designed to retain segments of the digital data stream. The storage 264A/264B may be one or more non-volatile storage devices (e.g., hard disk, solid state drive, USB external hard drive, USB external memory stick, USB external solid state drive, network accessible storage, etc.) that are internal 264A and/or external 264B. Signal converter 254 retrieves segments of the data stream, converts the data stream to an analog signal, and then modulates the signal onto an RF carrier via output 252B, through which output 252B the signal is delivered to a standard television set. The output 252B may alternatively deliver the digital signal to a television or video monitor. For example, DVR202 may utilize any of the following: a digital visual interface port (DVI), HDMI, VGA, etc. for transmitting digital signals to a display monitor via a DVI cable.
DVR202 also includes a communication interface 262 through which DVR202 communicates with network 205 via ethernet, a wireless network, a modem, or other communication standard. Also, DVR202 may be integrated into a TV system such that the components described above are housed in a television set that is capable of implementing the functionality of each of the components of DVR 202.
In another embodiment, DVR202 generally comprises a plurality of components necessary to receive, record, store, transfer, and playback digital data signals from a plurality of sources, such as any of the following: PCs, DVRs, service providers, content providers, etc. DVR202 may transfer the digital data signal to another DVR or PC. DVR202 may encode or decode the digital signal into multiple formats for playback, storage, or transfer via encoder 256A and decoder 256B. According to one embodiment of the invention, encoder 256A generates an MPEG stream. According to another embodiment of the present invention, encoder 256A produces streams that are encoded using different codecs. The decoder 256B decodes the stream encoded by the encoder 256A or stored in a format that uses an appropriate decoder to receive the stream. DVR202 may also use encryptor/decryptor 258 to encrypt or decrypt digital data signals for storage, transfer or playback of the digital data signals.
In one embodiment, DVR202 communicates with service provider 204, which service provider 204 provides any of (but is not limited to): program guide data, graphical resources (such as fonts, pictures, brand icons, pictures, etc.), service information, software, advertisements, event identification data, other forms of data that enable DVR202 to operate independently of service provider 204 to implement autonomous recording functionality, and so forth. Communication between DVR202 and service provider 204 utilizes a secure distribution architecture to transfer data between DVR202 and service provider 204 such that both service data and user privacy are protected.
3.0 playing skipped advertisements
FIG. 1 is a flow diagram illustrating an example of a technique for automatically playing advertisements or content that a multimedia device, such as a DVR, has fast forwarded in excess, according to an embodiment of the invention. In one embodiment of the invention, at least some of the steps of the illustrated technique are performed by the DVR shown in FIG. 2B. According to various alternative embodiments of the invention, alternative techniques may include fewer, more, or different steps than those shown in FIG. 1.
Referring now to FIG. 1, in block 102, in an embodiment, a DVR service may enter into an agreement with an advertiser. The protocol provides that the DVR service will cause DVRs under the influence of the DVR service (e.g., those to which the DVR service is capable of uploading information) to recognize the presence of one or more specified "jump back" tags that either express information in the accompanying content stream about how it is to be derived from the accompanying content stream. For example, a designated "jump back" tag may be expressed in or derived from information contained in a closed caption or private data stream that accompanies a program and/or advertisement that will be broadcast in the future. The agreement may also provide that the advertiser will pay a specified fee or other consideration for the DVR service in exchange for the implementation of these actions for the DVR service.
In block 104, in an embodiment, in response to the DVR service entering an agreement or for general or specific configuration reasons with the advertiser, the DVR service instructs the DVR to recognize the presence of one or more designated "jump back" tags for the advertiser at one or more points in a particular content stream or any content stream under the influence of the DVR service. In embodiments, the DVR service may, for example, instruct the DVR to ignore or recognize tags that contain certain identifiers (e.g., that indicate a particular advertising customer, etc.) or to recognize all tags.
For example, the DVR service may cause a specified tag code to be inserted into the closed captioning or private data stream at a specified point. The code may be of a type such that the code will not be displayed along with other closed caption text, but such that the code will be detectable by the DVR. The data included in the tag may include any combination of the following: an indication of what the tag type is, what action is to be performed (e.g., a jump back time period, a jump back timestamp, a duration of ignoring certain user commands, user commands to be ignored, user commands to be accepted, etc.), any icons that may be displayed, and so forth. An exemplary technique for inserting DVR-detectable tags into CLOSED captioning streams is disclosed in U.S. patent No. 7889964 entitled "CLOSED CAPTION TAGGING SYSTEM," which is incorporated by reference for all purposes as if fully disclosed herein.
As another example, the DVR service may calculate a model of a hash value by feeding the closed caption text that appears at (or near) a specified point in the closed caption stream into a hash function (hash function). The DVR service may upload to the DVR a mapping (e.g., a list, a table, a portion of a database, etc.) between the model of hash values and the specified tag codes and information. Thereafter, the DVR may feed the received closed caption text into a hash function, detect when a point in the closed caption stream has reached a specified sequence of results corresponding to the hash value (matching a model of the hash value specified by the DVR service), and process the specified tag codes mapped to the hash value as if those specified tag codes were actually contained at that point in the closed caption stream (even though the closed caption stream did not actually contain the specified tag codes). An exemplary technique for deriving the presence of hash tags from information contained IN a closed caption stream (without actually inserting any tags into the closed caption stream) is disclosed IN U.S. patent No. 7661121 entitled "IN-bantdata recording AND SYNCHRONIZATION SYSTEM," which is incorporated by reference for all purposes as if fully disclosed herein.
As another example, the DVR service may generate the hash value by feeding the actual content of the video frame (or a portion thereof) and/or the audio track that accompanies the video frame into a hash function. In a manner similar to that discussed above, the DVR service may upload to the DVR a mapping between the hash value and the specified tag code. Thereafter, the DVR may feed the video frame data and/or audio data into a hash function, detect when a point in the video or audio content corresponding to a specified resulting hash value has been reached, and process the specified tag codes mapped to that hash value as if those specified tag codes were actually contained at that point in the stream. Thus, the tag may be derived from the appearance of a specified object in the recorded video stream and/or the presence of a specified sound in an accompanying audio track.
A point (at which the presence of a "jump back" tag will be recognized) may occur in a commercial break where an advertiser's advertisement is scheduled to be presented. Additionally or alternatively, a point (at which the presence of a "jump back" tag will be recognized) may occur in a program interval following such a commercial break (e.g., toward the beginning of the program interval). In one embodiment of the invention, any one of the advertiser, broadcaster, DVR service, etc. selects the point in the closed caption stream at which the presence of the "jump back" tag should be recognized by the DVR.
In one embodiment of the invention, the tag code specified in the "jump back" tag indicates at least (a) any of the following to which the DVR should "jump back": a specified temporal location, timestamp, amount of time, etc. in the content stream, and (b) an amount of time of at least some specified user commands that the DVR should ignore after "jumping back" to the specified temporal location. The use of these values for the tag code is discussed below.
In block 106, the DVR (e.g., one of the DVRs whose DVR service has indicated that the presence of the "jump back" tag is recognized) begins fast forwarding the recorded content in response to a user command requesting to do so. When the DVR fast-forwards recorded content, the DVR observes any combination of closed-captioning streams, private data streams, etc., for the presence of "jump-back" tags that are expressed or derived (e.g., from hash values, etc.).
In block 108, the DVR detects the presence of an expressed or derived "jump back" tag from the closed caption stream as the DVR fast forwards through the recorded content. In response to detecting the presence of the "skip back" tab, the DVR enters a special state where the DVR continuously detects whether the user has instructed the DVR to stop fast forwarding recorded content (e.g., because the user instructed the DVR to begin playing recorded content at normal speed or begin rewinding recorded content).
In block 110, while the DVR is in the special state, the DVR detects that the user has instructed the DVR to stop fast-forwarding recorded content. For example, the DVR may detect that a user has pressed a "play" button on the DVR's remote control.
In block 112, in response to detecting that the user has instructed the DVR to stop fast-forwarding recorded content, the DVR locates in the recorded content a specified temporal location specified by the "jump back" tag (whose presence was previously detected by the DVR in block 108). The DVR immediately begins playing the recorded content that begins at the specified temporal location in the content stream. In one embodiment of the invention, the temporal location in the recorded content to which the DVR should "jump back" was previously selected by any of the following: advertisers, broadcasters, DVR services, etc., and may be specified within the tag or in information associated with the tag. In an embodiment, the specified time domain location occurs at or somewhere within the beginning of the advertiser's advertisement, which enters into the protocol discussed above with respect to FIG. 2. While the DVR remains in the special state, the DVR determines that: whether a specified amount of time has elapsed since the DVR jumped back to the specified temporal location. In one embodiment of the invention, the amount of time is specified by a "jump back" tag (the DVR previously detected or derived its presence in block 108).
In one embodiment of the invention, after the DVR has detected an exit from fast forward mode as discussed above with reference to block 110, the set of commands that the DVR will accept from the user (e.g., user commands that the DVR might ignore fast forward or pause) is limited in some way. In one embodiment of the invention, the DVR ignores all commands received from the user as long as the DVR remains in the special state after detecting an exit from fast forward mode.
In block 114, in response to determining that a specified amount of time has elapsed since the DVR jumped back to the specified temporal location in block 112, the DVR exits the special state that the DVR entered in block 108. As mentioned above, in one embodiment of the invention, the amount of time is specified by the "jump back" tag whose presence was previously detected by the DVR in block 108. In one embodiment of the invention, the amount of time is selected by any one of: an advertiser, broadcaster, DVR service, etc., and may be selected to be long enough to cover the duration of an advertisement (or portion thereof) that the advertiser, broadcaster, DVR service, etc., desires a DVR user to view. In embodiments of the invention in which the commercial is the last commercial in a commercial break preceding the program interval to which the user is fast-forwarding, the DVR exits the special state when the end of the commercial break and the beginning of the program interval are reached. The DVR may detect the end of a commercial break by looking up one or more black frames in the recorded content, hashing the video frames using, for example, fingerprints, closed caption data, etc. If the DVR has previously limited the set of acceptable user commands, then the DVR begins accepting previously unacceptable user commands after exiting the special state.
While the embodiments of the invention described above relate to jumping back to a specified location in a content stream (e.g., recorded, live, streamed, etc.), other embodiments of the invention may alternatively relate to jumping forward to a specified location in a content stream. While other alternative embodiments of the invention may involve: the DVR performs some other action, such as playing content that is stored on at least one storage device of the DVR, but that is not actually contained in the recorded content stream, in response to detecting a tag as discussed above. Furthermore, while the embodiments of the invention described above relate to jumping to a specified location in order to cause the recorded advertisement at that location to be played, other embodiments of the invention may alternatively relate to jumping to a specified location for purposes other than playing the recorded advertisement.
As mentioned above, in one embodiment of the invention, the DVR service and the advertiser enter an agreement that causes the DVR service to instruct the DVR to recognize the advertiser's tags and jump back to the advertiser's advertisements when those advertisements are skipped. In one embodiment of the invention, the DVR service charges advertisers for the DVRs to function in this manner. In another embodiment of the invention, each time the DVR service determines that the DVR has jumped back and plays one of the advertiser's advertisements, the DVR service charges the advertiser — the DVR may be configured to report these events (e.g., over the Internet) to the DVR service. In an embodiment, the DVR may report back to the DVR service any operational data, such as any of the following: which tags are fully executed, which tags are aborted upon execution (e.g., through a channel change, etc.), and so forth.
Although embodiments of the present invention are described above with reference to a DVR, alternative embodiments of the present invention may relate to multimedia devices other than DVRs. For example, in one embodiment of the present invention, a portable memory device capable of storing and playing back recorded content may be used in a similar manner. Such a portable memory device may, for example, obtain content by any combination of: such as the internet, cable television signals, via satellite television signals, via HDMI from a computer or DVR, and the like.
In one embodiment of the invention, the tag specifies, among other possible information, the amount of time (or number of frames, specific timestamps, etc.) that the tag is valid for other than the time domain location (where the tag appears). In such embodiments of the invention, when the DVR user stops fast forwarding while the DVR is in the special state (as described above with reference to block 110 of fig. 1), the DVR determines whether the amount of time (or number of frames, specific timestamps, etc.) that will be required to play the recorded piece of content that occurs between (a) the location of the tag and (b) the point at which fast forwarding stopped is greater than the amount of time (or number of frames) specified by the tag. If so, then the tag is ignored and the DVR does not jump back to the tag-specified point in the recorded stream; under such conditions, the user is deemed to have skipped over too much content to have the user review the advertisement. Otherwise, the DVR jumps back to the label-designated point in the recorded stream in the manner described above.
In one embodiment of the invention, if the tag is ignored in the manner discussed above because the user fast-forwards far beyond the time domain area in which the tag is assumed to be valid, and if the user subsequently reverses the recorded content and then stops the reversing operation within the time domain area in which the tag is valid (e.g., the amount of time specified by the tag, the number of frames, the timestamp, etc., outside of which the tag appears), then the DVR jumps back to the tag-specified point in the recorded stream in the manner described above. In such a case, the user is considered to have inadvertently crossed the point at which the user wants to resume playing the recorded content at normal speed. The user is said to have rewound the recorded content back into the time domain validity region of the tag purely for the purpose of correcting the over-going behavior. Because the aggregate action of the user in such a case appears to have been motivated by the desire to merely skip the advertisement and start playing immediately after the commercial break, the DVR is adjusted to force the skipped advertisement to be played.
4.0 implementation mechanisms-hardware overview
FIG. 3 is a block diagram that illustrates a computer system 300 upon which an embodiment of the invention may be implemented. Computer system 300 includes a bus 302 or other communication mechanism for communicating information, and a processor 304 coupled with bus 302 for processing information. Computer system 300 also includes a main memory 306, such as a random access memory ("RAM") or other dynamic storage device, coupled to bus 302 for storing information and instructions to be executed by processor 304. Main memory 306 also may be used for storing temporary variables or other intermediate information during execution of instructions to be executed by processor 304. Computer system 300 also includes a read only memory ("ROM") 308 or other static storage device coupled to bus 302 for storing static information and instructions for processor 304. A storage device 310, such as a magnetic disk or optical disk, is provided and coupled to bus 302 for storing information and instructions.
Computer system 300 may be coupled via bus 302 to a display 312, such as a cathode ray tube ("CRT") or liquid crystal display ("LCD"), for displaying information to a computer user. An input device 314, including alphanumeric and other keys, is coupled to bus 302 for communicating information and command selections to processor 304. Another type of user input device is cursor control 316, such as a mouse, a trackball, stylus, or cursor direction keys for communicating direction information and command selections to processor 304 and for controlling cursor movement on display 312. The input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allows the device to specify positions in a plane.
The present invention is related to the use of computer system 300 for selecting for display frames of a multi-frame video program according to a selected trick play mode of a DVR. According to one embodiment of the invention, selecting for display, by computer system 300, a frame of a multi-frame video program according to a selected trick play mode of a DVR is provided in response to processor 304 executing one or more sequences of one or more instructions contained in main memory 306. Such instructions may be read into main memory 306 from another computer-readable medium, such as storage device 310. Execution of the sequences of instructions contained in main memory 306 causes processor 304 to perform the process steps described herein. In alternative embodiments, hard-wired circuitry may be used in place of or in combination with software instructions to implement the invention. Thus, embodiments of the invention are not limited to any specific combination of hardware circuitry and software.
The term "computer-readable medium" as used herein refers to any medium that participates in providing instructions to processor 304 for execution. Such a medium may take many forms, including but not limited to, non-volatile media, and transmission media. Non-volatile media includes, for example, optical or magnetic disks, such as storage device 310. Volatile media includes dynamic memory, such as main memory 306. Transmission media includes coaxial cables, copper wire and fiber optics, including the wires that comprise bus 302. Transmission media can also take the form of acoustic or light waves, such as those generated during radio-wave and infra-red data communications.
Common forms of computer-readable media include, for example, a floppy disk, a flexible disk, hard disk, magnetic tape, or any other magnetic medium, a CD-ROM, any other optical medium, punch cards, paper tape, any other physical medium with patterns of holes, a RAM, a PROM, and EPROM, a FLASH-EPROM, or any other memory chip or cartridge.
Various forms of computer readable media may be involved in carrying one or more sequences of one or more instructions to processor 304 for execution. For example, the instructions may initially be carried on a magnetic disk of a remote computer. The remote computer can load the instructions into its dynamic memory and send the instructions over a telephone line using a modem. A modem local to computer system 300 can receive the data on the telephone line and use an infra-red transmitter to convert the data to an infra-red signal. An infra-red detector can receive the data carried in the infra-red signal and appropriate circuitry can place the data on bus 302. Bus 302 carries the data to main memory 306, from which main memory 306 processor 304 retrieves and executes the instructions. The instructions received by main memory 306 may optionally be stored on storage device 310 either before or after execution by processor 304.
Computer system 300 also includes a communication interface 318 coupled to bus 302. Communication interface 318 provides a two-way data communication coupling to a network link 320, network link 320 being connected to a local network 322. For example, communication interface 318 may be an integrated services digital network ("ISDN") card or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, communication interface 318 may be a local area network ("LAN") card to provide a data communication connection to a compatible LAN. Wireless links may also be implemented. In any such implementation, communication interface 318 sends and receives electrical, electromagnetic or optical signals that carry information representing various types.
Network link 320 typically provides data communication through one or more networks to other data devices. For example, network link 320 may provide a connection through local network 322 to a host computer 324 or to data equipment operated by an Internet service provider ("ISP") 326. ISP 326 in turn provides data communication services through the world wide packet data communication network now commonly referred to as the "internet" 328. Local network 322 and internet 328 both use electrical, electromagnetic or optical signals that carry digital data streams. The signals through the various networks and the signals on network link 320 and through communication interface 318, which carry the digital data to and from computer system 300, are exemplary forms of carrier waves transporting the information.
Computer system 300 can send messages and receive data, including program code, through the network(s), network link 320 and communication interface 318. In the internet example, a server 330 might transmit a requested code for an application program through internet 328, ISP 326, local network 322 and communication interface 318.
The received code may be executed by processor 304 as it is received, and/or stored in storage device 310, or other non-volatile storage for later execution. In this manner, computer system 300 may obtain application code in the form of a carrier wave.
5.0 extensions and substitutions
In the foregoing specification, the invention has been described with reference to specific embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto without departing from the broader spirit and scope of the invention. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.
Claims (12)
1. A method for automatically playing multimedia content, comprising:
detecting the presence of a particular tag from information associated with a content stream when fast forwarding content from the content stream;
detecting whether a fast forward mode has been exited; and
in response to detecting that the fast forward mode has been exited, implementing:
locating a temporal location specified by the particular tag that is earlier than a point in the content stream at which content is being played from the content stream at a time at which it is detected that the fast forward mode has been exited; and
playing content from the content stream starting at the temporal location specified by the particular tag until the content of the content stream has elapsed a tag-specified amount of time, wherein the content stream has a set of accepted limited user commands, the tag-specified amount of time being equal to a portion of an advertisement duration that is less than the entire advertisement duration.
2. The method of claim 1, wherein the step of detecting the presence of the particular tag comprises:
detecting that a specified code has been inserted in a closed caption stream corresponding to the content stream.
3. The method of claim 1, wherein the step of detecting the presence of the particular tag comprises:
calculating a sequence of hash values from the closed caption stream text corresponding to the content stream, thereby producing a hash value sequence;
determining whether the sequence of hash values corresponds to any model of hash values in a specified set of models of hash values associated with a particular tag; and
in response to determining that the sequence of hash values corresponds to a first model of hash values in the specified set of models of hash values, performing an action in accordance with information associated with the first model of hash values.
4. The method of claim 1, wherein the step of detecting the presence of the particular tag comprises:
inserting video or audio data from the content stream into a hash function, thereby generating a hash value;
determining whether the hash value corresponds to any tag in a specified set of tags; and
in response to determining that the hash value corresponds to a first tag in the specified set of tags, performing an action in accordance with information associated with the first tag.
5. The method of claim 1, wherein playing content from the content stream starting at the temporal location specified by the particular tag comprises:
limiting a set of commands to which a device that is playing a content stream that begins at the temporal location is subject until a criterion specified by the particular tag has been met.
6. The method of claim 1, wherein playing content from the content stream starting at the temporal location specified by the particular tag comprises:
ignoring fast forward commands when playing content that begins at the temporal location until the criteria specified by the particular tag has been met.
7. The method of claim 1, wherein playing content from the content stream starting at the temporal location specified by the particular tag comprises:
limiting a set of commands to which a device that is playing content that begins at the temporal location is subject until a black frame has been detected in the content stream.
8. The method of claim 1, wherein playing content from the content stream starting at the temporal location specified by the particular tag comprises:
the advertisement that begins at a temporal location in the content stream is played in its entirety and skipping of the advertisement is prevented when the advertisement is played in its entirety.
9. The method of claim 1, wherein playing content from the content stream starting at the temporal location specified by the particular tag comprises:
determining that a first amount of time required to play out content that occurs between (a) the temporal location and (b) a point at which the fast forward mode is exited is not greater than a second amount of time specified by the particular tag; and
playing content from the content stream beginning at the temporal location in response to determining that the first amount of time is not greater than the second amount of time.
10. A method for automatically playing multimedia content, comprising:
detecting the presence of a particular tag from information associated with a content stream when fast forwarding content from the content stream;
detecting whether a fast forward mode has been exited;
in response to detecting that the fast forward mode has been exited, determining that a first amount of time required to play out content that occurs between (a) a temporal location corresponding to the particular tag and (b) a point at which the fast forward mode is exited is greater than a second amount of time specified by the particular tag;
after detecting that the first amount of time is greater than the second amount of time, detecting that a rewind operation has caused the content stream to be rewound to a position within a temporal region based on the first amount of time; and
in response to detecting that the rewind operation has caused the content stream to be rewound back to the position, playing content from the content stream starting at the temporal position until the content of the content stream has elapsed a tag-specified amount of time, wherein the content stream has a set of accepted, limited user commands, the tag-specified amount of time being equal to a portion of an advertisement duration that is less than the entire advertisement duration.
11. An apparatus for automatically playing multimedia content, comprising:
one or more processors;
the apparatus is configured to perform the steps recited in any one of claims 1-10.
12. A system for automatically playing multimedia content, comprising:
a remote device;
a multimedia device that detects the presence of a particular tag from information associated with a content stream transmitted by the remote device while fast forwarding content from the content stream;
wherein the multimedia device is configured to: detecting whether a fast forward mode has been exited; in response to detecting that the fast forward mode has been exited, determining that a first amount of time required to play out content that occurs between (a) a temporal location corresponding to the particular tag and (b) a point at which the fast forward mode is exited is greater than a second amount of time specified by the particular tag; after detecting that the first amount of time is greater than the second amount of time, detecting that a rewind operation has caused the content stream to be rewound to a position within a temporal region based on the first amount of time; and in response to detecting that the rewind operation has caused the content stream to be rewound back to the position, playing content from the content stream starting at the temporal position until the content of the content stream has elapsed a tag-specified amount of time, wherein the content stream has a set of accepted, limited user commands, the tag-specified amount of time being equal to a portion of an advertisement duration that is less than the entire advertisement duration.
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201261610382P | 2012-03-13 | 2012-03-13 | |
| US61/610,382 | 2012-03-13 | ||
| PCT/US2013/030920 WO2013138475A1 (en) | 2012-03-13 | 2013-03-13 | Automatic commercial playback system |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1201660A1 HK1201660A1 (en) | 2015-09-04 |
| HK1201660B true HK1201660B (en) | 2018-11-02 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JP6979108B2 (en) | Commercial automatic playback system | |
| US9032456B2 (en) | Modifying commercials for multi-speed playback | |
| US20240397149A1 (en) | Dynamic item highlighting system | |
| US7849487B1 (en) | Review speed adjustment marker | |
| US9197927B2 (en) | Viewing of commercial break content during fast-forwarding of a video stream | |
| US20050216932A1 (en) | Targeted advertising in conjunction with on-demand media content | |
| AU2009202614B2 (en) | Automatic detection of program subject matter and scheduling padding | |
| US20120219273A1 (en) | Digital video recording apparatus, system and method with catchup viewing feature | |
| HK1201660B (en) | Automatic commercial playback system | |
| HK1136729A (en) | Automatic detection of program subject matter & scheduling padding | |
| JP2013183443A (en) | Content viewing control method, broadcasting system, recording/reproducing apparatus, and program | |
| HK1140083A (en) | Modifying commercials for multi-speed playback |