The following discussion generally relates to video streaming systems. More particularly, the following discussion relates to commercial content switching in video streaming systems.
Media content, including video-on-demand (VOD) and television (TV) programming, has traditionally been delivered to viewers over legacy cable and satellite broadcast systems. More recently, various streaming video platforms have been introduced by media content providers and gained widespread commercial adoption; the term “media content provider,” as appearing herein, encompassing all types of media content sources, aggregators, and the like from which content-containing digital or analog signals can be obtained for viewing on user devices. The term “media content providers” thus encompasses cable, satellite, and over-the-top (OTT) TV providers, as well as entities owning or operating streaming video platforms. It is also now commonplace for end users to placeshift media content stored in memory contained in or accessible to a home media receiver, such as an STB located at the end user's residence, over a network for viewing on a smartphone, tablet, or other portable media receiver operated by the end user.
There is a long standing desire to increase the potential revenue generated by such streaming systems. For example, by increasing the value of ads presented to the users of such systems. Thus, there remains a continuing desire to provide systems and methods that improve the delivery of commercial content to the users of such systems. Other desirable features and characteristics will become apparent from the subsequent detailed description and the appended claims, taken in conjunction with the accompanying drawings and this background section.
The various embodiments descried herein provide systems, devices and/or processes to improve the delivery of commercial content in a video streaming system. The various embodiments described herein facilitate the replacement of commercial content by providing the ability to shift the timing of the video stream in a way that allows commercials to be replaced with other commercials having different timespans. For example, in one embodiment a program channel is monitored to detect commercial content that has a first timespan. This detected commercial content is replaced with other commercial content that has a second timespan different than the first timespan. To compensate for this difference in timespans the timing of the video stream is adjusted. This adjustment in timing allows the replacement of commercial content with commercial content that is longer or shorter than the original commercial content. This provides increased flexibility in replacing commercial content, and this increased flexibility can result in increased revenue from the replacement. Furthermore, it can make such a replacement transparent to a user by preventing disruptions in video stream as transmitted and displayed to the user.
Other embodiments facilitate the improved delivery of commercial content in a video streaming system by providing the ability to shift content in a way that allows multiple relatively short commercials to be replaced with one or more longer commercials. Specifically, these various embodiments facilitate the replacement of relatively short commercial content by providing the ability to shift the timing of the video stream in a way that allows multiple relatively short commercials to be replaced with one or more longer commercials. Notably, this replacement can occur even when the two shorter pieces of commercial content were not adjacent in time in the video stream.
In one example embodiment, an automated process is executable by a streaming server in communication with a video player device over a network. In such an embodiment the automated process comprises: streaming a program channel as a video stream from the streaming server to the video player device; monitoring the program channel to detect first commercial content in the program channel having a first timespan; and responsive to detecting the first commercial content in the program channel, replacing the detected first commercial content in the video stream with replacement commercial content having a second timespan, where the first timespan is different than the second timespan; adjusting timing of the video stream to compensate for a difference in the first timespan and the second timespan.
A further example may be implemented wherein the automated process further comprises monitoring the program channel to detect additional commercial content in the program channel having a third timespan. A further example may be implemented wherein the step of adjusting timing of the video stream to compensate for the difference in the first timespan and the second timespan comprises: responsive to detecting additional commercial content in the program channel, skipping the detected additional commercial content in the video stream to compensate for a difference in the first timespan and the second timespan.
In a further example the first commercial content comprises a program promotion for a future program. In yet a further example, the monitoring the program channel to detect first commercial content in the program channel having the first timespan comprises tracking a number of times the first commercial content has been viewed by a user. In yet a further example, the monitoring the program channel to detect first commercial content in the program channel having the first timespan comprises comparing content in the program channel to previously identified commercials.
In a further example the monitoring the program channel to detect first commercial content in the program channel having the first timespan comprises monitoring for identification tags provided by a program channel provider. In yet a further example the streaming the program channel comprises streaming from a digital video recorder (DVR) that includes a recording of the program channel. In yet a further example the streaming the program channel comprises streaming the program channel as linear programming as received from a content source. In yet a further example the replacement commercial content is selected based at least in part on demographics of a user. In yet a further example the replacement commercial content is selected based at least in part on a time and date of the streaming of the program channel to the video player device.
In another example embodiment, an automated process is executable by a streaming server in communication with a video player device over a network. In such an embodiment the automated process comprises: streaming a program channel as a video stream from the streaming server to the video player device; monitoring the program channel to detect first commercial content in the program channel, wherein the first commercial content comprises a program promotion for a future program and has a first timespan less than a threshold; responsive to detecting first commercial content in the program channel, replacing the detected first commercial content in the video stream with replacement commercial content having a second timespan greater than the threshold; monitoring the program channel to detect additional commercial content in the program channel, wherein the additional commercial content comprises a program promotion for a future program and has a third timespan less than the threshold; and responsive to detecting additional commercial content in the program channel, skipping the detected additional commercial content in the video stream to compensate for a difference in the first timespan and the second timespan.
In yet another example embodiment, a streaming server is in communication with a video player device over a network, the streaming server comprising a processor and a memory, wherein the processor is configured to perform an automated process by executing digital instructions stored in the memory, wherein the automated process comprises: streaming a program channel as a video stream from the streaming server to the video player device; monitoring the program channel to detect first commercial content in the program channel having a first timespan less than a threshold; responsive to detecting the first commercial content in the program channel, replacing the detected first commercial content in the video stream with replacement commercial content having a second timespan greater than the threshold; and adjusting timing of the video stream to compensate for a difference in the first timespan and the second timespan.
In a further example, the automated processes further comprises monitoring the program channel to detect additional commercial content in the program channel having a third timespan less than the threshold. In yet a further example, the step of adjusting timing of the video stream to compensate for the difference in the first timespan and the second timespan comprises: responsive to detecting additional commercial content in the program channel, skipping the detected additional commercial content in the video stream to compensate for a difference in the first timespan and the second timespan.
In a further example, the first commercial content comprises a program promotion for a future program. In yet a further example, the monitoring the program channel to detect first commercial content in the program channel having the first timespan less than the threshold further comprises tracking a number of times the first commercial content has been viewed by a user.
In a further example, the monitoring the program channel to detect first commercial content in the program channel having the first timespan less than the threshold comprises comparing content in the program channel to previously identified commercials having the first timespan less than the threshold. In yet a further example, the monitoring the program channel to detect first commercial content in the program channel having the first timespan less than the threshold comprises monitoring for identification tags provided by a program channel provider. In yet a further example, the replacement commercial content is selected based at least in part on demographics of a user.
Various additional examples, aspects and other features are described in more detail below.
Exemplary embodiments will hereinafter be described in conjunction with the following drawing figures, wherein like numerals denote like elements, and:
The following detailed description of the invention is intended to provide various examples, but it is not intended to limit the invention or the application and uses of the invention. Furthermore, there is no intention to be bound by any theory presented in the preceding background or the following detailed description.
The various embodiments described herein facilitate the replacement of commercial content by providing the ability to shift the timing of the video stream in a way that allows commercials to be replaced with other commercials having different timespans. For example, in one embodiment a program channel is monitored to detect commercial content that has a first timespan. This detected commercial content is replaced with other commercial content that has a second timespan different than the first timespan. To compensate for this difference in timespans the timing of the video stream is adjusted. This adjustment in timing allows the replacement of commercial content with commercial content that is longer or shorter than the original commercial content. This provides increased flexibility in replacing commercial content, and this increased flexibility can result in increased revenue from the replacement. Furthermore, it can make such a replacement transparent to a user by preventing disruptions in video stream as transmitted and displayed to the user.
For example, a 28 second commercial can be replaced with a 30 second commercial by shifting the program content back 2 seconds, thus introducing an additional 2 second delay in the video stream. Conversely, 35 second commercial can be replaced with a 20 second commercial by shifting the program content forward 15 seconds, thus reducing the delay by 15 seconds. In each case, the timing of the video stream is adjusted to facilitate the replacement of commercial content in a way that provides increased flexibility. Such embodiments can have particular applicability for program channels that originate from other countries where commercials commonly have different, non-standard timespans. Specifically, such embodiments can allow commercials with non-standard timespans to be replaced with longer or shorter commercials that have more standard timespans.
Some embodiments described herein facilitate replacement of relatively short commercial content by providing the ability to shift the timing of the video stream in a way that allows multiple relatively short commercials to be replaced with one or more longer commercials. For example, in one embodiment a program channel is monitored to detect commercial content that has a timespan less than a threshold amount. This detected relatively short commercial content is replaced with relatively longer commercial content that has a timespan greater than the threshold amount. Stated another way, a shorter advertisement is replaced with a longer advertisement. Because the replacement commercial content has a longer timespan than the originally detected commercial content, this replacement of the first commercial content with the replacement commercial content introduces a delay in the video stream relative to the original content. This introduced delay relative to the original content can be undesirable in many circumstances. To compensate for this introduced delay, the timing of the video stream is adjusted to compensate for the difference in the timespan of the original commercial content and the timespan of the replacement commercial content.
In one embodiment, this adjustment is performed by monitoring the program channel to detect later commercial content that also has a timespan less than the threshold amount and then skipping the later detected commercial content with the shorter timespan. Skipping the later detected commercial content reduces the delay in the video stream, and thus compensates for the difference in the timespan of the original commercial content and the replacement commercial content. Taken together these actions effectively result in two or more shorter pieces of commercial content being replaced with a single longer piece of commercial content. Notably, this replacement can occur even when the two shorter pieces of commercial content were not adjacent in time in the video stream.
These various embodiments are particularly applicable to replacing certain time-sensitive commercials such as program promotions. In general, program promotions are commercials for future programs, including programs that will be aired (e.g., broadcast, transmitted, streamed) in the near or immediate future. As such, these program promotions have limited value initially, and can have almost no value after the future program content has already been aired. However, these program promotions are frequently shorter than traditional commercials, and as such they cannot be easily replaced with regular commercial content.
The embodiments described herein facilitate the replacement of program promotions with longer, and in many cases more valuable commercial content. In such an embodiment a program channel is monitored to detect a first program promotion that has a timespan less than a threshold amount. This detected program promotion is replaced with relatively longer commercial content that has a timespan greater than the threshold amount. Thus, the relatively short program promotion is replaced with a longer advertisement. Because the replacement commercial content has a longer timespan than the originally detected program promotion, this replacement of the program promotion with the replacement commercial content again introduces a delay in the video stream relative to the original content. To compensate for this introduced delay the program channel is monitored to detect another program promotion or other later commercial content that also has a timespan less than the threshold amount. This later detected program promotion in the program channel is then skipped. Again, skipping the later detected program promotion reduces or even eliminates the delay in the video stream, and thus compensates for the difference in the timespan of the original program promotion and the replacement commercial content. Taken together these actions effectively allow two or more program promotions to be replaced with a single longer, and more valuable, piece of commercial content. Notably, this replacement can occur even when the two program promotions were not adjacent in time in the video stream.
Replacing relatively short program promotions with longer traditional commercials can provide several advantages. Specifically, as noted above, in many cases the relatively shorter program promotions can have limited value. First, in most cases program promotions result in no direct revenue for the program channel provider. Instead, program promotions serve only to increase viewership of the later program. And in cases where the advertised program has already aired, even that limited value is greatly diminished. Thus, replacing multiple program promotions with one longer regular commercial can have significant economic value.
The general concepts described herein may be implemented in any video streaming context, but are especially relevant to the streaming of television programming that commonly includes commercials amid live or pre-recorded programming. Of course, equivalent embodiments could be implemented within other contexts, settings or applications as desired.
Turning now to the drawings and with initial reference to
In general, the content sources 120 can be any type of video content source, including media providers, content aggregators or distributors such as a cable television system operator, a direct broadcast satellite (DBS) system operator, or simply a network service provider or the like. These content sources 120 can provide the video content to the streaming server 104 in any suitable form and by any suitable technique. For example, the video content can be provided via satellite, fiber optic or any other conventional wireless or physical media for transmitting signals. The transmitted signals can be received, demodulated and decoded as needed by any appropriate receiver(s) to extract program signals. The extracted programming signals can then be analyzed as appropriate to identify the program contents. A distributor/aggregator, for example, may encode the extracted signals for distribution on a digital network, for aggregation and redistribution of signals over a DBS or cable distribution system, for generating content stored on a remote storage digital video recorder (RSDVR) or video on demand (VOD) service, or for any other purpose.
This content can then be passed to the streaming server 104. Having received this content, the streaming server 104 can encode the received content into a suitable format streaming to the video player devices 106A-B. For example, the streaming server 104 can transmit an encoded video stream via a content delivery network (CDN) for distribution on network 105 (e.g., the Internet) as part of an RSDVR, VOD or other video streaming service. The video streams are thus transmitted to the video player devices 106A-b.
In some embodiments the content sources 120 and/or streaming server 104 can include content identification logic that can identify some specific types of content in the video content. For example, in some embodiments the streaming server 104 is implemented to identify commercial content and/or live content and encode corresponding identifying information into the video streams transmitted to the video player devices 106A-B. Detailed examples of such content identification techniques will be described in greater detail below with reference to
In general, each of the video player devices 106A-B includes a combination of hardware and/or software needed to receive, process, and play the video streams received from the streaming server 104. As examples, each of the video player devices 106A-B can be implemented to include a streaming application stored in memory and being executed by a suitable processor. As some specific examples, each of the video player devices 106A-B can be implemented with any suitable computing device, including laptops, tablets, virtual reality (VR) devices, and mobile communication devices (e.g., smart phones). Such devices may include an integrated display screen, or may be coupled to a separate display screen.
In one example embodiment, the video streaming system 100 is implemented to perform one or more automated processes during the streaming of video content from the streaming server 104 to the plurality of video player devices 106A-B. In general, these automated processes provide for the improved delivery of commercial content in the video streaming system 100 by facilitating the replacement of commercial content in a way that allows multiple relatively short commercials to be replaced with one or more longer commercials. For example, in one embodiment a program channel is monitored at the streaming server 104 to detect commercial content that has a timespan less than a threshold amount 108. This detected relatively short commercial content is replaced with relatively longer commercial content 110 that has a timespan greater than the threshold amount 108. Stated another way, a shorter advertisement is replaced with a longer advertisement. Because the replacement commercial content 110 has a longer timespan than the originally detected commercial content, this replacement of the first commercial content with the replacement commercial content 110 introduces a delay in the video stream relative to the original content. This introduced delay relative to the original content can be undesirable in many circumstances. To compensate for this introduced delay, the timing of the video stream is adjusted to compensate for the difference in the timespan of the original commercial content and the timespan of the replacement commercial content 110.
In one embodiment, the streaming server 104 performs this adjustment by monitoring the program channel to detect later commercial content that also has a timespan less than the threshold amount 108 and then skipping the later detected commercial content with the shorter timespan. Skipping the later detected commercial content reduces the delay in the video stream, and thus compensates for the difference in the timespan of the original commercial content and the replacement commercial content. Taken together these actions effectively result in two or more shorter pieces of commercial content being replaced with a single longer piece of commercial content. Notably, this replacement can occur even when the two shorter pieces of commercial content were not adjacent in time in the video stream.
In one example embodiment, an automated process is executable by the streaming server 104 in communication with the video player device 106A-B. In such an embodiment the automated process can comprise: streaming a program channel as a video stream from the streaming server 104 to the video player device 106A-B; monitoring the program channel to detect first commercial content in the program channel; and responsive to detecting the first commercial content in the program channel, replacing the detected first commercial content in the video stream with replacement commercial content no having a second timespan different than the first timespan; and adjusting timing of the video stream to compensate for a difference in the first timespan and the second timespan.
In another example embodiment, an automated process is executable by the streaming server 104 in communication with the video player device 106A-B. In such an embodiment the automated process can comprise: streaming a program channel as a video stream from the streaming server 104 to the video player device 106A-B; monitoring the program channel to detect first commercial content in the program channel having a first timespan less than a threshold 108; and responsive to detecting the first commercial content in the program channel, replacing the detected first commercial content in the video stream with replacement commercial content no having a second timespan greater than the threshold 108; adjusting timing of the video stream to compensate for a difference in the first timespan and the second timespan.
Such automated processes can be extended to include monitoring the program channel to detect additional commercial content in the program channel having a third timespan less than the threshold 108. The step of adjusting timing of the video stream can then comprise: responsive to detecting additional commercial content in the program channel, skipping the detected additional commercial content in the video stream to compensate for a difference in the first timespan and the second times.
In such embodiments, the first commercial content can comprise a program promotion for a future program. Likewise, the additional commercial content can comprise a program promotion for a future program.
In one embodiment, the monitoring the program channel to detect first commercial content in the program channel having a first timespan less than a threshold can be performed by comparing content in the program channel to previously identified commercial content. Such a comparison can be performed in real-time as content is received and processed by the streaming server. This allows the comparison to be performed before the content is streamed to the video player device 106A-B. Such a real-time identification of commercial content can enable the replacement of the identified commercial content with longer replacement commercial content without a noticeable disruption to the viewer. Furthermore, by using data from previous identification of the commercial content the precise timespan of the commercial content can be known in advance, enabling the shifting of the video stream to accommodate the longer replacement commercial content.
In another such an embodiment, the monitoring the program channel to detect first commercial content in the program channel having a first timespan less than a threshold can be performed by monitoring for identification tags in the program channel provided by the program provider. In such an embodiment the program provider facilitates the identification of the commercial content by inserting the identification tags into the video stream.
In one embodiment, the streaming of the program channel 114 comprises streaming linear programming, where “linear programming” is defined as content that is received from the content sources 120 and then immediately streamed to the video player devices 106A-B with only relatively small delays for processing. As such, linear programming can include broadcast television channel or cable television channel that is received and streamed by the streaming server 104. As such, linear programming can include live programming such as sports or other live events that are recorded and streamed from the streaming server 104 with only minimal delays between the recording of the event and the streaming of the event as linear programming. In some embodiments this linear programming can be provided with the ability to “lookback” for a predetermined amount of time. In other embodiments, the streaming of the program channel 114 comprises streaming from a digital video recording of the program channel 114. For example, the streaming of the program channel 114 can comprise streaming from an RSDVR that operates with the streaming server 104 and has previously recorded the content of the program channel 114 for later streaming to the video player devices 106A-B.
In one embodiment, the replacement commercial content is selected based at least in part on the demographics of the user of the video player device 106A-B. For example, the commercial content can be selected based on age, gender, familial status, employment, and location of the user to the extent that such details are known. In other embodiments the commercial content can be selected based on previously determined program viewing habits of the user. Other factors such as internet history and shopping history can also be used when known. Additionally, the specific time and date of the streaming of the program channel can be used to select the advertisements.
In another embodiment, the video streaming system 100 is implemented to perform one or more automated processes that comprises: streaming a program channel as a video stream from the streaming server to the video player device; monitoring the program channel to detect first commercial content in the program channel, wherein the first commercial content comprises a program promotion for a future program and has a first timespan less than a threshold; responsive to detecting first commercial content in the program channel, replacing the detected first commercial content in the video stream with replacement commercial content no having a second timespan greater than the threshold; monitoring the program channel to detect additional commercial content in the program channel, wherein the additional commercial content comprises a program promotion for a future program and has a third timespan less than the threshold; responsive to detecting additional commercial content in the program channel, skipping the detected additional commercial content in the video stream to compensate for a difference in the first timespan and the second timespan.
In this embodiment, these program promotions are relatively short commercials for programs that will be aired (e.g., broadcast, transmitted, streamed) in the near or immediate future. The embodiments described herein facilitate the replacement of these relatively short program promotions with longer advertisements or other commercial content. Replacing these relatively short program promotions with longer advertisements or other commercial content can provide several potential advantages. First, in most cases program promotions result in no direct revenue for the program channel provider. Instead, program promotions serve only to increase viewership of the later program. In cases where a user has already viewed the program promotion even this value is limited. And in cases where the program advertised by the program promotion has already aired, even that limited value is greatly diminished. Thus, replacing multiple program promotions with one longer regular commercial can have significant economic value.
Turning now to
To facilitate the process flow, communications between the various devices can be initiated and established in any suitable manner. For example, communication between the various devices and networks may be established using Internet or other protocols that can include both wireless networking systems (e.g., Wi-Fi) or wired networking systems (e.g., Ethernet or HDMI).
At process step 202 the streaming server initiates a streaming video session and begins transmitting a video stream of a program channel to the video player device using video transmit function 204. In a typical embodiment the streaming server initiates the streaming video session at the direction of the video player device. For example, a streaming application on the video player device can communicate with the streaming server and provide a user interface for initiating a streaming video session of the program channel. Process step 202 and video transmit function 204 can include the encoding and transmitting of the selected program channel from any suitable content source. Additionally, such processing and transmitting can include transmitting using any suitable technique or protocol. As one detailed example, the streaming server can transmit an encoded video stream via a content delivery network for distribution the Internet as part of an RSDVR, VOD or other video streaming service. In these and other such embodiments these videos streams are thus received at the video player devices as input video streams.
At process step 206, the video player device processes the received input video streams of the program channel for display on the video player device. In this process step a streaming application and/or operating system and/or specialized hardware on the video player device performs typical video processing tasks associated with the receiving and displaying of video. For example, these elements can perform various decoding and rendering functions as needed to display the program channel on a video display device.
At process step 208, the streaming server monitors the program channel to identify commercial content having a timespan less than a threshold amount. Thus, while the program channel is being streamed to the video player device the streaming server can identify when commercial content having a timespan less than a threshold amount is being streamed in the program channel. This can include monitoring for program promotions and other types of relatively short commercial content that it is advantageous to replace with longer commercial content.
This process step 208 can be implemented and performed in several different ways. As one example, the monitoring of the program channel can be performed by comparing content in the program channel to previously identified commercial content having a timespan less than a threshold. For example, comparing the content previously identified program promotions. In such an example the audio and/or video content in the program channel can be analyzed to compare the content to previously identified content. To facilitate such a comparison of program content to previously identified commercial content a database of previously identified commercial content can be provided. This database may reside on the streaming server (e.g., streaming server 104) or on separate computing devices.
As one specific example, the program content can be analyzed to recognize scene changes in the program content. When a scene change is identified a digital analysis of the audio and/or video in the new scene is performed to compare the new scene to previously recognized scene's that are stored in the database. If the new scene is found in the database, then a new occurrence of the recognized scene can be recorded in the database. If the scene is not recognized, then a new entry in the database may be created to identify subsequent occurrences of the new scene. To that end, a digital “signature” or “fingerprint” of the new scene can be stored for subsequent analysis.
In process step 208 such a comparison of program content to commercial content can be performed in real-time as content is received and processed by the streaming server. This allows the comparison to be performed and commercial content identified before the content is streamed to the video player device.
In another such embodiment of process step 208, the monitoring of the program channel to identify commercial content can be performed by monitoring for identification tags in the program channel. These identification tags can be inserted in the program content to identify the type of content being streamed in the program channel. Such identification tags can thus be used to identify the various types of content that may be included in the program content, including commercial content. In one example embodiment these tags are provided by the content provider and thus are included in the content when it is received by the streaming server. In such an embodiment the identification tags can be used to identify both the beginning of commercial content and the ending of commercial content.
At process step 210 the detected commercial content is replaced with replacement commercial content having a timespan greater than a threshold amount, and a video stream of the replacement commercial content is transmitted to the video player device using video transmit function 212. Again, process step 210 and video transmit function 212 can include the encoding and transmitting of the selected program channel using any suitable technique or protocol.
Again, this replacement commercial content has a longer timespan than the detected commercial content that it is replacing. For example, a relatively short program promotion can be replacement with a relatively long regular commercial. And as described above, in one embodiment this replacement commercial content is targeted for a user of the video player device. In such an embodiment the replacement commercial content can be selected based at least in part on the demographics of the user of the video player device. For example, the replacement commercial content can be selected based on age, gender, familial status, employment, and location of the user to the extent that such details are known. In other embodiments the replacement commercial content can be selected based on previously determined program viewing habits of the user. Other factors such as purchase history, internet history and location history can also be used when known. Additionally, the specific time and date of the streaming of the program channel can be used to select the replacement commercial content.
In some embodiments, process step 210 is implemented to commercial content only after it has been viewed by a user. For example, this step can be implemented to replace program promotions only after they have been viewed by a user for a predetermined number of times. After a program promotion has been viewed by a user for a number of times it can have very limited value to the program channel provider, and thus the replacement of such commercials can have significant benefit. In such an embodiment the process step 210 would involve the tracking the viewing of program promotions or other commercial content by the user.
It should be noted that the process step 210 does require that the replacement commercial content be inserted into the video stream with the same starting time as the detected commercial content it is replacing. Instead, in some embodiments the detected commercial content is skipped and the replacement commercial content is inserted into the video stream at a later time. For example, the replacement commercial content can be inserted at the end of a current ad block or other desirable location in the video stream. In other embodiments the replacement commercial content is inserted into the video stream before detected commercial content. Such an embodiment can be desirable when the timing of the detected commercial content is known or can be predicted.
At process step 214, the video player device processes the received input video stream of the replacement commercial content for display on the video player device. Again, in this process step a streaming application and/or operating system and/or specialized hardware on the video player device performs typical video processing tasks associated with the receiving and displaying of video.
At process step 216 the streaming server resumes streaming the program channel and resumes transmitting a video stream of a program channel to the video player device using video transmit function 218. Again, process step 216 and video transmit function 218 can include the encoding and transmitting of the selected program channel using any suitable technique or protocol. At process step 220, the video player device processes the received input video stream of the program channel for display on the video player device.
Notably, the resumption of the program channel streaming in process step 216 occurs at ending of the replacement commercial content streaming. Because the replacement commercial content was longer that the commercial content it replaced, this resumption of the program channel streaming is delayed relative to streaming before the replacement. Stated another way, after process step 216 the streaming of the program channel will now be further delayed relative to the timing of the content source. For example, if the original commercial content was a 15 second program promotion, and the replacement commercial content was a standard 30 second commercial, the program channel stream can now be delayed by ˜15 additional seconds. This introduced additional delay relative to the content source can be undesirable in many circumstances. For example, it is generally desirable to minimize any delays when streaming live programming. To compensate for this introduced delay, the process flow adjusts the timing of the video stream to compensate for the difference in the timespan of the original commercial content and the timespan of the replacement commercial content with process steps 222 and 224.
At process step 222, the streaming server monitors the program channel to identify additional commercial content having a timespan less than a threshold amount. Thus, while the program channel is again being streamed to the video player device the streaming server can identify when commercial content having a timespan less than a threshold amount is being streamed in the program channel. This can include monitoring for program promotions and other types of relatively short commercial content that it is advantageous to replace with longer commercial content. Like process step 208 described above, this process step 222 can be implemented and performed in several different ways. For example, the monitoring of the program channel can be performed by comparing content in the program channel to previously identified commercial content having a timespan less than a threshold. As another example, the monitoring of the program channel can be performed by monitoring for identification tags in the program channel.
At process step 224 the streaming server skips all or part of the identified additional commercial content. Skipping all or part of the identified additional commercial content at least partially compensates for the for the difference in the timespan of the original commercial content and the timespan of the replacement commercial content. Stated another way, skipping the later detected commercial content reduces the delay in the video stream introduced in process step 210.
Taken together these actions effectively result in two pieces of commercial content being replaced with a single longer piece of commercial content, and notably can be performed even when the two shorter pieces of commercial content are not adjacent in time in the video stream. For example, if the original commercial content was a 15 second program promotion, and the replacement commercial content was a standard 30 second commercial, skipping additional commercial content of 15 seconds will return the video stream to the original delay amount.
The process flow can then return to process step 208 to performed again as desired. However, if the skipping of the additional commercial content performed in step 224 does not sufficiently compensate for the introduced delay, the process flow can return to step 222 to continue monitors the program channel to identify additional commercial content having a timespan less than a threshold amount and skipping such content in step 224 as needed. For example, if the original commercial content was a 15 second program promotion, and the replacement commercial content was a 60 second commercial, and the first detected additional commercial content was another 15 second program promotion, the process flow can repeat steps 222 and 224 until the additional 30 seconds of introduced delay is compensated for by skipping additional identified commercial content.
Thus, the process flow illustrated in
Turning now to
In general, the content sources 320 can be any type of video content source, including media providers, content aggregators or distributors such as a cable television system operator, a direct broadcast satellite (DBS) system operator, or simply a network service provider or the like. The streaming server system 304 processes the received content into a suitable format streaming to the video player devices 306A-B. To facilitate this, the streaming server system 304 includes at least an I/O 372, a processor 374, and a memory 376. Additionally, the streaming server system 304 includes a content manager 378, a content analyzer 379, and an encoder 380.
In general, each of the video player devices 306A-B includes a combination of hardware and/or software needed to receive, process, and play the video streams received from the streaming server system 304. For example, each of the video player devices includes an I/O 382, a processor 384, a memory 386, and a display device 388. Furthermore, each of the video player devices 306A-B includes a streaming application 390 and a device OS 392 residing in memory 386 and being executed by the processor 384. As some specific examples, each of the video player devices 306A-B can be implemented with any suitable computing device, including laptops, tablets and mobile communication devices (e.g., smart phones). Such devices may include an integrated display device 388, or may be coupled to a separate display device 388.
The content sources 320 can include content from a content aggregator or distributor such as a cable television system operator, a direct broadcast satellite (DBS) system operator, a streaming media provider, or simply a network service provider or the like. Other embodiments could provide the features described herein using conventional computing machinery (e.g., physical or cloud based servers) by parties that may or may not be interested in re-distributing the received content, as desired.
In various embodiments, television signals for one or more networks, channels or the like are received in any format by the system operator via satellite, fiber optic or any other conventional wireless or physical media for transmitting television signals. The signals are received, demodulated and decoded as needed by any appropriate receiver(s) to extract program signals that represent the decoded television program stream. Alternately or additionally, content sources 320 may receive content directly from a broadcaster, distributor or other source, as desired.
In a typical embodiment the received programming signals are analyzed as appropriate to identify the program contents. For example, the content analyzer 379 can be implemented to analyze audio and/or video content in the programming signals. Such a system can be used to recognize advertisements (e.g., commercials) or other portions of the underlying content. As described above, such a system can be used to identify program promotions and other relatively short commercial content to facilitate the replacement of such commercial content.
In a typical embodiment, the content analyzer 379 executes a software application that performs the analysis based upon the audio and/or video content received. In various embodiments, content analyzer 379 may consider average zero crossing rate, average spectrum, spectral flatness, prominent tones across a set of frequency bands, bandwidth and/or any other characteristics of the audio or video signal. Other embodiments could equivalently perform a temporal analysis in addition to or in place of frequency analysis. Such a temporal analysis could, for example, identify peak (or peak RMS) values in the time domain signal to find beats (e.g., in music) or other times between peak values that can uniquely identify the content. This temporal analysis could be combined into a fingerprint or signature in any way, or could be considered separately from other factors. Many different audio and video fingerprinting or other automated analysis programs could be used in any number of other embodiments.
The extracted content data may be compared to data previously stored in a database, as appropriate, to identify portions of content in the program stream. Commercials, for example, can be recognized when the audio portions of the program stream contain similar data to known audio data stored in a database. Such a database may make use of conventional database software, or the database may be a custom database developed to store content recognition data, as desired. Such a database may reside on the same computing hardware as the streaming server system 304, or separate computing resources could be provided, including any sort of cloud-based computing resources.
In one specific embodiment, the content analyzer 379 is configured to recognize scene changes in the underlying content. When a different scene is identified in the content analyzer 379 attempts to recognize the scene based upon digital analysis of the audio and/or video. If the scene already exists in the database, then a new occurrence of the recognized scene can be recorded in the database or elsewhere. If the scene is not recognized, then a new entry in the database may be created to identify subsequent occurrences of the same scene. To that end, a digital “signature” or “fingerprint” of the scene is stored for subsequent analysis. Content may be initially recognized based upon information supplied by human data entry (e.g., crowdsourced data, or data entered by a technician), or by data supplied by a content source (e.g., an advertiser, broadcaster or network), and/or from any other source as desired. Content analyzer 379 is therefore able to identify advertisements or other contents of the received television broadcasts and other video though analysis of the underlying audio or video content.
In many implementations, content identification is performed by the content analyzer 379 in parallel for multiple channels that may be simultaneously received for content aggregation, for collection of advertising data, or for any other purpose. A distributor/aggregator, for example, may encode the extracted signals for distribution on a digital network, for aggregation and redistribution of signals over a DBS or cable distribution system, for generating content stored on a RSDVR or VOD service, or for any other purpose. Content identification could be performed while the content is being processed for redistribution. Alternately, content could be stored for subsequent analysis, as desired.
In some embodiments the content analyzer 379 can perform content analysis in parallel with the encoding provided by the encoder 380. The encoder 380 can encode live broadcast signals and other such video content for adaptive streaming on the network 305 and/or for broadcast via cable, direct broadcast satellite, terrestrial broadcast, and/or the like. Encoder 380, for example, can be used to encode signals into a suitable format for broadcast via cable, DBS, or the like. Such broadcasts may be ultimately received by video player devices 306A-B via the network 305 or the like. In one specific example, the encoder 380 suitably encodes programs contained within signals from the content sources 320 into one or more adaptive streams that each representing a media program in its entirety, but with different bit rates, frame rates, resolution and/or other levels of quality. Typically, each stream is made up of smaller segments that each represent a small portion of the program content with a single data file. Each stream is typically encoded so that segments of the different streams are interchangeable with each other, often using a common timing index. This allows a client video player devices 306A-B to mix and match segments from different streams to create a media stream that effectively adapts as network conditions or other conditions change. Since the segments are typically stored as separate files, segment requests may take the form of conventional hypertext transport protocol (HTTP) constructs (e.g., HTTP “get” instructions) or the like. Such constructs are readily routable on network 305 and can be served by conventional CDN or other web-type servers, thereby providing a convenient mechanism for distributing adaptive media streams to a variety of different client devices on network 305.
Again, other embodiments may use different encoders for the encoder 380. Still other embodiments may omit the encoding function entirely and perform audio analysis or other content recognition separately from the distribution function. Since many distributors already receive program signals for encoding, there may be an economy of scale in performing the content recognition function at the same time. Other embodiments could nevertheless use different encoding or streaming structures or techniques, as desired, or content could be equivalently aggregated and/or broadcast via satellite, cable, terrestrial broadcast, non-adaptive media stream and/or the like. As noted above, it is not necessary that the analyzed content be re-broadcast or re-distributed by the analyzing party in all embodiments. It may be sufficient for many purposes to simply gather data for recognizing advertisements or other portions of the content, for analyzing or further processing information about the recognized advertisements and/or for taking other actions as desired without necessarily re-broadcasting or redistributing the content itself.
Content manager 378 is provided to manage and distribute electronic program guide (EPG) data and other information about the programs that are distributed within streaming server system 304. The content manager 378 may also be implemented to process information relating to advertisements or other portions of the content stream, to associate actions to be performed by the viewer and/or the playback device based upon the content of the stream, and/or for any other purpose.
The data maintained by the content manager 378 could include channel information and timing information about each entry so that the particular content can be readily identified. Other embodiments may use different identification data, such as distributor or network information, or any other information as desired. Some implementations may incorporate conventional EPG data (e.g., data obtained from a vendor or other source), while other implementations may use channel and time so that even portions of a program can be individually identified. Commercials and other advertisements, for example, could be referenced by their channel and broadcast time so that additional actions unique to those advertisements could be enabled. Other embodiments could use different timing references (e.g., references to MPEG presentation time stamps (PTS) in the underlying content, references to event anchors in the content itself, and/or any other timing references) as desired.
In various embodiments, data including information obtained from the content analysis is provided to the video player devices 306A-B. This data could be formatted in any manner. In various embodiments, data could include action data and/or identification data as tags or the like in an XML-type format. Again, many other embodiments could incorporate any number of additional or alternate features to take advantage of the real-time identification feature provided by the broadcaster.
In accordance with the embodiments described herein the video streaming system 300 is implemented to perform one or more automated processes during the streaming of video content from the streaming server system 304 to the plurality of video player devices 306A-B. In general, these automated processes provide for the improved delivery of commercial content in the video streaming server system 304 by providing for the replacement of commercial content in a way that allows multiple relatively short commercials to be replaced with one or more longer commercials. For example, in one embodiment a program channel is monitored at the streaming server system 304 to detect commercial content that has a timespan less than a threshold amount 308. This detected relatively short commercial content is replaced with relatively longer commercial content 310 that has a timespan greater than the threshold amount 308. Stated another way, a shorter advertisement is replaced with a longer advertisement. Because the replacement commercial content 310 has a longer timespan than the originally detected commercial content, this replacement of the first commercial content with the replacement commercial content 310 introduces a delay in the video stream relative to the original content. To compensate for this introduced delay, the timing of the video stream is adjusted to compensate for the difference in the timespan of the original commercial content and the timespan of the replacement commercial content 310. In one embodiment, the streaming server system 304 performs this adjustment by monitoring the program channel to detect later commercial content that also has a timespan less than the threshold amount 308 and then skipping the later detected commercial content with the shorter timespan. Skipping the later detected commercial content reduces the delay in the video stream, and thus compensates for the difference in the timespan of the original commercial content and the replacement commercial content. Taken together these actions effectively result in two or more shorter pieces of commercial content being replaced with a single longer piece of commercial content. Notably, this replacement can occur even when the two shorter pieces of commercial content were not adjacent in time in the video stream.
The various concepts and examples described herein may be modified in any number of different ways to implement equivalent functions and structures in different settings. The term “exemplary” is used herein to represent one example, instance or illustration that may have any number of alternates. Any implementation described herein as “exemplary” should not necessarily be construed as preferred or advantageous over other implementations. While several exemplary embodiments have been presented in the foregoing detailed description, it should be appreciated that a vast number of alternate but equivalent variations exist, and the examples presented herein are not intended to limit the scope, applicability, or configuration of the invention in any way. To the contrary, various changes may be made in the function and arrangement of the various features described herein without departing from the scope of the claims and their legal equivalents.
Number | Name | Date | Kind |
---|---|---|---|
3682363 | Hull | Aug 1972 | A |
3919479 | Moon | Nov 1975 | A |
3942190 | Detweiler | Mar 1976 | A |
4224481 | Russell | Sep 1980 | A |
4313135 | Cooper | Jan 1982 | A |
4331974 | Cogswell et al. | May 1982 | A |
4388659 | Lemke | Jun 1983 | A |
4404589 | Wright, Jr. | Sep 1983 | A |
4408309 | Kiesling et al. | Oct 1983 | A |
4439785 | Leonard | Mar 1984 | A |
4450531 | Kenyon | May 1984 | A |
4520404 | Von Kohorn | May 1985 | A |
4602297 | Reese | Jul 1986 | A |
4605964 | Chard | Aug 1986 | A |
4633331 | McGrady et al. | Dec 1986 | A |
4665431 | Cooper | May 1987 | A |
4697209 | Kiewit | Sep 1987 | A |
4706121 | Young | Nov 1987 | A |
4739398 | Thomas | Apr 1988 | A |
4750213 | Novak | Jun 1988 | A |
4755889 | Schwartz | Jul 1988 | A |
4760442 | O'Connell et al. | Jul 1988 | A |
4761694 | Shudo et al. | Aug 1988 | A |
4789961 | Tindall | Dec 1988 | A |
4805217 | Morihiro et al. | Feb 1989 | A |
4816905 | Tweedy et al. | Mar 1989 | A |
4833710 | Hirashima | May 1989 | A |
4876670 | Nakabayashi | Oct 1989 | A |
4888769 | Deal | Dec 1989 | A |
4891715 | Levy | Jan 1990 | A |
4897867 | Foster et al. | Jan 1990 | A |
4916682 | Tomoda et al. | Apr 1990 | A |
4918730 | Schulze | Apr 1990 | A |
4920533 | Dufresne et al. | Apr 1990 | A |
4930160 | Vogel | May 1990 | A |
4939594 | Moxon et al. | Jul 1990 | A |
4947244 | Fenwick et al. | Aug 1990 | A |
4949169 | Lumelsky et al. | Aug 1990 | A |
4949187 | Cohen | Aug 1990 | A |
4963866 | Duncan | Oct 1990 | A |
4963995 | Lang | Oct 1990 | A |
4972190 | Primeau et al. | Nov 1990 | A |
4974085 | Campbell et al. | Nov 1990 | A |
RE33535 | Cooper | Feb 1991 | E |
4991033 | Takeshita | Feb 1991 | A |
5014125 | Pocock et al. | May 1991 | A |
5018014 | Hashimoto | May 1991 | A |
5057932 | Lang | Oct 1991 | A |
5063453 | Yoshimura et al. | Nov 1991 | A |
5093718 | Hoarty et al. | Mar 1992 | A |
5121476 | Yee | Jun 1992 | A |
5126852 | Nishino et al. | Jun 1992 | A |
5126982 | Yifrach | Jun 1992 | A |
5130792 | Tindell et al. | Jul 1992 | A |
5132992 | Yurt et al. | Jul 1992 | A |
5134499 | Sata et al. | Jul 1992 | A |
D329269 | Szabad, Jr. et al. | Sep 1992 | S |
5168353 | Walker | Dec 1992 | A |
5191410 | McCalley et al. | Mar 1993 | A |
5202761 | Cooper | Apr 1993 | A |
5227876 | Cucchi et al. | Jul 1993 | A |
5233423 | Jernigan et al. | Aug 1993 | A |
5241428 | Goldwasser et al. | Aug 1993 | A |
5245430 | Nishimura | Sep 1993 | A |
5247347 | Litteral et al. | Sep 1993 | A |
5253275 | Yurt et al. | Oct 1993 | A |
5311423 | Clark | May 1994 | A |
5329320 | Yifrach | Jul 1994 | A |
5333091 | Iggulden | Jul 1994 | A |
5357276 | Banker et al. | Oct 1994 | A |
5361261 | Edem et al. | Nov 1994 | A |
5371551 | Logan et al. | Dec 1994 | A |
5412416 | Nemirofsky | May 1995 | A |
5414455 | Hooper et al. | May 1995 | A |
5434678 | Abecassis | Jul 1995 | A |
5438423 | Lynch | Aug 1995 | A |
5440334 | Walters et al. | Aug 1995 | A |
5442390 | Hooper et al. | Aug 1995 | A |
5442455 | Hioki et al. | Aug 1995 | A |
5452006 | Auld | Sep 1995 | A |
5453790 | Vermeulen et al. | Sep 1995 | A |
5461415 | Wolf et al. | Oct 1995 | A |
5461428 | Yoo | Oct 1995 | A |
5477263 | O'Callaghan et al. | Dec 1995 | A |
5481542 | Logston et al. | Jan 1996 | A |
5508940 | Rossmer et al. | Apr 1996 | A |
5510905 | Birk | Apr 1996 | A |
5513011 | Matsumoto et al. | Apr 1996 | A |
5517250 | Hoogenboom et al. | May 1996 | A |
5521630 | Chen et al. | May 1996 | A |
5528282 | Voeten et al. | Jun 1996 | A |
5533021 | Branstad et al. | Jul 1996 | A |
5535137 | Rossmere et al. | Jul 1996 | A |
5535229 | Hain, Jr. et al. | Jul 1996 | A |
5537408 | Branstad et al. | Jul 1996 | A |
5541919 | Young et al. | Jul 1996 | A |
5550594 | Cooper et al. | Aug 1996 | A |
5553005 | Voeten et al. | Sep 1996 | A |
5555463 | Staron et al. | Sep 1996 | A |
5555555 | Sato et al. | Sep 1996 | A |
5557538 | Reter et al. | Sep 1996 | A |
5557541 | Schulhof et al. | Sep 1996 | A |
5559999 | Maturi et al. | Sep 1996 | A |
5563714 | Inoue et al. | Oct 1996 | A |
5572261 | Cooper | Nov 1996 | A |
5574662 | Windrem et al. | Nov 1996 | A |
5581479 | McLaughlin et al. | Dec 1996 | A |
5583561 | Baker et al. | Dec 1996 | A |
5583652 | Ware | Dec 1996 | A |
5586264 | Belknap et al. | Dec 1996 | A |
5600364 | Hendricks et al. | Feb 1997 | A |
5603058 | Belknap et al. | Feb 1997 | A |
5604544 | Bertram | Feb 1997 | A |
5610653 | Abecassis | Mar 1997 | A |
5614940 | Cobbley | Mar 1997 | A |
5619335 | Tsinberg et al. | Apr 1997 | A |
5619337 | Naimpally | Apr 1997 | A |
5625464 | Compoint et al. | Apr 1997 | A |
5629732 | Moskowitz et al. | May 1997 | A |
5642171 | Baumgartner et al. | Jun 1997 | A |
5648824 | Dunn | Jul 1997 | A |
5659539 | Porter et al. | Aug 1997 | A |
5664044 | Ware | Sep 1997 | A |
5668948 | Belknap et al. | Sep 1997 | A |
5675388 | Cooper | Oct 1997 | A |
5682488 | Gleason et al. | Oct 1997 | A |
5684918 | Abecassis | Nov 1997 | A |
5692093 | Iggulden | Nov 1997 | A |
5696866 | Iggulden | Dec 1997 | A |
5696868 | Kim et al. | Dec 1997 | A |
5696869 | Abecassis | Dec 1997 | A |
5701383 | Russo et al. | Dec 1997 | A |
5703655 | Corey | Dec 1997 | A |
5706388 | Isaka | Jan 1998 | A |
5712976 | Falcon, Jr. et al. | Jan 1998 | A |
D390839 | Yamamoto et al. | Feb 1998 | S |
5715356 | Hirayama et al. | Feb 1998 | A |
5719982 | Kawamura et al. | Feb 1998 | A |
5721815 | Ottesen et al. | Feb 1998 | A |
5721878 | Ottesen et al. | Feb 1998 | A |
5724474 | Oguro et al. | Mar 1998 | A |
5742730 | Couts | Apr 1998 | A |
5751282 | Girard et al. | May 1998 | A |
5751883 | Ottesen et al. | May 1998 | A |
5761417 | Henley et al. | Jun 1998 | A |
5774170 | Hite et al. | Jun 1998 | A |
5774186 | Brodsky | Jun 1998 | A |
5778137 | Nielsen et al. | Jul 1998 | A |
5805763 | Lawler et al. | Sep 1998 | A |
5805821 | Saxena et al. | Sep 1998 | A |
5808607 | Brady et al. | Sep 1998 | A |
5815689 | Shaw et al. | Sep 1998 | A |
5822493 | Uehara et al. | Oct 1998 | A |
5848217 | Tsukagoshi et al. | Dec 1998 | A |
5864682 | Porter et al. | Jan 1999 | A |
5870553 | Shaw et al. | Feb 1999 | A |
5889915 | Newton | Mar 1999 | A |
5892536 | Logan | Apr 1999 | A |
5892884 | Sugiyama et al. | Apr 1999 | A |
5899578 | Yanagihara et al. | May 1999 | A |
5920572 | Washington et al. | Jul 1999 | A |
5930444 | Camhi et al. | Jul 1999 | A |
5930493 | Ottesen et al. | Jul 1999 | A |
5949954 | Young et al. | Sep 1999 | A |
5953485 | Abecassis | Sep 1999 | A |
5956716 | Kenner et al. | Sep 1999 | A |
5973679 | Abbott et al. | Oct 1999 | A |
5987210 | Iggulden | Nov 1999 | A |
5995709 | Tsuge | Nov 1999 | A |
5999688 | Iggulden | Dec 1999 | A |
5999691 | Takagi et al. | Dec 1999 | A |
6002832 | Yoneda | Dec 1999 | A |
6005562 | Shiga et al. | Dec 1999 | A |
6005564 | Ahmad et al. | Dec 1999 | A |
6005603 | Flavin | Dec 1999 | A |
6011594 | Takashima | Jan 2000 | A |
6018612 | Thomason et al. | Jan 2000 | A |
6028599 | Yuen et al. | Feb 2000 | A |
6055495 | Tucker et al. | Apr 2000 | A |
D424543 | Hodgson | May 2000 | S |
6057893 | Kojima et al. | May 2000 | A |
D426208 | Hodgson | Jun 2000 | S |
D426209 | Hodgson | Jun 2000 | S |
6088455 | Logan | Jul 2000 | A |
6091886 | Abecassis | Jul 2000 | A |
RE36801 | Logan et al. | Aug 2000 | E |
6100941 | Dimitrova et al. | Aug 2000 | A |
6112226 | Weaver et al. | Aug 2000 | A |
6138147 | Weaver et al. | Oct 2000 | A |
6151444 | Abecassis | Nov 2000 | A |
6163644 | Owashi et al. | Dec 2000 | A |
6167083 | Sporer et al. | Dec 2000 | A |
6169843 | Lenihan et al. | Jan 2001 | B1 |
6192189 | Fujinami et al. | Feb 2001 | B1 |
6198877 | Kawamura et al. | Mar 2001 | B1 |
6208804 | Ottesen et al. | Mar 2001 | B1 |
6208805 | Abecassis | Mar 2001 | B1 |
6226447 | Sasaki et al. | May 2001 | B1 |
6232926 | Nguyen | May 2001 | B1 |
6233389 | Barton | May 2001 | B1 |
6243676 | Witteman | Jun 2001 | B1 |
6278837 | Yasukohchi et al. | Aug 2001 | B1 |
6285824 | Yanagihara et al. | Sep 2001 | B1 |
6304714 | Krause et al. | Oct 2001 | B1 |
6330675 | Wiser et al. | Dec 2001 | B1 |
6335730 | Gould | Jan 2002 | B1 |
6341195 | Mankovitz et al. | Jan 2002 | B1 |
D454574 | Wasko et al. | Mar 2002 | S |
6400407 | Zigmond et al. | Jun 2002 | B1 |
6408128 | Abecassis | Jun 2002 | B1 |
6424791 | Saib | Jul 2002 | B1 |
6425127 | Bates et al. | Jul 2002 | B1 |
6445738 | Zdepski et al. | Sep 2002 | B1 |
6445872 | Sano et al. | Sep 2002 | B1 |
6452615 | Chiu et al. | Sep 2002 | B1 |
6490000 | Schaefer et al. | Dec 2002 | B1 |
6498894 | Ito et al. | Dec 2002 | B2 |
6504990 | Abecassis | Jan 2003 | B1 |
D470153 | Billmaier et al. | Feb 2003 | S |
6529685 | Ottesen et al. | Mar 2003 | B2 |
6542695 | Akiba et al. | Apr 2003 | B1 |
6553178 | Abecassis | Apr 2003 | B2 |
6574594 | Pitman | Jun 2003 | B2 |
6677967 | Sawano et al. | Jan 2004 | B2 |
6698020 | Zigmond | Feb 2004 | B1 |
6701355 | Brandt et al. | Mar 2004 | B1 |
6718551 | Swix | Apr 2004 | B1 |
6760017 | Banerjee et al. | Jul 2004 | B1 |
6772196 | Kirsch et al. | Aug 2004 | B1 |
6788882 | Geer et al. | Sep 2004 | B1 |
D499740 | Ombao et al. | Dec 2004 | S |
6850691 | Stam et al. | Feb 2005 | B1 |
6871006 | Oguz et al. | Mar 2005 | B1 |
6931451 | Logan | Aug 2005 | B1 |
6978470 | Swix | Dec 2005 | B2 |
7032177 | Novak | Apr 2006 | B2 |
7032179 | Mack et al. | Apr 2006 | B2 |
D521521 | Jewitt et al. | May 2006 | S |
7055166 | Logan | May 2006 | B1 |
7058376 | Logan | Jun 2006 | B2 |
7072849 | Filepp et al. | Jul 2006 | B1 |
7110658 | Iggulden | Sep 2006 | B1 |
7187884 | Bardolatzy et al. | Mar 2007 | B2 |
7197758 | Blackketter et al. | Mar 2007 | B1 |
D539809 | Totten et al. | Apr 2007 | S |
7243362 | Swix | Jul 2007 | B2 |
7251413 | Dow | Jul 2007 | B2 |
7266832 | Miller | Sep 2007 | B2 |
7272298 | Lang et al. | Sep 2007 | B1 |
D554140 | Armendariz | Oct 2007 | S |
D558220 | Maitlen et al. | Dec 2007 | S |
7319761 | Bianchi et al. | Jan 2008 | B2 |
7320137 | Novak | Jan 2008 | B1 |
7376469 | Eischeid et al. | May 2008 | B2 |
7430360 | Abecassis | Sep 2008 | B2 |
D596646 | Wani | Jul 2009 | S |
D604308 | Takano | Nov 2009 | S |
7631331 | Sie | Dec 2009 | B2 |
7634785 | Smith | Dec 2009 | B2 |
7661121 | Smith | Feb 2010 | B2 |
7779438 | Davies | Aug 2010 | B2 |
7801910 | Houh et al. | Sep 2010 | B2 |
7889964 | Barton et al. | Feb 2011 | B1 |
8156520 | Casagrande et al. | Apr 2012 | B2 |
8352981 | Oztaskent | Jan 2013 | B1 |
8468056 | Chalawsky | Jun 2013 | B1 |
8606085 | Gratton | Dec 2013 | B2 |
8701145 | Berger | Apr 2014 | B1 |
8726309 | Casagrande et al. | May 2014 | B2 |
9183885 | Casagrande et al. | Nov 2015 | B2 |
20020069218 | Sull et al. | Jun 2002 | A1 |
20020088010 | Dudkiewicz et al. | Jul 2002 | A1 |
20020090198 | Rosenberg | Jul 2002 | A1 |
20020092017 | Klosterman | Jul 2002 | A1 |
20020092022 | Dudkicwicz | Jul 2002 | A1 |
20020097235 | Rosenberg | Jul 2002 | A1 |
20020120925 | Logan | Aug 2002 | A1 |
20020124249 | Shintani et al. | Sep 2002 | A1 |
20020131511 | Zenoni | Sep 2002 | A1 |
20020169540 | Engstrom | Nov 2002 | A1 |
20020184047 | Plotnick | Dec 2002 | A1 |
20030005052 | Feuer | Jan 2003 | A1 |
20030031455 | Sagar | Feb 2003 | A1 |
20030031458 | Takahashi | Feb 2003 | A1 |
20030066078 | Bjorgan | Apr 2003 | A1 |
20030084451 | Pierzga | May 2003 | A1 |
20030093790 | Logan | May 2003 | A1 |
20030121037 | Swix et al. | Jun 2003 | A1 |
20030154128 | Liga | Aug 2003 | A1 |
20030192060 | Levy | Oct 2003 | A1 |
20030194213 | Schultz et al. | Oct 2003 | A1 |
20030202773 | Dow | Oct 2003 | A1 |
20030231854 | Derrenberger | Dec 2003 | A1 |
20040010807 | Urdang | Jan 2004 | A1 |
20040040042 | Feinleib | Feb 2004 | A1 |
20040049780 | Gee | Mar 2004 | A1 |
20040083484 | Ryal | Apr 2004 | A1 |
20040172650 | Hawkins et al. | Sep 2004 | A1 |
20040177317 | Bradstreet | Sep 2004 | A1 |
20040189873 | Konig | Sep 2004 | A1 |
20040190853 | Dow | Sep 2004 | A1 |
20040226035 | Hauser, Jr. | Nov 2004 | A1 |
20040244035 | Wright et al. | Dec 2004 | A1 |
20040255330 | Logan | Dec 2004 | A1 |
20040255334 | Logan | Dec 2004 | A1 |
20040255336 | Logan | Dec 2004 | A1 |
20040261100 | Huber | Dec 2004 | A1 |
20050005308 | Logan | Jan 2005 | A1 |
20050020223 | Ellis et al. | Jan 2005 | A1 |
20050025469 | Geer et al. | Feb 2005 | A1 |
20050044561 | McDonald | Feb 2005 | A1 |
20050076359 | Pierson et al. | Apr 2005 | A1 |
20050081252 | Chefalas | Apr 2005 | A1 |
20050114214 | Itoh | May 2005 | A1 |
20050132418 | Barton et al. | Jun 2005 | A1 |
20050262539 | Barton | Nov 2005 | A1 |
20060013555 | Poslinski | Jan 2006 | A1 |
20060015925 | Logan | Jan 2006 | A1 |
20060059426 | Ogikubo | Mar 2006 | A1 |
20060115058 | Alexander et al. | Jun 2006 | A1 |
20060143567 | Chiu et al. | Jun 2006 | A1 |
20060168630 | Davies | Jul 2006 | A1 |
20060218617 | Bradstreet | Sep 2006 | A1 |
20060277569 | Smith | Dec 2006 | A1 |
20060280437 | Logan | Dec 2006 | A1 |
20060288374 | Ferris | Dec 2006 | A1 |
20060288392 | Fleming | Dec 2006 | A1 |
20070050827 | Gibbon | Mar 2007 | A1 |
20070098357 | McEnroe et al. | May 2007 | A1 |
20070101394 | Fu et al. | May 2007 | A1 |
20070113250 | Logan | May 2007 | A1 |
20070118873 | Houh et al. | May 2007 | A1 |
20070124758 | Sung | May 2007 | A1 |
20070136742 | Sparrell | Jun 2007 | A1 |
20070156739 | Black | Jul 2007 | A1 |
20070168543 | Krikorian | Jul 2007 | A1 |
20070199013 | Samari et al. | Aug 2007 | A1 |
20070204288 | Candelore | Aug 2007 | A1 |
20070212030 | Koga et al. | Sep 2007 | A1 |
20070214473 | Barton | Sep 2007 | A1 |
20070276926 | Lajoie | Nov 2007 | A1 |
20070277564 | Siig | Dec 2007 | A1 |
20070300249 | Smith et al. | Dec 2007 | A1 |
20070300250 | Smith et al. | Dec 2007 | A1 |
20070300258 | O'Connor | Dec 2007 | A1 |
20080013927 | Kelly et al. | Jan 2008 | A1 |
20080036917 | Pascarella | Feb 2008 | A1 |
20080052739 | Logan | Feb 2008 | A1 |
20080059997 | Plotnick et al. | Mar 2008 | A1 |
20080092168 | Logan et al. | Apr 2008 | A1 |
20080112690 | Shahraray et al. | May 2008 | A1 |
20080155627 | O'Connor | Jun 2008 | A1 |
20080183587 | Joo et al. | Jul 2008 | A1 |
20080196060 | Varghese | Aug 2008 | A1 |
20080250450 | Lamer et al. | Oct 2008 | A1 |
20080267584 | Green | Oct 2008 | A1 |
20080276266 | Huchital et al. | Nov 2008 | A1 |
20080304809 | Haberman | Dec 2008 | A1 |
20090006191 | Arankalle et al. | Jan 2009 | A1 |
20090077580 | Konig et al. | Mar 2009 | A1 |
20090093278 | Negron et al. | Apr 2009 | A1 |
20090129747 | Casagrande | May 2009 | A1 |
20090133092 | Casagrande | May 2009 | A1 |
20090133093 | Hodge | May 2009 | A1 |
20090238536 | Gratton | Sep 2009 | A1 |
20090271826 | Lee et al. | Oct 2009 | A1 |
20090299843 | Shkedi | Dec 2009 | A1 |
20090300699 | Casagrande et al. | Dec 2009 | A1 |
20090303040 | Casagrande et al. | Dec 2009 | A1 |
20090304358 | Rashkovskiy | Dec 2009 | A1 |
20100031162 | Wiser et al. | Feb 2010 | A1 |
20100043022 | Kaftan | Feb 2010 | A1 |
20100053452 | Abe et al. | Mar 2010 | A1 |
20100138761 | Barnes | Jun 2010 | A1 |
20100158484 | Casagrande et al. | Jun 2010 | A1 |
20100162291 | Casagrande et al. | Jun 2010 | A1 |
20100162344 | Casagrande et al. | Jun 2010 | A1 |
20100274628 | Kunz et al. | Oct 2010 | A1 |
20100322592 | Casagrande | Dec 2010 | A1 |
20110194838 | Meijer | Aug 2011 | A1 |
20110197224 | Meijer | Aug 2011 | A1 |
20110200300 | Barton et al. | Aug 2011 | A1 |
20120056911 | Safaee-Rad et al. | Mar 2012 | A1 |
20120057847 | Casagrande | Mar 2012 | A1 |
20120057848 | Casagrande | Mar 2012 | A1 |
20120159537 | Casagrande et al. | Jun 2012 | A1 |
20140105567 | Casagrande | Apr 2014 | A1 |
20140373043 | Rose | Dec 2014 | A1 |
20180192161 | Gerba | Jul 2018 | A1 |
Number | Date | Country |
---|---|---|
521454 | Jan 1993 | EP |
594241 | Apr 1994 | EP |
785675 | Jul 1997 | EP |
2061239 | May 2009 | EP |
2320637 | Jun 1998 | GB |
06-233234 | Aug 1994 | JP |
06-245157 | Sep 1994 | JP |
07-111629 | Apr 1995 | JP |
07-131754 | May 1995 | JP |
07-250305 | Sep 1995 | JP |
07-264529 | Oct 1995 | JP |
2001 359079 | Dec 2001 | JP |
2003153114 | May 2003 | JP |
2006 262057 | Sep 2006 | JP |
2008131150 | Jun 2008 | JP |
WO 9222983 | Dec 1992 | WO |
WO 9532584 | Nov 1995 | WO |
2002023903 | Mar 2002 | WO |
Entry |
---|
Associated Press “AT&T Lets Mobile Phones Control Your Television,” Mar. 6, 2007. |
TIVO “TIVO Launches Remote Scheduling With Verizon Wireless,” Mar. 14, 2007. |
Pogue, David “Networks Start to Offer TV on the Web” The New York Times, Oct. 18, 2007; retrieved from the Internet at http://www.nytimes.com/007/10/18/technology/circuits/18pogue.html?pagewanted=print on Aug. 1, 2012. |
Satterwhite Brandon et al. “Automatic Detection of TV Commercials” IEEE Potentials, Apr./May 2004. |
Dimitrova, N., et al, “Real Time Commercial Detection Using MPEG Features”, Philips Research. |
“Paramount Pictures Corp. v. ReplayTV & SonicBlue”, http://www.eff.org/IP/Video/Paramount v. ReplayTV/20011031_complaint.html, Complaint Filed, (Oct. 30, 2001). |
Manjoo, Farhad, “They Know What You're Watching”, Wired News, http://www.wired.com/news/politics/0.1283.52302.00.html, (May 2, 2002). |
Haughey, Matt, “EFF's ReplayTV Suit Ends”, http://www.pvrblog.com/pvr/2004/01/effs_replaytv_s.html, (Jan. 12, 2004). |
Mizutani, Masami, et al, “Commercial Detection in Heterogeneous Video Streams Using Fused Multi-Modal and Temporal Features”, IEEE ICASSP, 2005, Philadelphia, (Mar. 22, 2005). |
Tew, Chris, “How MythTV Detects Commercials”, http://www.pvrwire.com/2006/10/27/how-mythtv-detects-commercials/, (Oct. 27, 2006). |
RCA, “RCA DRC8060N DVD Recorder”, http://www.pricegrabber.com/rating_getprodrev.php/product_id=12462074/id , PriceGrabber.com, (Jan. 26, 2007). |
“How to Write a New Method of Commercial Detection”, MythTV, http://www.mythtv.org/wiki/index.php/How to Write a New Method of Commercial Detection, (Jan. 26, 2007). |
“Comskip”, http://www.kaashoek.com/comskip/, commercial detector, (Jan. 26, 2007). |
OA mailed on May 24, 2010 for U.S. Appl. No. 11/942,896, filed Nov. 20, 2007 in the name of Hodge. |
ISR for PCT/US2009/037183 mailed on Jul. 15, 2009. |
Number | Date | Country | |
---|---|---|---|
20210281923 A1 | Sep 2021 | US |