PROGRAM DIRECTORY FOR A VIDEO TAPE CASSETTE
Background of the Invention
1. Field of the Invention j5 In one aspect, this invention relates to maintaining current information about a tape in a magnetic tape cassette and more particularly to maintaining current information about such a tape using a magnetic tape reader/recorder, and magnetic tape cassettes therefor. In another aspect, this invention relates to means and method for facilitating management, storage and retrieval of programs stored in a cassette of magnetic tape. 0 2. Related Art
Two general methods for long term mass storage of data are known; random access and sequential access. The random access method uses long playing (LP) record players, compact disc (CD) drives and video disc drives for consumer use, and hard disc drives, floppy disc drives and optical disc drives for use with computers. In all information is 5 accessed in random by moving a playing head directly over the desired playing area of the stored media.
In the sequential method stored information can only be accessed sequentially. The sequential method uses audio tape drives, video tape drives and digital audio tape drives for 0 general consumer use and digital tape drives and tape backup cassette drives for use with computers and analog tape drives for instrumentation purposes. All of these devices use magnetic tape as the stored media. The big advantage of tape drives is low cost compared with random access devices. The disadvantages and problems of using magnetic tape are three-fold. 5 1. To go to a particular location on tape, the tape must be either advanced or rewound in a serial or sequential manner. Even with fast forward or reverse, this is a time consuming process.
2. The exact contents and location of records on the tape are not known.
Random access devices can record (usually at the outermost tracks) an index of the content at the beginning of the disc and anytime the index information needs to be accessed, the read or write head simply skips over to and reads the index. For magnetic tape, even if the index is recorded in a reserved area at the beginning of the tape, as is presently done in some video tape, its usefulness is limited, due to the time required to rewind die tape all the way to the beginning of the tape, assuming the tape is not at the beginning when the need arises to search for the index. Owners of large numbers of tapes desire to place titles on the tapes to enable rapid identification of the program thereon. Usually titling is done by hand writing a title on a label on the tape or its box. However, the tape can become separated from the box, or the label may fall off. Some tape owners repeatedly record over the same tape and prefer not to use permanent labels. Computer tapes may contain hundreds of records or files and handwriting or updating the index onto the box is not practical. 3. The absolute location where the tape is being read or written usually is not known. Most tape drives have tape counters which only indicate relative location. For example, if a tape cassette is played and men removed from a tape drive without rewinding, the next time the cassette is inserted and played by a tape drive, the absolute location of the tape in ώe cassette will no longer be known. Attempts have been made to overcome this problem by writing absolute address marks onto the tape. For example, some recent video tapes use the VHS Address Search System (VASS) whereby absolute address marks are written at 1 minute intervals onto a control track of a VHS tape. In computer backup of hard discs by tape, the streaming mode is usually used, and where a constant stream of data blocks (usually 512 bytes) are written on tape, each block is usually preceded by one or two address bytes. Thus, absolute addressing is available but not yet universally used on tape.
Knowing the absolute address is important. For example, assume that there are 5 programs (or records) on a tape and each of their starting addresses is known and a user desires to go to the starting location of program 4. Without knowing the absolute address of where the tape is currently positioned for reading and writing, the user or the drive has no way to know whether to rewind or fast forward the tape to reach the desired record.
In order for tape drives to perform as well as random access devices it is important to overcome these three problems.
Placing a descriptive title on the tape presents another problem. Video titling is known and can be used to magnetically record alphanumeric information on a leader portion of the tape, which thereby serves as a tide. Ordinarily, the title is computer-generated and recorded in a stream of regular video frames, rather than in a control track. If multiple copies of the tape are made, the quality of the title drops dramatically. Also, the title cannot
be conveniently edited without re-recording the stream of frames. Prior art systems for applying such titles are eitiier expensive or cumbersome. Professional video titling systems include the well-known Chyron system and many others. Typically these systems include a complete computer, a complex, high-resolution character generator, a special effects generator for making shadows, italics and other effects, and a video interface to generate a video signal. Such systems are too expensive and complicated for the home video market.
Some videocassette recorders (VCRs) and camcorders are equipped with simple character generators for displaying simple block letters and numbers, either superimposed over a recorded video signal or recorded and mixed wi the picture signal. A typical camcorder application is adding characters representing the recording date and time to a video signal as it is being recorded, thereby adding a "date stamp." In VCRs the character generator can be used to show programming information such as channel, date, and time on screen as the VCR is being programmed to record programs at a future date. However, currently there is no simple way to use the VCR character generator as a titling device.
AnoΛer problem with prior art titling systems is data input and editing. With Chyron systems, a full-size typewriter-style keyboard is used which is inappropriate for home use and slow for poor typists. Editing of a title is impractical with most home-generated titles, because the title is recorded as a video image on die tape. Thus, the prior art fails to provide a convenient means for generating, storing, and editing video titles for use with sequentially- stored magnetic tape. Users of home video equipment would likewise appreciate a system using internal character-generator hardware and VCR remote controls, thereby precluding the need for complex or expensive hardware to generate titles.
Well known in the art is encoding program captions in unused portions of the broadcast television signal, such as line 21, field 1 of the vertical blanking interval (VBI). Recently the Federal Communications Commission requested die television industry to develop specifications for providing program identification data in line 21, field 2 of the VBI. Industry has responded with "A Proposed Specification for Extended Data Services on Line
21 Field 2," published by Mitsubishi Electronics America, Inc., Oct. 17, 1991. However, no prior art devices enable decoding of program title data from the VBI for use in a magnetic tape directory.
Summary of the Invention
The invention provides, in a magnetic tape cassette reader/recorder, a method and apparatus for maintaining current information about a tape in a magnetic tape cassette using a store on the exterior of the magnetic tape cassette. The method generally comprises the
steps of reading the content of the store on the exterior of each cassette after commencement of the insertion of such cassette in the reader/recorder, and causing the store on me exterior of the inserted cassette to be updated wi current information about the tape tiierein whenever such cassette is ejected from the reader/recorder. The store contains a program directory comprising a list of programs recorded on me tape in the cassette and die step of reading comprises the step of reading the directory from the store. Preferably me updating occurs upon ejection of such cassette from the reader/recorder, and the reading is performed while such cassette is being inserted into the cassette reader/recorder.
The availability of a program directory will greatly facilitate operation of tape reader /recorder devices such as VCRs. For example, with a program directory, a user can perform a speed erase operation on a taped program by simply indicating on die directory mat the program can be over-written, or select from the directory a proper tape segment to record a new program without having to go through the tape to find the right spot. In brief, die availability of a program directory will greatly eliminate much of the frustration that has been felt for so long by so many users of tape devices such as VCRs.
Preferably each cassette has a housing with a magnetic recording medium thereon and me step of reading comprises reading from die magnetic medium, and d e step of updating comprises writing the updated directory on die same magnetic medium. In e preferred embodiment a program title is received and decoded from a broadcast television signal. The program tide is preferably decoded from data encoded in the vertical blanking interval of the broadcast television signal. In one embodiment the program tide is decoded from line 21 of field 2 of the vertical blanking interval.
In the preferred embodiment the reader/recorder further comprises a sensor for reading the store, the sensor being carried by me reader/recorder, and wherein the step of reading comprises the step of reading e contents of the store as d e cassette is moved past die sensor, and wherein the step of causing update comprises the step of writing die contents of die store as the cassette is moved past the sensor.
Preferably the store is formed as a magnetic strip affixed to die housing of a video cassette. The reader/recorder comprises at least one read/write head for reading from and writing to the strip responsive to movement of d e strip relative to die at least one read/write head. The step of reading comprises reading the contents of d e store wim the read/write head as the cassette is being moved into the reader/recorder, and the step of updating comprises writing the current information into the store as the cassette is moved relative to the read/write head during ejection. The step of reading preferably comprises setting an internal tape position counter in the reader/recorder by storing the information in die counter.
The invention also provides, in a magnetic tape cassette comprising a magnetic tape movable between supply and take-up reels carried witi in a housing, the improvement comprising a storage medium in which information can be repeatedly read, written, and erased mounted on the exterior of the housing. The storage medium preferably comprises a magnetic layer and an adhesive layer for affixation of me storage medium to die housing. In one embodiment, die present invention is a ediod and/or apparatus mat uses a tape reader/recorder, and a controller widi memory, for maintaining and making available a directory for a tape in a cassette. The directory has a representation of each of a plurality of records (which are typically programs or files) recorded on the tape and a representation of die position along the tape where each such record is recorded. The directory includes space to store digital data representing each title of each of die plurality of records. The cassette widi die tape may be repeatedly inserted into, read by and men removed from me reader /recorder. The reader /recorder moves the tape widiin the cassette during reading and recording on die tape. The directory is read from the tape witii e reader/recorder when die reader/recorder begins reading die tape after the cassette has been inserted for reading in die reader/recorder. The directory is stored in the memory for retention, update and display. The stored directory is recorded on die tape, prior to each removal of the cassette from die reader/recorder, adjacent die position on die tape at which die reader/recorder will commence reading of die tape when the cassette is reinserted in e reader/recorder.
In an alternate embodiment, entries are created in die directory in die memory. In each said entry, a representation is created of a different record on die tape, a representation of the position along the tape where such record is recorded, and a title of the record. Also preferably, a marker is formed on the tape to uniquely identify the position of a current directory. Also preferably, a first marker is recorded on tape in close proximity to a current directory when the directory is recorded on die tape. The tape is searched for a directory with the first marker. A second marker is recorded on the tape in close proximity to die first marker when die current directory is read. Alternatively, a marker may be recorded on die tape in close proximity to a current directory when die directory is recorded on the tape. The tape is searched for a current directory wim die marker in close proximity tiiereto. The marker is erased when die directory is read. Also, the current tape position may be read from the housing of the cassette during insertion of the cassette into die reader/recorder. A current position of the tape may be written on die housing of die cassette during removal of the cassette from, die reader /recorder.
In an alternate embodiment, a program title, forming one part of die directory, can be entered using controls on a jog shuttle remote control of die recorder/reader as an input
device. A representation of an alphanumeric keyboard is displayed on a monitor screen by a character generator in the recorder/reader under control of die controller. Arrow buttons or a jog shuttle knob on die remote control can be used to select individual characters forming words in the program tide. After the complete tide is composed by a user it is saved in d e directory. In another embodiment, a scrollable character is displayed instead of a keyboard representation. The arrow buttons or jog shuttle knob cause die character to change by stepping sequentially d rough the alphabet until a desired character is located.
In anodier alternate embodiment, the controller is coupled to a broadcast television signal and to a decoder for decoding data from the VBI portion of a broadcast television signal. The decoded data is fed to the directory in the memory and also is displayed on a monitor screen. The displayed title and other data can then be edited using controls on a jog shuttle know of a VCR remote control. In one specifically contemplated embodiment, e decoder decodes data from line 21, field 2 of the VBI.
In one embodiment, the directory is erased from die tape immediately after die step of reading the directory, n a further embodiment, the reader /recorder repositions die tape in the cassette, after reading the directory and prior to removal of die cassette, to a position such tiiat the directory will be read out by the reader/recorder upon reinsertion of the cassette in. the reader/recorder and prior to reading by die reader/recorder of one of die records from the tape.
Preferably mere is recorded on the tape in association with die directory, a current position of the tape at which die reader/recorder will commence reading die tape upon reinsertion of die cassette in the reader /recorder. Also preferably, when reading die directory from the tape, die current position is also read from the tape and a representation of die current position is stored in the memory. Preferably, die current position in die memory is updated as the tape is being moved for reading or writing and die updated position may be recorded on the tape. One method or apparatus uses a VCR and a memory, for maintaining a directory on a tape in a cassette. The directory has a representation of each of a plurality of records recorded on die tape and a representation of the position along the tape where each such record is recorded. The cassette with tape may be repeatedly inserted into, read by and tiien removed from the VCR. The VCR moves the tape within the cassette during reading and recording on the tape. Entries are created in die directory in d e memory. In each said entry diere is created a representation of a different one of the records for die tape and a representation of die position along the tape for such record. The stored directory is recorded on the tape, prior to each removal of the cassette from the VCR, adjacent me position on die
tape at which the VCR will commence reading of the tape when die cassette is reinstated in the VCR.
Preferably, die directory is read from the tape widi the reader/recorder when die reader/recorder begins die reading of die tape after die cassette has been inserted for reading in the reader/recorder. The directory read from the tape is stored in die memory for retention, update and display.
Still anodier embodiment of the invention uses a tape reader/recorder, a sensor and a memory, for maintaining and making available from die housing of a magnetic tape cassette a directory of die type discussed above. The cassette widi the tape may be repeatedly inserted into, read by and dien removed from the reader/recorder. The reader/recorder moves die tape widiin die cassette during reading and recording on die tape. The directory is read from a storage medium on die cassette widi die sensor during insertion of die cassette into die reader /recorder. The directory is stored in the memory for retention, update and display.
The stored directory is recorded onto the memory cassette during removal of the cassette from the reader/recorder.
Preferably die tape is rewound in the cassette until die position of the tape relative to a beginning of the tape can be ascertained and dien die tape is wound in die cassette from die ascertained tape position until e position of a desired program indicated in die directory has been reached. Also preferably die content of die directory in the memory is modified to reflect modification of die records recorded on die tape.
Additionally, a visible display of bod die stored directory and die stored current position may be formed in any of die embodiments.
In anodier aspect, this invention discloses a video cassette recorder having not only a first data retrieval mechanism for retrieving data from the tape, but also a second data retrieval mechanism for retrieving directory information of the tape from a second memory.
l
Brief Description of the Drawings
Fig. 1 is a block diagram of a video cassette recorder widi a directory controller and embodies die present invention; i Figs.2A and 2B are flow charts illustrating die sequence of operation for updating and using the directory during loading and ejecting of a video tape cassette in the video cassette recorder of Fig. 1;
Fig. 3 is a graphical representation of die format of the information recorded on die magnetic tape in the cassette of Fig. 1 widi markers and directories in die control track;
10
Fig. 4 is a graphical representation of die format of the information recorded on the magnetic tape in die cassette of Fig. 1 widi markers in the control track and die directories in the fields of the video frames;
Fig. 5, composed of FigS. 5A, 5B, 5C and 5D, is a graphical representation of the
,r format of information recorded on die magnetic tape at different stages of operation in die embodiment of me invention depicted in Fig. 1 using 2 markers;
Fig. 6, composed of FigS. 6A, 6B, 6C and 6D, is a graphical representation of die format of information recorded on the magnetic tape at different stages of operation in die embodiment of the inventions depicted in Fig. 1 using one marker; 0 Fig. 7 is a block diagram of a video cassette recorder wid a directory controller and a magnetic write and sensing system for information recorded on die back wall of die cassette and depicts an alternate embodiment of the present invention;
Fig. 8 is a schematic and pictorial view of a video cassette recorder having a front load for die magnetic tape cassette in which die recorder has a reader and writer for a directory 5 and/or directory locations on a magnetic strip along the edge of the magnetic tape cassette;
Fig. 9 is a schematic and pictorial view of a video cassette recorder having a top load for a magnetic tape cassette in which die recorder has a reader and writer for a directory and/or directory locations on a magnetic strip along die edge of the magnetic tape cassette; 0 Fig. 10 is a flow chart which in combination wi i die flow chart of Fig. 2B illustrates the sequence of operation of die video cassette recorder of Fig. 7 in which die magnetic strip at the edge of the tape cassette contains the location of the latest directory;
Fig. 11A and 1 IB are flow charts illustrating die sequence of operation of die video cassette recorder of Fig. 7 during loading and ejecting a video tape cassette in me video 5 cassette recorder in which die magnetic strip at die edge of die tape cassette contains the latest directory;
Fig. 12 is a block diagram of the recorder of Fig. 1 also showing tide generation components;
l
Fig. 13 is a diagram of a jog shuttle remote control for die recorder of Fig. 12;
Fig. 14A is a flow diagram of a keyboard character entry tiding memod;
Fig. 14B is a flow diagram of a cursor position updating method used with die memod ϊ of Fig. 14A;
Fig. 14C is a diagram of a keyboard-mode tide display;
Fig. 15A is a flow diagram of a scrolling character entry titling me od;
Fig. 15B is a diagram of a scroll-mode tide display; Fig. 16 is a perspective view of a videocassette; and
10
Fig. 17 is a diagram of a stack of adhesive-backed magnetic strips.
Figs. 18A and 18B are flow charts illustrating die sequence of operation for a video cassette recorder having additional features according to die present invention.
Fig. 19A is a timing chart of e clock signals prerecorded on the control track of a , t magnetic strip for synchronizing a reading operation.
Fig. 19B shows e signals recorded on die data track of a magnetic strip for allowing read/write operations to be performed in opposite directions.
Fig. 19C shows die output from a data track in an ideal situation.
Fig. 20A is a flow chart illustrating d e logic sequence of a write operation to a 0 magnetic strip.
Fig. 20B is a flow chart illustrating the logic sequence of a calibration operation for compensating misalignment of magnetic heads.
Fig. 20C is a flow chart illustrating the logic sequence of a read operation on a magnetic strip. 5
Fig. 21 shows schematically a memory comprising a magnetic strip for storing directory information.
Fig. 22 shows a magnetic strip attached to the top of a cassette and also a mark provided on die magnetic strip. 0 Fig. 23 shows two magnetic strips attached to die back wall of a cassette.
Figs. 24A to 24G are flow charts illustrating user interface and operation of a controller according to die embodiment of e present invention.
Figs. 25 A and 25B are different views of a magnetic write/sensor head unit for reading a magnetic strip. 5
l
Detailed Description
Fig. 1 is a block diagram of a magnetic tape indexing system including a video cassette reader/recorder (VCR) 1 with a conventional video tape cassette 40, a video display
> 50, and a directory controller 30 including a microprocessor controller 31, a random access memory (RAM) 33 and a directory input/output keyboard and display device 32.
The VCR 1 is a conventional video reader/recorder device and uses any one of many different recording technologies such as BETA VHS, super VHS, 8 mm or any ouier popular technologies. The technology and operation of a VCR are well understood in die art. 0
The VCR 1 has a button control panel 3 with control buttons including LOAD 3a,
PLAY 3b, STOP 3c, RECORD 3d, EJECT 3e for controlling the operation of the VCR. The
LOAD button is optional and is not used on machines which load automatically. VCR control logic 21 receives control signals from die button control panel 3 and controls the overall 5 operation of the VCR by sending control signals to motor and mechanical control logic 5, video logic 7, position logic and counter 9, and control and audio track head logic 11 of die
VCR 1, as well as to die video display 50 and microprocessor controller 31 of die directory controller 30.
The motor and mechanical control logic 5 controls loading and ejecting of die cassette 0 40 and also controls video tape 42 movement witiiin video cassette 40 during recording and reading (playback). The video logic 7 controls die operation of video read/write head drum
13 in reading from or recording video signals to tape 42. The electrical signals are magnetically coupled between the video logic 7 and die video head drum 13 using a transformer 14. The position logic and counter 9 monitors tape movement through cassette tape movement sensor 22 and converts the signals into signals diat represent tape position.
The control and audio track head logic 11 controls writing, reading and erasing of signals on the control or audio track of tape 42 rough die write head 19, die read head 17 and die erase head 15. Cassette 40 is a conventional video cassette having magnetic tape 42 packaged in a cartridge or cassette (hereafter called cassette) housing. Even though the size and design of die housing is different for different types of recording technology, d e basic information mat goes on die tape itself is similar.
FigS. 3 and 4 illustrate die information content of one example of video tape for bodi BETA and VHS format. The tape is divided into mree areas. A narrow strip running along me upper edge of the tape is an audio track 42a which contains audio signals. A second narrow strip running along die bottom edge of d e tape is a control track 42c which contains synchronization ("sync") control signals. The middle area 42b is for video signals which are
L recorded in pairs of parallel fields going up and down die widdi of die tape at a slight angle.
As is well known in die art, each of die video frames 42b consists of two fields, variously known as fields A and B, or fields 1 and 2. In die NTSC protocol widely used in North i 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 die video display 50. The video head drum 13 is fitted wi i two read/record heads 180 degrees apart, so tiiat even numbered lines make up one field and odd numbered lines make up die odier field. To reduce flicker on die video screen, tiiese fields are projected onto die face of die cadiode ray 0 tube (CRT) screen 50a of video display 50 at alternating intervals. The VCR control logic 21 begins widi die field containing die odd-numbered lines by scanning me odd lines on die CRT from left to right and top to bottom. As soon as this is completed, the beam is quickly returned to die top of e screen and die even-lines are scanned onto die screen. As the beam 5 is returned to the top a brief delay occurs, called die VBI. Apparatus and methods using diese techniques are well known in die art and tiierefore are not discussed in detail herein.
A program directory or directories containing information about the names and locations of each program or record on die tape is stored on die tape. Eitiier die video frames 42b or control track 42c may be used for storing e program directory(s). In one embodiment die 0 program directory is stored, by VCR control logic 21 under control of microprocessor controller 31, in the control track 42c and in anodier embodiment in odd or even numbered fields of spaced apart pairs of video fields.
In one implementation, die tape contains only one single valid directory and a plurality of obsolete directories corresponding to die number of times die tape has been played and 5 ejected from e VCR. The valid directory is distinguished from die obsolete directories by a marker system to be described later. In anodier embodiment each time die directory is read into die local RAM memory, the directory is erased from the tape. During die process of tape ejection from the VCR, the updated directory is rewritten onto die tape at die place of 0 ejection such tiiat only one directory is maintained on the tape. The disadvantage of this embodiment is die added hardware and time required to selectively erase die directory widiout disrupting d e control or video signals. If die directory or directories are stored in the video fields, corruption of video signals widi directory signals on selected video fields, such as a few odd fields spaced apart by a certain number of fields, has little noticeable visual 5 degradation of die video picture. This is because the human brain retains a visual image for a brief period after die image is removed ("persistence of vision"). If die directories are stored in the control track, it is done in such a way tiiat die control sync pulses (not shown) necessary for synchronization of video displays are not disturbed.
The VBI portion can also be used for providing address marks on die tape to facilitate management, storage and retrieval of recorded programs and die tape. In one implementation, when a cassette of tape is inserted for the first time into a recorder embodying tiiis invention, it is rewound to the beginning, and die tape counter is dien reset to zero. When a VBI is encountered during die recording of a program, die value of die tape counter is registered. This tape counter value is dien written in one of die free spaces (such as line 20) among die VBI portion of die broadcast signals.
The tape counter value can be written on the control track as in die VHS Address Search System (VASS). Alternatively, according to one aspect of this invention, it can be written onto the video frame 42b (see FigS. 3, 4); and the VBI decoder 400 can tiiereby be advantageously used to botii decode die program name and die address mark. Directory controller 30 includes microprocessor controller 31, RAM 33 and a directory input/output display and control panel 32. Preferably die microprocessor controller
31 comprises an integrated circuit microprocessor and a program store, such as a read-only- memory (ROM), for storing a control program to implement methods of die invention. The directory input/output display and control panel 32 has alphanumeric keyboard 32a widi special function keys SEARCH 32b, MODIFY 32c, ENTER 32d for entering program directory information.
Display 32e is a conventional liquid crystal or otiier type display for displaying data being entered on keyboard 32a, and to display die directory stored in d e RAM 33. Alternately, as discussed below, an on-screen display 50a can be used. The directory information stored in die RAM 33 is processed by die microprocessor controller 31.
The RAM 33 is a conventional random access semiconductor memory which interfaces directly widi die microprocessor controller 31. A portion of die RAM is reserved for storing die program directory 33a read from the tape at loading time and die rest for use by die microprocessor controller's system software as shown at 33b. For each record or program already on or to be recorded on die video tape, die directory in RAM 33 contains a corresponding entry. Each entry has a title or program name (PROGRAM), a location value (LOC) indicating the absolute position (or the value of die address mark) of the beginning of die program along die tape, and an optional lengtii value (LENGTH) indicating die program's length in time units. The length of a program or record may be represented as a function of the difference between its address mark from the address mark of the next program or record.
The last item in the directory is the current tape location (CURRENT LOC) indicating d e absolute position from the beginning of the tape in die cassette where die valid directory is
located. Each item in die directory can be modified through die use of die buttons on keyboard 32a of directory controller 32.
The microprocessor controller 31, using system software residing in the RAM memory 33, controls the sequence and operation of die directory controller 30 and interfaces widi die
VCR control logic 21 to implement the necessary functional capabilities for reading, updating and recording the directory.
Consider briefly die operation of the system of Fig. 1 with the directory stored in me control tracks of die tape. Assume tiiat cassette 40 has a directory recorded in die control track at die beginning of the tape, or at some point along the tape, and which has not been moved in its case since its last ejection is inserted into die VCR. The microprocessor controller 31 and VCR control logic 21 cause die directory to be read from die control track of die tape widi read head 17 and stored into die directory field 33a of RAM 33. Optionally, die directory is erased from die tape after reading with erase head 15. The VCR counter is reset to a value corresponding to die CURRENT LOC value found in die directory. The tape is now ready to be read or recorded over in die usual manner. While die cassette is in die VCR, die copy of die directory tiiat is stored in die RAM can be deleted, modified or updated. When die eject button 3e is activated, microprocessor controller 3, and VCR control logic 3 causes the current tape location (CURRENT LOC) in RAM 33 to be updated with the tape counter value in position logic and counter 9 and causes die directory in die RAM to be recorded onto die tape at its current position and dien causes die tape to be slightly rewound to die beginning of where die directory was recorded on die tape, and then causes motor and mechanical control 5 to physically eject die cassette 40.
When a blank cassette tape is loaded or when the user wants to modify or create a program directory, the directory controller 30 prompts die user at the display 32e or die video display 50 for desired input. The microprocessor controller 31 then formulates die input to the required format for storage into the RAM directory 33a for recording onto the tape when d e tape is ejected.
In the event tiiat the tape has been moved either forward or backward in die cassette from its last ejection position without subjecting die tape to die directory read/write process (such as when the tape is used in a VCR without the present invention), a number of metiiods may be used to locate the directory. Where only one directory is stored on the tape, such as where the directory is promptly erased after being copied into the RAM memory, one method is to rewind the tape all the way to die beginning of tape (BOT) and then perform a quick search to detect and locate the directory. Alternatively a marker is written in die control
l track in close proximity to the directory, whether the directory is recorded in die video fields or in die control track, and is detected during searching to detect die location of die directory as this facilitates searching for die directory. Searching and interpreting data in the control ϊ track is much faster than doing so in the video fields. Fig. 3 depicts die marker 110 adjacent directory 112 in control track 42C whereas Fig. 4 depicts die marker 114 in control track
42C adjacent the directory 116 in the fields of die video frames 42B as shown in Figs. 3 and
4.
If tiiere is more than one directory stored on the tape and only one is the current 0 directory, two different methods may be used. The first metiiod is depicted in Fig. 5. In this method, a marker 118 is recorded in the control track 42C in close proximity to the directory 120, when it is first written during the process of ejecting the tape from the VCR
(whetiier in the control track or in the video field) as illustrated in Fig. 5. When the 5 directory 120 is subsequently read and copied into die RAM memory, a second marker 122 is recorded next to the first marker 118 as shown in Fig. 5B. When the cassette is dien ejected after playing or recording, a new directory 124 is dien written at a different position on the tape along with a single marker 126 as in Fig. 5C. As a result, if the position of the tape in die cassette has been moved, as indicated by die dashed lines for read/write heads 17, 0 19 in Fig. 5D, die system merely looks for a directory 124 widi a single marker 126, preferably in a high speed search made to reduce access time. When die located directory
124 is subsequently read, a second marker (not shown) is recorded adjacent marker 126 as described above.
Alternatively, as depicted in Fig. 6 a marker 130 is recorded on the control track 42C next to directory 132 whenever a new directory is created as shown in Fig. 6A. But, unlike the previous method, when the directory 132 is searched and copied into the RAM, the marker 130 is erased as shown in Fig. 6B. When a second new directory 134 is created, a marker 136 is recorded as in Fig. 6C. So even tiiough there is more than one directory on die tape, and die tape has been moved in die cassette as indicated by die dashed illustration of die read/write heads 17, 19 in Fig. 6D, only die current directory 134 has a marker 136 associated with it for detection and location of such current directory.
To be discussed, in die embodiment of the invention depicted in Fig. 7, die location on the tape of the valid directory (i.e. the location of the tape at the point of ejection) is recorded on a store or a storage medium, for example a magnetic strip 150. Since the mechanism for raising and lowering a cassette is on the sides of die opening; therefore, the magnetic strip would be affixed eitiier to the top or to the back of die tape cassette 40, and die data (i.e. die location of the tape) is recorded by a magnetic write/sensor head 154 using
the physical movement of the cassette load/eject drive mechanism to cause changes in magnetic flux detectable by die magnetic write/sensor head 154. Load/eject drive mechanisms are well known in e art as tiiey are part of most VCRs. The physical cassette movement typically involves a horizontal movement and a vertical movement for a VCR using eitiier front loading or top loading as shown in Figs. 4 and 5, respectively. When the tape cassette is inserted into the VCR, the magnetic write/sensor head 154 reads off d e location information from die magnetic strip to allow easy searching and locating of the valid directory.
Alternatively, the entire directory can be written on the magnetic strip upon ejection and can be read off during insertion by the magnetic write/sensor head 154 using die magnetic flux changes caused by the physical movement of the cassette past the head.
Fig. 8 is a pictorial view of a video cassette recorder having a front load mechanism for die tape cassette 42. The recorder 1 has located tiierein a stationary magnetic read/write head 154 designed to read from and record on the magnetic strip 150 as the cassette 42 is inserted and ejected, respectively.
Fig. 9 is a pictorial view of a video cassette recorder having a top load mechanism for the cassette 42. A stationary magnetic read/write head 154 is positioned in the recorder 154 to read from and record on the magnetic strip 150 as the cassette 42 is respectively lowered into and ejected from the recorder.
Figs. 25A and 25B are different views of a magnetic read/sensor head unit 2500 implemented for reading data from and writing data to a magnetic strip.
The magnetic write/sensor head unit 2500 comprises a magnetic read/sensor head 2501 pivotally mounted on an arm 2502. The head 2501 has guides 2503, such as U-shape guides, for confining a magnetic strip 2506 beneatii it as die magnetic strip 2506 passes under.
The arm 2502 has means, such as a ball-point finger 2506, for engaging to a guide, such as a groove, which guides die head 2501 along over the magnetic strip 2506. The arm 2502 is mounted to a member 2508 by a pivot 2510 which gives it a freedom of vertical movement. The member 2508 is in turn mounted to a cantilever 2509 by another pivot 2511 which gives it a freedom of horizontal movement to adjust for die small displacement of the tape 2506. The head 2501 is mounted onto the arm by a pivot 2516 to provide azimuth alignment, that is, to enable die head 2501 to move in parallel with the tape 2506 even when the arm 2502 shifts in adjusting for a displaced tape.
A lift cam 2512 is pivoting mounted to die member 2508, one arm 2513 of the cam 2512 is coupled by a spring 2514 to die cantilever 2509. In the absence of a cassette, the spring 2514 pulls the arm 2513 of the cam 2512 up, tiiereby lifting die head 2501. When a
l cassette is inserted, it pushes the other arm 2515 of die cam 2512, tiiereby lowering arm 2513 and allowing the head 2501 to drop onto die magnetic strip on the cassette.
A variety of other mechanical configurations and locations for die head 154 and the
; strip 150 may be employed to accommodate various tape cassette transport mechanisms. By way of example, head 154 can be made movable and programmed using a suitable transport mechanism (not shown) to scan across die surface of a stationary strip 150 when die cassette
42 is in die recorder 1, for reading or writing information from/to the strip 150.
One advantage of a movable head is tiiat the strip 150 can be updated widi die 0 information from die RAM 33 without requiring a movement of the cassette and can therefore be performed more frequently, such as at each time when the directory 33a is updated, so tiiat the directory information can be preserved even when power to the recorder is lost before die cassette is ejected. s- For a stationary magnetic head, the length of the magnetic strip 150 that can be used for storing information is limited by the distance of movement of die cassette when it is ejected and inserted. Since data storage and retrieval for a movable head do not require movement of the cassette, therefore, anodier advantage of a movable head system is tiiat the lengtii of the magnetic strip 150 can be longer. Details of the strip 150 and affixing strips to videocassettes are shown in Figs. 16 and
17. As shown in Fig. 16, a standard videocassette 42, such as a VHS type videocassette, comprises a housing 42' having top and bottom walls 200, 202 and four side walls 204, 206, 208, 210. Usually the housing 42' is constructed as a relatively flat parallelpiped wherein the vertical separation of top and bottom walls 200, 202 is much less than the width or lengtii of the top or bottom walls. The magnetic strip 150 (not shown in Fig. 16) can be placed in an affixation zone 151 on die back wall of die housing, or on the top of the housing.
Magnetic strips 150 can be manufactured and distributed in stacks 149 as shown in Fig. 17 or in rolls or sheets (not shown) cut to size by the user. Each strip 150 comprises a magnetic recording layer 152 and an adhesive layer 156 for affixation to the zone 151. The magnetic layer 152 is, by way of example, constructed of die same materials as the magnetic tape 42 and may be affixed to any standard tape cassette by die user or pre-attached by die cassette manufacturer. A strip of video tape approximately one-half inch in length and one- half inch wide can be used as layer 152 in die configurations of Figs. 8 and 9 to store approximately 4 kilobits of coded digital data. The adhesive layer 156 is applied to e non¬ magnetic backing of die magnetic layer 152. The adhesive can comprise a pressure-sensitive adhesive, or any of a variety of natural or synthetic organic adhesives suitable for bonding magnetic tape to the housing of a videocassette. In an alternative embodiment, strips 150 are
L formed widi double-backed tape self-adhesion to zone 151. Thus, the strips 150 can be affixed to any standard cassette, tiiereby enabling an owner of cassettes to add directory storage capability to any existing cassette.
> Fig. 21 shows another implementation of the magnetic strip. The magnetic strip 2101 according to this implementation is attached to a base, such as a card 2102. The card 2102 preferably has a depressed area 2103 in which the magnetic strip 2101 is placed.
A strip of resilient material (not shown) is placed between die card 2101 and die magnetic strip 2101 to improve its contact with a magnetic write/sensor head. A guide, such
10 as a groove 2104, is provided on the card 2101 to guide a magnetic write/sensor head to ensure tiiat it moves over the magnetic strip in a read/write operation. The groove 2104 will be used to engage a pin on die magnetic head. Also, each end of die groove may be widened to assist the pin of a magnetic head to engage to die groove 2104. On the other side of die ig card, adhesive substance is provided for adhering the card to d e cassette. A sliding cover
(not shown) may optionally be provided to protect die magnetic tape.
The card 2101 according to this implementation can be placed on die top of die cassette in a recess 2105 as shown in Fig. 22 to reduce its exposure and the exposure of the magnetic strip. 0 Alternatively, the card widi die magnetic strip may be place on the back of the cassette casing as shown Fig. 23, and preferably in a recess tiiereon. If the thickness of die cassette is not long enough, dien the magnetic strip can be divided into two portions, 2302 and 2303, to be read with two magnetic heads. The card for carrying the magnetic strip is depicted in Fig. 23 as 2301. 5
As depicted in Figs. 21 and 22, die magnetic tape has a mark 2101 which provided for informing the controller that a directory embodying die present invention is available so that appropriate functions can be performed. The mark 2101 may, for example, be created with light reactive material (e.g. reflective material) so at it is recognizable by a device in 0 die recorder (or as part of the magnetic write/sensor head) when light from a source, such as a light emitting diode or a laser is projected thereon.
To facilitate its use with a stationary magnetic head, die magnetic strip 150 has two parallel tracks of magnetizable material. The first track is a control track pre-recorded with uniformly-spaced clock signals as illustrated in Fig. 19A. These clock signals are provided for synchronizing read/write operations of data to the second data track. The rising and falling edges of the clock signals indicate die boundary of cells.
According to the preferred embodiment, the data is recorded on die second track using the modified non-return-to-zero (NRZ-M) metiiod. Under this method, a bit "0" is
represented by a no-change in magnetic field on the second track within two consecutive transitions on magnetic field on the control track; and a bit " 1 " is represented by a change in magnetic field within two consecutive transitions of magnetic field on die control track as can be seen in Fig. 19B.
The flow chart in Fig. 20A illustrates generally die logic sequence of a write operation.
The write operation is controlled by a read/write circuit which may reside eitiier in the directory controller 30, as shown in Fig. 7, or separately (not shown) widiin die VCR 17. It can be implemented either by hard wired circuit or by software. Detailed description of the read/write circuit, however, is deemed unnecessary as it is well known in the art.
In step 2001, the read/write circuit waits for a transition on die control track to occur. Upon encountering the first transition, the read/write circuit enters step 2002, in which it resets and starts a timer.
In step 2003, the read/write circuit waits for die next transition on die control track to occur. When a transition occurs, the value of die timer is registered and dien restarted (step 2004). In step 2005, die read/write circuit delays for a time period equals to half die timer value registered in step 2004. Steps 2004 and 2005 are performed for die benefit of read operations, so that data can be sampled at time instances where the magnitude of die magnetic field is at peak values, as shown in Fig. 19C. These two steps can be omitted if appropriate actions are performed during die read operations.
In step 2006, die data bit to be output is examined, if the output bit is a "1", a signal is sent to the write/sensor head to change the magnetic field on the data track (step 2007). If die output bit is a "0", step 2007 is omitted.
In step 2008, die read/write circuit determines whether the write operation is completed. Step 2003 will be performed again if there are data left. The read/write head unit 154 actually comprises a first magnetic write/sensor head for reading the control track and a second magnetic write/sensor head for reading die data track. The first magnetic write/sensor head, responsive to changes in magnetic field along die control track, generates clock pulses for sampling the signals received from the second magnetic write/sensor head. As previously described, for a stationary head, data are written into die magnetic strip
150 when it travels in one direction and read when it travels in the reverse direction.
To facilitate die read and write operations to be performed in opposite directions, die data to be written into the data track of die magnetic strip 150 is preceded by a header 1901
as shown in Fig. 19B. The header 1901 is provided to synchronize the read/write circuit to the clock signals on the control track. The header 1901 according to die preferred embodiment contains 24 bits of "1". Behind the header 1901 is a mark 1902 provided to I indicate that whatever is read from die data track in the next clock cycle is a valid data bit.
According to the preferred embodiment, die mark 1902 contains 6 "0" bits followed by 2 "1" bits. This bit pattern is chosen because it is not used to represent data. It will be understood that other bit patterns can be used.
As write operations are performed in a reverse direction, mirror images 1902', 1901'
10 of e mark 1902 and header 1901 respectively are written at the end of the data field 1903 as shown in Fig. 20. In addition, a parity byte 1904 is provided after die data field 1904 so that the direction of die magnetic field at each end can be determined.
Fig. 19C illustrates die output from the second magnetic write/sensor head in reading jc die bit pattern of Fig. 19B. Ideally, the second magnetic write/sensor head should sample the data track at die mid point of two consecutive transitions on die control track. Unfortunately, there is a possibility that magnetic strip 150 is read by a first and second magnetic heads which are misaligned with respect to one another, or that the data track was written by a different recorder whose first and second magnetic heads are aligned differently 0 from those reading die strip, with die result tiiat the data track is not sampled at the proper time instance.
To compensate for a possible misalignment between the two magnetic write/sensor heads, a calibration is performed when the header is read.
Widi reference to the flow chart in Fig. 20B, die read/write circuit waits in step 2010 5 for die initiation of a read or a write operation. When a first transition at the control track is detected (step 2011), die read/write circuit resets and dien starts a timer. In steps 2012 and 2013, die read/write circuit continues to sample the data track until a transition on the control track is detected. 0 As die field in the data track is formed by a series of " 1 " bits, a transition on die data track should occur within the two consecutive transitions on die control track. When a transition on the data track is detected, the time lag, Tl, between die first transition on the control track and the transition on the data track is measured. The control track is continuously read until die next transition is detected. The time difference, Tc, between the 5 first and second transitions is calculated (step 2014).
For better accuracy, steps 2012-2014 can be repeated for N times so tiiat average values of Tl and Tc can be obtained. A calibration value, which equals to Tl Tc, is calculated.
Fig. 20C illustrates die logic sequence for a read operation of die magnetic strip 150. In step 2020, the read/write circuit waits for detection of a transition on the control track.
When a transition is detected, die read/write circuit enters step 2021 in which it resets and starts a timer. In step 2022, the read/write circuit waits for the occurrence of another transition on the control track. When such a transition is detected, die timer is read and dien reset, and the time difference, Tr, between the two consecutive transitions on the control track is calculated (step 2023). In step 2024, the read/write circuit waits for a delay so tiiat the data track can be sampled at peak value. If steps 2004 and 2005 of die write operation of
10 Fig. 20A are performed, the delay is Tr*(Tl/Tc). If steps 2004 and 2005 in the write operation are not performed, the delay is (Tr/2)-f-Tr(Tl/Tc).
At the end of die delay, the output from the data head is sampled (step 2026). If die output from the data head is die same as its value in the last clock (step 2027), a "0" bit is <<- output (step 2028). Otherwise, if the output from the data head is changed, an "1" bit is output (step 2029).
In a further alternate embodiment, a thin erasable programmable read-only-memory (EPROM), or an electrically alterable read-only-memory (EAROM), can be placed on the exterior of the cassette at zone 151. 0 Consider now the details of the operation of die system of Fig. 1 in more detail widi reference to the method of Figs. 2 A and 2B. Assume die single directory marker technique of Fig. 5 is used, a directory is stored in die control track of the tape and tiiat die tape is a prerecorded tape with a directory recorded at die point of last ejection and a number of video programs (or records) pre-recorded on die tape. 5
During block S 1, the cassette 40 is inserted into the VCR. The VCR loads and mounts die cassette so that tape 42 and die video head drum 13, die tape movement sensor 31, and die read/write/erase heads 15, 17, and 19 of the audio and control tracks are all in proper place with respect to the tape 42 just before the directory at an original position. 0 During block S2, the microprocessor controller 31 causes the VCR to erase the contents of the RAM directory 33a in the RAM memory 33.
During block S3, the microprocessor controller 31, through the VCR control logic 21, enables the motor and mechanical control 5 to start rotating the tape reels 40b and 40c and hence move tape 42 in a forward direction. The microprocessor controller 31 and VCR 5 control logic 21 also cause control and audio track head logic 11 to cause the read head 12 to read die directory from the control track if die directory is there. If the directory is not adjacent the read/write heads at die point of insertion (such as if the tape has been moved in the cassette case), then during block S3 A, the microprocessor controller 31, through die VCR
control logic 21 and motor and mechanical control 5, causes the tape 42 to be rewound to die
BOT and fast searching die control track for a single marker. If the marker is not found when end of tape (EOT) is encountered, then the microprocessor controller 31 causes a blank directory to be displayed either in the directory display 32e of the directory controller 30 or in d e video display 50. On die otiier hand, if die directory is found as in this case, during block S4, the directory is read into RAM 33. The marker is erased during block S5. As an alternative, both the directory and the associated mark may be erased from die tape during block S5.
During block S6, microprocessor controller 31 causes logic 21 and control 5 to rewind the tape so that read/write heads 17, 19 are just before the directory. During block S7, the CURRENT LOC value from the directory is used to set die tape counter in die position logic and counter 9. During block S8, the directory is displayed by display 32 or by die video display 50 for user viewing, editing or input. The method now enters block S9 (Fig. 2D) and awaits further user instruction. If the PLAY button 3b is activated by the user, processing continues in block S18. During block S19, the VCR records or reads, i.e., plays tape and displays video images on the video screen 50a. If instead die STOP button 3c is activated, then in block S22 die microprocessor 31 causes logic 21 and control 5 to stop the tape. The tape does not necessarily stop at the end or beginning of a program.
Block S24 is reached from block 59 when die EJECT button 3e is activated by die user. During block S25, die microprocessor controller 31 ascertains whetiier a directory 33 exists in RAM 33. If a directory is not in die RAM, dien block S30 is processed causing the cassette 40 to be ejected without writing a directory onto the tape. This occurs when the tape has no directory and the user does not create one or the user deleted die directory from the RAM through the input/output device 32.
Assume a directory exists in RAM 33. In block S26 die microprocessor controller 31 causes the CURRENT LOC value in RAM 33 to be updated with the current tape location value in position logic and counter 9. During blocks 27 and 28 microprocessor 31 causes die logic 21 and control 5 to start moving the tape in a forward direction. During block S27, the microprocessor controller 31 causes logic 21 and 11 to record a single marker on the control track where the directory is stored on the tape. During block S28, the microprocessor controller 31 causes die directory from RAM 33 onto the control track of the tape in close proximity to the marker. During block S29, die microprocessor controller causes logic 11 and control 5 to rewind slightly to a position before the directory. Thereafter during block S30, the microprocessor controller 31 causes control 5 to eject the cassette tape from the VCR.
Next, consider the operation of the system of Fig. 1 where the ejected tape of die previous example is reinserted into d e VCR without disturbing the tape location in its cassette case, and die user starts to search for a particular program on die tape. The same method as in die previous example is used except that the VCR under control of microprocessor reads the directory off the tape at the position where the tape is inserted, and no searching of die tape for the directory is necessary.
The operation sequence enters block S9 (Fig. 2B) after tape cassette is loaded and awaits a function selection. The program enters block S10 when the user actuates the function SEARCH button 32b. During block Sll, under control of the microprocessor controller 31, information is displayed on directory display 32e or video display 50 which prompts the user to input on keyboard 32a the name of the program or optionally, a program number on which to search. During block S12, the microprocessor controller 31 compares the value of the current tape location counter with the program location value LOC from the
RAM for the program input by die user. If the program is located ahead on the tape, the microprocessor controller 31 causes logic 21 and control 5 to advance die tape to the desired location during block S 13. Otiierwise, if the program is already passed die current location, dien die microprocessor causes the logic 21 and control 5 to rewind die tape to die desired location during block S14 following which the program is read and is played on screen 50a.
If address marks are stored in the VBI portion of die cassette tape, the search operation can be performed by obtaining the difference between the current address mark and die address mark of the target program. If the address marks are written onto the video frame as previously disclosed, the VCR control logic 21 can obtain their values through the VBI decoder 400 (see Fig. 12). The difference between the current address mark and die address mark of die target program is dien set into the position logic and counter 9 (see. Fig 12). Depending on die sign of the substraction, either a fast forward or a fast rewind operation is then performed. When die tape counter reaches zero, die fast forward or the fast rewind operation is stopped and a PLAY operation is initiated to start playing die tape.
Next consider die operation of the system of Fig. 1 where either a blank tape cassette or a prerecorded tape cassette with no directory is inserted into die VCR. The directory controller is equipped to either play the tape as a regular tape or to allow the user to create a directory on the tape. Refer to Figs. 2 A and 2B. The cassette is loaded into the VCR during block SI. The microprocessor controller erases the directory 33a portion of RAM 33 to of any remnant directory from the last tape during block S2. During block S3, the microprocessor controller causes logic 21 control 5 and logic 11 to advance and read the tape to determine whetiier a
directory exists on the control track at the current tape location. If no directory exists on the tape at the point of insertion, die program enters block S3A during which time the tape is searched for a directory and if none are found, a blank directory is displayed and die sequence enters block S9 (Fig. 2D) where the microprocessor controller 31 awaits function selections.
When the user actuates the MODIFY button 37c, die program enters block S15 and tiien block S16. During block S16, the microprocessor controller 31 causes the user to be prompted on display 32e to enter a program name and/or program number, program location
10 and program length (an entry) through keyboard 32a. Alternatively the prompt can appear on the display 50 and one of the titling methods described below can be used. During block S17, an entry is processed by die microprocessor controller 31 to form an entry for the directory, and die resultant entry is dien stored into the directory 33a of RAM 33. The
■, ff program men returns to block S9 to wait for further a function selection.
Consider die embodiment of Fig. 7 where die location of the latest or valid directory on die tape is stored on die magnetic strip 150 at the time of ejection. The location of the latest directory is read off die strip 150 by the magnetic write/sensor 154 into the RAM at reinsertion as a result of a change of magnetic flux caused by die horizontal or vertical 0 movement of the tape cassette 40 with respect to the magnetic write/sensor 154. The use of die directory location information is only necessary if the tape has been moved in its cassette case such that when the tape is inserted, the directory cannot be immediately read off from the tape at the point of insertion. Fig. 10 depicts how the directory location information is used to facilitate searching for die valid directory, where the tape addresses include position 5 indicator which indicate position along die tape from the BOT. During block S60, the tape cassette is inserted into the VCR. During block S62, any directory in die RAM 33 is cleared. During block S64, the encoded directory location information is read off by the magnetic write/sensor head 154 as the magnetic strip moves across the head. If the location read is not 0 a valid location, then block S78 is entered to display a blank directory. Otherwise, the tape is rewound to BOT or to the first position indicator, if any, during block S68 to ascertain its absolute location. During block S70, the tape counter 9 is set to a value corresponding to the BOT or the value of the position indicator. The tape is dien fast forwarded to the directory location during block S72 and die content of the directory is then read into RAM 33 during block S74 and displayed during block S76.
In die embodiment where the entire directory is stored on the magnetic strip 150 at the point of ejection and read off by die writer/sensor head 154 and into RAM 33 at the point of insertion, once the directory is in RAM 33, the tape is searched, played, recorded as
described in the previous examples. Fig. 11 A depicts die flow diagram for loading a magnetic cassette with a magnetic strip affixed thereto and which holds the entire directory. During block S40 the cassette is physically inserted into die VCR. During block S42, the RAM 33 is cleared of any directory. During block S44, die horizontal or vertical motion (depending on a front loading or top loading VCR model) of die VCR cause a change of magnetic flux generated by the directory on the magnetic strip which is read by the magnetic write/sensor head 22. . If no directory exists, dien during block S45, die sequence jumps to block S52 to display a blank directory. Otherwise, block S46 is entered and the directory is stored into RAM 33. The tape is then rewound to BOT during block S48 and the tape counter is set to zero or the first position indicator in block S50 to correspond to die absolute position of die tape.
When the tape is ejected the entire directory in RAM 33 is written onto die magnetic strip 150 by the write/sensor head 154 as die cassette moves out of the VCR. Fig. 11B depicts the flow diagram for writing the entire directory to die magnetic strip during ejection of cassette when the EJECT button 3e is activated, block S200 is entered. During block S202 the RAM 33 is checked to determine whether a valid directory exist. If no directory exists, dien block S206 is entered whereby die cassette is simply ejected. If a directory exists, then during block S204, die cassette is ejected and the directory is recorded on die magnetic strip
150 by the magnetic write/sensor head 154. The embodiments described above using die magnetic strip 150 may be implemented widi die mechanical configurations described above in connection with Figs. 8 and 9, where die read/write head 154 is either stationary or is movable relative to die tape surface.
Preferably in each embodiment of this invention the directory is encoded to save space before it is written on the tape or magnetic strip and is dien decoded after it is read from die tape or magnetic strip and stored in RAM.
Titles can be created and edited by a user before addition to the directory using die apparatus and methods described below and in Figs. 12-16. Referring to Fig. 12, die recorder of Fig. 1 is shown with several additional apparatus elements. A jog shuttle knob 3f, as is well-known in the art, can be used to rapidly advance die tape in the direction in which the knob is turned. Usually the knob has a center detent position which causes die display 50 to display a still frame of the video data on the tape directly over the read/write head. The jog shuttle knob is found on many professional-quality video cassette recorders, and is now available on some devices intended for die home market. An exemplary recorder widi a jog shuttle knob is the Sony model SLV-373UC video cassette recorder, commercially available from Sony Corporation. Essentially, the jog shuttle knob replaces the traditional
fast forward and rewind controls on a VCR, and further enables slow-motion playback and rewinding, and still-frame viewing. As indicated, die jog shuttle knob is coupled to the VCR control logic 21 using means known in d e art.
The VCR additionally comprises a character generator circuit 23 coupled to die control logic and to a character generator read-only memory (ROM) 25. Character generators are well-known in the art. Typically, die character generator ROM stores a data table representing pixel or bit patterns of a plurality of alphanumeric characters, such as the Roman alphabet and die Arabic numerals. Upon command by die control logic and die character generator circuit, die data in die character generator ROM is. read and placed in an output signal to the video display at a position on the display determined by coordinates generated by die microprocessor. 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 VCR also comprises a remote commander unit 1300 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 die art, such as infrared transmission or radio-frequency signals, to die remote signal receiver 29.
The receiver decodes the received signal and passes the decoded data to die VCR control logic.
An exemplary remote control unit is the Remote Commander provided witii the above-identified Sony VCR. Fig. 13 illustrates an embodiment of a remote control unit 1300. The unit comprises a hand-held housing 1322 provided witii 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 channel number buttons 1302 enable remote entry of channel numbers. An ENTER button is used to enter channel numbers and menu options in die metiiods 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 witii an arrow, is used to move an on-screen cursor in various menu operations. An antenna TV/VTR button 1306 is used to command die video display 50 to display a signal coming eitiier from an antenna or the output of the VCR. A power switch 1307 enables turning power to the
VCR on and off.. A TV/VTR switch 1308 enables selectively using die remote control unit to control the VCR 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 die VCR, including die direction, speed, and mode of die tape transport. The functions and implementation of each button are well known in the art, and have been commercially embodied in die above- mentioned Sony VCR.
Commercially available decoder circuits well known in die art for decoding the close caption broadcasting system for the deaf can be optionally connected to die directory controller 30 for automatic generation of the program title for the directory of die program being recorded. Television broadcasts include titles and subtitles transmitted during the VBI portion 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 die directory. Thus, die extracted program title can serve as an alternate data input source for the program directory, reducing the needed amount of user input.
As shown in Fig. 12, caption decoding can be implemented by coupling an input of a VBI signal decoder 400 to the output of a tuner 410 which is generally included in die majority of consumer VCR's for off-die-air recording. The tuner receives a broadcast TV signal from an antenna 420 or a cable TV signal source 421. Both the decoder, die tuner, and the interaction of botii, are conventional in die art. Examples of commercially available
VBI caption decoders include die TeleCaption 4000 Adaptor, commercially available from
National Caption Institute, Falls Church, Virginia, and Teletext Decoder, available from Norpak Corporation, Ottawa, Canada. A decoder signal line 405 is coupled from the decoder to the VCR control logic 21 to carry decoded caption data to die control logic. The control logic is commanded by d e 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 caption data is sent to die directory during or immediately before step 1408, so tiiat when the directory is displayed in step 1408, die caption data immediately appears in die directory display. A user dien 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 die VCR 1 cannot stop or slow down die stream without additional hardware. Thus, it is possible tiiat the first caption data received by the antenna 420 is not the program title. This problem can be overcome by coupling a data buffer memory 430 to the decoder. Under control of the decoder, all caption data received by the decoder is stored in die caption buffer and serially output to die control logic. Each caption data word is displayed in die directory, and die user presses die ENTER button to accept the word and store it as a program title. For a period of time dependent on die size of die buffer and die rate of data received by the decoder, received data remains in the buffer from which it can be recalled by a user and saved as a program title. When the buffer fills, any additional data words received will cause overflow, resulting in loss of the earliest received word. If a large enough buffer 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.
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 tiiereto. Also by monitoring the VBI portion used for transmitting die 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.
As described earlier, each video frame in the broadcast signal is divided into two fields, referred to as field 1 and field 2. In North America, each field consists of 262 1/2 lines, for a total of 525 horizontal lines per frame. The first 21 lines of each field comprise the vertical blanking interval or VBI. Conventionally, line 21 of field 1 has been used to transmit closed captioning information, which may be used as described above.
Alternately, line 21 of field 2 is being considered for broadcast of a variety of extended data services, including die broadcast of program identification information such as channel number, date, time, title and subject category of the program. This data may be broadcast at a relatively high repetition rate prior to broadcast, enabling a suitable decoder to detect the data. Thus, in die system of Fig. 12, die decoder 400 can be designed to receive and store in buffer 430 the program identification information from line 21 of field 2 of each frame. Using suitable logic, the program title and otiier information can be stored automatically in the directory 330, 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 CAPΗON DECODER REQUIREMENTS FOR THE TELEVISION RECEIVERS"; Title 47, CFR, Part 73.682(a)(22), Caption Transmission format; Title 47, CFR Part 73.699, figure 6; "TELEVISION SYNCHRONIZING WAVEFORM" ; Title 47, CFR, Part 73.699, figure 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".
The remote shuttle control, the character generator, and a control program stored in die directory controller can be used to create video titles for the program directory. In one embodiment, the methods of Figs. 14A, 14B are used in connection widi an on-screen video display shown in Fig. 14C. The steps shown in Figs. 14A, 14B are invoked when die system enters steps Sll or S16 of Fig. 2B, step S78 of Fig. 10 or Fig. 11A, or steps Sll, S16 of Fig. 11B. Upon entry of these steps, the system is placed under die control of a stored program coupled to die microprocessor containing instructions to implement the steps of Fig. 14A. Control is passed to step 1404 in which die system tests whether the directory display has been selected. If not, control is passed to step 1406 and die data-entry mode of Fig. 14A is terminated.
Otherwise, control passes to step 1408 in which die directory display 32e is shown on die video screen. The display may take the form of Fig. 14C, comprising a representation of an alphabetic keyboard 50b in the upper portion of the screen, and a video title 50g in die lower portion. The keyboard representation 50d resembles a standard QWERTY-style typewriter keyboard. A plurality of rows 50e are displayed, each including a plurality of single characters 50f . The characters 50f match the labels of the standard typewriter keys in a QWERTY-layout keyboard. Initially, die title 50g is entirely blank. If desired, die character spaces available for filling with a title can be represented by adjacent squares or rectangles as shown in Fig. 14C.
Control is passed to step 1410 in which the system waits until a key is pressed on die remote control unit 1300. If a cursor key 1305 if pressed, control is passed to step 1412 and die on-screen cursor is moved to a new location. Otiierwise, the control is passed to step 1 1 jn which the system tests whether the enter button 1303 has been pressed. If so, control is passed to step 1416 and die cursor is moved to die character "Q" in die first row 50e of die keyboard representation 50d. Control is passed to step 1418 in which the system tests whether a cursor key 1305 has been pressed. If so, control is passed to step 1422 and die
cursor is moved to die next character in the keyboard representation 50d. If desired, the current character can be highlighted or shown in reverse video, as indicated by the character "C" at 50j. Otherwise, control is passed to step 1420 and the system tests whether the jog shuttle knob has been moved. If so, control is passed to step 1422 to move the cursor. Otherwise, control is passed to step 1424 and die system tests whetiier the enter key 1303 has been pressed. If so, the user is indicating that the current highlighted character 50j is desired to be entered in die current character 50k of the title 50g. Therefore, the control is passed to step 1426 in which die character 50j is copied to location 50k and "frozen" in place by displaying it in normal video. Control is then passed to step 1422, to advance die character position cursor 50k to die next position.
Odierwise, control is passed to step 1428 and the system tests whether the menu button 1304 has been pressed. If not, control is passed back to step 1418. If so, die user has indicated that the displayed title is complete and d e user wishes to save the title in die directory. Therefore, control is passed to step 1430 in which die title shown at 50g is copied into one of the program title locations in the directory controller RAM 33. Control is passed to step 1406, thereby ending entry of a title.
Fig. 14B illustrates a method for advancing a keyboard representation cursor such as that shown at position 50j . Since the entire keyboard 50d is represented as a plurality of rows
50e, a command (using die cursor keys or jog shuttle knob) to advance the cursor requires special processing at the end of each row. For example, in step 1450 die system tests whether the left arrow cursor key has been pressed or die jog shuttle knob has been moved to the left. If so, die next task (step 1452) is to test whether the current character position is at the far left end of one of the rows 50e, i.e., whether the current character is Q, A, or Z. If so, control is passed to step 1454 in which d e system handles the overflow condition by taking one of a plurality of possible steps. If desired, the system can simply do notiiing, causing the cursor to freeze at the left end of die row. Alternatively, the cursor can jump to the far right end of die same row. For example, if the current character is "Q" and die user presses the left arrow cursor key, the cursor could jump to d e letter "P" at the far end of the row. Further, die method could cause the cursor to jump to the end of die previous row, with "wrap around" if desired. Thus, if the cursor is on the letter "A" and die user presses the left arrow, the cursor can jump to the letter "P" on the row above. Any of these steps can be taken in step 1454. Otherwise, if the current cursor position is in the middle of a row, control is passed to set 1456 and the cursor is moved to die left.
A similar series of steps 1458, 1460, 1462, 1464 handles movement of the cursor to die right. In tiiis case, overflow at step 1462 can result in freezing the cursor, moving it to the next row, etc.
As shown in steps 1466 to 1476, similar processing can be conducted for die "up" and "down" arrow cursor keys. Wrap around can be implemented. For example, when the "up" arrow button is pressed and the cursor is currently on die first row 50e, die cursor can be made to jump to the third row.
As is known in the art, the keyboard representation 50d can be created by
10 commanding die character generator circuit 23 to output a particular character at a particular screen position. Thus, the microprocessor controller 31 can command die VCR control logic 21 to "write" a character on the screen by providing an ASCII code for a character and coordinates of die desired screen position. The control logic passes tiiese parameters to die « - character generator with a command signal. The character generator receives die parameter data, retrieves a character bit map from the character ROM, and returns die appropriate display information to e control logic. The control logic inserts the character information into die output video signal and sends it to die video display. This step for commanding a character generator to output video characters to a display is known in die art. 0 Using the above steps, the jog shuttle remote can serve as a rapid data-entry unit to facilitate a quick selection of characters for a video program title.
An alternate method for creating video titles is shown in Figs. 15 A and 15B. Steps 1502-1508 are die same as steps 1404-1412 of Fig. 14A. When step 1404 is reached, die display shown in Fig. 15B is placed on die video screen by die character generator unit. 5
As shown in Fig. 15B, a "scrollable" display 50c can comprise one or more title lines 50g, each comprising a plurality of characters 50h. During entry of a title, one of the characters 50h may be highlighted as designated by 50m. The highlighted characters referred to as d e "cursor position" of the title. 0 When a new title is being entered, after the display of Fig. 15B is shown, control is passed to step 1510 of Fig. 15A. The cursor 50m is moved to die first (leftmost) position of the on-screen title. Control is next passed to step 1512 to display die current character at tiiat location. Initially, die current character will be "A", which will appear in die leftmost position of the title. Control is passed to step 1514 in which die system tests whetiier an 5 arrow button or die jog shuttle knob has been moved. If so, control is passed to step 1516.
If the current character is "Z" or "A", special processing is required. If die current character is "Z", and the right button was pressed, dien die cursor is change to "A". Likewise, if the current character is "A", and die left button is pressed, the current cursor changes to "Z".
These steps are effected in step 1518. Otherwise, control is passed to step 1520 in which the current character is incremented or decremented depending on whetiier the left or right buttons (or jog shuttle knob) have been pressed. Thereafter, control is passed to step 1512 to display the current cursor. In real time, die user sees die character at die current cursor position rapidly change from "A" through each letter of the alphabet as long as an arrow button or the jog shuttle knob is being operated.
If an arrow button or the jog shuttle knob is not in operation, control is passed to step 1522 and die system tests whether the "enter" button 1303 has been pressed. If so, die user desires to freeze and save die current character. Therefore, control is passed to step 1524 in which die current displayed character (and the remainder of die title) are saved in a memory location coupled to die microprocessor controller. The cursor is tiien advanced to die next available cursor position, if any, as indicated in step 1525. After die cursor is advanced, die current character at tiiat position is displayed; as indicated above, this will be the letter "A".
If "enter" has not been pressed, control is passed to step 1526, in which the system tests whether the menu button 1304 has been pressed. If not, control is passed back to step 1512. If so, die user desires to save die entire title. Therefore, control is passed to step 1528 in which die entire displayed title is saved into one of die program title locations of die directory 33a in die RAM 33. Entry of a title is then complete and control terminates at step
1530.
Thus, using the method of Fig. 15A, rapid entry of video titles is possible. Each character position is handled seriatim, with the cursor passing from character to character until completion. At each character position, the display initially shows the letter "A", and tiien rapidly advances tiirough the alphabet as the arrow buttons or jog shuttle knob are operated.
If no title is detected from d e broadcast signals and if no title is entered by a user, then a default title is inserted into the directory. The default title may include such information as the channel from which the program is received, die date and time the program is recorded, etc.
Insertion of die cassette, as used herein, includes die 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 a reading position adjacent heads 13, 15, 17 and 19. The directory controller 30 is enhanced according to die present invention witii additional features to facilitate management of records stored in a cassette of tape. These additional features are now described witii reference to Figs. 18A and 18B.
The flow chart in Fig. 18B shows die additional options that are provided to a user when a directory is displayed in Fig. 18A.
When die user actuates the cursor movement keys step 1801 is entered. A pointer is provided in die microprocessor controller 31 to point to the directory 33a at the entry (or a field witiiin an entry) identified by die cursor; when the cursor movement keys are actuated, this pointer moves correspondingly (step 1802).
If d e ERASE button is then actuated (step 1803), die directory controller 30 will use the information from the directory 33a to locate die program and erase tiiat program from the tape 42 (step 1804). After die program is erased, die directory 33a is updated (step 1805) to show tiiat the entry is empty or available for recording a new program.
In addition to the normal erase operation described hereinabove, the directory controller 30 allows a user to "speed erase" a program. When this operation is initiated, by actuation (step 1806) of a predefined key pattern or sequence (such as a special "SPEED
ERASE" key), the directory controller 30 simply invalidates die corresponding entry in the directory 33a widiout actually performing an erase operation on the tape 42 (step 1805).
The invalidation of step 1805 can be performed, for example, by setting an "invalidate" bit stored witii the entry. A recording operation can be performed in two different modes. According to die first mode, die cursor is moved to select an entry from die directory 33a. After die entry is selected, if a recording operation is initiated from the keyboard (step 1807), the directory controller 30 will record die program on die tape portion corresponding to die selected entry (step 1808). After the program is recorded on tape, e directory 33a is updated (step 1809). The second mode of operation is initiated when die user actuates (step 1810) a predefined key pattern and sequence to perform a fast recording operation. In a fast recording operation, die director controller 30 operates to search for an empty entry which is long enough to record the program (step 1811). Algorithms may also be implemented so that an optimal entry, for example, one whose length is closest to the length of the program, is selected. When die entry is selected (step 1813), die directory controller 30 records die program thereon (step 1813), and die directory 33a is updated accordingly (step 1814).
The directory controller 33a also gives a user the option to view die title of the program being shown on the television. When this operation is initiated by actuating a predefined key pattern (step 1820), the directory controller 30 first investigates whether die
VCR is showing a broadcasting program or a recorded program. If die VCR is showing a broadcasting program and if the tide of die program is transmitted among the broadcast signals (as in the VBI portion as described above), the directory controller 30 will generate
tiie title from the broadcast signals and displays it on the television screen (step 1822). On die other hand, if die VCR is playing a recorded program, die directory controller 30 will retrieve die title from the directory 33a and display it on the screen (step 1823). In the preferred embodiment, a timer is kept in die directory controller 30 so that the title is removed from the screen after five seconds (step 1824).
The user is also provided with an option to create a library in a memory such d e system data area 33B to store the directories of selected tapes. When a tape is inserted into die VCR, die user can initiate an "Add Library" operation (step 1832) by actuating a predefined key pattern or sequence. Responsive to die "Add Library" operation, the directory controller adds die directory of die tape to the library (step 1834).
The user can also perform a "library" operation (step 1830). Under this operation, the list of tapes stored in the library is displayed (step 1831). Optionally, the title of the first program in each directory is displayed along with the title of die tape.
Figs. 24A-24G are flow charts illustrating the user interface and operation of a controller in which die present invention is embodied.
Widi reference to Fig 24A, the controller in step 2401 checks whether a cassette tape has been inserted. If no cassette tape is inserted and the controller's buttons are actuated, then block 2402 is entered.
In step 2404, a determination is made to see whetiier the cassette tape is enhanced witii the present invention. If die cassette tape is one which is not enhanced witii the present invention, then a first type of menu, like die one shown in 2406 is displayed. On die other hand, if the cassette tape is one which is enhanced in accordance widi the present invention, then a second type of menu, like die one shown in 2408 with additional options, is displayed.
Fig. 24B also shows how operation of the VCR is facilitated by die present invention. For example, in a rewind or a fast forward operation, the program counter and tape position cursor can be displayed; and in an erase operation, die program can be "erased" by simply deleting it from e directory.
Fig. 24B also illustrates that the user is provided with an option to display the program title (program ID) on the screen, both when the television is showing a VCR program and when it is showing a broadcasting program.
Figs. 24C-24E show how an enhanced record operation can be enhanced by the present invention. For example, from step 2431, die directory is searched to find a location on which a program can be recorded in a timer recording operation, or the user can select a location himself. From step 2441, the controller operate to insert a title onto die directory.
The foregoing description should not be read as pertaining only to the precise strucmres and techniques described, but radier should be read consistent with, and as support for, die following claims, which are to have tiieir fullest and fair scope.