AUTO-DETECTION OF THE REAL END-OF-PROGRAM FOR THE CHANNEL
The present invention relates to controlling video recording of a channel, and more particularly to halting and restarting recording for the channel based on content of the signal. At present, recorder devices, such as the videocassette recorder (VCR), readable and writeable digital video disc recorder (DVD+RW) and Hard Disc Drive (HDD) video recorder, are capable of detecting the end of program (or "end of programming") for a television (TV) channel only from the appearance of a loss of signal, e.g., snowy reception or broadcasted TV test signal. When the end of program is detected, the recording of TV input to the corresponding media (VCR tape, DVD+RW disc or HDD) stops. However, almost all broadcasting channels do not stop broadcasting. They instead repeat the same program over and over until the next -morning TV lineup starts. This may involve repeating a clip of the 8 or 10 o'clock news, for example, or of commercial or adult advertising, or, alternatively, a switch may occur to teletext broadcasting. The "real" end of program occurred at the start of this repetition. In the case of VCR or DVD recording, the recording will eventually stop when the VCR tape or the DVD disc becomes full. For HDD recorders, however, the lack of real end-of-program can have severe effects. An HDD recorder generally has a time shift buffer that includes a recording of the most-recently broadcasted programming. The contents of the buffer are displayable, and the user is capable, by means of an input device, of selecting any stored program for permanent storage or immediate or deferred playback, for example. The time shift buffer of an HDD recorder, typically of 1 to 8 hours in length, accepts current recording at one end of the buffer. Once the buffer is full, room is made for the new content by concurrently shifting out of the other end the oldest buffer contents. Consequently, if the HDD recorder is left unintentionally active during the night, the end-of-program repetition will overwrite whatever real content that was recorded in the buffer leading up to the real end-of-program. The present invention has been made to address the above -noted shortcomings in the prior art. It is an object of the invention to provide a device, a method operable on the device, and a computer program for performing the method, wherein the device includes a storage medium and a processor. The processor receives an incoming video signal, and monitors the signal, while recording of a channel is ongoing, to capture channel content transmitted on the signal for capture and display. Data stored in a storage medium is compared to the captured
content to determine whether matching in excess of a predetermined threshold exists. If so, recording of the channel is halted. Details of the invention disclosed herein shall be described with the aid of the figures listed below, wherein: FIG. 1 is a depiction of a HDD-based Personal Video Recorder (PVR) system displaying an end-of-programming frame i n accordance with the present invention; FIG. 2 is a depiction of the PVR system of FIG. 1 while displaying a start -of- programming frame in accordance with the present invention; FIG. 3 is a flowchart of a process for detecting a change in channel and for determining if the present invention is operative for the changed -to channel; FIG. 4 is a flowchart of a process for receiving a channel and for capturing and storing relevant channel content in accordance with the present invention; FIG. 5 is a flowchart of a process of detecting an end or start of programming to respectively halt or restart recording in accordance with the present invention; and FIG. 6 is a flowchart of a process of determining whether content of a start of programming frame has been stored and, if so, starting a search for the frame in the channel. FIG. 1 illustrates an example of an HDD-based Personal Video Recorder (PVR) system 100, also called a Digital Video Recorder (DVR) based on the HDD, in accordance with the present invention, here shown displaying an end-of-programming frame 104. The PVR system 100 includes a PVR 108 and a video display device such as a television monitor 112, connected by a cable 114. The video recording device 108 may be other than a PVR, but the present invention is most advantageous when applied to devices that utilize a time shift buffer, such as HDD-based recording devices. Typically, interfaced to the recording device 108 is a cable or set -top box which receives a broadcasted video signal from the video provider by means of an external cable (these not being shown in FIG. 1). The PVR 108 has a processor and a storage medium (both not shown), and may assume a configuration such as that of FIG. 1 of commonly-assigned, pending, U.S. Patent Publication 2004/0091249, entitled "Continue Recording Channel Feature for Personal Video Recorder," to Mekenkamp et al. (hereinafter "Mekenkamp"), filed November 12, 2002, the disclosure of which is incorporated by reference herein in its entirety. As shown and described in Mekenkamp, the PVR 108 may include a central processing unit (CPU), a hard drive containing a time shift buffer, and a separate memory in which resides a PVR program run by the CPU. The incoming video signal may be displayed in real time on the m onitor 1 12, if the monitor is on, and may in either event be recorded in real time, at least in the time shift buffer, and for permanent storage if so designated by the user. Although the channel being made available
for display is not necessarily a channel currently being recorded, assuming that recording is currently active, the present invention is directed to the recording, rather than to the display, of the incoming video signal. The end-of-programming frame 104 displayed on the TV 112 marks the end of programming for the currently-tuned channel. Typically, the incoming video signal is comprised of a series of pictures or "frames," which may be thought of as snapshots in the video presentation, e.g., displayed television program. The frame 104 is part of a still picture, with numerous identical sequential frames portraying the same information still -picture. Alternatively, a particular sequence of different frames may be used by the provider to indicate the end-of-programming. In detecting arrival of the still picture in the video signal, it suffices to examine merely the intra-coded frames or "I-frames." Other frames, i.e., inter-coded frames, such as predictive frames (P-frames) and bidirectional frames (B -frames), are utilized to save bandwidth when portraying motion in the video. For a still picture, only I -frames would be transmitted in the video signal. Even if inter-coded frames are present in the signal, the particular sequence identifying the end of programming is preferably detected mer ely from the intra-coded frames, since, for example, inter-coded frames may be dropped when bandwidth is tight. FIG. 2 portrays another example of the PVR system 100 as it displays a start of programming frame 120. As with the end of programming frame 104 , the start of programming frame 120 is typically a still picture or a part of a frame sequence. Preferably, it too is detected by examining I-frames. In a preferred embodiment of the present invention, it is the image content of a frame, rather than control information, that is examined to detect the real end or start of programming, although it is within the intended scope of the invention to, alternatively or additionally, examine control information. The content to be examined is preferably content that has been transmitted in the video signal for capture, and for display as on the video monitor 112. Each distinctive end or start of programming frame is associated with a respective channel of the video signal. These distinctive frames are stored in the storage medium, preferably the hard drive. If for a particular channel no such frame can be found or is otherwise available, then no frame is stored for that particular channel, and, consequently, the present invention would not operate to stop and restart recording in accordance with the real end and start of programming for that particular channel.
Whenever the PVR system 100 is recording and provided that content of an end -of- programming frame has been stored for the channel currently being recorded , the present invention is preferably active is monitoring the incoming video signal for arrival of that content. The content stored may encompass all the image content of the frame or any portion of that content sufficient to make a reliable identificati on of the frame. FIGs. 3 through 6 demonstrate, by way of illustrative and non -limitative example, processes executable in accordance with the present invention. FIG. 3 is a flowchart of a channel -change clearance process 300 for detecting a change in channel and for determining if the present invention is operative for the changed -to channel. A change in the channel to be recorded may occur directly due to user intervention by means of an input device, or the change may, for example, be pre-programmed to automatically occur at a specific time or in reaction to a specified event. The change need not be current or imminent, but instead may be detected as a programmed change scheduled for future actuation. The process 300 is active whenever the PVR 108 is recording. The process 300 is also active between the time recording is halted due to an end of program and restarted due to a start of program, provided data or content has been stored for detecting both of those events. If a change in the channel to be recorded is detected (step S304), query is made as to whether there has been stored, for the changed -to channel, content to be matched against content to be captured from the video signal upon arrival of the end of program frame (step S308). The stored content is preferably stored in the hard disk, and may have been captured for such storage directly by the user having previously actuated a button or other input mechanism interactively upon viewing on-screen the still picture characteristic of the end of program for the changed -to channel. The stored content may, alternatively, be downloaded from the video provider, or may be provided by any other known and suitable means. If data has been stored for the changed -to channel, two processes are initiated - the content capturing and buffering process 400 and the recording control process 500 shown, by example, in FIGs. 4 and 5 respectively. The content capturing and buffering process 400 will normally be active, whenever recording is ongoing, with respect to the channel currently being recorded and its respective stored content, provided content has been stored for this channel. The processor receives from the incoming video signal the current channel, which may be last -selected or default channel if the PVR system 100 is just being turned on, or which may be the just changed -to channel (step S404). Accordingly, initiation of the content capturing and buffering process
400 need not occur by means of the channel -change clearance process 300, but is preferably preceded, in any event, by a check as to whether data is stored for the channel. As mentioned above, it is preferably the I-frames in the channel that are examined. Capture is made of all, or of any appropriate portion, of the content of each I -frame (step S408) in correspondence with what is stored, since the latter is to be matched against the captured content. The captured content is preferably buffered for comparison against the respective stored content. Meanwhile, the recording control process 500 synchronously or asynchronously compares the stored content to content of a current portion of the buffer, or to the entire buffer, depending on the implementation (step S504). Comparison may alternatively be made to the contents of the time shift buffer, particularly if the whole frame is being compared, thereby eliminating the need for a separate buffer. The captured content to be compared may be in compressed form as transmitted from the subscriber or possibly as formatted for storage, or the captured content may undergo the comparison after decoding. The comparison is preferably realized as a pixel -to-pixel comparison, and a perfect match is not needed for identification. In fact, video data which has been compressed for transmission to the subscriber usually undergoes a loss due to quantization, for example, that may be made to vary in magnitude with the then -existing channel conditions. Accordingly, a perfect match is probably not forthcoming in any event. Moreover, as shown in the frame 120 of FIG. 2, a template stored as content for the current channel may omit a screen field that identifies the current day, since, for example, frame 120 specifies Wednesday and the template may be utilized any day of the week. The matching process may therefore intentionally exclude that field or may accord identification when matching exceeds a predetermined threshold of 80 or 90%, for example. A suitable threshold may be determined empirically. If it is determined that no match exists (step S508), subsequently buffered content is accessed for comparison (step S512). Otherwise, if it is determined that a match exists, processing queries as to whether the comparison just made was for the purpose of identifying the end, or the start, of programming (step S516). In the latter case, recording of the channel is restarted (step S524). In the former case, recording of the channel is halted (step S520) and a recording startup clearance process 600, shown in FIG. 6, is performed. The recording startup clearance process 600 determines whether other content, i.e., "startup" content or data corresponding to the start of programming has been stored (step S604). If so, both the content capturing and buffering process 400 and the recording control
process 500 are initiated with respect to the startup content (step S608). Specifically, the capture and storage of content is tailored for comparison to the startup content (steps S408, S504), and, in the event of a match (step S508), recording is restarted (steps S5 I 6, S524). Alternatively, the processes 400, 500 are merely continued without such tailoring, if the entire frame, or the entire image content of a frame, is captured and buffered to afford comparison with stored content. As has been demonstrated above, the time shift buffer of a HDD-based recorder need not be overwritten with repetitive content even if the user inadvertently leaves the device to record overnight. If content representative of the end of program video frame has been stored for comparison, inadvertent recording can automatically be halted at the real end of program, before the repetitive programming is encountered. Moreover, if, in addition, content representative of the start of program is stored, the halted recording can be automatically restarted so as to skip over the repetitive programming. While there has been shown and described what is considered to be a preferred embodiment of the invention, it will, of course, be understood that various modifications and changes in form or detail could readily be made without departing from the spirit of the invention. It is therefore intended that the invention be not limited to the exact forms described and illustrated, but should be constructed to cover all modifications that may fall within the scope of the appended claims.