The invention relates to communications systems and methods, and more particularly to a system and method for defining programming content in generating assets of broadcast programs.
Use of electronic program guides (EPGs) is ubiquitous nowadays to manage, identify and select programming content on many program channels made available by cable television (TV) networks. EPGs are also provided by personal video recorders (PVRs), also known as digital video recorders (DVRs), e.g., TiVo and ReplayTV devices, for users to conveniently select programming content to record, without having to set a timer. However, the user's ability to accurately record a broadcast program is contingent upon the accuracy of the broadcast start and end times of the program prescribed by EPG data (hereinafter “EPG start and end times”). In instances where the actual broadcast start or end time of a program is different than the EPG start or end time, the PVR often records programming content that the user did not want, or the PVR fails to record all of the programming content that the user intended to record.
The actual start and end times for a given broadcast program may be different than the EPG start and end times for various reasons. For example, suppose a baseball game is scheduled to broadcast on a given evening from 7:30 PM to 10:30 PM, but because of extra innings or a rain delay, the game continues until 11:15 PM. Although the actual time of the game is from 7:30 PM to 11:15 PM, the start and end times listed and provided by the EPG will be 7:30 PM and 10:30 PM, respectively. Accordingly, if a user selects to record the baseball game using the EPG in this instance, the user would miss the last 45 minutes of the game (i.e., from 10:30 PM to 11:15 PM). Other examples include a Presidential Address or an awards ceremony which lasts for a time that is longer than that the program has been scheduled. Technical difficulties causing the content provider to broadcast a program at a time other than that which is scheduled may cause such a variance as well.
In addition, when the time of one program provided on a specific channel is off schedule, subsequent programs provided by the channel may also be affected, unless the scheduled programming content is manipulated (e.g., certain show or commercial segments are skipped and therefore not broadcast). Thus, if a user records through an EPG a particular show which was scheduled to broadcast from 11:00 PM-11:30 PM, but it actually broadcast from 11:15 PM to 11:45 PM because of a prolonged baseball game, the user would not record the desired programming content. Instead, in this instance, the user's PVR would record the last fifteen minutes of the baseball game and only the first fifteen (out of thirty) minutes of that particular show.
The invention overcomes the prior art limitations by defining the content of a program based upon the actual broadcast start and/or end time of the program. For example, a content provider provides the content of a first program to a broadband communications system (e.g., a cable TV system), which is scheduled to broadcast at a scheduled start time (or until a scheduled end time). The first program is preceded (or followed) by a second program in a subsequent broadcast of the first and second programs. Information concerning an end time (or a start time) of the second program in the broadcast is then provided to the system. In accordance with the invention, a determination is made whether a difference between the end time (or start time) of the second program and the scheduled start time (or the scheduled end time) of the first program is greater than a threshold. The content of the first program is redefined when it is determined that the difference is greater than the threshold.
Alternatively, after the content of a program, and first data concerning a scheduled start (or end) time of a broadcast of the program are provided to the system, it receives second data concerning an actual start (or end) time of the broadcast of the program. In accordance with the invention, a determination is made whether a difference between the scheduled start (or end) time and the actual start (or end) time is greater than a threshold. The content of the program is adjusted when it is determined that the difference is greater than the threshold.
The adjusted or re-defined content of a program is made part of an asset for later distribution to a user. Thus, with the invention, the user advantageously is able to receive the supposed content of a program in a given asset.
Further objects, features and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings showing illustrative embodiments of the invention, in which:
The invention is directed to generating an asset which comprises entertainment programming content (e.g., the video and audio content of an entertainment program) and metadata that describes characteristics of the program. For example, the metadata may describe attributes of the programming content, such as the rating, format, duration, size, or encoding method thereof. The metadata may also include information relating to the broadcast start and end times of a program. In prior art, these start and end times are based on a broadcast schedule prescribed by EPG data (the “EPG start and end times”). However, such EPG start and end times may be different from the actual broadcast start and end times of a program because, for example, the program may be delayed by an unexpected prolongation of a prior broadcast program, or the EPG start and end times are simply inaccurate. As a result, in prior art the content of a broadcast program defined by the EPG start and end times may not encompass the intended programming content when its actual broadcast start and end times deviate from the corresponding EPG times.
In accordance with the invention, the content of a broadcast program which is otherwise defined by inaccurate EPG start and end times is redefined (or resegmented) for storage using its actual broadcast start and end times. As described below, such actual start and end times may be provided, e.g., by human segmenters (or taggers) after the program has broadcast. The programming content is resegmented upon a determination that the EPG start and/or end time in the metadata associated with the program deviate from the actual start and/or end time by more than a predetermined threshold.
In this illustration, Program 1, Program 2 and Program 3 were scheduled to broadcast at 5:00 PM-6:00 PM, 6:00 PM-7:00 PM and 7:00 PM-8:00 PM, respectively, and are reflected as such by the EPG data. However, because of an unexpected prolongation of program 1 (e.g., a live Presidential Address), they actually are broadcast at 5:00 PM-6:10 PM, 6:10 PM-7:10 PM and 7:10 PM-8:05 PM, respectively, as shown in
In this illustrative embodiment, the actual time data associated with broadcast program content is generated by human taggers. Human taggers are employed to monitor program content that was broadcast, associate actual start and end times with programming content upon viewing such content, and record the actual start and end times of programs (and, in some instances, observe and record the start and end times of segments of programs). It will be appreciated that automated techniques other than such a manual technique for monitoring the actual start and end times of a program may be used, instead. For example, one such automated technique may involve automatic processing the broadcast signals to detect fade-to-black frames typically surrounding the beginning and end of a program and registering the times of such detections
Headend 405 receives programs and services from various providers and sources 407, e.g., analog and digital satellite sources, application servers, media servers, the Internet, etc. Analog and digital satellite sources typically provide the traditional forms of television broadcast programs and information services. Application servers typically provide executable code and data for application specific services such as database services, network management services, transactional electronic commerce services, system administration console services, application specific services (such as stock ticker, sports ticker, weather and interactive program guide data), resource management service, connection management services, subscriber cares services, billing services, operation system services, and object management services. Media servers provide time-critical media assets such as Moving Pictures Experts Group 2 (MPEG-2) standard encoded video and audio, MPEG-2 encoded still images, bit-mapped graphic images, PCM digital audio, three dimensional graphic objects, application programs, application data files, etc. Although specific examples of programs and services which may be provided by the aforementioned sources are given herein, other programs and services may also be provided by these or other sources without departing from the spirit and scope of the invention.
Processor 410 in headend 405 processes program materials including, e.g., TV program streams, from one or more of providers and sources 407 in analog and digital forms. Analog TV program streams may be formatted according to the National Television Standards Committee (NTSC) or PAL broadcast standard. Digital TV streams may be formatted according to the Digital Satellite System (DSS), Digital Broadcast Services (DBS), or Advanced Television Standards Committee (ATSC) standard. Processor 410, among other things, extracts program content in the analog and digital TV streams and reformats the content to form one or more MPEG-2 encoded transport streams. Such reformatting may even be applied to those received streams already in an MPEG-2 format. This stems from the fact that the digital content in the received MPEG-2 streams are typically encoded at a variable bit rate (VBR). To avoid data burstiness, processor 410 in a conventional manner re-encodes such digital content at a constant bit rate (CBR) to form transport streams.
In broadcasting programs to users, the transport streams generated by processor 410 are transmitted from headend 405 through a hybrid fiber/coax cable (HFC) network to the set-top terminals at the user premises. In addition, the transport streams may be recorded in headend 405 so that the users at the set-top terminals may manipulate (e.g., pause, fast-forward or rewind) the programming content in the recorded streams in a manner described, e.g., in copending, commonly assigned application Ser. No. 10/263,015, filed Oct. 2, 2002, which is hereby incorporated by reference
In addition, A/S processor 410 collects program guide data associated with different TV programs from an application server, which may be different from the sources of the TV programs themselves. Each program when presented to processor 410 is identified by a program identification code, which may be used to locate the corresponding EPG data. In particular, processor 410, while processing a TV program, may locate the corresponding EPG data to create in real time a metadata file associated with the TV program.
In this instance, the content of each broadcast program and the associated metadata file are temporarily stored in buffer 420 for any program resegmentation performed by resegmentation processor 430 in accordance with the invention.
Processor 430 at step 520 subtracts the EPG start time 204 from actual broadcast start time 604, resulting in a first time difference. Similarly, processor 430 at step 525 subtracts EPG end time 206 from actual broadcast end time 606, resulting in a second time difference.
It should be noted at this point that when comparing the EPG start time with the program's actual start time, the comparison may be made instead with the preceding program's actual end time as the preceding program's actual end time and the current program's actual start time are the same or substantially the same. Similarly when comparing the EPG end time with the program's actual end time, the comparison may be made instead with the succeeding program's actual start time as the succeeding program's actual start time and the current program's actual end time are the same or substantially the same.
Processor 430 at step 530 determines whether the absolute value of the first difference is greater than a first predetermined threshold, having a zero or nonzero value. It will be appreciated that the actual first threshold value may vary from a fraction of a second to a few minutes, depending on the importance of the content in the beginning of the given program. The more important the beginning content is (e.g., breaking news in the beginning of a news report), the smaller the first threshold value. If it is determined that the absolute value of the first difference is not greater than the first predetermined threshold, processor 430 at step 535 determines whether the absolute value of the second difference is greater than a second predetermined threshold, having a zero or nonzero value. It will be appreciated that the actual second threshold value may vary from a fraction of a second to a few minutes, depending on the importance of the content close to the end of the given program. The more important the ending content is (e.g., the closing minutes of a football game), the smaller the second threshold value. If it is determined that the absolute value of the second difference is not greater than the second predetermined threshold, processor 430 concludes that the EPG start and end times are sufficiently accurate and no resegmentation is required, the process then comes to an end.
If, however, the first time difference resulting from step 520 has an absolute value greater than the first predetermined threshold, and is a negative value, it follows that the received programming content from buffer 420 lacks a beginning portion of the given program. In that case, processor 430 at step 540 looks up from file 200 code 242 identifying the preceding program. At step 543, processor 430 obtains from buffer 420 a copy of an end portion of the preceding program identified by code 242, whose length corresponds to the first time difference. Processor 430 at step 545 attaches the end portion thus obtained to the beginning of the received programming content.
If, however, the first time difference resulting from step 520 has an absolute value greater than the first predetermined threshold, and is a positive value, it follows that a portion of the preceding program is erroneously included in the beginning of the received programming content. In that case, processor 430 at step 550 removes the erroneous beginning portion of the received programming content therefrom, whose length corresponds to the first time difference.
If, however, the second time difference resulting from step 525 has an absolute value greater than the second predetermined threshold, and is a negative value, it follows that a portion of the succeeding program is erroneously included in an end portion of the received programming content. In that case, processor 430 at step 555 removes the erroneous end portion of the received programming content therefrom, whose length corresponds to the second time difference.
If, however, the second time difference resulting from step 525 has an absolute value greater than the second predetermined threshold, and is a positive value, it follows that the received programming content from buffer 420 lacks an end portion of the given program. In that case, processor 430 at step 560 looks up from file 200 code 248 identifying the succeeding program. At step 565, processor 430 obtains from buffer 420 a copy of a beginning portion of the succeeding program identified by code 248, whose length corresponds to the second time difference. Processor 430 at step 570 appends the beginning portion thus obtained to the received programming content.
Thus, the output of the process of
The foregoing merely illustrates the principles of the invention. It will thus be appreciated that those skilled in the art will be able to devise numerous other arrangements which embody the principles of the invention and are thus within its spirit and scope.
For example, although the resegmentation process of
Finally, the headend components in
Number | Name | Date | Kind |
---|---|---|---|
5485221 | Banker et al. | Jan 1996 | A |
5488409 | Yuen et al. | Jan 1996 | A |
5805763 | Lawler et al. | Sep 1998 | A |
5892536 | Logan et al. | Apr 1999 | A |
6078348 | Klosterman et al. | Jun 2000 | A |
6215526 | Barton et al. | Apr 2001 | B1 |
6381362 | Deshpande et al. | Apr 2002 | B1 |
6725215 | Yamamoto | Apr 2004 | B2 |
20010051037 | Safadi et al. | Dec 2001 | A1 |
20010052130 | Yap et al. | Dec 2001 | A1 |
20020009285 | Safadi et al. | Jan 2002 | A1 |
20020054068 | Ellis et al. | May 2002 | A1 |
20020056103 | Gong | May 2002 | A1 |
20020069218 | Sull et al. | Jun 2002 | A1 |
20030007092 | Sonner et al. | Jan 2003 | A1 |
20030028882 | Davis et al. | Feb 2003 | A1 |
20040078817 | Horowitz et al. | Apr 2004 | A1 |
20040148634 | Arsenault et al. | Jul 2004 | A1 |
Number | Date | Country | |
---|---|---|---|
20040078811 A1 | Apr 2004 | US |