Automated commercial content shifting in a video streaming system

Information

  • Patent Grant
  • 11172269
  • Patent Number
    11,172,269
  • Date Filed
    Wednesday, March 4, 2020
    4 years ago
  • Date Issued
    Tuesday, November 9, 2021
    3 years ago
Abstract
Systems, devices and processes are provided to facilitate the streaming of commercial content in a video streaming system. Various embodiments facilitate the improved delivery of commercial content in a video streaming system by providing the ability to shift content to allow multiple relatively short commercials to be replaced with one or more longer commercials. As an example, a program channel is monitored to detect commercial content that has a first timespan. This commercial content is replaced with replacement commercial content that has a different timespan. The timing of the video stream is then adjusted to compensate for the difference in the timespan. For example, by monitoring the program channel to detect later commercial content that also has a timespan less than a threshold amount and then skipping this later detected commercial content.
Description
TECHNICAL FIELD

The following discussion generally relates to video streaming systems. More particularly, the following discussion relates to commercial content switching in video streaming systems.


BACKGROUND

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.


BRIEF SUMMARY

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.





BRIEF DESCRIPTION OF THE DRAWING FIGURES

Exemplary embodiments will hereinafter be described in conjunction with the following drawing figures, wherein like numerals denote like elements, and:



FIG. 1 is a diagram of an example video streaming system that includes a plurality of video player devices;



FIG. 2 is a flowchart showing various processes executable by various devices in a streaming media system; and



FIG. 3 is a detailed diagram of one example implementation of a streaming media system.





DETAILED DESCRIPTION

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 FIG. 1, a video streaming system 100 suitably includes a streaming server 104 and a plurality of video player devices 106A-b. In general, the streaming server 104 receives video content from one or more content sources 120, and transmits that video content through the network 105 to the video player devices 106A-b in the form of a video stream that can be received, processed, and displayed at the video player devices 106A-b.


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 FIG. 3.


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 FIG. 2, a process flow diagram 200 illustrates various example processes and data flows that can be automatically executed by a streaming server (e.g., streaming server 104) in a video streaming system (e.g., video streaming system 100) that includes one or more video player devices (e.g., video player devices 106A-B). Specifically, the process flow diagram 200 illustrates a process flow between an exemplary streaming server and an exemplary video player device that provides for the automatic replacement of relatively short commercial content in a program channel 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. This process flow is particularly applicable to replacing certain time-sensitive commercials such as program promotions with longer, and more valuable commercial content.


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 FIG. 2 can facilitate the replacement of program promotions with longer, and in many cases more valuable commercial content. Replacing relatively short program promotions with longer traditional commercials can increase provide more interesting program and increased revenue


Turning now to FIG. 3 a video streaming system 300 suitably includes a streaming server system 304 and a plurality of video player devices 306A-B. In general, the streaming server system 304 receives video content from one or more content sources 320, and transmits that video content through the network 305 to the video player devices 306A-B in the form of a video stream that can be received, processed, and displayed at the video player devices 306A-B. The video streaming system 300 is an example of the type of system that can be used to facilitate 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, the video streaming system 300 can be used to implement the process flow illustrated in the process flow diagram 200 of FIG. 2.


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.

Claims
  • 1. An automated process executable by a streaming server in communication with video player device over a network, the automated process comprising: 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; andresponsive 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.
  • 2. A streaming server 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; andadjusting timing of the video stream to compensate for a difference in the first timespan and the second timespan.
  • 3. The streaming server of claim 2 wherein 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.
  • 4. The streaming server of claim 3 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.
  • 5. The streaming server of claim 2 wherein the first commercial content comprises a program promotion for a future program.
  • 6. The streaming server of claim 2 wherein 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.
  • 7. The streaming server of claim 2 wherein 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.
  • 8. The streaming server of claim 2 wherein 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.
  • 9. The streaming server of claim 2 wherein the replacement commercial content is selected based at least in part on demographics of a user.
  • 10. The automated process of claim 1 wherein the monitoring the program channel to detect first commercial content in the program channel, wherein the first commercial content comprises the program promotion for the future program and has the first timespan less than the threshold, comprises tracking a number of times the first commercial content has been viewed by a user.
  • 11. The automated process of claim 1 wherein the monitoring the program channel to detect first commercial content in the program channel, wherein the first commercial content comprises the program promotion for the future program and has 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.
  • 12. The automated process of claim 1 wherein the monitoring the program channel to detect first commercial content in the program channel, wherein the first commercial content comprises the program promotion for the future program and has the first timespan less than the threshold, comprises monitoring for identification tags provided by a program channel provider.
  • 13. The automated process of claim 1 wherein the replacement commercial content is selected based at least in part on demographics of a user.
US Referenced Citations (389)
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
Foreign Referenced Citations (18)
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
Non-Patent Literature Citations (15)
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.
Related Publications (1)
Number Date Country
20210281923 A1 Sep 2021 US