CA1337363C - Method for television signal data extraction - Google Patents
Method for television signal data extractionInfo
- Publication number
- CA1337363C CA1337363C CA000616889A CA616889A CA1337363C CA 1337363 C CA1337363 C CA 1337363C CA 000616889 A CA000616889 A CA 000616889A CA 616889 A CA616889 A CA 616889A CA 1337363 C CA1337363 C CA 1337363C
- Authority
- CA
- Canada
- Prior art keywords
- signal
- characters
- data
- pin
- commercial
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H60/00—Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
- H04H60/35—Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users
- H04H60/37—Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying segments of broadcast information, e.g. scenes or extracting programme ID
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04H—BROADCAST COMMUNICATION
- H04H60/00—Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
- H04H60/35—Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users
- H04H60/38—Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying broadcast time or space
- H04H60/41—Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying broadcast time or space for identifying broadcast space, i.e. broadcast channels, broadcast stations or broadcast areas
- H04H60/44—Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying broadcast time or space for identifying broadcast space, i.e. broadcast channels, broadcast stations or broadcast areas for identifying broadcast stations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N17/00—Diagnosis, testing or measuring for television systems or their details
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/08—Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
- H04N7/087—Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only
- H04N7/088—Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only the inserted signal being digital
- H04N7/0887—Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only the inserted signal being digital for the transmission of programme or channel identifying signals
Abstract
A method for identifying television broadcast program material such as commercials by extracting characters present in the closed captioned portion of the video signal at line 21, field 1 and comparing the extracted characters to stored characters and recording the occurrence of a match between the extracted characters and the stored characters indicating the presence of specific program material such as a commercial in the broadcast signal. In an alternative embodiment, comparison may be made between a compressed character string formed from extracted characters and a stored compressed character string.
Description
This invention relates generally to an improved method for identifying television broadcast programs. This invention is particularly useful to identify repetitively 05 broadcast television program material, such as commercials.
This application is a divisional application of Canadian application Serial No. 610,229 filed September 1, 1989.
DescriPtion of the Prior Art Large sums of money are spent annually to purchase advertising time on broadcast television.
This has created a need to monitor and report on the broadcast of television programs in general and television commercials in particular. There are a number of known systems for identifying and verifying the broadcast of television commercials. These systems can be broadly characterized as being either manual or electronic.
Manual systems use human operators to view videotaped television broadcast signals, and to manually recognize each commercial or other specific program material to be found (for example, a public service message) and then to identify it by some coding structure. The codes generated can then be S~--- 2 _ 1 3 3 7 3 6 3 entered into a manual or computerized system where the data can be analyzed and reports can be produced. Even such computerized systems are labor intensive and therefore expensive to operate. The 05 dependence on the human operators to recognize and reliably identify each commercial introduces a source of error into the collected data. Different operators will have varying abilities to recognize and identify individual commercials. Therefore it is more desirable to use an electronic system to monitor commercial broadcasts.
Electronic systems that have been proposed fall into two categories. The first category is one which requires an identification signal to be inserted into the broadcast material. U.S. Pat.
No. 3,845,391 discloses a system in which a code is modulated onto an audio frequency sub-carrier. U.S.
Pat. Nos. 4,025,851 and 4,639,779 disclose systems in which a code is modulated onto a line in the vertical interval of the television video broadcast signal.
These systems require the cooperation and participation of the broadcaster who may not be interested in supporting a system that monitors commercial broadcasts. These systems also require an allocation of some signal bandwidth in the television broadcast signal. The broadcasters would prefer to use this bandwidth for revenue generation and the FCC
has not reserved and not protected any bandwidth for the purpose of program identification.
Another type of electronic system analyses the program content of the broadcast signal to identify the commercial. U.S. Pat. Nos. 4,450,531 (Kenyon) and 4,230,990 (Lert) describe such systems.
~hese systems use different techniques to analyze the - _ 3 _ 1 3 3 7 3 6 3 video and audio content of the signal to extract features which are then compared to a database containing features previously extracted from known commercials. This could broadly be defined as a 05 pattern recognition and pattern matching process.
These systems require that large amounts of information be processed to generate these extracted features. Kenyon describes a technique requiring continuous Fourier transformation of the broadcast signal being monitored. Lert describes a system that reduces the amount of signal that must be processed by triggering the analysis on cues that are normally present in the broadcast signal or cues that are inserted in the broadcast signal. These systems require powerful signal processors to generate the extracted patterns and large databases of patterns to compare them with. These systems require good received signal quality since noise in the signal can affect the features that are extracted.
SummarY of the Invention One feature of the present invention is to provide a novel automatic method for identifying broadcast television program material (including commercials) that overcomes the disadvantages of the prior art systems.
Another feature of the present invention i8 to provide an automatic method for identifying broadcast television program material that requires simpler and less expensive processing equipment.
Another feature of the present invention is to provide an automatic method for identifying broadcast television program material that does not require the insertion of special identification signals or codes into the broadcast signals.
Another feature of the present invention is to provide an automatic method for 05 identifying broadcast television program material that uses signals that are normally present in the broadcast television signal and that are protected by the rules of the FCC (Federal Communications Commission) and the Canadian DOC (Department of Communications).
This is achieved by using the closed captioning for the deaf signal that is included in line 21 of the NTSC video signal. The closed captioning signal is specified and defined in Report No. E-7709-C, Revised May 1980, by the Public Broadcastins Service- The ~CC Rules and Regulations covering the closed captlonlng data are specified in Part 73, Subpart E, section 43.682. The normal purpose of the closed captioning signal is to provide a visual depiction of the information simultaneously being presented on the aural subchannel of the television signal. A closed caption decoder processes this signal and produces titling as an overlay on the television picture, the content of such titling being the dialog that is occurring on the audio of the television program.
This signal was originally provided as an aid to the hearing impaired and it is now also often used as an aid to improve literacy slsills.
The closed captioning signal can be decoded to produce a sequence of alphanumeric characters that form words and sentences. The content of these sentences is unique to the dialog that is occurring - 5 - l 3 3 7 3 6 3 in the audio of the television program. The closed captioning data rate is 480 bits per second which is formatted as 60 characters per second (8 bits per character).
OS Briefly, in accordance with a preferred embodiment of the invention, there is provided a method of capturing data from a closed captioned Portion of a television signal comprising: (a) reading characters from a data window portion of line 21, field 1 of a broadcast television signal;
(b) checking to see if a caption mode is active; (c) storing the characters if the caption mode is active; and (d) repeating steps (a) to (c) until a control code to clear memory is read in step (a).
In the practice of this invention, a - computer system preferably contains a library of captions for each of the programs that the system has been trained to recognize. Each message packet received can be compared against the caption library. If a match with the caption library exists, then the system will have identified the program or commercial and an entry can be made in a data log.
The data entered in the log will preferably include an identification number of the commercial, the station on which it was broadcast and the date and time at which it was broadcast.
Brief DescriPtion of the Drawinqs Figure l is a block diagram of the system.
Figure 2a is a diagram showing a view of fields l, 2 of frame 3.
Figure 2b shows the waveform of line 21, - 6 _ 1 33 7 3 63 field 1 of the NTSC television signal.
Figures 3a and 3b comprise a circuit diagram for the signal processing module shown as a block in Figure 1.
05 Figure 4 is a key diagram for Figures 4a and 4b.
Figure 4a is a partial flow chart for the software that assembles a paragraph of closed captioning data.
Figure 4b is the continuation of Figure 4a.
Figure S is a flow chart for the software that seeks a match for a paragraph of received caption data in the caption library.
Figure 6 is a flow chart for the steps required to make an entry to the caption library.
Detailed Description Figure 1 shows a block diagram of the system 5. The received signal source 4 can be either an antenna or a cable television feed. The source is directed to a television tuner 6 which tunes the broadcast station of interest. The output of the tuner is the composite video signal which is directed to a signal processing circuit or module 8. The function of the signal processing module 8 is to extract the 8-bit characters that comprise the closed captioning information. Additional television tuners 6a-6i and signal processing modules 8a-8i are required for each additional broadcast station that is to be monitored. The characters extracted by the signal processing modules are routed to a computer system 9 via a multiplexer 10. The purpose of the multiplexer 10 is to allow a CPU 11 of system 9 to select the individual characters output from each signal processing module 8. When a signal processing _ 7 - 1 3 3 73 6 3 module receives a character, it generates a signal to the CPU 11. Under control of the CPU 11, the multiplexer 10 selects the appropriate signal processing module 8 and the character is transferred 05 to the CPU 11.
- The computer system 9 shown in Figure 1 can be one of a number of commercially available systems. One such possible system is a Compaq 386/20 which includes a CPU 11 and would preferably further include 3 megabytes of memory, a 130 megabyte disc drive 12, a keyboard and display terminal 13 and a printer 14.
Before proceeding with the system description, some background on the closed captioning signal is required. The reader is directed to the referenced PBS Report No. E-7709-C for a complete specification of the closed captioning signal. The NTSC television signal is comprised of 30 picture frames per second with 525 scan lines per frame.
Referring now to Fig. 2a, first and second fields 1, 2 of a frame 3 may be seen. Scan line 21 in field 1 of frame 3 is reserved for the closed captioning signal as described in the FCC Rules and Regulations Title 47, Part 73, Section 682. The waveform of this signal 17 is shown in Fig. 2b as depicted in the FCC
Rules and Regulations Title 47, Part 73, Section 699.
As depicted in Fig. 2b, line 21 consists of a horizontal sync pulse 18, followed by the color burst 20, followed by 7 cycles of clock run-in 22 and then a two-character wide data window 24 for closed captioning information. Data may be transmitted in the window as a pair of characters every 33.3 milliseconds. The maximum data rate is 60 characters per second.
The purpose of the signal processing module 8 is to process the composite video signal and extract the data in the window Z4 which may include 05 up to two characters of closed captioning information - from each occurrence of line 21. This module contains two sections --- the first extracts line 21 signal or waveform 17 from field 1 of each frame 3 of the composite video signal and the second extracts character data from each occurrence of line 21 if characters are present in data window 24.
The circuitry of the signal processing module 8 is shown in Figures 3a and 3b. Figure 3a shows the circuit that extracts signal 17 from line 21, field 1 of frame 3 and Figure 3b shows the circuit that extracts characters from data window 24 of signal 17.
The function of the circuitry shown in Fig.
3a is to process the composite NTSC television signal, separate the line 21 signal 17 from the complete NTSC signal and convert it into two digital signals, DR and DW. Signal DR is a line 21 gate signal and signal DW is a line 21 data signal.
The video is input at the connector Jl. The video signal passes across a 1.8nf capacitor Cl and through a 22uF capacitor C2 to a 45 microhenry inductor Ll~in a resistive ladder networl~ having a lOOK resistor Rl and a lK resistor R2. The signal is then passed across a 3.3nF capacitor C3 and through a lK resistor R3 to a lOOpF capacitor C4 and into the non-inverting input pin 3 of a type SE553~
operational amplifier U2, available from Signetics*
Amplifier U2 is connected in a unity gain non-inverting configuration having an output at pin 6 * Signetics Co., P.O.Box 3409, Sunnyvale, Ca.94088-3409 feeding a O.luF capacitor C5 which passes the AC
component of this signal to the non-inverting input of another type SE5534 operational amplifier U3, also connected as a unity gain non-inverting follower.
05 Output pin 6 of U3 is connected to the drain D of a ZN7000 FET transistor Ql. The signal at pin 3 of U3 is also connected through a 470 ohm resistor R4, across a 1.8nF capacitor C8 and into pin 2 of an LM1881 type integrated circuit, available from National Semiconductor* Ul is used as a sync separator to identify the start of a new field. Ul has field index and back porch gate outputs at pins 7 and 5, respectively. Ul further has a O.luF
capacitor C6 and a 470K resistor R5 connected to pin 6. Ul still further has a O.luF noise suppression capacitor C7 connected to its power supply input pin 8. The FIELD output of Ul at pin 7 is connected to a digital logic inverter U9A, which is preferably formed from a type 74HC04 hex inverter. The output of inverter U9A is passed through a 330pF capacitor C9 to input pin 9 of U7, which is a HC40103 type integrated circuit counter available from Signetics.
Diode Dl, along with all other diodes in Figs. 3a and 3b may be a lN4148 type. Output,pin 5 from Ul is connected to the input of another inverter U9B.
Output pin 2 of inverter U9B is connected to the gate G of Ql a,nd input pin 3 of inverter U9C. Output pin 4 of inverter U9C is connected through a 2KZ resistor R6 to the clock input pin 1 of U7 and through a diode D2 to the not Q output pin 8 of U4. U4 is preferably a type HC74 integrated circuit available from Signetics. A 3K3 resistor R7 is connected from the power supply to the input pin 9 of U7.
The source S of Ql is connected through a lK
*National Semiconductor Corp., P.O.Box 58090, Santa Clara, Ca. 95052 resistor R8 to the non-inverting input pin S of a type LM358 integrated circuit operational amplifier, available from National Semiconductor. A O.luF
capacitor C10 is connected between the non-inverting 05 input pin 5 and circuit common. The output pin 7 of U6 is connected through a resistive network of a 470 ohm resistor R14 and a 12K resistor R13 shunted by a O.luF capacitor C13 and passing to the non-inverting - input pin 4 of U8A, which is preferably a type LM319 voltage comparator. Output pin 6 of U3 is also connected through a lK resistor R9 and across a lOOpF
capacitor Cll to the non-inverting input pin 3 of U5, which is preferably a LM6361 type operational amplifier. The output pin 6 of U5 is connected through a diode D3 through a resistive network of a 150K resistor R10, a 51 ohm resistor Rll, and a lOK
resistor R12, connected to the non-inverting input pin 4 of U8A. A 1.8nF capacitor C12 is connected between resistors Rll and R12.
Zo Positive feedback for U8A is provided by a 560K ohm resistor R16, while diode D4 and a 470 ohm resistor R15 are connected in the output pull-up path of U8A. A pair of inverters U9D and U9E formed from the hex inverter U9 are connected in parallel to drive output DR from the TC output of U7 at pin 14.
The output of U8A is connected to a digital logic inverter U9F to provide output signal DW. Ul can ,accurately identify the start of a new field and has field index and back porch gate outputs. Signal DW
3U is a bit stream of the clock run-in pulses 22 and the data bits in window 24. Signal DR is active (high) only when line 21 in field 1 is being processed.
The operation of this portion of the circuit is as follows. Signal DR is normally low and goes high only when NTSC line 21 is present. Signal DW
goes active only during NTSC line 21. Line 21 is identified by Ul, U4 and U7. Ul accepts the composite video signal as input on pin 2 and produces 05 output signals at pins 7 and 5. The FIELD signal at pin 7 of Ul is high (+5 volts) when NTSC field 1 is being received and low (0 volts) when NTSC field 2 is being received. The BP signal from pin 5 of Ul is a 4.8 usec pulse that occurs in the middle of the back porch 25 following the horizontal sync pulse 18.
Counter U7 is initialized by the FIELD signal at the beginning of field 1 and is counted down by the pulses from BP. When line 21 is reached, pin 14 on U7 goes low for one scan line, thus creating the line 21 gate signal DR. The next pulse on BP causes pin 14 on U7 to return to the high state which sets the flip flop U4 and terminates counting by U7 until the next frame. The signal pulse BP is also used to sample the video signal to create a blaclc reference level. When BP is active, it turns on Ql, allowing the black level of the back porch 25 to be sampled and stored on capacitor ClO. The peak value of the video of line 21 is stored on capacitor C12. The voltage difference between the voltages stored on C10 and C12 is divided by the resistors R13 and R12 to create a reference level that is about half way between the two levels. This reference level is applied to pin 4 of U8A and the composite video signal is applied to pin 5 of U8A. U8A is a high speed comparator which, as a result of comparin~ the composite video signal to the reference level will provide a digital logic signal at pin 12. This signal is inverted by U9F to produce signal DW.
Signal DW is normally clamped high, but during line - 12 _ I 3 3 7 3 6 3 21 when DR goes high, signal DW is released and carries a digital logic waveform consisting of a digital representation of clock run in pulses 22 and data bits of window 24 in line 21.
05 Referring now to Fig. 3b, signals DW and DR
are processed to extract two characters for each occurrence of line 21, field 1, containing closed captioned characters. Signal DW is delivered to the B input of each of U10 and U17, which are preferably a one shot or monostable multivibrator circuit type HC123, available from Signetics. U10 has a 3K3 resistor R18, a 330pF capacitor C15, a 3K3 resistor R17 and a 5K potentiometer Rl9 (used to set the width of the pulse on pin 13 of U10), in addition to a O.luF capacitor C16. U17 has a 4K resistor R20 and a lnF capacitor C17. Ull and U18 are preferably formed of a 74HC74 D-type flip flop available from Signetics. Diode D7 is connected to the DW signal line through a 3K3 resistor R21. Diode D5 is connected between pin 1 of U10 and pin 8 of U18.
Gate UlZA is preferably formed of a 74HC86 type integrated circuit available from Signetics and couples the Q output at pin 13 of U10 through a 33pF
capacitor Cl9 to a 503.5 kilohertz resonator Xl which Z5 may be a model 503B as manufactured by Murata*.
Resonator Xl connects to a O.luF capacitor C21 and a network formed of a ZZOpF capacitor C20, a lOOK
resistor RZ3, a lK resistor R27 and lOIC resistors RZ5 and R26 to provide a cleaned-up clock signal from pin 13 of U10 to both inputs of U8B, which is preferably a type LM319 voltage comparator with a lOOK positive feedback resistor RZ4.
The DR signal passes through a lK resistor R29 and enables the output of U8B at pin 7 and fed to * Murata Erie N.A., Inc., 2200 Lake Park Drive, Smyrna, Georgia 30080 ----one input of U12B which is an inverter formed of a 74HC86 integrated circuit. U14 is preferably a type HC40103 integrated circuit counter available from Signetics, and connected to operate as a divide-by-16 05 counter. Counter U14 has a .luF capacitor C22.
Diode D8 couples the TC output from U14 pin 14 to pin 10 of U12B. The output of U12B at pin 8 is connected to the CLK inputs of U16, which is preferably a type HC595N 8-bit shift register, available from Texas Instruments*.
Signal DR is also coupled through a 330pF
capacitor C18, to diode D6 and into an input of U12C. The output of U12C at pin 3 is connected to the R input (the reset input) at pin 10 of U15 and U16 which are both a type HC595N ~-bit shift registers. Signal DR is provided to connector P2 through a 470 ohm resistor R30. The outputs of U15 and U16 are connected to connector P2. Output enable signal lines ENl and EN2 are similarly connected to connector P2.
The function of the circuitry shown in Fig.
3b is to process the signals DW and DR to load the serial bits of the two characters into a register which can be accessed by a parallel read operation.
Signal DW is active only during NTSC line 21. When it is active it is a digital logic waveform consisting of the 7 cycles of the clock run-in followed by one start bit and two 8 bit data characters. The rising edges of the clocls run-in pulses trigger two one shots U10 and U17. The function of the one shot circuit U10 is to derive a normalized clock signal. The normalized clock signal from pin 13 on U10 is used to energize the resonator ~1 which is tuned to the cloclc run-in signal * Texas Instruments, Inc., P.O.Box 655474, Dallas, Texas 75265 frequency of 503.5 KHz. The resonator Xl signa], is squared up by the comparator U8B. Referring also to Fig. 2, the period of the clock run-in signal is 1.98 usec per cycle and the seven cycles are followed by 05 3.972 usec of low signal level. The one shot formed by U17 is retriggerable and times out after the end of the clock run-in pulses 22, resulting in the setting of the flip flop Ull. Setting Ull unclamps the clock input on U18. Tlle next data rising edge will be the start bit which will then set flip flop U18. U18 then releases the counter U14 and the shift registers U15 and U16. The counter Ul~ is initialized with a value of 16 and is driven by the clock froln the resonator ~1. The 16 data bits are subsequently clocked into the shift registers. When the counter hits zero, the signal on pin 14 of U14 goes low which terminates the clock signal to the shift registers U15, U16. After NTSC line 21, signal DR goes low. Signal DR and the contents of the shift registers U15 and U16 are available to multiplexer 10 at connector P2. A high-to-low transition of DR can be used an an indication that the data is available in the shift registers U15, U16.
The multiplexer 10 shown in Fig. 1 may be a parallel interface board such as the model PIO-96W
available from Contec Microelectronics Inc.* The Contec PIO-96W interface board has eight 12 bit input/output ports. Each port can be interfaced to one signal processing module 8 or 16. The data can be read from the shift registers U15 and U16, one 8 bit cllaracter at a time by controlling the chip enable signal lines ENl and EN2 connected respectively to pin 13 of U15 and U16 as shown in Fig. 3b. The falling edge of the signal DR can be *Contec r~ternational, P.O.Box 739, Schenectady, New York 12301 used to generate an interrupt on each port of the interface board. On each occurrence of an interrupt, computer 9 reads the characters from the shift registers U15, U16 associated with the 05 interrupt-generating port and stores the characters as data in a buffer in the computer memory. Further processing of the data is controlled by software in the computer as shown in Figs. 4-6.
It is to be understood that the closed captioning information channel supports a caption mode and a text mode in both a primary and a secondary language. The caption mode text is recorded on a video tape along with the commercial and is automatically broadcast when the tape is played. When present, the text mode is generated and transmitted by the broadcaster when the channel is not being used to carry caption mode data. The caption and text modes in both languages are time multiplexed into the one serial character channel.
Control code characters are used to switch the character stream between caption mode and text mode and between the two languages.
Software in the computer must separate the caption mode characters from the remainder of the character stream. The characters in the closed captioning text are organized into phrases and sentences complete with punctuation and control codes. In caption mode, the control codes perform operations such as erasing the displayed captions, selecting the line on which the captions are to be displayed, setting colors for the characters, and controlling scrolling of the captions on the television set. For the purposes of this system, the caption text can be considered to be a series of - 16 _ 1 3 3 7 3 6 3 paragraphs where a paragraph is the series of characters between two successive commands to clear the captions from the screen. The characters in a paragraph can be organized into phrases and sentences.
05 The command to erase displayed captions occurs relatively frequently; typically at any significant scene change. Every commercial begins and ends with a command to erase the displayed captions. Therefore, a commercial can include one or more paragraphs of caption text. Computer system 9 recognizes commercials by extracting the caption mode text from the continuing character stream, organizing this te~t into sensed paragraphs and then comparing each sensed paragraph to a library of stored paragraphs for the commercials that the system has been trained to recognize. Each stored paragraph in the library preferably has a corresponding commercial ID number.
In one embodiment, sensed paragraphs are compared directly to stored paragraphs. In an alternative embodiment, the caption mode paragraphs are compressed by a data compression. The data compression algorithm processes the variable length string of ASCII characters that comprise the paragraph and produces a shorter and preferably unique string or key of encoded bytes. A number of algorithms are known to those skilled in the art; a preferred data compression algorithm is Adaptive Lempel-Ziv Coding, which may be found in an article by Terry Welch entitled "A Technique For High Performance Data Compression," pp. 8-19 of Vol. 7, No. 6, of IEEE ComPuter, June 1984. One alternative algorithm or technique which may be used is Huffman Encoding, which may be found in an article by Jonathan Amsterdam entitled "Data Compression with Huffman Coding," pp. 99-108 of Vol. 11, No. 5 of BYTE
Magazine, May, 1986. A still further alternative is to use hash coding to form a key for data 05 "compression." While a hash code key is irreversible in the sense that the original data cannot be recovered from the key, reversibility is not necessary for the practice of this invention. It is theoretically most desirable to have a one-to-one and only one-to-one correspondence between the original data and the key resulting from operation of the data compression algorithm on the original data. In other words, it is preferable to have one and only one set of original data correspond to a given key.
Nevertheless, it is to be understood to be within the spirit and scope of this invention to use an algorithm having a less than ideal data-key correspondence, which, for example, can provide savlngs in operating speed, storage requirements or other practical considerations that outweigh the risk of error in using such an "imperfect" data compression algorithm.
Returning to a preferred embodiment, both sensed and stored paragraphs are processed by a data compression using adaptive Lempel-Ziv Codin~ to produce a unique multi-byte key. These keys can be stored in the library instead of the complete paragraph itself. The library in this case would include the multi-byte keys, each with a corresponding commercial ID number. When the system is identifying commercials, the sensed paragraphs (derived from the broadcast sources) are each put throu~h the same algorithm or transform to produce a key which is then compared to the keys in the library.
Fig. 4 is a flow chart for the software module that is used to perform the task of reading the characters into the computer and then forming the characters into paragraphs of caption mode text.
05 This module is started by a higher level task and once started will continue to operate as an independent, interrupt driven task until cancelled by the task that initiated it. When the task is started at entry step 101 it acquires a pool of empty data buffers which are used to assemble the paragraphs and to transfer the completed paragraphs to the higher level task. When it is started, module 100 is also given the number of the port on the multiplexer 10 that it will access to read the characters. At step 102 the module 100 initializes itself and the multiplexer 10 hardware, fetches an empty data buffer (the "active" buffer) from the pool and defaults to a caption mode active condition. It then proceeds to step 103 where it enters a suspended condition, zo waiting for an interrupt from the multiplexer 10.
When an interrupt occurs, the task proceeds to step 104 where it uses the multiplexer 10 to read the two characters from the signal processing module 8. At step 105, a test is made to determine if the secondary language bit is set; and if it is the characters are ignored and control returns to step 103 to wait for the next pair of characters. If the characters are in the primary language, the process proceeds to step 106 where a test is made to determine if the caption mode is active. If it is not active then the characters are text mode data that can be ignored and control is returned to step 103 to wait for tlle next two characters. However, the return to step 103 is made via step 107 where a test is made to determine if the characters received are the control characters that switch the character stream into caption mode. If this is true, then at step 108 the caption mode is set active. If the 05 caption mode is active at step 106, step 109 then tests the received characters to determine if they are the control characters that switch the character stream into text mode, i.e., to set caption mode not active. If so, control again returns to step 103 after setting the caption mode not active at step llo. Control will proceed to step 111 only when caption mode characters are being received. Step 111 tests to determine if the characters received include the control codes to clear memory. If not, then these characters form part of the current paragraph and are added to the active buffer. However, before adding the characters to the active buffer, step 112 tests to determine if these characters are the first characters in this paragraph; and, if they are, at step 113 the active buffer is initialized with the number of the port on the multiplexer 10 from which these characters are read and the time of day at which the characters are received. At step 114, the characters received are added to the active buffer and control then returns to step 103 to wait for the next two characters. If the test at step 111 indicates that the control code to clear memory has been received then the contents of the active buffer represent a complete sensed paragraph. Before transferring the contents of the active buffer, i.e., the sensed paragraph, to the higher level task, a test is made at step 115 to determine if the active buffer is empty, since it is possible that the character stream may contain sequential clear commands and it is preferable to avoid transfer of empty active buffers to the higher level task. If the active buffer is not empty, then at step 116 the active buffer containing the paragraph just received 05 is transferred to the higher level task.
Fig. 5 is a flow chart for the software algorithm or task 119 that is used to compare the sensed paragraphs to the library of stored paragraphs. Task 119 processes the data buffers that are filled by and transferred from the module or task 100. Task 119 processes the data buffers and releases them faster than task 100 can fill and transfer buffers to avoid build-up of a long data buffer queue. Task 119 correlates the number of the port being monitored on the multiplexer 10 to the television channel being tuned by the tuner 6-Gi.
Task 119 starts at step 120. At step 121, the task initializes itself, creates and passes a pool of data buffers to task 100, selects the port number to be monitored on the multiplexer 10, and then transfers control to task 100 at stép 101. At step 122 it monitors the pool of data buffers until one is transferred from task 100. At step 123, the task 119 fetches the oldest available buffer in the queue. At step 124, the buffer is examined for communication errors (parity checks); and if errors have occurred, the buffer is returned to the pool at step 125 and control returns to step 122. At step 126, data compression transformation is performed on the paragraph in the buffer to create a corresponding key or compressed character string. At step 127, the library is searched for a matching key and, if a match is found, the commercial I~ number is returned from the matching key file in the library. If there - 21 _ 1 337 3 63 is no match, control returns through step 125 to step 122. If a match is ound, one additional test must be made before making an entry in the data log. Each commercial may include more than one closed 05 captioning paragraph but it is desirable that the system make only one entry in the data log for each play of the commercial. Therefore, at step 129 a test is made to determine if the match is for a commercial ID that is current. If the match is not on a current commercial, at step 130 an entry is made in the data log and the current ID is set for the commercial that was just identified. Then the buffer is released at step 125 and the task returns to step 122 where it waits for a buffer to be ready. The current ID is reset at step 130 after a new commercial has been identified and cleared at step 131 whenever a match is not made on a valid paragrapll.
As stated previously, at step 130 after a match is found, data is entered into a data log.
Preferably, the data that is collected includes an ID
number for the commercial, the station on which the commercial was broadcast, and the time at which it was broadcast. Other information that may be collected or maintained in the data log or database is a title of the commercial, the length of the commercial, and the category and brand and the name of the manufacturer of the product being advertised.
It is to be understood that once started, module 119 runs continuously until cancelled. Module 119 will continually process active buffers filled in module 100 and release empty buffers to the pool (for use by module 100). Althouyh not shown, it is to be further understood that the data log created by module 119 is preferably periodically interrogated and cleared.
~ 337363 One other function that the system 5 performs is the creation and maintenance of the library of st~red paragraphs, or data compressi~n keys and commercial ID numbers. In Fig. 1, a VCR 15 05 is preferably located at or near terminal 13. The purpose of the VCR 15 is to generate (from video tape) the caption mode paragraphs for the commercials that the system is trained to recognize. The composite output of the VCR is directed to a signal processing module 16, the output of which is input to the computer system via the multiplexer 10. An operator enters the caption mode text for a commercial into the library by playing a taped copy of the commercial on the VCR while running a special program on the computer. This program is called the library input program.
The algorithm or task 139 for the library input program is shown in Fig. 6. Task 139 starts at step 140. At step 141 task 139 initializes itself and starts the low level task 100 which reads the characters and assembles the sensed paragraphs. This task must also maintain a pool of data buffers which are shared with the low level task 100. ~t step 142, the operator inputs ~via the keyboard of terminal 13) the commercial ID number that is to be assigned to this comrnercial as well as any other information relevant to that commercial such as product category, manufacturer, agency, etc. At step 143, the operator starts VCR 15 to play the tape of a commercial to be ~memorized" by computer 9. In the loop formed by steps 144, 145 and 146, task 139 accepts buffers until the tape is stopped. When the tape is stopped, the task 139 is allowed to proceed to step 147 where the paragraphs in the buffers are checked for 1 33736~
~ - 23 -communication errors (parity checks). If errors are detected, the task terminates at step 150 rejecting any library entry that is not perfect, preferably with a suitable error message for the operator. If 05 there are no errors, at step 151 the task 139 performs the character string compression on each of the paragraphs. At step 152, an entry is made in the library for each of the compressed strings.
Other variation and improvements to the present invention are possible within the scope of the appended claims. While this description has been directed specifically at identifying television commercials, this system could be used for identifying any television broadcast programme. For example, one possible variation and improvement to the present invention might be to allow the system to tolerate a small percentage of transmission errors.
In the described embodiment at step 124 of Fig. 5, sensed paragraphs are discarded if they contain any parity errors (caused by transmission errors).
Alternatively, the system can be programmed to accept some percentage of parity errors. The match criteria in this case will not require an absolute match on a character by character basis but accept some small percentage of unmatched characters.
The invention is not to be taken as limited to all of the details thereof as modifications and variations thereof may be made without departing from the spirit or scope of the invention.
This application is a divisional application of Canadian application Serial No. 610,229 filed September 1, 1989.
DescriPtion of the Prior Art Large sums of money are spent annually to purchase advertising time on broadcast television.
This has created a need to monitor and report on the broadcast of television programs in general and television commercials in particular. There are a number of known systems for identifying and verifying the broadcast of television commercials. These systems can be broadly characterized as being either manual or electronic.
Manual systems use human operators to view videotaped television broadcast signals, and to manually recognize each commercial or other specific program material to be found (for example, a public service message) and then to identify it by some coding structure. The codes generated can then be S~--- 2 _ 1 3 3 7 3 6 3 entered into a manual or computerized system where the data can be analyzed and reports can be produced. Even such computerized systems are labor intensive and therefore expensive to operate. The 05 dependence on the human operators to recognize and reliably identify each commercial introduces a source of error into the collected data. Different operators will have varying abilities to recognize and identify individual commercials. Therefore it is more desirable to use an electronic system to monitor commercial broadcasts.
Electronic systems that have been proposed fall into two categories. The first category is one which requires an identification signal to be inserted into the broadcast material. U.S. Pat.
No. 3,845,391 discloses a system in which a code is modulated onto an audio frequency sub-carrier. U.S.
Pat. Nos. 4,025,851 and 4,639,779 disclose systems in which a code is modulated onto a line in the vertical interval of the television video broadcast signal.
These systems require the cooperation and participation of the broadcaster who may not be interested in supporting a system that monitors commercial broadcasts. These systems also require an allocation of some signal bandwidth in the television broadcast signal. The broadcasters would prefer to use this bandwidth for revenue generation and the FCC
has not reserved and not protected any bandwidth for the purpose of program identification.
Another type of electronic system analyses the program content of the broadcast signal to identify the commercial. U.S. Pat. Nos. 4,450,531 (Kenyon) and 4,230,990 (Lert) describe such systems.
~hese systems use different techniques to analyze the - _ 3 _ 1 3 3 7 3 6 3 video and audio content of the signal to extract features which are then compared to a database containing features previously extracted from known commercials. This could broadly be defined as a 05 pattern recognition and pattern matching process.
These systems require that large amounts of information be processed to generate these extracted features. Kenyon describes a technique requiring continuous Fourier transformation of the broadcast signal being monitored. Lert describes a system that reduces the amount of signal that must be processed by triggering the analysis on cues that are normally present in the broadcast signal or cues that are inserted in the broadcast signal. These systems require powerful signal processors to generate the extracted patterns and large databases of patterns to compare them with. These systems require good received signal quality since noise in the signal can affect the features that are extracted.
SummarY of the Invention One feature of the present invention is to provide a novel automatic method for identifying broadcast television program material (including commercials) that overcomes the disadvantages of the prior art systems.
Another feature of the present invention i8 to provide an automatic method for identifying broadcast television program material that requires simpler and less expensive processing equipment.
Another feature of the present invention is to provide an automatic method for identifying broadcast television program material that does not require the insertion of special identification signals or codes into the broadcast signals.
Another feature of the present invention is to provide an automatic method for 05 identifying broadcast television program material that uses signals that are normally present in the broadcast television signal and that are protected by the rules of the FCC (Federal Communications Commission) and the Canadian DOC (Department of Communications).
This is achieved by using the closed captioning for the deaf signal that is included in line 21 of the NTSC video signal. The closed captioning signal is specified and defined in Report No. E-7709-C, Revised May 1980, by the Public Broadcastins Service- The ~CC Rules and Regulations covering the closed captlonlng data are specified in Part 73, Subpart E, section 43.682. The normal purpose of the closed captioning signal is to provide a visual depiction of the information simultaneously being presented on the aural subchannel of the television signal. A closed caption decoder processes this signal and produces titling as an overlay on the television picture, the content of such titling being the dialog that is occurring on the audio of the television program.
This signal was originally provided as an aid to the hearing impaired and it is now also often used as an aid to improve literacy slsills.
The closed captioning signal can be decoded to produce a sequence of alphanumeric characters that form words and sentences. The content of these sentences is unique to the dialog that is occurring - 5 - l 3 3 7 3 6 3 in the audio of the television program. The closed captioning data rate is 480 bits per second which is formatted as 60 characters per second (8 bits per character).
OS Briefly, in accordance with a preferred embodiment of the invention, there is provided a method of capturing data from a closed captioned Portion of a television signal comprising: (a) reading characters from a data window portion of line 21, field 1 of a broadcast television signal;
(b) checking to see if a caption mode is active; (c) storing the characters if the caption mode is active; and (d) repeating steps (a) to (c) until a control code to clear memory is read in step (a).
In the practice of this invention, a - computer system preferably contains a library of captions for each of the programs that the system has been trained to recognize. Each message packet received can be compared against the caption library. If a match with the caption library exists, then the system will have identified the program or commercial and an entry can be made in a data log.
The data entered in the log will preferably include an identification number of the commercial, the station on which it was broadcast and the date and time at which it was broadcast.
Brief DescriPtion of the Drawinqs Figure l is a block diagram of the system.
Figure 2a is a diagram showing a view of fields l, 2 of frame 3.
Figure 2b shows the waveform of line 21, - 6 _ 1 33 7 3 63 field 1 of the NTSC television signal.
Figures 3a and 3b comprise a circuit diagram for the signal processing module shown as a block in Figure 1.
05 Figure 4 is a key diagram for Figures 4a and 4b.
Figure 4a is a partial flow chart for the software that assembles a paragraph of closed captioning data.
Figure 4b is the continuation of Figure 4a.
Figure S is a flow chart for the software that seeks a match for a paragraph of received caption data in the caption library.
Figure 6 is a flow chart for the steps required to make an entry to the caption library.
Detailed Description Figure 1 shows a block diagram of the system 5. The received signal source 4 can be either an antenna or a cable television feed. The source is directed to a television tuner 6 which tunes the broadcast station of interest. The output of the tuner is the composite video signal which is directed to a signal processing circuit or module 8. The function of the signal processing module 8 is to extract the 8-bit characters that comprise the closed captioning information. Additional television tuners 6a-6i and signal processing modules 8a-8i are required for each additional broadcast station that is to be monitored. The characters extracted by the signal processing modules are routed to a computer system 9 via a multiplexer 10. The purpose of the multiplexer 10 is to allow a CPU 11 of system 9 to select the individual characters output from each signal processing module 8. When a signal processing _ 7 - 1 3 3 73 6 3 module receives a character, it generates a signal to the CPU 11. Under control of the CPU 11, the multiplexer 10 selects the appropriate signal processing module 8 and the character is transferred 05 to the CPU 11.
- The computer system 9 shown in Figure 1 can be one of a number of commercially available systems. One such possible system is a Compaq 386/20 which includes a CPU 11 and would preferably further include 3 megabytes of memory, a 130 megabyte disc drive 12, a keyboard and display terminal 13 and a printer 14.
Before proceeding with the system description, some background on the closed captioning signal is required. The reader is directed to the referenced PBS Report No. E-7709-C for a complete specification of the closed captioning signal. The NTSC television signal is comprised of 30 picture frames per second with 525 scan lines per frame.
Referring now to Fig. 2a, first and second fields 1, 2 of a frame 3 may be seen. Scan line 21 in field 1 of frame 3 is reserved for the closed captioning signal as described in the FCC Rules and Regulations Title 47, Part 73, Section 682. The waveform of this signal 17 is shown in Fig. 2b as depicted in the FCC
Rules and Regulations Title 47, Part 73, Section 699.
As depicted in Fig. 2b, line 21 consists of a horizontal sync pulse 18, followed by the color burst 20, followed by 7 cycles of clock run-in 22 and then a two-character wide data window 24 for closed captioning information. Data may be transmitted in the window as a pair of characters every 33.3 milliseconds. The maximum data rate is 60 characters per second.
The purpose of the signal processing module 8 is to process the composite video signal and extract the data in the window Z4 which may include 05 up to two characters of closed captioning information - from each occurrence of line 21. This module contains two sections --- the first extracts line 21 signal or waveform 17 from field 1 of each frame 3 of the composite video signal and the second extracts character data from each occurrence of line 21 if characters are present in data window 24.
The circuitry of the signal processing module 8 is shown in Figures 3a and 3b. Figure 3a shows the circuit that extracts signal 17 from line 21, field 1 of frame 3 and Figure 3b shows the circuit that extracts characters from data window 24 of signal 17.
The function of the circuitry shown in Fig.
3a is to process the composite NTSC television signal, separate the line 21 signal 17 from the complete NTSC signal and convert it into two digital signals, DR and DW. Signal DR is a line 21 gate signal and signal DW is a line 21 data signal.
The video is input at the connector Jl. The video signal passes across a 1.8nf capacitor Cl and through a 22uF capacitor C2 to a 45 microhenry inductor Ll~in a resistive ladder networl~ having a lOOK resistor Rl and a lK resistor R2. The signal is then passed across a 3.3nF capacitor C3 and through a lK resistor R3 to a lOOpF capacitor C4 and into the non-inverting input pin 3 of a type SE553~
operational amplifier U2, available from Signetics*
Amplifier U2 is connected in a unity gain non-inverting configuration having an output at pin 6 * Signetics Co., P.O.Box 3409, Sunnyvale, Ca.94088-3409 feeding a O.luF capacitor C5 which passes the AC
component of this signal to the non-inverting input of another type SE5534 operational amplifier U3, also connected as a unity gain non-inverting follower.
05 Output pin 6 of U3 is connected to the drain D of a ZN7000 FET transistor Ql. The signal at pin 3 of U3 is also connected through a 470 ohm resistor R4, across a 1.8nF capacitor C8 and into pin 2 of an LM1881 type integrated circuit, available from National Semiconductor* Ul is used as a sync separator to identify the start of a new field. Ul has field index and back porch gate outputs at pins 7 and 5, respectively. Ul further has a O.luF
capacitor C6 and a 470K resistor R5 connected to pin 6. Ul still further has a O.luF noise suppression capacitor C7 connected to its power supply input pin 8. The FIELD output of Ul at pin 7 is connected to a digital logic inverter U9A, which is preferably formed from a type 74HC04 hex inverter. The output of inverter U9A is passed through a 330pF capacitor C9 to input pin 9 of U7, which is a HC40103 type integrated circuit counter available from Signetics.
Diode Dl, along with all other diodes in Figs. 3a and 3b may be a lN4148 type. Output,pin 5 from Ul is connected to the input of another inverter U9B.
Output pin 2 of inverter U9B is connected to the gate G of Ql a,nd input pin 3 of inverter U9C. Output pin 4 of inverter U9C is connected through a 2KZ resistor R6 to the clock input pin 1 of U7 and through a diode D2 to the not Q output pin 8 of U4. U4 is preferably a type HC74 integrated circuit available from Signetics. A 3K3 resistor R7 is connected from the power supply to the input pin 9 of U7.
The source S of Ql is connected through a lK
*National Semiconductor Corp., P.O.Box 58090, Santa Clara, Ca. 95052 resistor R8 to the non-inverting input pin S of a type LM358 integrated circuit operational amplifier, available from National Semiconductor. A O.luF
capacitor C10 is connected between the non-inverting 05 input pin 5 and circuit common. The output pin 7 of U6 is connected through a resistive network of a 470 ohm resistor R14 and a 12K resistor R13 shunted by a O.luF capacitor C13 and passing to the non-inverting - input pin 4 of U8A, which is preferably a type LM319 voltage comparator. Output pin 6 of U3 is also connected through a lK resistor R9 and across a lOOpF
capacitor Cll to the non-inverting input pin 3 of U5, which is preferably a LM6361 type operational amplifier. The output pin 6 of U5 is connected through a diode D3 through a resistive network of a 150K resistor R10, a 51 ohm resistor Rll, and a lOK
resistor R12, connected to the non-inverting input pin 4 of U8A. A 1.8nF capacitor C12 is connected between resistors Rll and R12.
Zo Positive feedback for U8A is provided by a 560K ohm resistor R16, while diode D4 and a 470 ohm resistor R15 are connected in the output pull-up path of U8A. A pair of inverters U9D and U9E formed from the hex inverter U9 are connected in parallel to drive output DR from the TC output of U7 at pin 14.
The output of U8A is connected to a digital logic inverter U9F to provide output signal DW. Ul can ,accurately identify the start of a new field and has field index and back porch gate outputs. Signal DW
3U is a bit stream of the clock run-in pulses 22 and the data bits in window 24. Signal DR is active (high) only when line 21 in field 1 is being processed.
The operation of this portion of the circuit is as follows. Signal DR is normally low and goes high only when NTSC line 21 is present. Signal DW
goes active only during NTSC line 21. Line 21 is identified by Ul, U4 and U7. Ul accepts the composite video signal as input on pin 2 and produces 05 output signals at pins 7 and 5. The FIELD signal at pin 7 of Ul is high (+5 volts) when NTSC field 1 is being received and low (0 volts) when NTSC field 2 is being received. The BP signal from pin 5 of Ul is a 4.8 usec pulse that occurs in the middle of the back porch 25 following the horizontal sync pulse 18.
Counter U7 is initialized by the FIELD signal at the beginning of field 1 and is counted down by the pulses from BP. When line 21 is reached, pin 14 on U7 goes low for one scan line, thus creating the line 21 gate signal DR. The next pulse on BP causes pin 14 on U7 to return to the high state which sets the flip flop U4 and terminates counting by U7 until the next frame. The signal pulse BP is also used to sample the video signal to create a blaclc reference level. When BP is active, it turns on Ql, allowing the black level of the back porch 25 to be sampled and stored on capacitor ClO. The peak value of the video of line 21 is stored on capacitor C12. The voltage difference between the voltages stored on C10 and C12 is divided by the resistors R13 and R12 to create a reference level that is about half way between the two levels. This reference level is applied to pin 4 of U8A and the composite video signal is applied to pin 5 of U8A. U8A is a high speed comparator which, as a result of comparin~ the composite video signal to the reference level will provide a digital logic signal at pin 12. This signal is inverted by U9F to produce signal DW.
Signal DW is normally clamped high, but during line - 12 _ I 3 3 7 3 6 3 21 when DR goes high, signal DW is released and carries a digital logic waveform consisting of a digital representation of clock run in pulses 22 and data bits of window 24 in line 21.
05 Referring now to Fig. 3b, signals DW and DR
are processed to extract two characters for each occurrence of line 21, field 1, containing closed captioned characters. Signal DW is delivered to the B input of each of U10 and U17, which are preferably a one shot or monostable multivibrator circuit type HC123, available from Signetics. U10 has a 3K3 resistor R18, a 330pF capacitor C15, a 3K3 resistor R17 and a 5K potentiometer Rl9 (used to set the width of the pulse on pin 13 of U10), in addition to a O.luF capacitor C16. U17 has a 4K resistor R20 and a lnF capacitor C17. Ull and U18 are preferably formed of a 74HC74 D-type flip flop available from Signetics. Diode D7 is connected to the DW signal line through a 3K3 resistor R21. Diode D5 is connected between pin 1 of U10 and pin 8 of U18.
Gate UlZA is preferably formed of a 74HC86 type integrated circuit available from Signetics and couples the Q output at pin 13 of U10 through a 33pF
capacitor Cl9 to a 503.5 kilohertz resonator Xl which Z5 may be a model 503B as manufactured by Murata*.
Resonator Xl connects to a O.luF capacitor C21 and a network formed of a ZZOpF capacitor C20, a lOOK
resistor RZ3, a lK resistor R27 and lOIC resistors RZ5 and R26 to provide a cleaned-up clock signal from pin 13 of U10 to both inputs of U8B, which is preferably a type LM319 voltage comparator with a lOOK positive feedback resistor RZ4.
The DR signal passes through a lK resistor R29 and enables the output of U8B at pin 7 and fed to * Murata Erie N.A., Inc., 2200 Lake Park Drive, Smyrna, Georgia 30080 ----one input of U12B which is an inverter formed of a 74HC86 integrated circuit. U14 is preferably a type HC40103 integrated circuit counter available from Signetics, and connected to operate as a divide-by-16 05 counter. Counter U14 has a .luF capacitor C22.
Diode D8 couples the TC output from U14 pin 14 to pin 10 of U12B. The output of U12B at pin 8 is connected to the CLK inputs of U16, which is preferably a type HC595N 8-bit shift register, available from Texas Instruments*.
Signal DR is also coupled through a 330pF
capacitor C18, to diode D6 and into an input of U12C. The output of U12C at pin 3 is connected to the R input (the reset input) at pin 10 of U15 and U16 which are both a type HC595N ~-bit shift registers. Signal DR is provided to connector P2 through a 470 ohm resistor R30. The outputs of U15 and U16 are connected to connector P2. Output enable signal lines ENl and EN2 are similarly connected to connector P2.
The function of the circuitry shown in Fig.
3b is to process the signals DW and DR to load the serial bits of the two characters into a register which can be accessed by a parallel read operation.
Signal DW is active only during NTSC line 21. When it is active it is a digital logic waveform consisting of the 7 cycles of the clock run-in followed by one start bit and two 8 bit data characters. The rising edges of the clocls run-in pulses trigger two one shots U10 and U17. The function of the one shot circuit U10 is to derive a normalized clock signal. The normalized clock signal from pin 13 on U10 is used to energize the resonator ~1 which is tuned to the cloclc run-in signal * Texas Instruments, Inc., P.O.Box 655474, Dallas, Texas 75265 frequency of 503.5 KHz. The resonator Xl signa], is squared up by the comparator U8B. Referring also to Fig. 2, the period of the clock run-in signal is 1.98 usec per cycle and the seven cycles are followed by 05 3.972 usec of low signal level. The one shot formed by U17 is retriggerable and times out after the end of the clock run-in pulses 22, resulting in the setting of the flip flop Ull. Setting Ull unclamps the clock input on U18. Tlle next data rising edge will be the start bit which will then set flip flop U18. U18 then releases the counter U14 and the shift registers U15 and U16. The counter Ul~ is initialized with a value of 16 and is driven by the clock froln the resonator ~1. The 16 data bits are subsequently clocked into the shift registers. When the counter hits zero, the signal on pin 14 of U14 goes low which terminates the clock signal to the shift registers U15, U16. After NTSC line 21, signal DR goes low. Signal DR and the contents of the shift registers U15 and U16 are available to multiplexer 10 at connector P2. A high-to-low transition of DR can be used an an indication that the data is available in the shift registers U15, U16.
The multiplexer 10 shown in Fig. 1 may be a parallel interface board such as the model PIO-96W
available from Contec Microelectronics Inc.* The Contec PIO-96W interface board has eight 12 bit input/output ports. Each port can be interfaced to one signal processing module 8 or 16. The data can be read from the shift registers U15 and U16, one 8 bit cllaracter at a time by controlling the chip enable signal lines ENl and EN2 connected respectively to pin 13 of U15 and U16 as shown in Fig. 3b. The falling edge of the signal DR can be *Contec r~ternational, P.O.Box 739, Schenectady, New York 12301 used to generate an interrupt on each port of the interface board. On each occurrence of an interrupt, computer 9 reads the characters from the shift registers U15, U16 associated with the 05 interrupt-generating port and stores the characters as data in a buffer in the computer memory. Further processing of the data is controlled by software in the computer as shown in Figs. 4-6.
It is to be understood that the closed captioning information channel supports a caption mode and a text mode in both a primary and a secondary language. The caption mode text is recorded on a video tape along with the commercial and is automatically broadcast when the tape is played. When present, the text mode is generated and transmitted by the broadcaster when the channel is not being used to carry caption mode data. The caption and text modes in both languages are time multiplexed into the one serial character channel.
Control code characters are used to switch the character stream between caption mode and text mode and between the two languages.
Software in the computer must separate the caption mode characters from the remainder of the character stream. The characters in the closed captioning text are organized into phrases and sentences complete with punctuation and control codes. In caption mode, the control codes perform operations such as erasing the displayed captions, selecting the line on which the captions are to be displayed, setting colors for the characters, and controlling scrolling of the captions on the television set. For the purposes of this system, the caption text can be considered to be a series of - 16 _ 1 3 3 7 3 6 3 paragraphs where a paragraph is the series of characters between two successive commands to clear the captions from the screen. The characters in a paragraph can be organized into phrases and sentences.
05 The command to erase displayed captions occurs relatively frequently; typically at any significant scene change. Every commercial begins and ends with a command to erase the displayed captions. Therefore, a commercial can include one or more paragraphs of caption text. Computer system 9 recognizes commercials by extracting the caption mode text from the continuing character stream, organizing this te~t into sensed paragraphs and then comparing each sensed paragraph to a library of stored paragraphs for the commercials that the system has been trained to recognize. Each stored paragraph in the library preferably has a corresponding commercial ID number.
In one embodiment, sensed paragraphs are compared directly to stored paragraphs. In an alternative embodiment, the caption mode paragraphs are compressed by a data compression. The data compression algorithm processes the variable length string of ASCII characters that comprise the paragraph and produces a shorter and preferably unique string or key of encoded bytes. A number of algorithms are known to those skilled in the art; a preferred data compression algorithm is Adaptive Lempel-Ziv Coding, which may be found in an article by Terry Welch entitled "A Technique For High Performance Data Compression," pp. 8-19 of Vol. 7, No. 6, of IEEE ComPuter, June 1984. One alternative algorithm or technique which may be used is Huffman Encoding, which may be found in an article by Jonathan Amsterdam entitled "Data Compression with Huffman Coding," pp. 99-108 of Vol. 11, No. 5 of BYTE
Magazine, May, 1986. A still further alternative is to use hash coding to form a key for data 05 "compression." While a hash code key is irreversible in the sense that the original data cannot be recovered from the key, reversibility is not necessary for the practice of this invention. It is theoretically most desirable to have a one-to-one and only one-to-one correspondence between the original data and the key resulting from operation of the data compression algorithm on the original data. In other words, it is preferable to have one and only one set of original data correspond to a given key.
Nevertheless, it is to be understood to be within the spirit and scope of this invention to use an algorithm having a less than ideal data-key correspondence, which, for example, can provide savlngs in operating speed, storage requirements or other practical considerations that outweigh the risk of error in using such an "imperfect" data compression algorithm.
Returning to a preferred embodiment, both sensed and stored paragraphs are processed by a data compression using adaptive Lempel-Ziv Codin~ to produce a unique multi-byte key. These keys can be stored in the library instead of the complete paragraph itself. The library in this case would include the multi-byte keys, each with a corresponding commercial ID number. When the system is identifying commercials, the sensed paragraphs (derived from the broadcast sources) are each put throu~h the same algorithm or transform to produce a key which is then compared to the keys in the library.
Fig. 4 is a flow chart for the software module that is used to perform the task of reading the characters into the computer and then forming the characters into paragraphs of caption mode text.
05 This module is started by a higher level task and once started will continue to operate as an independent, interrupt driven task until cancelled by the task that initiated it. When the task is started at entry step 101 it acquires a pool of empty data buffers which are used to assemble the paragraphs and to transfer the completed paragraphs to the higher level task. When it is started, module 100 is also given the number of the port on the multiplexer 10 that it will access to read the characters. At step 102 the module 100 initializes itself and the multiplexer 10 hardware, fetches an empty data buffer (the "active" buffer) from the pool and defaults to a caption mode active condition. It then proceeds to step 103 where it enters a suspended condition, zo waiting for an interrupt from the multiplexer 10.
When an interrupt occurs, the task proceeds to step 104 where it uses the multiplexer 10 to read the two characters from the signal processing module 8. At step 105, a test is made to determine if the secondary language bit is set; and if it is the characters are ignored and control returns to step 103 to wait for the next pair of characters. If the characters are in the primary language, the process proceeds to step 106 where a test is made to determine if the caption mode is active. If it is not active then the characters are text mode data that can be ignored and control is returned to step 103 to wait for tlle next two characters. However, the return to step 103 is made via step 107 where a test is made to determine if the characters received are the control characters that switch the character stream into caption mode. If this is true, then at step 108 the caption mode is set active. If the 05 caption mode is active at step 106, step 109 then tests the received characters to determine if they are the control characters that switch the character stream into text mode, i.e., to set caption mode not active. If so, control again returns to step 103 after setting the caption mode not active at step llo. Control will proceed to step 111 only when caption mode characters are being received. Step 111 tests to determine if the characters received include the control codes to clear memory. If not, then these characters form part of the current paragraph and are added to the active buffer. However, before adding the characters to the active buffer, step 112 tests to determine if these characters are the first characters in this paragraph; and, if they are, at step 113 the active buffer is initialized with the number of the port on the multiplexer 10 from which these characters are read and the time of day at which the characters are received. At step 114, the characters received are added to the active buffer and control then returns to step 103 to wait for the next two characters. If the test at step 111 indicates that the control code to clear memory has been received then the contents of the active buffer represent a complete sensed paragraph. Before transferring the contents of the active buffer, i.e., the sensed paragraph, to the higher level task, a test is made at step 115 to determine if the active buffer is empty, since it is possible that the character stream may contain sequential clear commands and it is preferable to avoid transfer of empty active buffers to the higher level task. If the active buffer is not empty, then at step 116 the active buffer containing the paragraph just received 05 is transferred to the higher level task.
Fig. 5 is a flow chart for the software algorithm or task 119 that is used to compare the sensed paragraphs to the library of stored paragraphs. Task 119 processes the data buffers that are filled by and transferred from the module or task 100. Task 119 processes the data buffers and releases them faster than task 100 can fill and transfer buffers to avoid build-up of a long data buffer queue. Task 119 correlates the number of the port being monitored on the multiplexer 10 to the television channel being tuned by the tuner 6-Gi.
Task 119 starts at step 120. At step 121, the task initializes itself, creates and passes a pool of data buffers to task 100, selects the port number to be monitored on the multiplexer 10, and then transfers control to task 100 at stép 101. At step 122 it monitors the pool of data buffers until one is transferred from task 100. At step 123, the task 119 fetches the oldest available buffer in the queue. At step 124, the buffer is examined for communication errors (parity checks); and if errors have occurred, the buffer is returned to the pool at step 125 and control returns to step 122. At step 126, data compression transformation is performed on the paragraph in the buffer to create a corresponding key or compressed character string. At step 127, the library is searched for a matching key and, if a match is found, the commercial I~ number is returned from the matching key file in the library. If there - 21 _ 1 337 3 63 is no match, control returns through step 125 to step 122. If a match is ound, one additional test must be made before making an entry in the data log. Each commercial may include more than one closed 05 captioning paragraph but it is desirable that the system make only one entry in the data log for each play of the commercial. Therefore, at step 129 a test is made to determine if the match is for a commercial ID that is current. If the match is not on a current commercial, at step 130 an entry is made in the data log and the current ID is set for the commercial that was just identified. Then the buffer is released at step 125 and the task returns to step 122 where it waits for a buffer to be ready. The current ID is reset at step 130 after a new commercial has been identified and cleared at step 131 whenever a match is not made on a valid paragrapll.
As stated previously, at step 130 after a match is found, data is entered into a data log.
Preferably, the data that is collected includes an ID
number for the commercial, the station on which the commercial was broadcast, and the time at which it was broadcast. Other information that may be collected or maintained in the data log or database is a title of the commercial, the length of the commercial, and the category and brand and the name of the manufacturer of the product being advertised.
It is to be understood that once started, module 119 runs continuously until cancelled. Module 119 will continually process active buffers filled in module 100 and release empty buffers to the pool (for use by module 100). Althouyh not shown, it is to be further understood that the data log created by module 119 is preferably periodically interrogated and cleared.
~ 337363 One other function that the system 5 performs is the creation and maintenance of the library of st~red paragraphs, or data compressi~n keys and commercial ID numbers. In Fig. 1, a VCR 15 05 is preferably located at or near terminal 13. The purpose of the VCR 15 is to generate (from video tape) the caption mode paragraphs for the commercials that the system is trained to recognize. The composite output of the VCR is directed to a signal processing module 16, the output of which is input to the computer system via the multiplexer 10. An operator enters the caption mode text for a commercial into the library by playing a taped copy of the commercial on the VCR while running a special program on the computer. This program is called the library input program.
The algorithm or task 139 for the library input program is shown in Fig. 6. Task 139 starts at step 140. At step 141 task 139 initializes itself and starts the low level task 100 which reads the characters and assembles the sensed paragraphs. This task must also maintain a pool of data buffers which are shared with the low level task 100. ~t step 142, the operator inputs ~via the keyboard of terminal 13) the commercial ID number that is to be assigned to this comrnercial as well as any other information relevant to that commercial such as product category, manufacturer, agency, etc. At step 143, the operator starts VCR 15 to play the tape of a commercial to be ~memorized" by computer 9. In the loop formed by steps 144, 145 and 146, task 139 accepts buffers until the tape is stopped. When the tape is stopped, the task 139 is allowed to proceed to step 147 where the paragraphs in the buffers are checked for 1 33736~
~ - 23 -communication errors (parity checks). If errors are detected, the task terminates at step 150 rejecting any library entry that is not perfect, preferably with a suitable error message for the operator. If 05 there are no errors, at step 151 the task 139 performs the character string compression on each of the paragraphs. At step 152, an entry is made in the library for each of the compressed strings.
Other variation and improvements to the present invention are possible within the scope of the appended claims. While this description has been directed specifically at identifying television commercials, this system could be used for identifying any television broadcast programme. For example, one possible variation and improvement to the present invention might be to allow the system to tolerate a small percentage of transmission errors.
In the described embodiment at step 124 of Fig. 5, sensed paragraphs are discarded if they contain any parity errors (caused by transmission errors).
Alternatively, the system can be programmed to accept some percentage of parity errors. The match criteria in this case will not require an absolute match on a character by character basis but accept some small percentage of unmatched characters.
The invention is not to be taken as limited to all of the details thereof as modifications and variations thereof may be made without departing from the spirit or scope of the invention.
Claims (3)
PROPERTY OR PRIVILEGE IS CLAIMED ARE DEFINED AS FOLLOWS:
1. A method of capturing data from a closed captioned portion of a television signal comprising:
a) reading characters from a data window portIon of line 21, field 1 of a broadcast television signal;
b) checking to see if a caption mode is active;
c) storing the characters if the caption mode is active; and d) repeating steps a)-c) until a control code to clear memory is read in step a).
a) reading characters from a data window portIon of line 21, field 1 of a broadcast television signal;
b) checking to see if a caption mode is active;
c) storing the characters if the caption mode is active; and d) repeating steps a)-c) until a control code to clear memory is read in step a).
2. The method of Claim 1 further comprising an additional step a1) after step a) of:
a1) checking to see if a secondary language bit is set and skipping steps b) and c) if it is.
a1) checking to see if a secondary language bit is set and skipping steps b) and c) if it is.
3. The method of Claim 1 wherein step d) further comprises checking to see if any characters have been stored after a control code to clear memory is read.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CA000610229A CA1332462C (en) | 1988-12-20 | 1989-09-01 | Video monitoring system |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US07/287,452 US4857999A (en) | 1988-12-20 | 1988-12-20 | Video monitoring system |
US07/287,452 | 1988-12-20 | ||
CA000610229A CA1332462C (en) | 1988-12-20 | 1989-09-01 | Video monitoring system |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA000610229A Division CA1332462C (en) | 1988-12-20 | 1989-09-01 | Video monitoring system |
Publications (1)
Publication Number | Publication Date |
---|---|
CA1337363C true CA1337363C (en) | 1995-10-17 |
Family
ID=25672997
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA000616889A Expired - Fee Related CA1337363C (en) | 1988-12-20 | 1994-07-27 | Method for television signal data extraction |
Country Status (2)
Country | Link |
---|---|
US (1) | US4857999A (en) |
CA (1) | CA1337363C (en) |
Families Citing this family (163)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4965825A (en) | 1981-11-03 | 1990-10-23 | The Personalized Mass Media Corporation | Signal processing apparatus and methods |
USRE47642E1 (en) | 1981-11-03 | 2019-10-08 | Personalized Media Communications LLC | Signal processing apparatus and methods |
US7831204B1 (en) | 1981-11-03 | 2010-11-09 | Personalized Media Communications, Llc | Signal processing apparatus and methods |
US5253066C1 (en) * | 1989-06-01 | 2001-05-22 | United Video Properties Inc | Tv recording and viewing control system |
CA2036205C (en) * | 1990-06-01 | 1996-11-19 | Russell J. Welsh | Program monitoring unit |
US5680151A (en) * | 1990-06-12 | 1997-10-21 | Radius Inc. | Method and apparatus for transmitting video, data over a computer bus using block transfers |
FR2664778A1 (en) * | 1990-07-10 | 1992-01-17 | Semache Nasredine | Device for suppressing the advertising when recording on a video recorder |
US5179378A (en) * | 1991-07-30 | 1993-01-12 | University Of South Florida | Method and apparatus for the compression and decompression of data using Lempel-Ziv based techniques |
US6487362B1 (en) | 1991-08-19 | 2002-11-26 | Index Systems, Inc. | Enhancing operations of video tape cassette players |
US6091884A (en) * | 1991-08-19 | 2000-07-18 | Index Systems, Inc. | Enhancing operations of video tape cassette players |
US5450122A (en) * | 1991-11-22 | 1995-09-12 | A.C. Nielsen Company | In-station television program encoding and monitoring system and method |
US8352400B2 (en) | 1991-12-23 | 2013-01-08 | Hoffberg Steven M | Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore |
US5404172A (en) * | 1992-03-02 | 1995-04-04 | Eeg Enterprises, Inc. | Video signal data and composite synchronization extraction circuit for on-screen display |
US5436653A (en) * | 1992-04-30 | 1995-07-25 | The Arbitron Company | Method and system for recognition of broadcast segments |
GB9221678D0 (en) * | 1992-10-15 | 1992-11-25 | Taylor Nelson Group Limited | Identifying a received programme stream |
US5495282A (en) * | 1992-11-03 | 1996-02-27 | The Arbitron Company | Monitoring system for TV, cable and VCR |
US5557334A (en) * | 1993-01-12 | 1996-09-17 | Visual Automation Systems, Inc. | Apparatus for tracking the flow of video signals by incorporating patterns of machine readable signals which will appear at predetermined locations of a television picture |
USRE37991E1 (en) * | 1993-01-12 | 2003-02-18 | Visual Automation Systems, Inc. | Apparatus for tracking the flow of video signals by incorportating patterns of machine readable signals which will appear at predetermined locations of a television picture |
US5450134A (en) * | 1993-01-12 | 1995-09-12 | Visual Automation Systems, Inc. | Video facility management system for encoding and decoding video signals to facilitate identification of the video signals |
EP0610941A1 (en) * | 1993-02-10 | 1994-08-17 | Axel M. Otto | Device and method for automatic recognition of electrical signal sequences, transmitted from a transmitter station to a receiving station |
CN1071977C (en) | 1993-03-05 | 2001-09-26 | 杰姆斯达发展公司 | Apparatus and method using compressed codes for television program record scheduling |
ES2169029T3 (en) * | 1993-03-29 | 2002-07-01 | Sisvel Spa | USE OF CERTIFICATION SIGNS THAT ARE INCLUDED IN A DETERMINED ACTIVE LINE OF A TELEVISION SIGNAL TO IDENTIFY AN ADVERTISING INSERTION CONTAINED IN THE TELEVISION SIGNAL AND CONTROL CIRCUIT TO IDENTIFY ADVERTISING INSERTS AS USED. |
US6239794B1 (en) | 1994-08-31 | 2001-05-29 | E Guide, Inc. | Method and system for simultaneously displaying a television program and information about the program |
US5355161A (en) * | 1993-07-28 | 1994-10-11 | Concord Media Systems | Identification system for broadcast program segments |
US5481296A (en) * | 1993-08-06 | 1996-01-02 | International Business Machines Corporation | Apparatus and method for selectively viewing video information |
US5581658A (en) * | 1993-12-14 | 1996-12-03 | Infobase Systems, Inc. | Adaptive system for broadcast program identification and reporting |
US8793738B2 (en) | 1994-05-04 | 2014-07-29 | Starsight Telecast Incorporated | Television system with downloadable features |
US5500681A (en) * | 1994-05-24 | 1996-03-19 | Jones; Charles P. | Apparatus and method for generating product coupons in response to televised offers |
WO1996024991A1 (en) * | 1995-02-08 | 1996-08-15 | Actual Radio Measurement | Remote listenership monitoring system |
GB9504376D0 (en) * | 1995-03-04 | 1995-04-26 | Televitesse Systems Inc | Automatic broadcast monitoring system |
US6769128B1 (en) | 1995-06-07 | 2004-07-27 | United Video Properties, Inc. | Electronic television program guide schedule system and method with data feed access |
US8850477B2 (en) | 1995-10-02 | 2014-09-30 | Starsight Telecast, Inc. | Systems and methods for linking television viewers with advertisers and broadcasters |
US6732369B1 (en) | 1995-10-02 | 2004-05-04 | Starsight Telecast, Inc. | Systems and methods for contextually linking television program information |
US6323911B1 (en) | 1995-10-02 | 2001-11-27 | Starsight Telecast, Inc. | System and method for using television schedule information |
EP2273783A3 (en) | 1996-03-15 | 2011-02-16 | Gemstar Development Corporation | Combination of VCR index and EPG |
US6469753B1 (en) | 1996-05-03 | 2002-10-22 | Starsight Telecast, Inc. | Information system |
JP3625344B2 (en) * | 1996-11-05 | 2005-03-02 | 株式会社ビデオリサーチ | Viewing channel detector |
WO1998026608A1 (en) * | 1996-12-13 | 1998-06-18 | Access Co., Ltd. | Method and device for obtaining audience data on tv program |
US6687906B1 (en) | 1996-12-19 | 2004-02-03 | Index Systems, Inc. | EPG with advertising inserts |
US8635649B2 (en) | 1996-12-19 | 2014-01-21 | Gemstar Development Corporation | System and method for modifying advertisement responsive to EPG information |
US6637032B1 (en) * | 1997-01-06 | 2003-10-21 | Microsoft Corporation | System and method for synchronizing enhancing content with a video program using closed captioning |
US6564383B1 (en) | 1997-04-14 | 2003-05-13 | International Business Machines Corporation | Method and system for interactively capturing organizing and presenting information generated from television programs to viewers |
US9113122B2 (en) | 1997-04-21 | 2015-08-18 | Rovi Guides, Inc. | Method and apparatus for time-shifting video and text in a text-enhanced television program |
ES2475242T3 (en) | 1997-07-21 | 2014-07-10 | Gemstar Development Corporation | Systems and methods for displaying and recording control interfaces |
US6604240B2 (en) | 1997-10-06 | 2003-08-05 | United Video Properties, Inc. | Interactive television program guide system with operator showcase |
US7185355B1 (en) | 1998-03-04 | 2007-02-27 | United Video Properties, Inc. | Program guide system with preference profiles |
US6564379B1 (en) | 1998-04-30 | 2003-05-13 | United Video Properties, Inc. | Program guide system with flip and browse advertisements |
US6742183B1 (en) | 1998-05-15 | 2004-05-25 | United Video Properties, Inc. | Systems and methods for advertising television networks, channels, and programs |
US20020095676A1 (en) | 1998-05-15 | 2002-07-18 | Robert A. Knee | Interactive television program guide system for determining user values for demographic categories |
US6442755B1 (en) | 1998-07-07 | 2002-08-27 | United Video Properties, Inc. | Electronic program guide using markup language |
CN1867068A (en) | 1998-07-14 | 2006-11-22 | 联合视频制品公司 | Client-server based interactive television program guide system with remote server recording |
ATE225998T1 (en) | 1998-07-17 | 2002-10-15 | United Video Properties Inc | INTERACTIVE TV GUIDE WITH MULTIPLE DEVICES IN ONE PLACE |
AR020608A1 (en) | 1998-07-17 | 2002-05-22 | United Video Properties Inc | A METHOD AND A PROVISION TO SUPPLY A USER REMOTE ACCESS TO AN INTERACTIVE PROGRAMMING GUIDE BY A REMOTE ACCESS LINK |
US6505348B1 (en) | 1998-07-29 | 2003-01-07 | Starsight Telecast, Inc. | Multiple interactive electronic program guide system and methods |
US6295092B1 (en) | 1998-07-30 | 2001-09-25 | Cbs Corporation | System for analyzing television programs |
US20010043795A1 (en) * | 1998-08-07 | 2001-11-22 | Anthony Wood | Video data recorder for recording predefined format shows |
US6898762B2 (en) * | 1998-08-21 | 2005-05-24 | United Video Properties, Inc. | Client-server electronic program guide |
TW465235B (en) * | 1998-09-17 | 2001-11-21 | United Video Properties Inc | Electronic program guide with digital storage |
US7694319B1 (en) | 1998-11-02 | 2010-04-06 | United Video Properties, Inc. | Interactive program guide with continuous data stream and client-server data supplementation |
TW499816B (en) * | 1998-11-30 | 2002-08-21 | United Video Properties Inc | Interactive program guide system and method |
US6859799B1 (en) | 1998-11-30 | 2005-02-22 | Gemstar Development Corporation | Search engine for video and graphics |
US6792197B1 (en) | 1998-12-07 | 2004-09-14 | Index Systems, Inc. | System and method for generating video taping reminders |
US7421723B2 (en) * | 1999-01-07 | 2008-09-02 | Nielsen Media Research, Inc. | Detection of media links in broadcast signals |
US6735776B1 (en) | 1999-02-01 | 2004-05-11 | Kim R. Legate | Motion picture editing and distribution |
US7966078B2 (en) | 1999-02-01 | 2011-06-21 | Steven Hoffberg | Network media appliance system and method |
CN1359591A (en) | 1999-06-28 | 2002-07-17 | 英戴克系统公司 | System and method for utilizing EPG database for modifying advertisements |
AU5775900A (en) | 1999-06-29 | 2001-01-31 | United Video Properties, Inc. | Method and system for a video-on-demand-related interactive display within an interactive television application |
WO2001022719A2 (en) * | 1999-09-24 | 2001-03-29 | United Video Properties, Inc. | Interactive television program guide with enhanced user interface |
SE514956C2 (en) * | 1999-09-27 | 2001-05-21 | Volvo Personvagnar Ab | Antenna unit for receiving electromagnetic signals in a vehicle |
US6469749B1 (en) * | 1999-10-13 | 2002-10-22 | Koninklijke Philips Electronics N.V. | Automatic signature-based spotting, learning and extracting of commercials and other video content |
US6317882B1 (en) | 1999-12-21 | 2001-11-13 | Thomas D. Robbins | System and method for automatically reminding a user of a receiver that a broadcast is on a data stream |
WO2001047269A1 (en) * | 1999-12-21 | 2001-06-28 | Robbins Thomas D | Automatic reminder system using transmitted id codes |
AU783853B2 (en) * | 2000-02-01 | 2005-12-15 | Rovi Guides, Inc. | Systems and methods for providing promotions with recorded programs |
EP1252767B1 (en) * | 2000-02-01 | 2010-08-11 | United Video Properties, Inc. | Methods and systems for forced advertising |
US6593976B1 (en) * | 2000-02-14 | 2003-07-15 | Koninklijke Philips Electronics N.V. | Automatic return to input source when user-selected content reappears in input source |
US6901207B1 (en) * | 2000-03-30 | 2005-05-31 | Lsi Logic Corporation | Audio/visual device for capturing, searching and/or displaying audio/visual material |
CN101493919B (en) | 2000-03-31 | 2019-01-04 | 乐威指南公司 | The system and method for meta-data-linked advertisements |
ES2264978T3 (en) | 2000-03-31 | 2007-02-01 | United Video Properties, Inc. | SYSTEMS AND METHODS TO REDUCE CUTS IN PROGRAM RECORDING. |
JP4741775B2 (en) | 2000-04-10 | 2011-08-10 | ユナイテッド ビデオ プロパティーズ インク | Interactive media guide with media guidance interface |
US7103906B1 (en) | 2000-09-29 | 2006-09-05 | International Business Machines Corporation | User controlled multi-device media-on-demand system |
CA2860962C (en) | 2000-10-11 | 2016-09-20 | United Video Properties, Inc. | Systems and methods for caching data in media-on-demand systems |
CN101707693B (en) | 2000-10-11 | 2017-04-26 | 乐威指南公司 | Systems and methods for providing storage of data on servers in an on-demand media delivery system |
US20020067428A1 (en) * | 2000-12-01 | 2002-06-06 | Thomsen Paul M. | System and method for selecting symbols on a television display |
US7210157B2 (en) * | 2000-12-18 | 2007-04-24 | Koninklijke Philips Electronics N.V. | Apparatus and method of program classification using observed cues in the transcript information |
US6751398B2 (en) * | 2000-12-22 | 2004-06-15 | Koninklijke Philips Electronics N.V. | System and method for determining whether a video program has been previously recorded |
KR101548473B1 (en) | 2001-02-21 | 2015-08-28 | 로비 가이드스, 인크. | Systems and methods for interactive program guides with personal video recording features |
US20020124246A1 (en) * | 2001-03-02 | 2002-09-05 | Kaminsky David Louis | Methods, systems and program products for tracking information distribution |
US7089575B2 (en) * | 2001-09-04 | 2006-08-08 | Koninklijke Philips Electronics N.V. | Method of using transcript information to identify and learn commercial portions of a program |
JP2003087667A (en) * | 2001-09-06 | 2003-03-20 | Fujitsu Ten Ltd | Digital broadcast receiver |
US20030126267A1 (en) * | 2001-12-27 | 2003-07-03 | Koninklijke Philips Electronics N.V. | Method and apparatus for preventing access to inappropriate content over a network based on audio or visual content |
WO2003094134A2 (en) * | 2002-05-01 | 2003-11-13 | Index Systems, Inc. | Method and system for facilitating advertising and t-commerce transactions in connection with content stored on a storage medium |
US7493646B2 (en) | 2003-01-30 | 2009-02-17 | United Video Properties, Inc. | Interactive television systems with digital video recording and adjustable reminders |
US7370212B2 (en) | 2003-02-25 | 2008-05-06 | Microsoft Corporation | Issuing a publisher use license off-line in a digital rights management (DRM) system |
US20060051059A1 (en) | 2004-09-08 | 2006-03-09 | Krakirian Haig H | Video recorder having user extended and automatically extended time slots |
US7454120B2 (en) | 2003-07-02 | 2008-11-18 | Macrovision Corporation | Methods and apparatus for client aggregation of television programming in a networked personal video recording system |
US8438601B2 (en) | 2003-07-02 | 2013-05-07 | Rovi Solutions Corporation | Resource management for a networked personal video recording system |
US7984468B2 (en) | 2003-11-06 | 2011-07-19 | United Video Properties, Inc. | Systems and methods for providing program suggestions in an interactive television program guide |
US20050160465A1 (en) * | 2004-01-21 | 2005-07-21 | United Video Properties, Inc. | Interactive television system with automatic switching from broadcast media to streaming media |
US20060242406A1 (en) | 2005-04-22 | 2006-10-26 | Microsoft Corporation | Protected computing environment |
CA2576865C (en) | 2004-08-09 | 2013-06-18 | Nielsen Media Research, Inc. | Methods and apparatus to monitor audio/visual content from various sources |
US8086575B2 (en) | 2004-09-23 | 2011-12-27 | Rovi Solutions Corporation | Methods and apparatus for integrating disparate media formats in a networked media system |
US8806533B1 (en) | 2004-10-08 | 2014-08-12 | United Video Properties, Inc. | System and method for using television information codes |
US8347078B2 (en) | 2004-10-18 | 2013-01-01 | Microsoft Corporation | Device certificate individualization |
US8176564B2 (en) | 2004-11-15 | 2012-05-08 | Microsoft Corporation | Special PC mode entered upon detection of undesired state |
US8464348B2 (en) | 2004-11-15 | 2013-06-11 | Microsoft Corporation | Isolated computing environment anchored into CPU and motherboard |
US8336085B2 (en) | 2004-11-15 | 2012-12-18 | Microsoft Corporation | Tuning product policy using observed evidence of customer behavior |
US7669056B2 (en) * | 2005-03-29 | 2010-02-23 | Microsoft Corporation | Method and apparatus for measuring presentation data exposure |
US7493021B2 (en) * | 2005-03-24 | 2009-02-17 | International Business Machines Corporation | Method and apparatus for using closed captioning data to identify television programming content for recording |
US8438645B2 (en) | 2005-04-27 | 2013-05-07 | Microsoft Corporation | Secure clock with grace periods |
US8229283B2 (en) * | 2005-04-01 | 2012-07-24 | Rovi Guides, Inc. | System and method for quality marking of a recording |
US9973817B1 (en) | 2005-04-08 | 2018-05-15 | Rovi Guides, Inc. | System and method for providing a list of video-on-demand programs |
US8725646B2 (en) | 2005-04-15 | 2014-05-13 | Microsoft Corporation | Output protection levels |
US9436804B2 (en) * | 2005-04-22 | 2016-09-06 | Microsoft Technology Licensing, Llc | Establishing a unique session key using a hardware functionality scan |
US9363481B2 (en) | 2005-04-22 | 2016-06-07 | Microsoft Technology Licensing, Llc | Protected media pipeline |
US7400364B2 (en) * | 2005-04-26 | 2008-07-15 | International Business Machines Corporation | Sub-program avoidance redirection for broadcast receivers |
KR100707189B1 (en) * | 2005-04-29 | 2007-04-13 | 삼성전자주식회사 | Apparatus and method for detecting advertisment of moving-picture, and compter-readable storage storing compter program controlling the apparatus |
US20060265758A1 (en) | 2005-05-20 | 2006-11-23 | Microsoft Corporation | Extensible media rights |
US8353046B2 (en) | 2005-06-08 | 2013-01-08 | Microsoft Corporation | System and method for delivery of a modular operating system |
US7788266B2 (en) | 2005-08-26 | 2010-08-31 | Veveo, Inc. | Method and system for processing ambiguous, multi-term search queries |
US20070074125A1 (en) * | 2005-09-26 | 2007-03-29 | Microsoft Corporation | Preview information for web-browsing |
US20070079342A1 (en) | 2005-09-30 | 2007-04-05 | Guideworks, Llc | Systems and methods for managing local storage of on-demand content |
US7646962B1 (en) | 2005-09-30 | 2010-01-12 | Guideworks, Llc | System and methods for recording and playing back programs having desirable recording attributes |
JP2009512352A (en) * | 2005-10-14 | 2009-03-19 | ユナイテッド ビデオ プロパティーズ, インコーポレイテッド | System and method for recording a plurality of programs using one tuner |
US8582946B2 (en) | 2005-11-04 | 2013-11-12 | Rovi Guides, Inc. | Systems and methods for recording programs using a network recording device as supplemental storage |
US8731379B1 (en) | 2005-11-04 | 2014-05-20 | Rovi Guides, Inc. | Systems and methods for recording programs with a network recording device upon failure of a user's equipment |
US9113107B2 (en) | 2005-11-08 | 2015-08-18 | Rovi Guides, Inc. | Interactive advertising and program promotion in an interactive television system |
US20070156521A1 (en) | 2005-12-29 | 2007-07-05 | United Video Properties, Inc. | Systems and methods for commerce in media program related merchandise |
US9015736B2 (en) | 2005-12-29 | 2015-04-21 | Rovi Guides, Inc. | Systems and methods for episode tracking in an interactive media environment |
US9681105B2 (en) | 2005-12-29 | 2017-06-13 | Rovi Guides, Inc. | Interactive media guidance system having multiple devices |
US8607287B2 (en) | 2005-12-29 | 2013-12-10 | United Video Properties, Inc. | Interactive media guidance system having multiple devices |
US7962942B1 (en) | 2006-02-28 | 2011-06-14 | Rovi Guides, Inc. | Systems and methods for enhanced trick-play functions |
US7774341B2 (en) | 2006-03-06 | 2010-08-10 | Veveo, Inc. | Methods and systems for selecting and presenting content based on dynamically identifying microgenres associated with the content |
US8316394B2 (en) | 2006-03-24 | 2012-11-20 | United Video Properties, Inc. | Interactive media guidance application with intelligent navigation and display features |
WO2007146876A2 (en) | 2006-06-15 | 2007-12-21 | The Nielsen Company | Methods and apparatus to meter content exposure using closed caption information |
US7661121B2 (en) * | 2006-06-22 | 2010-02-09 | Tivo, Inc. | In-band data recognition and synchronization system |
US8832742B2 (en) | 2006-10-06 | 2014-09-09 | United Video Properties, Inc. | Systems and methods for acquiring, categorizing and delivering media in interactive media guidance applications |
US20080155615A1 (en) * | 2006-12-22 | 2008-06-26 | Guideworks, Llc | Systems and methods for supporting multi-user media content access using index points |
US20080184026A1 (en) * | 2007-01-29 | 2008-07-31 | Hall Martin H | Metered Personal Computer Lifecycle |
US7801888B2 (en) | 2007-03-09 | 2010-09-21 | Microsoft Corporation | Media content search results ranked by popularity |
US8418206B2 (en) | 2007-03-22 | 2013-04-09 | United Video Properties, Inc. | User defined rules for assigning destinations of content |
US20090019492A1 (en) * | 2007-07-11 | 2009-01-15 | United Video Properties, Inc. | Systems and methods for mirroring and transcoding media content |
US20090165036A1 (en) * | 2007-12-21 | 2009-06-25 | Guideworks, Llc | Deleting two or more stored media program references based on at least one program reference attribute |
US8601526B2 (en) | 2008-06-13 | 2013-12-03 | United Video Properties, Inc. | Systems and methods for displaying media content and media guidance information |
US8624908B1 (en) | 2008-06-27 | 2014-01-07 | Rovi Guides, Inc. | Systems and methods of transitioning from buffering video to recording video |
US8327402B1 (en) | 2008-07-15 | 2012-12-04 | United Video Properties, Inc. | Methods and devices for presenting an interactive media guidance application |
US10063934B2 (en) | 2008-11-25 | 2018-08-28 | Rovi Technologies Corporation | Reducing unicast session duration with restart TV |
US9166714B2 (en) | 2009-09-11 | 2015-10-20 | Veveo, Inc. | Method of and system for presenting enriched video viewing analytics |
US9014546B2 (en) | 2009-09-23 | 2015-04-21 | Rovi Guides, Inc. | Systems and methods for automatically detecting users within detection regions of media devices |
US8359616B2 (en) | 2009-09-30 | 2013-01-22 | United Video Properties, Inc. | Systems and methods for automatically generating advertisements using a media guidance application |
US20110081129A1 (en) * | 2009-10-07 | 2011-04-07 | Rovi Technologies Corporation | Broadband recording method and apparatus for video and/or audio programs |
TW201136313A (en) * | 2010-04-08 | 2011-10-16 | Hon Hai Prec Ind Co Ltd | 3D image monitor system and method |
US20110276882A1 (en) | 2010-05-04 | 2011-11-10 | Kai Buehler | Automatic grouping for users experiencing a specific broadcast media |
US9204193B2 (en) | 2010-05-14 | 2015-12-01 | Rovi Guides, Inc. | Systems and methods for media detection and filtering using a parental control logging application |
US9736524B2 (en) | 2011-01-06 | 2017-08-15 | Veveo, Inc. | Methods of and systems for content search based on environment sampling |
US9049073B2 (en) | 2011-06-28 | 2015-06-02 | Rovi Guides, Inc. | Systems and methods for initializing allocations of transport streams based on historical data |
US8949901B2 (en) | 2011-06-29 | 2015-02-03 | Rovi Guides, Inc. | Methods and systems for customizing viewing environment preferences in a viewing environment control application |
EP2735141A4 (en) | 2011-07-18 | 2015-03-04 | Viggle Inc | System and method for tracking and rewarding media and entertainment usage including substanitally real time rewards |
US8805418B2 (en) | 2011-12-23 | 2014-08-12 | United Video Properties, Inc. | Methods and systems for performing actions based on location-based rules |
US20140196062A1 (en) | 2013-01-10 | 2014-07-10 | United Video Properties, Inc. | Systems and methods for setting prices in data driven media placement |
US9848276B2 (en) | 2013-03-11 | 2017-12-19 | Rovi Guides, Inc. | Systems and methods for auto-configuring a user equipment device with content consumption material |
US9674563B2 (en) | 2013-11-04 | 2017-06-06 | Rovi Guides, Inc. | Systems and methods for recommending content |
US9264656B2 (en) | 2014-02-26 | 2016-02-16 | Rovi Guides, Inc. | Systems and methods for managing storage space |
US9485525B1 (en) * | 2014-04-15 | 2016-11-01 | Google Inc. | Systems and methods for using closed captions for television viewership measurement |
Family Cites Families (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3845391A (en) * | 1969-07-08 | 1974-10-29 | Audicom Corp | Communication including submerged identification signal |
US4025851A (en) * | 1975-11-28 | 1977-05-24 | A.C. Nielsen Company | Automatic monitor for programs broadcast |
US4058829A (en) * | 1976-08-13 | 1977-11-15 | Control Data Corporation | TV monitor |
US4216497A (en) * | 1976-10-18 | 1980-08-05 | E-Systems, Inc. | Apparatus for monitoring a multichannel receiver |
US4163254A (en) * | 1977-02-14 | 1979-07-31 | Block Robert S | Method and system for subscription television billing and access |
US4420769A (en) * | 1978-03-22 | 1983-12-13 | Novak Albert P | Device for the automatic editing, at the receiver, of unwanted program material from broadcast electrical signals |
US4230990C1 (en) * | 1979-03-16 | 2002-04-09 | John G Lert Jr | Broadcast program identification method and system |
EP0049280B1 (en) * | 1980-03-31 | 1990-10-31 | General Instrument Corporation | A television communication arrangement for transmitting data signals |
US4331973A (en) * | 1980-10-21 | 1982-05-25 | Iri, Inc. | Panelist response scanning system |
US4450531A (en) * | 1982-09-10 | 1984-05-22 | Ensco, Inc. | Broadcast signal recognition system and method |
US4639779A (en) * | 1983-03-21 | 1987-01-27 | Greenberg Burton L | Method and apparatus for the automatic identification and verification of television broadcast programs |
US4805020A (en) * | 1983-03-21 | 1989-02-14 | Greenberg Burton L | Television program transmission verification method and apparatus |
US4573072A (en) * | 1984-03-21 | 1986-02-25 | Actv Inc. | Method for expanding interactive CATV displayable choices for a given channel capacity |
US4697209A (en) * | 1984-04-26 | 1987-09-29 | A. C. Nielsen Company | Methods and apparatus for automatically identifying programs viewed or recorded |
CA1208761A (en) * | 1984-06-06 | 1986-07-29 | Cablovision Alma Inc. | Method and device for remotely identifying tv receivers displaying a given channel by means of an identification signal |
US4677466A (en) * | 1985-07-29 | 1987-06-30 | A. C. Nielsen Company | Broadcast program identification method and apparatus |
US4720873A (en) * | 1985-09-18 | 1988-01-19 | Ricky R. Goodman | Satellite audio broadcasting system |
-
1988
- 1988-12-20 US US07/287,452 patent/US4857999A/en not_active Expired - Fee Related
-
1994
- 1994-07-27 CA CA000616889A patent/CA1337363C/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US4857999A (en) | 1989-08-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1337363C (en) | Method for television signal data extraction | |
CA2036205C (en) | Program monitoring unit | |
EP0617871B1 (en) | In-station television program encoding and monitoring system and method | |
EP0248533B1 (en) | Method, apparatus and system for recognising broadcast segments | |
US4605964A (en) | Method and apparatus for editing the output of a television set | |
CA2551998C (en) | Methods and apparatus to distinguish a signal originating from a local device from a broadcast signal | |
CN101077014B (en) | Methods and apparatus to monitor audio/visual content from various sources | |
US4972471A (en) | Encoding system | |
CA1279124C (en) | Program identification method and apparatus | |
EP0210609A2 (en) | Broadcast program identification method and apparatus | |
EP0367585A2 (en) | Electronic data encoding and recognition system | |
JPH01284092A (en) | Method and apparatus for discriminating and eliminating specific data from video signal | |
JP2000517141A (en) | Signal detection device and method for audience measurement | |
WO2003028377A1 (en) | Apparatus and method for selecting key frames of clear faces through a sequence of images | |
JPH06243539A (en) | Method for obtaining video structure information | |
US20050254711A1 (en) | Method and apparatus for detecting local features of video, and recording medium storing the method | |
US5987150A (en) | Video capturing using on-screen graphics | |
WO1994011995A1 (en) | Video logging system and method thereof | |
CA1332462C (en) | Video monitoring system | |
CN100452855C (en) | Method for inserting data into a timer for a video recording device | |
EP2257041A1 (en) | Detection method of television shopping program, and video apparatus using method | |
JPH03173291A (en) | Method for generating digital sign from video signal or tv transmitting frame | |
KR200328758Y1 (en) | Search and conviction system using data and digital video data | |
DE4040814C2 (en) | Method for receiving video signals on a plurality of channels to be scanned cyclically | |
US7826674B1 (en) | Content signal analysis |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MKLA | Lapsed | ||
MKLA | Lapsed |
Effective date: 20001017 |