United States Patent5488409
Yuen , ; et al.January 30, 1996

Title

Apparatus and method for tracking the playing of VCR programs

Abstract

A video tape player monitors the selection habits of a viewer selecting from a plurality of video tapes. Each video tape contains a plurality of programs. A first type of video tape has a title information symbol contained in a predetermined interval of the tape, e.g. the vertical blanking interval, for each program on the tape. A clock provides the time of occurrence of commands. A detector receives user inputted commands for controlling the movement of the video tape such as play, record, stop. The user inputted commands comprise a start play command to start moving, in a longitudinal direction, the video tape proximate to a magnetic head so that the magnetic head can detect the programs on the video tape and a stop command to stop moving the tape. A controller is coupled to the detector for commanding the motor in response to the detected user inputted commands and for reading the time of occurrence of the commands. A first memory stores a title information symbol for each program on a second type of video tape. A second memory stores the title information symbol and the time of occurrence of the detected user inputted commands. The contents of the second memory is provided to an external analyzer.


Inventors:Yuen; Henry C. (Redondo Beach, CA), Kwoh; Daniel S.  (La Canada, Flintridge CA)
Appl. No.:122794
Filed:September 16, 1993

Current U.S. Class:725/41 725/55 360/27 360/72.2 386/83 
Field of Search:348/1,5,2,906 455/2 360/27,69,72.2 358/335

U.S. Patent Documents
4574304March 1986Watanabe et al.
4622583November 1986Watanabe et al.
4677466June 1987Lert, Jr. et al.
4792864December 1988Watanabe et al.
4864432September 1989Freer
4885632December 1989Mabey et al.
5047867September 1991Strubbe et al.
5165069November 1992Vih et al.
5293357August 1994Hallenbeck
5319453June 1994Copriuza et al.
Primary Examiner: Groody; James J.
Assistant Examiner: Burgess; Glenton B.
Attorney, Agent or Firm:Christie, Parker & Hale

Parent Case Text



CROSS REFERENCE TO RELATED APPLICATION

This is a continuation-in-part of patent application Ser. No. 08/066,666, filed May 27, 1993, which is a continuation-in-part of application Ser. No. 08/014,541, filed Feb. 8, 1993, which is a continuation-in-part of application Ser. No. 08/001,125, filed Jan. 5, 1993, which is a continuation-in-part of application Ser. No. 07/883,607, filed May 7, 1992, now abandoned, which is a continuation-in-part of application Ser. No.07/817,723, filed Jan. 7, 1992, now abandoned, which is a continuation-in-part of application Ser. No. 07/805,844, filed Dec. 5, 1991, now abandoned, which is a continuation-in-part of application Ser. No. 07/747,127, filed Aug. 19, 1991, now abandoned, the subject matter of which is incorporated herein by this reference.

Claims


What is claimed is:
1. A video tape player for monitoring user selection habits of a plurality of video tapes, each video tape containing a plurality of programs, a first type of video tapes having a title information symbol on a predetermined interval of the tape for each program on the tape, the video tape player comprising:
a clock for providing a time;
means for moving the video tape;
a magnetic head for detecting the plurality of programs recorded on the video tape and the title information symbols on the first type of video tape and a plurality of programs recorded on a second type of video tape;
a detector for receiving user inputted commands for controlling the movement of the video tape, the user inputted commands comprising a start play command to start moving, in a longitudinal direction, the video tape proximate to the magnetic head so that the magnetic head can detect said programs on the video tape and a stop play command to stop moving the tape;
a controller coupled to said detector for commanding the moving means in response to said detected user inputted commands and reading the time of occurrence of said detected user inputted commands;
a first memory for storing a title information symbol for each program on the second type of video tape;
a second memory for storing the title information symbol and the time of occurrence of said detected user inputted commands; and
means for providing the contents of the second memory to an external analyzer in response to a download command.

2. The video tape player of claim 1 wherein said predetermined interval of said video tape signals comprises a vertical blanking interval of said broadcast video tape.

3. The video tape player of claim 1 further comprising:
a receiver capable of receiving broadcast video signals;
a decoder coupled to said receiver for decoding signals contained in a predetermined interval of said broadcast video signals to produce information signals;
means for displaying on a TV receiver an icon to alert a user to the presence of information signals and for displaying a code to be entered by a user for storing the information signals;
a third memory;
means, responsive to the user entered code, for storing in the third memory the information signals; and,
means responsive to a user input for displaying for review the stored information from the information signal; and
means for storing in the second memory the time of occurrence of any of said user inputs.

4. The video tape player of claim 1 further comprising a controller for providing the download command upon a match between the clock time and a predetermined time.

5. The video tape player of claim 1, wherein the providing means is a telephone interface.

6. The video tape player of claim 1, wherein the title information symbol on the first type of tape is a UPC number.

7. A method for monitoring information for analyzing user selection habits of viewing programs recorded on video tape, the method comprising the steps of:
(a) monitoring for record or play commands from either user inputted commands or a microprocessor controller in an indexing VCR;
(b) if a play command is detected,
(1) reading from a directory, a title of a program retrieved from the video tape;
(2) reading the time of the receipt of the play command;
(c) if a record command is detected,
(1) reading from a video signal a title of a program being broadcasted that is to be recorded on the tape;
(2) reading the time of the receipt of the record command;
(d) monitoring for a stop play or stop record command from either user inputted commands or the microprocessor controller;
(e) reading the time of the receipt of the stop play or stop record command;
(f) storing in a memory the title, start time, stop time, and either a play flag or a record flag corresponding to whether a play or record command was received; and
(g) providing to an information analyzer the stored information contents of the memory.

8. A method for monitoring information for analyzing user selection habits of viewing a program on a plurality of video tapes played on a VCR having stored in a memory a directory of the programs corresponding to the plurality of video tapes, the method comprising the steps of,
(a) monitoring for record or play commands from either user inputted commands or a microprocessor controller in an indexing VCR;
(b) if a play command is detected, flagging in the directory the time that the program was played;
(c) if a record command is detected, flagging in the directory the time that the program was recorded;
(d) providing the contents of the memory to an information analyzer; and
(e) determining user selection habits from the contents of the memory.

9. A method for monitoring user habits of viewing an electronic television guide with video clips, the television guide comprising a list of broadcasted programs as a video picture in the form of a grid recorded in repeating frames on the video track of a tape at selected intervals, a plurality of full motion picture video clips, single video clips associated with one of the listed programs recorded in an interval between frames of listed programs, and information recorded in the VBI of the video picture of the list of programs on the video track, the information recorded in the VBI including information for locating on a display a cursor for highlighting a listed program, an address on the tape of the video clip associated with the highlighted program, and a code associated with the highlighted program for preprogramming a VCR for recording the highlighted program, the method comprising the steps of:
detecting a user selection command;
if the user selection command is a preprogramming command, storing in a memory the code and the time of the user selection command; and
if the user selection command is a play command, storing in the memory the address associated with the highlighted program and the time of the user selection command.

10. An interconnected video tape player system for monitoring user selection habits of a plurality of video tapes, each video tape containing a plurality of programs, a first type of video tapes having for each program on the tape a title information symbol on a predetermined interval of the tape, the system comprising:
a bus;
a plurality of video tape players, each being coupled to the bus for receiving and sending data and commands between players, one of the players being designated as a master player and the other players being designated as slave players, each player being identified by a unique player identifier, each player comprising:
a clock for providing a time;
means for moving the video tape;
a magnetic head for detecting the plurality of programs recorded on the video tape and the title information symbols on the first type of video tape and a plurality of programs recorded on a second type of video tape;
a detector for receiving user inputted commands for controlling the movement of the video tape, the user inputted commands comprising a start play command to start moving, in a longitudinal direction, the video tape proximate to the magnetic head so that the magnetic head can detect said programs on the video tape and a stop play command to stop moving the tape;
a controller coupled to said detector for commanding the moving means in response to said detected user inputted commands and for reading the time of occurrence of said detected user inputted commands;
a first memory for storing a title information symbol for each program on the second type of video tape; and
a second memory for storing the title information symbol and the time of occurrence of said detected user inputted commands;
the master player further comprising:
means for providing the contents of the second memory to an external analyzer in response to a download command, and
a second controller for providing bus commands to the bus, the bus commands including a memory transfer command and a player identifier, and for storing in the second memory of the master player data received on the bus in response to the memory transfer command;
each slave player further comprising means for providing to the bus the contents of the second memory in response to said memory transfer command and said player identifier when said identifier matches the unique identifier of the player.

11. A method for monitoring information for analyzing user selection habits of viewing programs recorded on a video tape comprising the steps of:
a) monitoring user inputted commands;
b) when a play command is detected;
1) storing an identifier of the program being retrieved from the video tape; and
2) storing the time of the play command;
c) when a stop command is detected after a start command is detected storing the time of the stop command; and
d) providing to an information analyzer the stored information.

12. A method for monitoring information for analyzing user selection habits of viewing programs recorded on a video tape comprising the steps of:
a) monitoring for play and stop commands a microprocessor controller in a VCR;
b) when a play command is detected;
1) storing an identifier of the program being retrieved from the video tape; and
2) storing the time of the play command;
c) when a stop command is detected after a start command is detected storing the time of the stop command; and
d) providing to an information analyzer the stored information.

13. A method for monitoring information for analyzing user selection habits of viewing programs recorded on a video tape comprising the steps of:
a) monitoring user inputted commands;
b) when a record command is detected;
1) storing an identifier of the program being broadcasted that is being recorded on the tape;
2) storing the time of the record command;
c) when a stop command is detected after a start command is detected storing the time of the stop command; and
d) providing to an information analyzer the stored information.

14. A method for monitoring information for analyzing user selection habits of viewing programs recorded on a video tape comprising the steps of:
a) monitoring for record and stop commands a microprocessor controller in a VCR;
b) when a record command is detected;
1) storing an identifier of the program being broadcasted that is being recorded on the tape;
2) storing the time of the record command;
c) when a stop command is detected after a start command is detected storing the time of the stop command; and
d) providing to an information analyzer the stored information.

Description

FIELD OF THE INVENTION

This invention relates to apparatus and methods for facilitating and monitoring the management, storage and retrieval of programs on a cassette of magnetic tape, and, more particularly, for the automatic monitoring of the operation of a video cassette recorder.

BACKGROUND OF THE INVENTION

Advertising rates for commercials of television programs are determined by the expected size of viewer audience for television programs. These expectations are usually determined from the estimated audience sizes of previously broadcast shows. For example, a weekly television series will estimate its audience size for upcoming episodes based on the estimated size of previously broadcasted episodes. In addition, advertising rates may be adjusted based on an after the fact estimation of the market share for the televised program. The present systems for estimating market share involve survey evidence such as the Nielsen ratings. Previous market data was taken by selecting households to record their viewing habits. For example, a selected household might record in a written journal or diary when members of the household turn on and turn off the television, what channels are selected, and the number of viewers in the room. This data may alternatively be collected by providing the user with an electronic device where he pushes a button that indicates the turning on or off of the television and the channel selected. Other systems are connected directly to the television that will monitor power on and off and the channel and time of the selected programs. These monitoring systems are typically wired to a dedicated telephone line, and when instructed, they dump their memory over a phone line to a central computer for analysis.

However, these monitoring systems are inadequate for monitoring when a viewer records a program on a video tape using a video cassette recorder. For recording programs, the VCR may be operated independently of turning the television set on, and thus the systems will not detect the fact that the program was recorded. When the recorded program is subsequently viewed, the systems will note that the television is turned on but the selected channel is typically an uncommon television channel, such as channel 3 or 4, which is selected every time the VCR is operated. Even knowing that the television has been turned on, the monitoring system cannot determine the program that is being played. In addition, an individual may watch a recorded program several times over periods of years. The diary entry system is also erroneous because a viewer may not be inclined to record his entries or may make false entries.

Publishers of video tapes presently have no method for determining the frequency of viewing of their video tapes. In particular, one type of video tape contains a plurality of different video programs. For example, a Jane Fonda workout tape may contain ten different exercises ranging from an initial warmup to segments exercising leg muscles, segments for exercising upper body muscles, and a final cool down segment. While exercising viewers may skip certain strenuous segments on a regular basis. However, the video publisher does not know that such skipping occurs, By knowing that one video segment is not being watched, the publisher can either modify the segment or eliminate it completely. For example, in the Jane Fonda workout video example, the strenuous exercise segment may be reduced to being less strenuous or a separate tape could be generated without the strenuous segment and marketed as a low impact exercise tape.

SUMMARY OF THE INVENTION

A video tape player monitors the selection habits of a viewer selecting from a plurality of video tapes. Each video tape contains a plurality of programs. A first type of video tape has a title information symbol contained in a predetermined interval of the tape, e.g. the vertical blanking interval, for each program on the tape. A clock provides the time of occurrence of commands. A detector receives user inputted commands for controlling the movement of the video tape. The user inputted commands comprise a start play command to start moving, in a longitudinal direction, the video tape proximate to a magnetic head so that the magnetic head can detect said programs on the video tape and a stop command to stop moving the tape.

A controller is coupled to said detector for commanding the motor in response to said detected user inputted commands and for reading the time of occurrence of said detected user inputted commands. A first memory stores a title information symbol for each program on a second type of video tape. A second memory stores the title information symbol and the time of occurrence of said detected user inputted commands. A circuit provides the contents of the second memory to an external analyzer.

In another embodiment, an indexing video tape system has a video tape recorder. A VBI decoder decodes information from the vertical blanking interval of a video signal provided by either a remote broadcaster, the video tape recorder, or another video tape recorder. A VBI encoder encodes information on the vertical blanking interval of a video signal that is provided to the video tape recorder. A first memory stores directory information of a video tape. A display shows the directory information or the decoded information. A circuit receives user selected commands. A controller of the tape system receives the user selected commands and the information and uses the commands and the directory and decoded information to operate the indexing video tape system. A circuit monitors the operations from the controller. A second memory stores the monitored operations.

In one embodiment, the circuit that monitors the operations from the controller also determines the time of the occurrence of the user selected commands.

The system periodically provides the monitoring data to an information analyzer.

In a method for monitoring information for analyzing user selection habits of viewing a plurality of programs recorded on a video tape, record or play commands for either user inputted commands or a microprocessor controller in an indexing VCR are detected. If a play command is detected, a title of one of the plurality of programs recorded on the video tape is read from a directory. The start time of the receipt of the play command is also read.

If a record command is detected, a title of a program being broadcasted that is to be recorded on the tape is read from a video signal. The start time of the receipt of the record command is read. A stop play or stop record command is monitored and detected. The stop time of the receipt of the stop command is read The title, start time, stop time, and either a play flag or a record flag corresponding to whether a play or record command was received are stored in a memory. The contents of the memory are provided to an information analyzer. User selections habits are determined from the contents of the memory.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing features of the present invention will be better understood upon consideration of the following detailed description of certain preferred embodiments taken in conjunction with the accompanying drawings in which:

FIG. 1 is a block diagram illustrating an indexing video cassette recorder, using a hybrid indexing system that provides indexing of recorded programs for home recorded tapes, prerecorded tapes, and retroactively indexed tapes, and a standard video cassette format, and that has a directory controller, a bus interface, and an output interface and embodies the invention;

FIG. 2 is a schematic conceptually illustrating a structure of data stored in the RAM of the directory controller of FIG. 1 according to a specific implementation of the present invention;

FIG. 3 is a schematic illustrating a conceptual structure of an in-use directory in the data structure of FIG. 2 according to a specific implementation of the present invention;

FIG. 4 is a graphical representation of the format of the information recorded on the magnetic tape in the cassette of FIG. 1 with markers and directories in the control track;

FIG. 5 is a graphical representation of the format of the information recorded on the magnetic tape in the cassette of FIG. 1 with markers in the control track and the directories in the fields of the video frames;

FIG. 6 illustrates an embodiment of a remote control unit for operating the indexing VCR of FIG. 1;

FIG. 7 is a schematic view of an embodiment for storing tape identification numbers and program numbers using a VISS PLUS TP data packet address system;

FIG. 8 is a schematic view of the embodiment of FIG. 7 where a program has been overwritten on the tape;

FIG. 9 is a functional block diagram showing a multiple VCR system for transferring directory data between the VCRs over a communication bus;

FIG. 10 is a schematic view showing the format for an embodiment of the directory packet recorded in the VBI for prerecorded tapes;

FIG. 11 is a schematic view showing the format for an embodiment of the directory packet D(0) for the tape title recorded in the VBI for prerecorded tapes;

FIG. 12 is a schematic view showing the format for an embodiment of a TP packet recorded on the VBI for HR tapes and PR tapes;

FIG. 13 is a schematic diagram showing the format for an embodiment of a TID for an HR tape;

FIG. 14 is a schematic diagram showing the format for an embodiment of a TID for a PR tape;

FIGS. 15a-15b are flow charts showing the steps employed in the operation of the indexing VCR, using the VISS PLUS TP addressing system, when a tape is inserted therein;

FIG. 16 is a flow chart showing the steps employed in the operation of an indexing VCR using a VISS PLUS TP addressing system of writing a tape identification and a program number to a home recorded tape (HR tape) during recording;

FIG. 17 is a flow chart showing the steps employed in the search for a program on an indexed tape using a VISS PLUS TP addressing system;

FIG. 18 is a flow chart showing the steps employed in the search for a program on an indexed tape using a VISS PLUS TP addressing system and an absolute addressing system;

FIG. 19 is a flow chart showing the steps employed in the processing of program related information;

FIG. 20 is a schematic diagram of the display of the program related information stored in the buffers;

FIG. 21 is a flow chart showing the steps employed in the operation of the indexing VCR 10 for video magazines;

FIG. 22 is a flow chart showing the steps employed in the operation of recording an electronic program guide;

FIG. 23 is a flow chart showing the steps employed in the operation of the index functions for an electronic guide using the indexing VCR;

FIG. 24 is a schematic diagram of the display of the directory selected in FIG. 23;

FIG. 25 is a schematic diagram of the display of the directory including the electronic guide selected in FIG. 23;

FIG. 26 is a schematic diagram illustrating the electronic program guide with a video grid and video clips with an exploded view of a movie guide portion of the guide;

FIG. 27 is a flow chart showing the steps employed in the operation of the indexing VCR for an electronic program guide using a video grid and video clips

FIG. 28 is a flow chart showing the steps employed in the operation of temporarily indexing portions of a video tape between VISS marks;

FIG. 29 is a flow chart showing the steps employed in the operation of playing temporarily indexed portions of a video tape between VISS marks;

FIG. 30 is a schematic view showing the format for the pointer packet data broadcasted in the VBI for auxiliary information;

FIG. 31 is a schematic view showing the format for the CSPG/PRI packet data recorded in the VBI as pointed to by the pointer in line 21 of the VBI;

FIG. 32 is a schematic view showing the video magazine (VM) packet used for video magazines;

FIG. 33a is a flow chart showing the steps performed by the controller when an enhanced tape is inserted into the VCR embodying the present invention;

FIGS. 33b-33n are flow charts showing the steps performed by the controller when different keys are pressed;

FIGS. 34a-34p illustrates the different screens displayed by the VCR embodying the present invention;

FIGS. 35a-35c illustrate the steps of different procedures performed by the VCR embodying the present invention;

FIG. 36 illustrate how instant information is decoded from the VBI and used in the VCR embodying the present invention;

FIG. 37 is a flowchart showing the steps for extending the recording of a broadcasted program;

FIG. 38 is a flowchart showing the steps employed in the operation of the parental control feature of the indexing VCR;

FIG. 39a is a flowchart showing the steps employed in the monitoring of signals representative of user selections of program viewing from the remote controller; and

FIG. 39b is a flowchart showing the steps employed in the monitoring of signals representative of user selections of viewing or recording auxiliary information.

DETAILED DESCRIPTION

The Indexing VCR

FIG. 1 is a block diagram of an indexing VCR system 10 including a video cassette reader/recorder (VCR) 1 with a conventional video tape cassette 40, a video display 50, and a directory controller 30. The VCR 1 is a video reader/recorder device and uses any one of many different recording technologies such as BETA, VHS, super VHS, 8 mm, VHS-C or any other popular technologies. In particular, VHS-C indexed tapes can be played directly on a VHS indexing VCR with full index functioning. The cassette 40 is a conventional video cassette having a magnetic tape 42 packaged in a cartridge 40a or cassette housing (hereafter called cassette) and transported between a feeding spindle 40b and a takeup spindle 40c. Even though the size and design of the housing is different for different types of recording technology, the basic information that goes on the tape itself is similar. The technology and operation of a VCR are well understood in the art.

The VCR 1 has a button control panel 3 with control buttons, including LOAD 3a, PLAY 3b, STOP 3c, RECORD 3d, and EJECT 3e, for controlling the operation of the VCR 1. The LOAD button 3a is optional and is not used on machines which load automatically. The VCR control logic circuit 21 receives control signals from the button control panel 3 and controls the overall operation of the VCR 1 by sending control signals to a motor and mechanical control logic circuit 5, a video logic circuit
7, a position logic and counter circuit 9, and a control and audio track head logic circuit 11 of the VCR 1, as well as to the video display 50 and the microprocessor controller 31 of the directory controller 30.

The motor and mechanical control logic circuit 5 controls loading and ejecting of the cassette 40 and also controls movement of the video tape 42 within the video cassette 40 during recording, reading (playback), fast forward, and rewind. The video logic circuit 7 controls the operation of a video read/write head drum 13 in reading from or recording video signals to the tape 42. The electrical signals are magnetically coupled between the video logic circuit 7 and the video head drum 13 using a winding 14. The position logic and counter circuit 9 monitors tape movement through a cassette tape movement sensor 22 and generates signals that represent tape position. The control and audio track head logic circuit 11 controls writing, reading, and erasing of signals on the control or audio track of the tape 42 through the write head 19, the read head 17, and the erase head 15.

The directory controller 30 includes a microprocessor controller 31, a random access memory (RAM) 33 and a directory input/output display and control panel 32. Preferably the microprocessor controller 31 comprises an integrated circuit microprocessor, a program store, such as a read-only-memory (ROM), for storing a control program to implement methods of the invention, and a clock 31a for generating a clock signal for timing functions and providing the time. The time may be set using the directory input/output display and control panel 32 in a manner known in the art. The microprocessor controller 31 controls the sequence and operation of the directory controller 30 and interfaces with the VCR control logic circuit 21 to implement the necessary functional capabilities for reading, updating and recording the directory. The microprocessor controller 31 in the indexing VCR 10 performs all indexing functions and human interface, interprets (e.g. tab, indent, screen format, attributes) and processes the auxiliary information display. An exemplary implementation of the microprocessor controller 31 is illustrated in the parent patent application Ser. No. 08/066,666. Alternatively, the VCR 1 may maintain the time. The RAM
33 is a conventional random access semiconductor memory which interfaces directly with the microprocessor controller 31. The RAM 33 is preferably non-volatile. Alternatively, the RAM 33 is battery backed up. A portion of the RAM 33 shown as system data 33b, is also used for storing the system software of the microprocessor controller 31. The RAM 33 is also used for storing the program directory 33a and the monitoring data 33c. The size of the RAM 33 is at the discretion of the manufacturer. However, the RAM 33 preferably can store the directory of at least 100 tapes. Accordingly, the RAM 33 is preferably at least 128k bits. Effective memory size of the RAM 33 may be increased by using well known data compression techniques. Data recorded in the RAM 33 may be encoded or scrambled. An exemplary method of encoding is the secret key data encryption standard (DES) proposed by IBM and adopted by NBS in 1978. An exemplary scrambling method is disclosed in the parent patent application Ser. No. 08/066,666. The encoding and decoding programs are stored in the ROM. The directory input/output display and control panel 32 has an alphanumeric keyboard 32a and special function keys, such as a SEARCH key 32b for commanding searches for data in the directory 33a and on the tape 42, a MODIFY key 32c for modifying or deleting directory information in the RAM 33, and an ENTER key 32d for entering program directory information. Instead of providing special function keys, functions can also be initiated by entering predefined sequences of conventional keys on the alphanumeric keyboard 32a.

A display 32e is a conventional liquid crystal or other type of display for displaying data being entered on the keyboard 32a, and to display the directory or other information stored in the RAM 33. Alternately, as discussed below, an on-screen display 50a can be used. The directory information stored in the RAM 33 is processed by the microprocessor controller 31.

The VCR 1 additionally comprises a character generator circuit 23 coupled to the VCR control logic circuit 21 and to a character generator read-only memory (ROM) 25. Character generators are well-known in the art. Typically, the character generator ROM 25 stores a data table representing pixel or bit patterns of a plurality of alphanumeric characters, such as the Roman alphabet and the Arabic numerals. Upon command by the VCR control logic circuit 21 and the character generator circuit
23, the data in the character generator ROM 25 is read and placed in an output signal to the video display at a position on the display determined by coordinates generated by the microprocessor controller 31. The end result is visual display of a alphanumeric character on the display screen. Character generators are well-known for channel display in television receivers, and for use in professional titling equipment.

The screen 50a is preferably 36 characters.times.15 rows. As will be described below, a broadcaster preferably broadcasts auxiliary information in this format. For displays with a different format, the indexing VCR 10 reformats the information. For example, a VCR with a higher screen display density, such as 36 characters.times.15 rows, may center the information in the 24 characters.times.10 rows format. Alternatively, for a higher screen display density, the data may be broadcasted at the higher density. When there are more rows than can be displayed on one page, the indexing VCR 10 displays a message, such as "(MORE)," to inform the user that there is another page of information.

Commercially available decoder circuits well known in the art for decoding the closed caption broadcasting system for the deaf can be optionally connected to the directory controller 30 for automatic generation of the program title for the directory of the program being recorded. Television broadcasts include titles and subtitles transmitted during the Vertical blanking interval (VBI) portion (described below) of the broadcast video signal, which can be decoded and displayed as text subtitles along with the video image by means of special decoding circuitry. Regular TV receivers do not decode nor process the signal, but with special decoder circuitry, the encoded text can be extracted and fed to the directory controller 30 for automatic generation of the title of the program being recorded. The extracted, decoded program title can be edited by a user or saved in the directory. Thus, the extracted program title can serve as an alternate data input source for the program directory, reducing the needed amount of user input. Other auxiliary information described below may also be broadcast during the VBI.

As shown in FIG. 1, caption decoding can be implemented by coupling an input of a VBI signal decoder 60a to the output of a tuner 61 which is generally included in the majority of consumer VCR's for off-the-air recording. The tuner 61 receives a broadcast TV signal from an antenna 63 or a cable TV signal source 64. Both the decoder, the tuner, and the interaction of both, are conventional in the art. Examples of commercially available VBI caption decoders include the TeleCaption 4000 Adaptor, commercially available from National Caption Institute, Falls Church, Va., and Teletext Decoder, available from Norpak Corporation, Ottawa, Canada. In a specific embodiment of the present invention, the VBI decoder 60a is a circuit from ITT with part number of CCD3000. The CCD3000 decoder may be set to decode a selected field and line of the VBI by setting a control and status register. Field selection is accomplished by selectively setting bit 4 of the IM BUS control register with a RAM address of
02H. Line selection is accomplished by selectively setting the IM Bus control register a with RAM address of 04H. (See "CCD 3000 Closed-Caption Decoder preliminary", table 4.2, page 31, Edition Apr. 22, 1991, ITT Semiconductors.) A decoder signal line
65 is coupled from the decoder to the VCR control logic circuit 21 to carry decoded caption data to the control logic circuit. The VCR control logic circuit 21 is commanded by the microprocessor controller 31 to pass the decoded data to the directory
33a under control of a stored program in the RAM 33. The program then causes the caption information to be stored as a program title in the directory and displayed on the display 50. The VBI data is sent to the RAM 33 during or immediately before the display of an on-screen directory at step 1408 described below for FIG. 35a, so that when the directory is displayed, the caption data immediately appears in the directory display. A user then can edit the caption to adjust it as desired.

Caption data is placed in a broadcast TV signal by a broadcast TV station in a continuous stream; a user of the VCR 1 cannot stop or slow down the stream without additional hardware. Thus, it is possible that the first caption data received by the antenna 63 is not the program title. This problem can be overcome by coupling a data buffer memory 62 to the decoder. Under control of the decoder, all caption data received by the VBI decoder 60a is stored in the caption buffer and serially output to the VCR control logic circuit 21. Each caption data word is displayed in the directory, and the user presses the ENTER button to accept the word and store it as a program title. For a period of time dependent on the size of the buffer and the rate of data received by the VBI decoder 60a, received data remains in the buffer from which it can be recalled by a user and saved as a program title. When the buffer 62 fills, any additional data words received will cause overflow, resulting in loss of the earliest received word. If a large enough buffer 62 is used, this overflow effect will not be a problem. The functions of reviewing buffered data and storing saved titles can be controlled by a stored computer program or subroutine in the RAM 33.

Not only can the information (e.g. title, subtitle, program identification) transmitted during the VBI portion be displayed in real time or used to generate program title for the directory, it can be utilized to further facilitate operation of the VCR. For example, by monitoring the transmitted title, the VCR can automatically detect the end of a program and stop recording thereto. Also by monitoring the VBI portion used for transmitting the title, the VCR can filter out (in recording a program) segments that are unrelated to the program (e.g. commercials), by temporarily stopping the VCR if changes in the title portion are detected.

It is disclosed in the preceding paragraphs that the VBI data may be broadcast at a relatively high repetition rate prior to broadcast, enabling a suitable decoder to detect the data. In the system of FIG. 1, the decoder 60a can be designed to receive and store in buffer 62 the program identification information from line 21 of field 2 of each frame. Using suitable logic, the program title and other information can be stored automatically in the directory 33a, without user intervention.

Caption data decoding is further described in the following specifications, which are hereby incorporated by reference herein: Title 47, Code of Federal Regulations, Part 15 as amended by GEN. Docket No. 91-1; FCC 91-119; "CLOSED CAPTION DECODER REQUIREMENTS FOR THE TELEVISION RECEIVERS"; Title 47, C.F.R., Part 73.682(a)(22), Caption Transmission format; Title 47, C.F.R. Part 73.699FIG. 6; "TELEVISION SYNCHRONIZING WAVEFORM"; Title 47, C.F.R., Part 73.699, FIG. 17A; "LINE 21, FIELD 1 DATA SIGNAL FORMAT"; and PBS Engineering Report No. E-7709-C, "TELEVISION CAPTIONING FOR THE DEAF: SIGNAL AND DISPLAY SPECIFICATIONS".

Memory Structure

Now the memory structure of the RAM 33 is described by referring to FIG. 2 which is a schematic conceptually illustrating a typical structure of the directory stored in the RAM 33 according to one embodiment of the present invention. The RAM 33
can be viewed conceptually as having an area 1010 for storing operation flags. These flags include a mode flag (MODEFLAG) 1011 for indicating the operation speed (e.g. SP, LP, or SLP) of the VCR 1 and which will be changed whenever the operation speed of the VCR 1 is changed. A tape length flag (TAPELNG) 1012 indicates the length (e.g. E-60, E-90, E-1200 ) of an inserted tape 42. A second memory flag 1014 (SECMEM) stores access information of a secondary memory which may be provided on the cassette
40 for storing directory information. For example, if the secondary memory is a magnetic strip on the housing, SECMEM 1014 may store the recording density of a magnetic strip, or if the secondary memory is a semiconductor memory on the cassette housing SECMEM 1014 may store the access time and capacity thereof.

The flags also include a feature control field (FTCNTL) 1013 for specifying the VCR functions that are available to a user. In the simplest case, if a secondary memory is needed on the cassette for storing directory information, FTCNTL 1013 will be set in one way if an inserted cassette has the secondary memory and in another way if the inserted cassette has no secondary memory. FTCNTL 1013 may also specify other functions, and can be set by reading a code carried at a predetermined area of the cassette (e.g. on a magnetic strip on the cassette housing).

Area 1010 also stores a message pointer 1017 pointing to a message area 1022 which stores input and output messages; and a CDTL pointer 1019 pointing to a CDTL buffer 1024 which stores channel-date-time-length (CDTL) data of future recordings.

In a preferred embodiment, a library 1023 is also provided in the RAM 33. The library 1023 stores directories of tapes which users of the VCR 1 have archived. Each directory stored in the library contains substantially the same information as the in-use directory. If a library is present, a library pointer 1015 is provided for pointing to the library 1023.

A directory pointer 1018 is also provided for pointing to an in-use directory 1021 which stores the directory of the currently inserted tape. This directory pointer 1018 may actually point to a location in the library wherein the directory of the tape is located.

In addition, the area 1010 also stores a volume number field (VOLNO) 1016 which stores a counter value representing the number of tape directories already stored in the library 1023. Other flags may be added as needed.

Referring to FIG. 3, which is a schematic illustrating a conceptual structure of the in-use directory 1021 in the data structure of FIG. 2, the in-use directory 1021 stores the directory of the cassette tape currently inserted into the VCR 1. For each program recorded on the cassette tape, a corresponding entry 1041 is set up in the in-use directory 1021. For purposes of illustration, FIG. 3 shows the entry 1041 only for program 1. However, each program similarly has an entry 1041. Each entry 1041 stores a title or program name (PROGRAM) 1042; a program address (LOC) 1043 which stores the absolute tape counter value of the beginning of the program; a program length value (LENGTH) 1044 which stores the length of the recorded program, represented as a function of the difference between its address from the address of the next program or record or a measure of time from a fixed reference point, such as the beginning of the tape; an optional program type field (TYPE) 1045 which stores the category of the recorded program; an optional program audience field (AUDIENCE) 1046 which stores the recommended audience of the program; and an optional recording speed (SPEED) 1047 which stores the speed at which the program is recorded.

A current tape location (CURRENT LOC) 1049 is also stored in the directory for indicating the absolute position from the beginning of the tape 42 in the cassette 40 where the valid directory is located, or the value of the tape counter when the tape is ejected. This field is used for setting the tape counter when the tape is reloaded into the VCR 1. The recording on the tape of the absolute tape position is described below.

A field 1051 is a pointer pointing to the address of the first entry of the directory 1021 represented in FIG. 3 by an arrow pointing to the program name (PROGRAM) 1042. Each entry also has a field 1048 storing the address of the next entry in the directory also represented in FIG. 3 by an arrow pointing to program 2. These fields provide a link from one entry to the next entry and are used for facilitating search, deletion, and addition of entries. In the preferred embodiment, the directory information is not stored on the tape 42, but is retrieved from the library 1023. In this embodiment, a volume label (VOLNO) 1050 is provided in the in-use directory 1021. This field is used for retrieving the directory information of the tape from a library 1023 stored in the RAM 33.

Each item in the directory can be modified through the use of the buttons on the keyboard 32a and the special function keys 32b, 32c, 32d of the directory controller 32, as will be described below.

Tape Format

By way of background, the format of the tape 42 is now described. FIGS. 4 and 5 illustrate the information content of one example of video tape for both BETA and VHS format which both use the same general tape layout. The tape 42 is divided into three areas. A narrow strip running along the upper edge of the tape 42 is an audio track 42a which contains audio signals. A second narrow strip running along the bottom edge of the tape is a control track 42c which contains synchronization ("sync") control signals. The middle area 42b is for video signals which are recorded in pairs of parallel fields going up and down the width of the tape at a slight angle. The markers 110, and 114 indicate the location of the directory on the tape. Directory 112, 116 are recorded in one embodiment on the control track and in the other in the video frames.

The video head drum 13 is fitted with two read/record heads 180 degrees apart, so that even numbered lines make up one field and odd numbered lines make up the other field. To reduce flicker on the video screen, these fields are projected onto the face of the cathode ray tube (CRT) screen 50a of the video display 50 at alternating intervals.

Decoding VBI Information

Video images in cathode ray tube (CRT) type video devices (e.g. television) are generated by scanning a beam along a predefined pattern of lines across a screen. Each time all the lines are scanned, a frame is said to have been produced. Each video frame in the broadcast signal is divided into two fields, referred to as field 1 and field 2.

The VCR control logic circuit 21 scans the beam typically from the top, left hand corner and scans across the screen. After it finishes scanning one line, the beam returns to the left-hand side and repeats along another line which is parallel to but lower than the previous line. The scanning continues along the odd-numbered lines until the beam reaches the center of the bottom part of the screen. These odd-numbered lines form field 1.

From the bottom center of the screen, the beam returns to the top, where it starts scanning from substantially the center of the screen along the even-numbered lines which interlace the lines of field 1. The even-numbered lines form field 2. When the beam reaches the bottom, right-hand corner of the screen, a picture frame is formed. In the NTSC protocol widely used in North America, each field contains 262.5 horizontal lines and a pair of fields constitute a single 525 line video frame and creates one video picture at one instant in time on the video display 50.

During the time in which the beam returns from the bottom to the top of the screen, it carries no video signals because it does not produce any picture element on the screen. This time interval is generally known as the vertical blanking interval (VBI). Its duration is generally about twenty times the time duration that the beam takes to scan across the screen. In other words, the length of the VBI is equal to the time for the beam to scan several lines. Thus, the VBI typically contains a plurality of lines and is identified by the field with which it is associated. Apparatus and methods using these techniques are well known in the art and therefore are not discussed in detail herein.

Since no image element is produced on a television screen during a vertical blanking interval, no information therefore needs to be carried by the broadcast signals. Thus, proposals have made to use the VBI for conveying auxiliary information from a television network or station to the audience. For example, Closed-Caption data associated with a television program are transmitted as encoded composite data signal during VBI line 21, field 1 of the standard NTSC video signal, at a rate of 480
bits per second. In the above-identified Draft EIA-608, information are sent in the VBI as packets. Currently, six classes of packets are proposed, including:

a "Current" class for describing a program currently being transmitted

a "Future" class for describing a program to be transmitted later

a "Channel Information" class for describing non-program specific information about the transmitting channel

a "Miscellaneous" class for describing other information

a "Public Service" class for transmitting data or messages of a public service nature such as National Weather Service Warnings and messages and

a "Reserved" class reserved for future definition.

According to the E.I.A. proposal, a packet is preceded by a Start/Type character pair, followed by information/informational characters pairs until all the informational characters in the packet have been sent.

Table I lists a subset of the control and type codes of various kinds of information to be broadcasted in the VBI according to the E.I.A. proposal. For example, to transmit the program identification number (scheduled start time) of a program, a control code of 01h, a type code of 01h and a packet of four characters (one character specifying the minute, one character specifying the hour, one character specifying the date and one character specifying the month) are sent. Similarly, to transmit the program name, a control code of 01h, a type code of 03h and a packet of between 2 to 32 characters are sent. As another example, the VBI may also be used to transmit a time-of-day value, by sending a control code of 07h, a type code of 01h and a packet of two characters.

TABLE I ______________________________________ TYPE CONTROL CODE CODE ______________________________________ 01h 01h PROGRAM IDENTIFICATION NUMBER (PROGRAM START TIME) (CURRENT CLASS) 02h LENGTH/TIME- IN-SHOW 03h PROGRAM NAME 04h PROGRAM TYPE 05h PROGRAM AUDIENCE 06h AUDIO SERVICES 06h AUDIO SERVICES 07h CAPTION SERVICES 09h ASPECT RATIO INFORMATION 0Ch COMPOSITE PACKET-1 0Dh COMPOSITE PACKET-2 10h-17h PROGRAM DESCRIPT- ION YOU 1 TO YOU 05h 01h NETWORK NAME (CHANNEL
02h CALL LETTERS INFORMATION (STATION ID) CLASS) AND NATIVE CHANNEL 07h 01h TIME OF DAY (MISCELLANEOUS) 02h IMPULSE ID 03h SUPPLEMENTAL DATA LOCATION ______________________________________

As an optional embodiment, a field, hereinafter referred to as a "program category" is also provided. The program category identifies the kind, such as whether the corresponding program is a sport program, a movie, a talk show, and so forth. The availability of this program category field further facilitates selection of recorded programs and operation of the VCR. The program category can be entered in the same way as a title. This is, the program category can be transmitted during the VBI portion of the broadcast video signal, and decoded by means of special decoding circuitry; alternatively, it can be entered by means of a jog shuttle knob as described above.

Indexing Overview

The VCR uses the directory described herein to perform searches of the user's tape library to find the tape that a selected program is on. The directory of a particular tape may be searched using keywords, or title information to locate a program on the tape. The tape may then be advanced to the selected program. Indexing is used herein to describe these searches, the generation of these directories, and all related functions.

The indexing VCR 10 provides a hybrid method for indexing recorded programs, which are recorded on one of three types of tape: home recorded tapes, prerecorded tapes, and retroactively indexed tapes. A home recorded tape (HR tape) is a tape on which the user has made recordings from broadcast or cable by either real time recording, timer programming his VCR, or using a "VCR PLUS+.TM." programming system. As will be described below, the index is created at the time of recording by the VCR. The second type of tape is a prerecorded tape (PR tape) that is a commercially purchased tape, such as a Raquel Welch work-out tape, a karaoke tape, songs, lectures or speeches, that contains many titles on it or may contain only one program. These tapes are not expected to be overwritten. The index is stored on the tape by the video publisher at the time of the recording. The third type of tape is a retroactively indexed tape (RI tape) which is a previously unindexed recorded tape on which the user retroactively adds an index. For this type of tape, the index is added by the VCR at the time of the retroactive indexing. For the HR tapes and the RI tapes which are both produced by the home VCR, the directories all reside in the RAM 33 of the indexing VCR 10.

As will be described in detail below, HR and PR tapes have tape identification numbers (TID) written at some repetition rate along the whole tape on a VBI line. Alternative tape formats are described in the parent patent application Ser. No.
08/066,666.

If the directory or directories are stored in the video fields, corruption of video signals with directory signals on selected video fields, such as a few odd fields spaced apart by a certain number of fields, has little noticeable visual degradation of the video picture. This is because the human brain retains a visual image for a brief period after the image is removed ("persistence of vision").

The TID's reference the tape to a corresponding directory stored in the RAM 33. When a HR tape is inserted into the VCR, the VCR locates and reads the tape identification and then retrieves the corresponding directory from the RAM 33. This operation is preferably independent of the point of tape insertion to thereby effectively create a random access capability for selections on the tape. On the other hand, for PR tapes which are produced by the video publisher, the directory is stored on the tape preferably by writing it repeatedly on a VBI line. When the PR tape is inserted into an indexing VCR, the indexing VCR 10 independently of the point of tape insertion can quickly locate and read a copy of the directory from the VBI line. Thus, the PR tape can be read by random access also.

In one embodiment, RI tapes are created by only writing VISS marks on the control track and manually entering the program title information into the memory. Because this embodiment does not add TID information to the tape itself, the user must identify the tape to the indexing VCR. Once the tape is identified, the VCR operates as if the RI tape is an HR tape. Consequently, the tape becomes random access at this time and not when the tape is first inserted. In another embodiment, the TID is written on the control track of RI tapes.

The VCR 1 includes a VBI encoder 60b coupled to the video logic circuit 7 which receives digital data, such as tape label (e.g. a volume number), directory, and/or addresses, from the microprocessor controller 31 and encodes such data for recording into the VBI portion of the video signals which are to be recorded on the cassette tape 40. When line 21 field 2 is encountered, the digital data stored in the registers are output so that they can be written on the video track as described above.

VBI encoder 60b can be implemented in a similar manner as one of those already existing in the art, e.g. encoders for encoding closed-caption data into the VBI portions of video signals. An exemplary implementation of the VBI encoder 60b is also illustrated in the parent patent application Ser. No. 08/066,666.

It needs to be noted that although the decoder 60a in the embodiment is used both for decoding broadcast signals and recorded signals, it will be understood that a separate decoder can be provided for each operation. Moreover, although the decoder 60a and the encoder 60b are shown and described as two units, they can be incorporated into a single semiconductor chip or implemented by discrete logic components.

Prerecorded Tape

As described above, prerecorded tapes (PR tape) are manufactured by a tape publisher and contain a plurality of different titled programs thereon. A program directory or directories containing information about the names and locations of each program or record on the tape is stored on the tape. In one of the specific embodiments, the label (e.g. a volume number or a name) for the tape is also recorded.

Either the video frames 42b or the control track 42c (see FIGS. 4-5) may be used for storing the program directory(s). In one embodiment, the program directory is stored, by the VCR control logic circuit 21 under control of the microprocessor controller 31, in the control track 42c and in another embodiment in odd and/or even numbered fields of spaced apart pairs of video fields, either as full video frame or in the VBI.

Using The Control Track

It is well understood that modern video recorders typically have a capstan for pulling the cassette tape past a rotating video head drum. The control track 42c on the tape is normally provided for recording a synchronization pulse for synchronizing the rotation of the capstan with the rotation of the video head drum. The synchronization pulse is conventionally a 30 Hz pulse, with only the leading edge being used for the synchronization. According to the present invention, directory information can be stored on the control track by modifying the control track pulse duty cycle so that the location of the flux reversal on a prerecorded video tape is modified so that these relative locations represent digital data.

An exemplary circuit for modifying the duty cycle of the control track pulse is shown in the parent patent application Ser. No. 08/066,666.

Remote Controller

The VCR 1 also comprises a remote commander unit 75 which communicates through wireless means with a remote signal receiver 29 in the VCR. As is known in the art, the remote commander comprises a plurality of push buttons, switches, and a jog shuttle knob which create output signals. The signals are transmitted by wireless means known in the art, such as infrared transmission or radio-frequency signals, to the remote signal receiver 29. The receiver 29 decodes the received signal and passes the decoded data to the VCR control logic circuit 21.

FIG. 6 illustrates an embodiment of a remote control unit 75. The unit 75 comprises a hand-held housing 1322 provided with a plurality of push buttons 1301-1319. A remote jog shuttle knob 1320 is provided for hand-held operation of the jog shuttle feature of the VCR. A command mode selector switch 1301 enables activating the control unit. A plurality of number keypad buttons 1302 enable remote entry of numbers for commands and selections, such as channel numbers. An ENTER button 1303 is used to enter channel numbers and menu options in the methods discussed below. A menu button 1304 is used to display a menu of user options, as discussed below. A plurality of cursor movement buttons 1305, each marked with an arrow, is used to move an on-screen cursor in various menu operations. An antenna TV/VTR button 1306 is used to command the video display 50 to display a signal coming either from an antenna or the output of the VCR 1. A power switch 1307 enables turning power to the VCR 1 on and off. A TV/VTR switch 1308 enables selectively using the remote control unit to control the VCR 1 or the video display 50. An input select button 1309 enables selection of the source to be recorded. Channel change buttons 1310 enable toggling the channel selection up and down. Similarly, volume buttons 1311 enable toggling the volume louder or softer. A record mode button 1312 enables selection of recording tape speed. A timer clear button 1313 is used to clear timer settings of the VCR. A timer record button 1314 is used to enter a timer recording mode. An index button 1315 is used to enter an index mode. Other buttons 1316-1319 can be used to control various functions on the VCR, including the direction, speed, and mode of the tape transport. These buttons include rewind, play, stop, and fast forward and whose functions and implementation are well known in the art.

A print button 9702 allows the user to print on hard copy or to disk the directory or other information in the RAM 33. An eject button 9703 is used to eject the cassette 40 from the VCR. A page up button 9704 and a page down button 9705 are used to move up or down pages on the screen. A cancel button 9706 is used to cancel selections made. A library button 9710 is used to retrieve directories. A VCRPlus+.TM. button 9711 is used to enter "PLUSCODE.TM." numbers.

An edit button 9713 is used to edit selections on the screen. A review button 9714 is used to review stored selections. An erase button 9715 is used to erase selections. An info ("i") button 9721 is used to request or store auxiliary information as described below such as to store "PLUSCODE.TM." numbers or channel-date-time-length data associated with a separate broadcast that provides additional information related to the program or commercial being viewed. A program identification (PGM ID) button 9724 is used to display the program title and other information of the program being viewed either direct from cable or airwaves or from tape.

Alternatively, the VCR 1 or the display controller 30 may include these buttons.

Alternatively, the remote controller 75 may be included in a television remote controller or a universal remote controller which control a television or a plurality of electronic devices respectively.

Various methods of combining steps of key strokes may be used. For example, pressing the "i" button twice in rapid succession may be used to review information stored. Pressing the "i" button three times in rapid succession may be used to cancel a selection.

Directory

For HR and RI tapes, the directories are stored in the RAM 33 and referenced either by the TIDs which are written repeatedly on line 19 of the VBI for HR tapes or by a tape number inputted by the user, which the indexing VCR 10 uses to cross reference to a TID for RI tapes. For PR tapes, the directory is written repeatedly, preferably as often as space allows, on line 20 of both fields of the VBI. Alternatively, the directory is written repeatedly on a line pointed to by a pointer in line
21, field 2. As a default, if the indexing VCR 10 cannot find a pointer in line 21, it looks for the directory in line 20. The recording format is per the E.I.A. specifications on Extended Data Services. The directory is stored as D(N) data packets, defined below in conjunction with FIG. 10, which contains all the information that relates to a program entry in the directory. Alternatively, the D(N) packet may be written in two or more lines to speed up the read process. Also, the D(N) packet may be written at a faster rate, such as two to four times faster, than the E.I.A. specification. The D(N) data packet contains a program entry where N ranges from 1 to the maximum program numbers in the directory. For PR tapes, the TID and the program number are repeatedly written on both fields of line 19 of the VBI.

For RI tapes, the RAM 33 is capable of storing the program number and up to 32 characters per title.

When a PR tape is inserted into an indexing VCR 10, the indexing VCR 10 reads the VBI line 19 to quickly determine the TID and program number and then stops. When the user presses the Index button, the indexing VCR 10 determines from the TID that the tape is not a HR tape. The indexing VCR 10 then goes into PLAY mode and reads the directory from VBI line 20 and displays it on-screen.

Addressing System

FIG. 7 is a schematic view of an embodiment for storing tape identification numbers and program numbers using a VISS PLUS TP data packet address system. In this embodiment, the system writes a TP data packet, which comprises a TID and a program number in line 19 of the VBI. As will be described below, the TP data packet may be written on other lines of the VBI where a pointer on VBI line 21 points to these other lines. However, the default mode uses line 19. The program number represents the order in which the program was recorded. For example, program 3 is the third program written on the tape. If program 3 is the last program written on the tape, the next program that is written has a program number of 4, even if the program is physically written on the tape before program 3. The format of the TP packet is described below in conjunction with FIGS. 12-14. The recording format for the TP data packet conforms with the E.I.A. specifications on Extended Data Services. As will be described below in conjunction with FIGS. 13-14, the TID is constant for a tape. The program number is constant within a program, but changes from program to program.

As a subset of the VISS PLUS TP system, the indexing VCR 10 uses a VISS system to write a VISS mark on the control track 42c at the beginning of each program on the tape. RI tapes use only the VISS system. The VISS marks serve as "file marks" for searching for the starting points of programs.

For HR and PR tapes, the VISS PLUS TP system is used. In this system, the TID and program number are written in TP data packets at a high repetition rate, e.g., about once every 1/12 seconds, on line 19 of both fields of the VBI. The VISS marks on the control track serve as file marks for searching for the starting points of the programs. The TP data packets serve as road marks so that upon insertion of the cassette into the indexing VCR 10, the current tape location can be quickly determined. In addition, the address system provides a method for determining the length of programs as they are recorded or modified, as will be described below.

As an overview, when an HR or PR tape is inserted into the indexing VCR 10, the indexing VCR 10 scans the VBI for a predetermined time, e.g., two seconds, and quickly determines from surrounding TP data packets the TID of the tape and the current program number. When the user presses the Index button, the indexing VCR 10 retrieves the directory from the RAM 33 and displays it. When the user requests the indexing VCR 10 to move to the starting point of another program, the indexing VCR 10
executes a search by either fast forwarding or rewinding the tape while counting the number of VISS marks in the control track to the destination location.

For an RI tape, because the TP data packet is not written on the VBI or elsewhere on the tape, a different method is employed. Instead, when a RI tape is ejected from the indexing VCR 10, the current program number at the time of ejection (also referred to as an ejection program number) is stored in the RAM 33. The next time that the RI tape is inserted into the indexing VCR 10, the indexing VCR 10 attempts to find a TP packet in the VBI. Because no TP packet is found, the indexing VCR 10
prompts the user to enter the assigned tape number, when the user presses the Index button. Using this number, the indexing VCR 10 determines the corresponding TID, recovers from the RAM 33 the ejection program number and uses it as the current program number, and displays the directory. At this time, the indexing VCR 10 may search using the search process described above for HR and PR tapes.

In summary, Table II shows the directory and address systems for the 3 types of tapes.

TABLE II ______________________________________ Tape Type Directory Address System ______________________________________ HR RAM 33 in indexing VCR 10 VISS + TP PR VBI on tape VISS + TP RI RAM 33 in indexing VCR 10 VISS ______________________________________

In an alternate embodiment to the VISS+TP system, the indexing VCR 10 also uses an absolute address system (also called VISS+TP+AA). Several absolute address systems are described in detail in conjunction in the parent patent application Ser. No. 08/066,666. The absolute address system provides faster searches. The address serves as "road marks" so that the current tape location can be quickly determined. In some indexing VCRs, the VISS marks cannot be monitored during high speed fast forward or rewind, but only at moderate search speed (semi-load condition). In contrast, the reel ratio can be measured at very high speed fast forward or rewind (unloaded condition). Using the absolute address calculated from the reel ratio, the indexing VCR 10 can search the tape. The absolute address system also provides a more accurate determination of locations on the tape, and consequently a more accurate calculation for the length of programs and blank spaces on the tape. For example, referring now to FIG. 8, a program five is recorded on a previously recorded HR tape starting in the middle of a previously recorded program two and ending after the beginning of a previously recorded program three. As seen in FIG. 8, when program five is recorded, the indexing VCR 10 writes a VISS mark at the beginning of program five and writes a TP packet (shown as TP(5) corresponding to program five in line 19 of the VBI. Upon reaching the start of program three, the indexing VCR 10 erases the VISS mark corresponding to the start of program three and writes a new mark at the end of program five which becomes the start of the remaining portion of program three. The absolute address is a measure of the distance from the beginning of the tape. For example, an address with a value of 1120 may represent a distance from the beginning of the tape after the take-up spool spindle has made 140 revolutions (with 8 counts per revolution). This information may be written once every few seconds. Alternatively, the absolute address may represent the time from the beginning of the tape. Because the play time depends on the recording speed of the tape, the time from the beginning of the tape should also account for the different tape speeds. With an absolute address system, the indexing VCR 10 can automatically calculate the length of programs two and three and correspondingly update the directory. Without an absolute address system, the indexing VCR 10 can flag the length of programs two and three as being unknown and when the tape is played, measure the length of the programs for a later updating of the directory. Alternatively, in an indexing VCR 10 without an absolute address system, the indexing VCR 10 may force new programs to be written at the starting point of an old program to avoid programs of unknown length.

Interconnected VCRs

Multiple indexing VCRs in the same household create a special problem. The user wants to use an indexed tape interchangeably between all of his indexing VCRs. However, since the directory of HR and RI tapes resides in the VCR and does not travel with the tape, the consequence may seem to be that tapes can only be used in the VCR in which they are created. To solve this problem, the different indexing VCRs in the same household are able to communicate.

Referring now to FIGS. 1 and 9, a multiple VCR system 8000 comprises a plurality of indexing VCR systems 10 connected by a bus cable 8006 to a bi-directional bus 8004. The microprocessor controller 31 transmits and receives data and commands over a line 8007 to a bus interface circuit 71 which processes data to communicate between the microprocessor controller 31 and the bus 8004.

Bus Embodiment

Bus Description

In one embodiment of the bus system, the bus 8004 is a bi-directional bus. An external device 73, such as an external RAM, is coupled to the bus 8004. A description of the external device 73 is described below. The bus interface circuit 71
comprises a transmitter (not shown) for driving signals on the bus and a receiver (not shown) for receiving signals from the bus. Within the bus interface circuit 71, a transmitter (not shown) is a TTL open collector driver preferably capable of sinking
16 milliamps. A driver (not shown) is preferably pulled up to +5 V by an internal 1.0 kiliohm resistor. The receiver provides a maximum load to the bus of one standard TTL load. The bus 8004 is preferably active low. When there are no bus activities, the bus 8004 stays at the high state. The driver drives the bus by pulling the bus 8004 low. Preferably, the indexing VCR 10 is the master of the bus 8004 and initiates all transactions on the bus.

The data on the bus 8004 is preferably transmitted serially. The data is defined by data cells where each data cell is defined to be the time slot between two successive high to low transitions. The bit length is preferably from 0.2
milliseconds to 2 milliseconds. The data is preferably encoded by 7 bits with an odd parity LSB bit providing a total length of 8 bits first Manchester coding method. The separation between bytes preferably is 1 to 10 milliseconds. The communication is reset, if no data is transmitted for longer than 10 milliseconds, to avoid bus lock ups. The bus interface circuit 71 communicates over a line 8011 through a connector 8008 to the line 8006. The connector 8008 is preferably an RCA phono female connector.

Bus control protocol and command packet format

The indexing VCR 10 sends over the bus 8004 a bus command packet to the external device 73 to request data. The command packet has a format:

______________________________________ Command [ data ] ______________________________________ 1 byte N byte ______________________________________

The command symbol is one byte long and ranges in value from 00 hex to 7F hex. A data symbol follows the command symbol and ranges in length from 0 to N bytes of data. N can be sufficiently large so that the data byte includes the entire directory of a tape. In response to the command packet, the external device 73 sends back either a return code or data based on the command issued by the indexing VCR 10. Table III lists the commands for the bus.

TABLE III ______________________________________ Command Data Description ______________________________________ 01hex -- Check if external device is ready. 02hex PRI Print PRI data. 03hex Send directory to RAM 33. 04hex -- Request for the first TID stored in RAM 33. 05hex -- Request for the next TID stored in Ram 33. 06hex -- Request for the previous TID stored in RAM 33. 07hex TID Request external device 73 to send and the Xth entry of the specified tape. number X 08hex TID Request external device 73 to send copy version number of the tape specified. 09hex TID Request external device 73 to send program number for next recording for the specified tape. Others Reserved for later expansion. ______________________________________

The indexing VCR 10 issues a 01hex command on the bus 004 to check if the external device 73 is ready. This command is preferably issued before other commands to check the device. After issuing the command, the indexing VCR 10 waits for the return code. If 00hex is returned on the bus, the external device 73 is ready. If 7F hex is returned, the external device 73 is busy. If no response is received on the bus, the commanded external device 73 may be non-existent. The indexing VCR 10
retransmits the command to again check status. The indexing VCR 10 stops further commands to the external device 73, if the device is not ready.

The indexing VCR 10 issues a 02hex command on the bus to command the external device 73 to print PRI data. After issuing the command packet, the indexing VCR 10 issues the PRI packet to the external device 73. If the external device 73 accepts the packet, it returns a 00hex code. Otherwise, it returns a 7F hex code.

The indexing VCR 10 issues a 03hex command to save the directory of one tape to the external RAM 33. Before transmitting the directory, the indexing VCR 10 reformats the information into the D(N) and TP packet format described below in connection with FIGS. 25 and 27, respectively. The first packet includes the TID and the copy version number (described below) in the same format as the TP packet. The next packet is the D(0) packet which describes the tape parameters, including tape length and reel diameter. The remaining directory entries are transmitted in the D(N) packet format in the order of their location from the beginning of the tape. A TP packet is sent after the last D(N) packet to indicate the end of transmission. This TP packet includes the TID and the program number for the next recording. The external device 73 returns a 00hex code, if it receives all packets. Otherwise, it returns a 7F hex code. In response thereto, the indexing VCR 10 may resend the data.

The indexing VCR 10 issues a 04hex command to request the first TID stored in the external RAM 73. In response thereto, the external device 73 returns the first TID stored therein. In combination with the 05hex and 06hex commands (to be described below), the indexing VCR 10 can use the 04hex command to read out all the TIDs in the external RAM 73. The external device 73 returns a 7F hex code, if there is no TID inside the device 73.

The indexing VCR 10 issues a 05hex command to request the next TID stored in the external RAM 73. In response thereto, the external RAM 73 returns the next TID in the RAM 73. After the last TID is returned, the external RAM 73 returns a 7F hex code.

The indexing VCR 10 issues a 06hex command to request the previous TID stored in the external RAM 73. In response thereto, the external RAM 73 returns the previous TID in the RAM 73. This allows the indexing VCR 10 to read the TID in reverse order. After the first TID is returned, the external RAM 73 returns a 7F hex code.

The indexing VCR 10 issues a 07hex command and a TP like packet, which includes the TID and a number x, to request the xth directory entry of the specified tape. In response thereto, the external device 73 returns the xth directory entry of the tape in a D(N) packet format. If, however, the TID is not in the external RAM 73, it returns a 7F hex code.

The indexing VCR 10 issues a 08hex command and the TID in TP packet format with PN set to 0 to request the copy version number. In response thereto, the external device 73 returns a TP line packet which includes the TID and the copy version number. If, however, the TID is not inside the external RAM 73, it returns a 7F hex code.

The indexing VCR 10 issues a 09hex command and the TID in TP packet with PN set to 0 to request the program number for the next recording. In response thereto, the external device 73 returns a TP like packet which includes the TID and the program number for the next recording. If, however, the TID is not in the external RAM 73, it returns a 7F hex code.

The copy version number is a 12 bit number used to check the updated status of the directory in the external RAM 73. The indexing VCR 10 stores a copy version number for each tape in the RAM 33. When a new tape is created, this number is set to zero. Every time the directory content is changed, the indexing VCR 10 increments the number by one. When a copy of a directory having the same TID is found in both the external RAM 73 and the internal RAM 33, the indexing VCR 10 uses the more updated version which is identified by comparing the copy version number and using the higher number. In this embodiment, the copy version number ranges from 0 to 4095.

In alternate embodiments, the bus interface 71 may be packaged external to the VCRs. In these embodiments, the microprocessor controller 31 communicates over the line 8007 directly to the connector 8011. The bus interface 71 is connected external to the indexing VCR 10 to the connector 8011 and to the bus 8004.

In yet other embodiments, the method of communication may be either radio transmission at UHF or modulation on an AC power line.

One method for transmitting signals on AC power lines is disclosed in U.S. Pat. No. 4,418,333 to Schwarzbach, et al., issued Nov. 29, 1983, the subject matter of which is incorporated herein by reference.

INTERFACE PORT

Referring again to FIG. 1, the VCR system 10 has an interface connector 72 which is coupled to the microprocessor controller 31 and allows communication between the microprocessor controller 31 and an external device 73. The connector 72 is preferably an RCA phono female connector. The external device 73 may be a memory, a printer, a computer, a telephone line or a specialized machine for communicating with the microprocessor controller 31.

The interface connector 72 preferably comprises a phone line terminal for connecting to a conventional telephone line (not shown). The interface connector 72 also preferably comprises a dual tone multi-frequency (DTMF) generator, an optional modem, and an optional DTMF decoder, each of which are coupled to the phone line terminal and are not shown in the drawings. The microprocessor controller 31 provides a control signal to the DTMF generator for sending standard DTMF telephone tones which are well known to those skilled in the art. The microprocessor controller 31 also has a bidirectional interface to the modem for sending and receiving conventional telephone signals. The DTMF decoder converts received DTMF tones from the phone line and sends them to the microprocessor controller 31.

In a specific implementation, the microprocessor controller 31 communicates with a printer to print coupons captured using the Auxiliary Information feature described below.

In another specific implementation, the microprocessor controller 31 may print the tape identification number labels for marking the cassette housing. For example, instead of the step 9263 described below in FIG. 15 in which the microprocessor controller 31 displays the TID assigned to the tape that is about to be ejected, the microprocessor controller 31 commands the printer to print a label with the assigned TID and prompts the user on the display to affix the label to the cassette housing.

In yet another specific implementation, the microprocessor controller 31 prints upon user command the directory of any specified tapes stored in the RAM 33.

In an alternate embodiment, in place of the interface connector, an IR detector/emitter in the VCR functions as a data port which can be used to both receive remote control commands and to transmit the directory or other information from the RAM
33 to a printer or a second machine. For example, some VCRs can control cable boxes by transmitting commands to the cable box. These VCRs may also transmit directory data or other information to an external device 73 that can receive IR commands. Alternatively, the IR detector may also be used to receive directory information downloaded from the second machine.

In an alternate embodiment to FIG. 1, as shown in FIG. 9, the interface connector 72 may be the same connector as the bus interface connector 71. In this embodiment, a plurality of external devices 73, 73' may be connected to the bus 8004. The directory may be downloaded from the RAM 33 through a bus transfer to any or all of the plurality of external devices.

In a specific implementation, the directory is downloaded either over the bus 8004 or through the interface connector 72 for backup storage. For example, backup storage may be either a tape in a second VCR or a floppy disk in a disk drive.

In another specific implementation, the external device 73 is a nonvolatile memory such as a battery supported RAM. The external RAM 73 contains sufficient memory, e.g. one megabit, for storing the entire program directory of a plurality of indexing VCRs. The external RAM 73 provides a backup to the RAM 33 in each of the user's indexing VCRs 10 to avoid loss of data during power interruptions. Further, the external RAM 73 combines the libraries of all indexing VCRs connected to the bus
8004. Consequently, each indexing VCR 10 provides indexing capability for each of the user's index tapes. The user may transfer directories between the indexing VCRs. The external RAM 73 also includes communication electronics for communicating with each device on the bus. In yet another embodiment, the external device 73 might also include a processor and a character generator. The indexing VCR 10 provides the electronic guide data over the I/O port. The external device 73 captures the data, formats it and stores it within the external RAM. At the appropriate times, the data is outputted via the character generator over the bus 8004 to the indexing VCR 10 for display on the television.

Alternatively, the bus may be an infrared link where the external device 73 has IR emitters and detectors for transmitting and receiving infrared codes to the indexing VCR 10 and television using the infrared detectors and emitters described above.

Similar to the bus interface, communication from the interface port may be either direct cable, radio transmission at UHF, infrared transmission, or modulation on an AC power line, or other memory or communication devices.

Data Format

For the data packets described below in conjunction with FIGS. 10-14, a byte refers to a seven bit data symbol plus an eighth bit which is reserved for a parity bit.

FIG. 10 is a schematic view showing the format for the directory packet recorded in the VBI for prerecorded tapes. The directory preferably provides up to 32 characters per table. A D(N) packet 2601 has the following symbols: start code, type, N, start address, stop address, record speed, program category, version, language, title text, expand byte, stop code and checksum. Table IV shows the length in bytes and the value for each symbol. The N symbol represents the program number in the directory when N is greater than 0. Each byte is a coded text number from 30 hex to 3F hex which equates to 0 hex to F hex (when N equals 0, the packet described below in conjunction with FIG. 11 is used to represent the title of the tape). The start address symbol represents the number of minutes measured in the SLP mode from the beginning of the tape to the beginning of the program. The stop address symbol represents the number of minutes measured in the SLP mode from the beginning of the tape to the end of the program. Each byte of the start address and stop address symbols is a coded hexadecimal number from 30 hex to 3F hex which form a number having the largest possible value of FFF hex. A record speed symbol defines the recording speed of the program. The recording speed symbol represents the optimal tape speed at which the indexing VCR 10 should record the program. For example, a super long play speed may be transmitted for programs, such as sports or nature programs, where the user may want to use the freeze frame feature. As another example, a standard play speed may be transmitted for recording long programs so as to conserve tape. If the recording speed is defined to be blank, the length is defined based on SLP for better resolution. An "undefined" recording speed is used when the recording speed changes during a program. Undefined values are reserved for further expansion. A program category (PC) symbol is defined per the E.I.A. definition. The version symbol identifies the version of the program titled format. For versions other than 20 hex, the indexing VCR 10 ignores the following bytes up to a terminator code (which is preferably 1E hex) and displays the titled text as a blank line. A language symbol represents different languages. The title text symbol has a length of M bytes where M is a variable even number, preferably not greater than 40, including the 1E hex terminator code. The title text symbol represents the program title in ASCII and is terminated by the character 1E hex. If the character number is odd, one more null character is added before the terminator code. In addition, an attribute character can be added to the title text to enhance the indexing display. The attribute character starts with a value of 1 D hex which is followed by a character in the range 20 hex to 7F hex. Attribute codes are defined below in conjunction with FIG. 31. The expand byte symbol has a length of N bytes where N is a variable even number from 0 to 6. The expand bytes are used for expansion code for the indexing VCR 10. The checksum symbol is defined as the modulo 128 sum of the packet from the start code to the stop code. As will be described below, the D(N) data packet 2601 is encrypted and must be decrypted by an algorithm in the microprocessor controller 31 (FIG. 1).

TABLE IV ______________________________________ Symbol Length (Bytes) Value ______________________________________ Start Code 1 07 hex Type 1 7E hex N 3 Each byte coded hex number. 30 - 3F hex Start address 3 Each byte coded hex number. 30 3F hex Stop address 3 Each byte coded hex number 30 - 3F hex Record Speed 1 20 hex: Long Play (LP) 21 hex: Standard Play (SP) 22 hex: Super Long Play (SLP) 23 hex: blank 24 hex: undefined Others: Reserved Program category (PC) 1 Per E.I.A. definition. PC Extension 1 20 hex: non- broadcast indexed material. 21 hex: video magazine. 22 hex: sales catalog. 23 hex: classified ads. 24 hex: 7F hex: reserved. Version 1 20 hex: first version Language 1 20 hex to 7F hex, 20
hex: English Title text m Terminator code: 1E hex Expand Byte n Even number 0 to 6; each byte 20 hex - 7F hex. Stop Code 1 0F hex. Checksum 2 00 hex - 7F hex ______________________________________

FIG. 11 is a schematic view showing the format for the directory packet D(0) for the tape title recorded in the VBI for prerecorded tapes. A D(0) data packet 2602 has the following symbols in order: start code, type, N, length, reserve, reel diameter, reserved, version, language, title text, expand byte, stop code and checksum.

Table V shows the length in bytes and the value of each symbol. The D(0) data packet 2602 is similar to the D(N) data packet 2601 described above in FIG. 10 where the parameters, start address, stop address, PC, and record speed are redefined to denote the length of tape and the reel diameter. The D(0) data packet 2602 is predefined as the tape parameter packet for both HR and PR tapes. The length symbol indicates the length of the tape in minutes at the SLP speed. Each byte is a coded hexadecimal number which provides a value in the range of 000 hex to FFF hex. The reel diameter symbol indicates the physical diameter of the tape reel in millimeters. The version symbol indicates the version of the tape title format. For versions other than 20 hex (the first version), the indexing VCR 10 ignores the following bytes up to the terminator code contained within the title text symbol and displays the text title as a blank line. The language symbol represents the different languages around the world. Other values for the language symbol may be defined by the manufacturer of the indexing VCR 10. The length of the title text is in bytes where M is a variable even number including the terminator code. The title text symbol represents the tape title in ASCII and is terminated by the character 1E hex. If the character number is odd, one null character is added before the terminator code 1E hex. An attribute character can be added to the text at a later stage. The expand byte symbol has a length of N bytes where N is a variable odd number ranging from zero to five. The value of the check sum is the modulo 128 sum of the packet from the start code to the stop code.

TABLE V ______________________________________ Symbol Length (Bytes) Value ______________________________________ Start Code 1 07 hex Type 1 7E hex N 3 Byte 1, 2, 3: 30 hex, 30 hex, 30 hex Length 3 Each byte coded hex number 03 hex to
3F hex Reserve 3 30 hex, 30 hex, 30 hex Reel Diameter 2 Each byte coded hex number, 30 hex - 3F hex Reserved 1 30 hex. Version 1 20 hex: first version Language 1 20 hex to 7F hex, 20 hex: English Title text m Terminator code: 1E hex Expand Byte n Odd number 0 to 5; each byte 20 hex -7F hex. Stop Code 1 0F hex. Checksum 2 00 hex - 7F hex ______________________________________

FIG. 12 is a schematic view showing the format for a TP packet recorded on the VBI for HR tapes and PR tapes. A TP packet 2603 contains both the TID 2604 and the program number. The TP packet has the following symbols: start code, type, TID, reserved, N, stop code and check sum.

Table VI shows the length in bytes and the value for each symbol. The TID symbol contains 10 bytes where each byte represents 4 bits, as will be described for the TID described in FIG. 13 for an HR tape and in FIG. 14 for a PR tape. The N symbol is defined to be the program number with each byte representing four bits for a total length of twelve bits. For communication between the indexing VCR 10 and the external device 73, the 12 bit item N may be used for other purposes. The checksum is the modulo 128 sum of the packet from the start code to the stop code.

TABLE VI ______________________________________ TP Packet on VBI Symbol Length (Bytes) Value ______________________________________ Start code 1 07 hex Type 1 7D hex TID 10 Each byte is coded hex number 30 hex - 3F hex Reserved 1 30 hex N 3 Each byte is coded hex number 30 hex - 3F hex Stop Code 1 0F hex Checksum 2 00 - 7F hex ______________________________________

FIG. 13 is a schematic diagram showing the TID for an HR tape. The TID 2604 is a 5 byte number. Bit 39 and bits 38-31 are 0. Bits 30-16 are the machine ID. Bits 15-0 are the tape number. The 16 bit machine I.D. is created as a random number which is seeded by some condition that will most likely be different between users. In a first implementation the 16 bits is broken into two eight bit numbers. At the first power up of the VCR, the counter is initialized with counting pulses of less than 0.25 milliseconds duration. The counter is stopped by the user's first and second key pressing on the remote controller. These two eight bit random numbers are then combined to form the machine identification. Because the counter is very fast and the key pressed by the user is very random, the machine identification should be sufficiently random so that two VCR's will have a 1 in 32,768 probability that two indexing VCRs have identical machine IDs. A 16 bit tape number allows each indexing VCR
10 to have 65,536 tapes stored in the RAM 33. Alternatively, the tape number may be composed of a different number of bits.

In an alternate embodiment, the machine identification portion of the 40 bits of the tape I.D. 2604 may be the Julien day, hour, and minute when the VCR is first put into use.

FIG. 14 is a schematic diagram showing the TID for a PR tape. As with the TID for an HR tape, the TID for a PR tape is a 5 byte number. Bit 39 is one, bits 38-0 are the eleven digit UPC number represented in binary form without the parity digit. By using the UPC number, businesses, such as libraries, tape rental stores, and retail outlets, can adopt the TID. Accordingly, usage of PR tapes can be monitored and analyzed. When the TID is stored into the RAM 33, 5 bytes is preferred. However, if only 4 bytes are recorded, bits 0-30 and bit 39 are stored in the RAM 33.

Operation of Identifying Tape and Recovering Directory

FIGS. 15a-15b are flow charts showing the steps employed in the operation of the indexing VCR, using the VISS PLUS TP addressing system, when a tape is inserted therein. Insertion of the cassette, as used herein, includes the manual insertion of the cassette into any mechanical tape carriage in the VCR as well as any movement by the VCR of the cassette on the carriage into an operational position adjacent heads 13, 15, 17, and 19. When a tape is inserted into the VCR (step 9240), the microprocessor controller 31 commands the VCR control logic circuit 21 to play the tape for N seconds and read the VBI for a TID and program number (step 9241': this step is referred to as step [A'] in subsequent steps of FIGS. 15a-15b). The time N is preferably between 2 to 5 seconds. In an indexing VCR using a VISS PLUS TP addressing system and an absolute addressing system, the VCR also determines the absolute address. After reading a TID and program number from the tape, the microprocessor controller 31 commands the VCR control logic circuit 21 to stop playing the tape (step 9242). After waiting for the INDEX button on the remote controller to be pressed (step 9243), if a TID and a program number were read at step 9241', the microprocessor controller 31 determines from the TID whether the tape is a home recorded tape (HR) or a prerecorded tape (PR)(step 9246').

If at step 9246' the tape is a HR tape (step 9247), the microprocessor controller 31 recovers the directory 33a corresponding to the tape with that TID from the RAM 33 (step 9248). The microprocessor controller 31 then displays the recovered directory on the video display 58a (step 9249) and then enters a ready mode (step 9251). The ready mode is a mode in which the microprocessor controller 31 knows the current address and the TID.

If at step 9246' it is determined that the tape is a prerecorded tape (step 9252), the microprocessor controller 31 reads the directory to determine if the TID is stored in the RAM 33 (step 9253). If it is in the RAM 33, the microprocessor controller 31 recovers the directory from RAM 33 as described above in step 9248. 0n the other hand, if the TID is not in the RAM 33, the microprocessor controller 31 commands the VCR control logic circuit 21 to play the tape so that the microprocessor controller 31 can read the directory from the VBI on the tape (step 9254) and then displays the read directory on the screen at step 9249.

On the other hand, if at step 9244' the indexing VCR 10 had not read a TID and program number at step 9241', and referring now to FIG. 15b, the microprocessor controller 31 displays on the screen a query as to whether the tape is a blank tape, (BT), a non-indexed tape (NI), or a retroactively indexed tape (RI) (step 9259). If at step 9259 the tape is a blank tape, the microprocessor controller 31 commands the VCR control logic circuit 21 to rewind the tape to the beginning of tape (BOT) (step
9261) and display on the screen 50a a question asking the user to enter the length of the tape (step 9262). Alternatively, the microprocessor controller 31 may automatically determine the length of the tape using one of the length determination methods described below. The microprocessor controller 31 generates a new tape identification number for the blank tape in a manner described above in FIG. 13 and displays an index screen with the assigned TID so that the user can mark the housing of the tape (step 9263). The microprocessor controller also creates a directory in the RAM 33 for the new tape. The microprocessor controller 31 then enters a ready mode (step 9264).

On the other hand, if at step 9259 the tape is a non-indexed tape, the microprocessor controller 31 displays on the screen 50a the question "Do you want to re-index?" (step 9266). If the user answers yes (Step 9267), the microprocessor controller 31 commands the VCR to rewind the tape to the beginning of the tape and start re-indexing the tape by asking the user to advance the tape to the beginning of each program and entering the title. (Step 9268) If, however, the user does not want to re-index the tape, (Step 9267) the microprocessor controller 31 removes the screen and commands the VCR control logic circuit 21 to display the TV picture read from the videotape. (Step 9269)

If, however, the tape is a retroactively indexed tape at step 9259, the microprocessor controller 31 displays on the screen 50a a prompt to the user to enter the tape number of the inserted tape (step 9271'). From this number, the microprocessor controller 31 reconstructs the TID of the tape (step 9273') and recovers from the RAM 33 the directory of the tape associated with the TID (Step 9274') and displays the recovered directory on the screen 50a (Step 9276).

When a RI tape is inserted into the VCR, the program number calculated from the ejection program number may be verified and recalibrated in an indexing VCR having an absolute addressing system. At step 9241', the indexing VCR calculates the absolute address. At step 9274' after recovering the directory, the microprocessor controller 31 determines the program number related to the measured absolute address. If the tape has been played in a non-indexing VCR or in an indexing VCR that is not coupled to the user's VCR, the ejection program number will differ from the calculated program number. The VCR then recalibrates itself by using the calculated program number instead of the ejection program number.

FIG. 16 is a flow chart showing the steps employed in the operation of an indexing VCR using a VISS PLUS TP addressing system of writing a tape identification and a program number to a home recorded tape (HR tape) during recording. When a tape is in the VCR and the directory controller 30 knows the present tape identification and the current program number, the indexing VCR 10 is ready for recording on the tape or ejecting the tape (step 9200). The microprocessor controller 31 reads the TID and the program number from the VBI. For a new blank tape, the microprocessor controller 31 assigns a TID to the tape and resets the program number to one. The microprocessor controller 31 waits for either a record signal or an eject command.

When a record signal is received (step 9201), the microprocessor controller 31 reads the program identification (Program I.D.) from line 21, field 2 of the VBI of the signal that is to be recorded (step 9202). It is assumed that the microprocessor controller 31 has already retrieved the directory for the inserted tape if the inserted tape is an existing HR tape. For a new blank tape, the microprocessor controller 31 creates a new directory in the RAM 33. For this recording, the microprocessor controller 31 initializes the program number (and address in VCRs having an absolute address system), the title, the tape speed, length, and the program category in the RAM 33. If no title is read from the VBI (step 9202), the microprocessor controller 31 uses a date-time stamp as the title. (Step 9203') As described below, the microprocessor controller 31 writes the title and the time of the rewind command into the monitoring data 33c portion of the RAM 33. The microprocessor 31 then commands the VCR control logic circuit 21 and subsequently the control and audio track head logic circuit 11 to continuously write the TID and the program number as a TP data packet on line 19 of the VBI (Step 9204'), until a command to stop recording is received. (Step 9206) As described below, the microprocessor controller 31 writes the time of the stop recording command into monitoring data 33c portion of the RAM 33. The microprocessor control 31 then returns to a ready state where it awaits a further command at step 9200.

On the other hand, when a command to eject the tape is received (Step 9207), if the tape is a new blank tape (Step 9209), the microprocessor controller 31 displays on the video display 50a the tape number of the tape, so that the user can then mark the housing of the cassette 40 with this new number for subsequent identification. The VCR control logic circuit 21 then commands the motor and mechanical control circuit 5 to eject the tape (Step 9212).

After the indexing VCR 10 has started a recording, it reads line 21 field 2 to find the title of the show and write it into the directory in the RAM 33. If the clock of the indexing VCR 10 has not been set correctly or if the program starts slightly later than scheduled, the retrieved title may be that of the previous program. In one embodiment, the indexing VCR 10 waits a predetermined time, such as 30 seconds, after the recording starts before reading and storing the title. On the other hand, for the recording of broadcasted video magazines, the indexing VCR 10 may read and store the title right after receiving the VM packet, because the VM packet and the new section title are synchronized.

Searching Tape for Selected Program

FIG. 17 is a flow chart showing the steps employed in the search for a program on an indexed tape using a VISS PLUS TP addressing system. The microprocessor controller 31 is in a ready mode by knowing the current program number (n in FIG. 17) of the tape and the destination program number (N in FIG. 17) of a user selected program entry from the directory. (Step 9290'). The microprocessor controller 31 loads into a count down counter the value of the number of VISS marks between the current position and the destination position (N-n) (Step 9291'). Based on the direction to the destination address, the microprocessor controller 31 commands the VCR to either fast forward or rewind the tape (step 9292'), and during the fast forward or rewind, monitors the read VISS marks on the control track 42c (Step 9393') and counts down from the N-n value loaded at step 9291' (Step 9293"). The fast forward or rewind continues until the count equals zero. (Step 9294'). The VCR then stops (Step 9301').

FIG. 18 is a flow chart showing the steps employed in the search for a program on an indexed tape using a VISS PLUS TP addressing system and an absolute addressing system. As in FIG. 17, the microprocessor controller 31 is in a ready mode by knowing the current program number (n in FIG. 18) of the tape and the destination program number (N in FIG. 18) of a user selected program entry from the directory. (Step 3700). The microprocessor controller 31 first enters a fast search stage. The microprocessor controller reads the absolute address of the destination program from the RAM 33 (Step 3701). Based on the direction to the destination address, the microprocessor controller 31 commands the VCR to either fast forward or rewind the tape (step 3702), and during the fast forward or rewind, using the absolute addressing system, monitors the address of the tape (Step 3703). By using an absolute address system such as the reel ratio system, the fast search can be conducted at high speed. The fast forward or rewind continues until the present address equals to the destination address. (Step 3704) The microprocessor controller 31 now enters a soft landing stage in which the VCR is commanded to a search speed (Step 3706) and searches for the VISS marks on the control track 42c (Step 3707). Upon detection of the VISS mark (Step 3708), the VCR confirms the program number by reading the VBI (Step 3708) and when the program number equals the destination program (Step 3709), the VCR stops (Step 3710). Otherwise, the VCR reenters the first search at step 3702.

The addressing system used in FIG. 18 may use one of many location determination methods, such as those disclosed in the parent patent application Ser. No. 08/066,666, including counting the number of control track pulses between the current address and the destination address, counting the take-up spool spindle revolution counts and using reel ratios, or a biasing roller revolution counter.

Auxiliary Information Display

Auxiliary information is information related to the program being broadcast. A part of such information is broadcast in temporal proximity to said program. In some forms, the auxiliary information allows the user to obtain additional information on products and services offered in television programs or commercials.

Referring back to FIG. 1, as described above, by using the VBI decoder and the RAM 33, the indexing VCR 10 can capture data broadcast on the VBI and display it either concurrently with or at a later time than the data transmission. The broadcast data may be transmitted on a plurality of lines of the VBI including line 21. Per the E.I.A. specifications, Extended Data Services provide for pointers on line 21 (supplemental data location) to point to lines other than line 21. By using data on these other lines in the same format as data on line 21, the VBI decoder 60a can decode the other line data. The auxiliary information is preferably broadcast in a 35 characters .times.15 rows format to match the display 50a (see FIG. 1) format. In the preferred embodiment, three types of auxiliary information data are transmitted: program identification (program ID or PID), channel specific program guide (CSPG), and program related information (PRI).

The viewer is alerted to the existence of the auxiliary information in several ways. In a first method, before the program is transmitted, the indexing VCR 10 displays on the screen a prompt to the user that the information is forthcoming. The prompt may be a flashing icon, such as the letter "i," or a new screen, such as a blue background with white text. The indexing VCR 10 requests the user to enter a command, for example by pressing the "i" button, to store in the RAM 33 the auxiliary information, or in some embodiments, to record in the record stack the "PLUSCODE.TM." number corresponding to the program that is to be recorded. As will be described below, the user may later recall this information. To indicate that the command was received, the indexing VCR 10 may either stop flashing the icon display, display an acknowledgement, such as "stored" or "saved," or display a separate screen. The user may request the information before, during, or after the broadcast. Alternatively, the auxiliary information may be transmitted and stored in a temporary buffer in the RAM 33 before the viewer is prompted to enter a command. In this embodiment, the indexing VCR 10 transfers the auxiliary information from the temporary buffer to a permanent buffer in response to the user's commands.

Alternatively, in a second method, the indexing VCR 10 may provide the prompt after the program is viewed. In this embodiment, the auxiliary information may be transmitted before the program, during the program, or after the prompt. In a third method, the prompt is displayed concurrently with the program.

For each method, the user has a predetermined amount of time after the prompt to request the auxiliary information. When the auxiliary information is requested, the indexing VCR 10 displays it for either a predetermined time, until the user cancels it (for example, by pressing the program ID button a second time), until the next auxiliary information is requested, or until the broadcaster transmits a cancel command in the VBI.

Because the auxiliary information is normally used for advertising, it is desirable to not alert the user to stop recording a program when a commercial occurs. Thus, the time that the auxiliary information is transmitted is preferably adjusted so that the user cannot generate in response to the auxiliary information a signal for shutting off the VCR. For example, if the auxiliary information is always transmitted 30 seconds before the commercial (i.e. 30 seconds is always the lead time), the user may program his VCR to stop recording 30 seconds after the detection of the auxiliary information and start recording again 60 seconds after the VCR stops recording. But if, the lead time is variable, the user misses recording a portion of the program. For example, if the next commercial uses a 60 second lead time, the viewer shuts off the VCR 30 seconds early if the user is using a 30 second lead time. Furthermore, the auxiliary information may also be transmitted after the commercial so that the viewer cannot shut off the VCR in advance.

Alternatively, the prompt may be a number that the user enters to indicate which group of auxiliary information is to be recorded.

Describing the program ID first, the broadcast station preferably broadcasts the program identification information on line 21, field 2 of the VBI according to EIA specifications.

This information may include:

Title of program

Program length in minutes

Today's day and date (when viewing TV

broadcasts) or day and date of recording (when

viewing taped shows)

Station call letters (e.g. KCET or KCAL) or

4-letter abbreviation of station name (e.g.

SHOW for Showtime)

Channel number

In a preferred mode of operation, when the user changes the channel or when recording or playback of