CA2203755A1 - Apparatus and methods for downloading recorder programming data in a video signal - Google Patents

Apparatus and methods for downloading recorder programming data in a video signal

Info

Publication number
CA2203755A1
CA2203755A1 CA 2203755 CA2203755A CA2203755A1 CA 2203755 A1 CA2203755 A1 CA 2203755A1 CA 2203755 CA2203755 CA 2203755 CA 2203755 A CA2203755 A CA 2203755A CA 2203755 A1 CA2203755 A1 CA 2203755A1
Authority
CA
Canada
Prior art keywords
recorder
programming data
time
day
date
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Abandoned
Application number
CA 2203755
Other languages
French (fr)
Inventor
Yee Kong Ng
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Index Systems LLC
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority claimed from PCT/US1995/013942 external-priority patent/WO1996013932A1/en
Publication of CA2203755A1 publication Critical patent/CA2203755A1/en
Abandoned legal-status Critical Current

Links

Abstract

Apparatus and methods are provided for controlling recording of video programs. In one embodiment an apparatus for controlling the recording of video programs includes a device (60) for retrieving a recorder identifier and recorder programming data from a television signal received from a television signal source, a device (21) for determining whether the retrieved recorder identifier matches a first identifier for the apparatus, a device (33) for storing the recorder programming data, if the retrieved recorder identifier matches the first identifier for the apparatus, and a device (21) for using the stored recorder programming data to control recording. The device for retrieving a recorder identifier and recorder programming data from a television signal includes a vertical blanking interval decoder.

Description

APPARATUS AND METHODS FOR DOWNLOADING RECORDER
PROGRAMb~G DATA IN A VII)EO SIGNAL

s Fleld of the Invention:
This invention relates generally to television and recorders and particularly toplog~...l..ir~g a video c~settP recorder to control the ,~ording of video pr~. ~ns D~ "lion of the Related Art:
The video c~sette recorder (VCR) has a number of uses, including playing back oftapes filmed by a video camera, playing back of pre-recorded tapes, and lccor~ing and playing back of broadcast and cable television progl~.,s.
To program a VCR for un~tt~P-nd~P~I recording of a television progl~l~, a two-step process is often used: (1) obtain the correct ch~nnel, date, time and length (CDTL) 15 inrOl..lalion from a television program guide, and (2) plOgl~ll this CDTL inrollllalion into the VCR. Depen~1ing on the model, year and type of the VCR, the CDTL infollllation can be pro~ldlllllled in various ways including: (i) pushing an a~,op,iate sequence of keys in the console according to instructions cont~inPd in the user's m~nll~l, (ii) pushing an apl"~liale sequence of keys in a remote hand-held control unit according to instructions conlained in 20 the user's manual (remote pl~gl~ g), and (iii) ex~Pcuting a series of keystrokes in the remote hand-held control unit in response to a menu displayed on the television screen (on-screen progl~ ;n~). Other techniques for timer plc~ lllllling have been suggestP~I
including: (iv) reading in certain bar-code inro,ll-ation using a light pen (light pen progr~mming), and (v) Pntering instructions through a co---l,uler or telephone modem. These 25 various mPthotls differ only in the physical means of inpullillg the information while the conlent~, being CDTL and certain power/clock/timer on-off CG-lllllZIn(lS are gener~lly common although the det~ilP~I p,olocol can vary with dirr~ t model VCRs. Methods (i) and (ii) described above can require up to l00 keystrokes, which has inhibited the free use of the timer plc~nJ~lAllllllillg feature of VCRs. To alleviate this, new VCR models have included an "On-Screen Pl.. gli.. ;.-g" feature, which ~x;llllil~ remote input of CDTL information in response to a menu displayed on the television screen. (~enpr~lly on screen pro~.A.. ;ng of CDTL information l~uir~s an average of about 18 keystrokes, which is less than some of the prior mPtho~s but still rather subst~nti~l. Some of the other techniques such as (iv) above, require the use of special equipment such as a bar code reader.
In general the above approaches suffer from a nul.lbel of drawbacks. First, the procedure~for setting the VCR to record in advance can be quite complex and confusing and difficult to learn; in fact, be~-me of this many VCR owners shun using the timerpreproglA.~ g record feature. Second, the transcription of the CDTL information to the VCR is hardly ever error-free; in fact, many users of VCR's timer lJlclJlogl~llllllh~g reatulcs express cQn~ - over the high in~ Pnce of pfoglA------i~g errors. Third, even for eYrpri~pnc-p~
users, the p~cess of entering a lengthy sequence of infol...~lion on the ch~nnPl~ date, time and length of desired plogl~ll can become tedious. Fourth, techniques such as reading in 5 bar-code inrolmalion or using a cûlllpulcl require special e4uipmcnt. These drawbacks have created a serious im~limPnt in the use of a VCR as a lcco~illg device for television pr~gl~ulls. The effect is that time shifting of pr~ldlllS has not become as popular as it once was thought it would be.
The pr~gl~...ming of a VCR for later Im~ttPnd~P~ cco~ling of one or more SPl~PCtP~
plogl~--s has been greatly ~implifiP~ as disclosed in U.S. Patent 5,335,079 issued 8l2l94, which is incol~l~tcd herein by this reference as though set forth in full. As disclosed in that patent a co---prcssed code in ~oci~tion with the p Ogldlll iS published in a ~Jr~l~ll listing for the Gh~nnPl, date, time of day, and length of a progla--~ and the col,,~lcssed code is entered by the user into a unit, such as a remote control or VCR, that has the capability of 15 decoding the col~ ss~d code. The res--lting CDTL information is stored and used to turn on the VCR and to select the described ch~nnPl at the applopliale time.

Summary of the Invention It is an object of this invention to provide ap~lus and methods for controlling a particular lt;cor~er for leco~ing video prl)gl~llllS.
It is another object of this invention to provide appa-alus and methods for bro~dc~ing recorder prog-~------ing data that provides control for recording to only a particular recorder.
It is another object of this invention to provide users with a simple system for effP~cting VCR timer plc;~lu~ mming or VCR progr~mming.
According to the invention, apl)aualus and metho-~s are provided for controllingr~colding of video pr~gl~..s. In one embodiment an a~dlus for controlling the lccording of video pl`Ogl~llS in~llld~P~s a device for retrieving a recorder identifiPr and recorder pr~gl~lllllli~g data from a television signal received from a television signal source, a device for detel",il~ing whether the retrieved recorder id~PntifiPr m~t~ llPs a first itlPntifier for the 30 a~p~lus, a device for storing the recorder plugl~llllllling data,-if the retrieved recorder id~PntifiPr ...~ h~s the first idPntifiP~r for the app~l~ls, and a device for using the stored l~cor~el proglA.~ ;ng data to control recu~ding. The device for retrieving a lecor~er identifier and recorder progr~mming data from a television signal incl~ldes a vertical blanking interval deco~Pr.
3 5 Other objects and many of the ~ttP-nd~nt realures of this invention will be more readily appreciated as the same becomes better understood by reference to the following det~ Pd des.;li~tions and considered in co~-~-Pctinn with the acco...panying drawings in which like reference symbols ~lesign~tP like parts throughout the figures.

WO 96/13932 PCI~/US95/13942 Brief D~ tion of the Drawi~
FIG. 1 is a block diag~n illuslldliilg a video c~ettf recorder according to the present invention;
FIG. 2 is a scl-f- ..;.I;c diagram illu~lldLiilg an interl~-ed raster sc~nning pattern of a - 5 convention~l television;
FIG. 3 is a functional block diagram of a television video and data tr~n~mi~ion system;
FIG. 4 is a timing diagram showing the vertical bl~nking interval (VBI) lines of field 1 and field 2;
0 FIG. 5 is a timing diagram of the standard data format (lX) for t~n~mitting data in the VBI;
FIG. 6 is a timing diagram of the accelerated data format (2X) for tr~ncmitting data in the VBI;
FIG. 7 is an illustration of part of a television c~lPnrl~r according to this invention;
FIG. 8 is a flow graph of the co"~pr~ssed code de~ing technique according to thepresent invention;
FIG. 9 is a flow graph of the co~ essed code encoding technique according to thepresent invention; and FIGS. 10 - 13 are flow graphs of metho-lc for controlling the l~colding of video2 o programs according to the present invention.

- CA 0220375~ 1997-04-25 Detailed D~ tion of the Specific Embodiments Referring to the drawings, FIG. 1 is a block diagram illustrating a video c~Csette recorder 10 that provides indPYing of recorded pf~gldllls using a dir~clo,~. The in-lP~ing VCR 10 inçlllde~ a video c~tte reader/recorder (VCR) function with a direclol y controller function 30. FYt~rn~l to the indeYing VCR 10 is a television monitor 50 and a remote controller 75. The VCR uses any one of many different recolding tec-hnologies such as BETA, VHS, super VHS, 8 mm, VHS-C or any other popular technologies. The c~tte 40 is a convention~l video c~ette having a m~netic tape 42 packaged in a cartridge 40a or c~ette housing (hereafter called c~ tte) and transported between a feeding spindle 40b and a takeup spindle 40c. Even though the size and design of the housing is dirr~ t for dirrerent types of lecol.lil g technology, the basic information that goes on the tape itself is similar. The technology and operation of a conventional VCR are well understood in the art.
The inde~ring VCR 10 has a button control panel 3 with control buttons, including LOAD 3a, PLAY 3b, STOP 3c, RECORD 3d, and ~JECT 3e for controlling the operationof the VCR. The LOAD button 3a is optional and is not used on m~hines which loaddulo...~ lly. The VCR control logic circuit 21 receives control signals from the button control panel 3 and controls the overall operation of the VCR by sendin~ control signals to a motor and me~h~nic~l control logic circuit 5, a video logic circuit 7, a position logic and cuullter circuit 9, and a control and audio track head logic circuit 11, as well as to the microproceisol controller 31 of the di~ oly controller 30.
The motor and m~h~ni-~l control logic circuit 5 controls loading and ejecting of the c~ett~- 40 and also controls movement of the video tape 41 within the video ç~tte 40 during recording, reading (playback), fast fol~ard, and rewind. The video logic circuit 7 controls the operation of a video read/write head drum 13 in reading from or fecording video 2s signals to the tape 42. The ~ trjr~l signals are m~gneti~lly coupled between the video logic circuit 7 and the video head drum 13 using a winding 14. The position logic and counter circuit 9 monitors tape movement through a ç~tte tape movement sensor 22 and generates signals that leple;sent tape position. The control and audio track head logic circuit 11 controls writing, reading, and erasing of signals on the control or audio track of the tape 42 through the write head 19, the read head 17, and the erase head 15.
The direcloly controller 30 inrludes a micloprocessol controller 31, a random access memory (RAM) 33 and a dir~;lol~ input/output display and control panel 32. Preferably the micl~loccssor controller 31 comprises an inl~ld~ed circuit miclu~locessor, a program store 31a, such as a read-only-memory (ROM), for storing a control ~rogl~" to implem~nt methods of the invention, and a clock 31b for generating a clock signal for timing functions and providing the time. The time may be set using the dil~;l~.~y input/output display and control panel 32 in a manner known in the art. The micloplocessor controller 31 controls the operation of the dilect~ controller 30 and interfaces with the VCR control logic circuit 21 to implemPnt the nfx~ functional capabilities for reading, upd-qting and writing the di~ oly. The microcontroller processor 31 in the indeYing VCR 10 pc.r~ ,-s all indeying functions and human interface, intcl~lct~ (e.g. tab, indent, screen format, attributes).
The RAM 33 is a conventional random access semiconductor memory which interfaces5 dil~;Lly with the miclo~luccssor controller 31. The RAM 33 is preferably non-volatile.
.AltPrnqtively, the RAM 33 has a battery backup. The battery backup should ~lqin~ the conter.l~ of the memory for a predetel.l~i.led time, e.g., 7 days, after the loss of power. The retention time may be shorter, if the indeYing VCR uses an automatic backup of the memory onto video tape. A portion of the RAM 33, shown as system data 33b, is used for storing 10 the system sorlwarc of the microprocessor controller 31. The RAM 33 is also used for storing program dir~;lol;P-s 33a. The size of the RAM 33 is at the discretion of the manufacturer. However, the RAM 33 preferably can store the di-~;tul~ of at least 400 tapes. Accordingly, the RAM 33 has preferably at least 256 kilobits of memory for library storage. Effective memory size of the RAM 33 may be increased by using well known data 15 co...prcssion techniques. Data recorded in the RAM 33 may be encoded or scrambled.
The directory input/output display and control panel 32 has an alphanumeric keyboard 32a and special function keys, such as a SEARCH key 32b for co~ nding searches for data in the dirc~;L~ly 33a and on the tape 42, a MODIFY key 32c for modifying or ~ eting dilcc~o~ info,...ation in the RAM 33, and an ENTER key 32d for entering l.rugl~..
20 di~`ccLOl~ infol...aLion. Instead of providing special function keys, flnction~ can also be ini~;qlr~ by entering pre~finecl sequences of convPntion-ql keys on the alphqnl-mPri~ keyboard 32a.
A display 32e is a conventional liquid crystal or other type display for displaying data being entered on the keyboard 32a, and to display the dir~lo,y or other info-...ation stored 25 in the RAM 33. ~ltPmqtPly, data can be shown on-screen a television display 50a. The dil~;lu~ inr-""qtion stored in the RAM 33 is plocessed by the miclopl~cessol controller 31.
The VCR 10 qdditionqlly comprises a character generator circuit 23 coupl~ to theVCR control logic circuit 21 and to a character gclltldtor read-only memory (ROM) 25.
3 0 Character generators are well-known in the art. Typically, the character gc cld~or ROM 25 stores a data table l~)r~sel~l;ng pixel or bit pqttP-m~ of a plurality of alphanumeric characters, such as the Roman alphabet and the Arabic numerals. Upon co"""alld by the VCR control logic circuit 21 and the ch~r~tpr generator circuit 23, the data in the character ge~l~,.atOl ROM 25 is read and placed in an output signal to a video display, such as television 50, at 35 a position on the display de~c ---ined by cooldinates gcncl~ted by the microprocessor controller 31, or the ch~r~^.ters could be sent to display 32e. The end result is visual display of a al~l-an~ eric character on the display screen.

W O96/13932 PCTrUS95/13942 As shown in FIG. 1, vertical blanking interval (VBI) signal decoder 60 is coupled to the output of a tuner 61, which receives a broadcast TV signal from an antel-na 63, a cable TV signal source 64, or a ~t~11ib~ receiver system. The vertical bl~nking interval (VBI) is the time that the beam on a television is retr~-~ing from the bottom to the top of the screen.
5 During this interval video is not written to the screen, thus, information can be sent during the vertical blanking interval. The VBI clecoder 60 decodes data in the VBI of a lcceivt;d video signal. The VBI is further described below.
Directl.,y data can be ~nco~l~l in the VBI and retrieved by the VBI decodPr 60 and provided to the directory controller for storage in RAM 33. For example, the dilecloly data 0 can include the ylogl~ll name and the program type. Note that dir~;lul y data can also be entered into RAM 33 by using keypad 32a.
A decoder signal line 65 is coupled from the VBI decoder 60 to the VCR control logic circuit 21. The VCR control logic circuit 21 is co.l....~nded by the microprocessor controller 31 to store the decoded dil~;loly data in the directory 33a under control of a stored program in the RAM 33. The dilecluly data can be displayed on the television 50 or the display 32e.
The use of the directory data to retrieve programs recorded on video tape 41 is further described in U.S. Patent Ser. No. 08/176,852 filed, December 30, 1993 which is incolyul~led herein by this reference as though set forth in full.
The VBI decoder 60 can also be used to retrieve a recorder identifier and recorder 20 piogl,,.-----ing data from the television signal received by the VBI decoder 60 from the tuner 61. The user can enter and store a recorder identifi~r in RAM 33, such as shown by stored recorder identifier 90 in FIG. 1. The entered recorder identifier 90 is con.l,~ed to the retrieved recorder identifi~-r, which is retrieved from the television signal by the VBI de~er 60, and if the entered recorder idPntifier m~tch~s the retrieved recorder identifi~r, then the 25 recorder progl;-.""~;ng data retrieved from the television signal by the VBI decod~r 60 is stored under control of the VCR control logic 21 and the micr~rocessor controller 31 into the RAM 33, as shown by stored recorder ~,ro~lA."ming data 92. The recorder pr~gl~,-..nil-g data consists of a ch~nnel, a date, a time-of-day and a program length (CDTL) for a program to be recorded. Clock 42 is in(~ ded in VCR 10 and keeps time inc]~lding the time-of-day and a date. For example, the date could be August 3, 1994 and the time-of-day could be 3:00 p.m.
The recorder ~,rog,A.""~ing data 92 is used to control the recording of pr~lg~ s of the proglA.",.,ing data by the VCR 10. When the date and time-of-day of the recorderprog,A""";ng data, Col~ c to the clock date and clock time-of-day, then the ch~nn~l of the recorder programming data is used to tune the tuner 61 to the proper ch~1lnP~l and then l~cor~ing by the recorder is started. When the l~cording has continued for a time equal to the program length of the recorder progFam data, then the lecording for that progl~lll is ended.

The VCR 10 also includes a colllplcssed code de~le 80 which is further explainedbelow. Briefly, the Co~ SSed code decoder can decode a cOIIIpl~SSeCI code which is l~ ~le~U~ e of and col--~l~ssed in length from the combination of a ch~nnel, a date, a time-of-day and a plUgl~lll length for a ~)lUgl~llll to be recorded. The retrieved recorder - 5 p~Og.~.. il-g data can include coll-prcssed codes. When the VBI de~oder 60 retrieves a colllp~cssed code, the CGIllpl~ ssed code is sent to the co~ leised code de~oder 80 by VCR
control logic 21 to decode the COIll~ i.sed code into ch~nn~l, date, time-of-day and plOg length, which are then stored in RAM 33 as shown by stored lGcor~er pç~gl~ ...n~g data 92.
Then the çh~nn~l, date, time-of-day and program length are used in the Illanl er described 10 above to control the VCR 10 for l~ol.ling plUgl~llS.
The colllpless~ code decoder can pelru~lll the decoding as a function of the clock 42.
By making the deco~ing of the colll~J~G5sGd codes a function of the clock, the algolil}llll for deco ling the cûl-lplessed codes is a function of time and therefore more difficult to derive.
The television signals received by tuner 61 are received by many such tuners in 15 dir~Gl~nt VCRs, because the television signals received via ~ntenn~ 63, cable TV signal source 64, or a ~t~llite receiver system are broadcast to many receivers. The recorder idæntifi.or that is sent with the television signal and inserted into the vertical bl~nkin~ interval of the television signal is affectively an address to a particular VCR or other appalalus that is i-lPntifi~d by the bro~lc~tPd recorder identifier.
In order for a user to obtain recorder progli........ ~.. ing data from a television signal broadc~t~d from a station or cable TV source, the user calls a lepl~n~ e at a station and informs the lGl~resæu~ e of the lGco~der i~lPntifirAti. n for his/her VCR 10. The user also ir~pntifies ~,lOgl~lls to be rGco~ed or selection criteria to be used to select pl~ lllS for ~ecol~ih~g. The lepl~--lAIi~e can be an actual person who ans~vGl~ the phone and then 25 enters the data into a COIIIPU~G1~ or the l~r~se.-t~ e function can be au~ollldtGd and the user can enter the le~lui~Gd data via telephone touch-tones. The colllpulGr at the remote site can then be used to convert the identifi~l progl~lls or pl`Ogl~lll selection criteria into a set or sets of l hAnnel, date, time-of-day and p~y,lalll length (CDTL) data. The co-l-puler is linked to a station which can insert the l~;COl~e. i~entifi~Ation and the set of CDTL data for ~ ;l~llS
30 to be recorded into the vertical blanking interval of a tlAcill~d TV signal.
Instead of gencldling a set of chAnn~ date, time-of-day and p~,~ UII length, (CDTL) data the colllyulGr can also gellGld~e a set of CGIllplcSSed codes, each coll-p~ssed code being colll~l~ssed in length from the combination of the lengths of the chAnnel, date, time-of-day and plogl~-. length data.
3 5 There is s~lffici ont band-width available to insert the r~ue~s from many users into the vertical blAnking interval of a l-A~Illill~d TV signal. All that is r~uirGd is to l-A~1C...;~ the data for a particular user prior to the time that the pl`ogl~llns to be recorded are brr~lc~Q~
If multiple users request to have recorder proglA.,....il-g data downloaded to their- VCR via W O96/13932 PCT~US95113942 data inserted in the vertical blanking interval of a broadcast television signal, then the insertion of a recorder i-lPntifirAtiQn and recorder progrAmmin~ data is pe.rolllled for one user and then the same step is p~lr,lllled for the next user and so on. It is A~ mP~ that the VCR 10 is turned on at all times, so that whenever the signal is trAn~mitted with the recorder identifirAtiQn and the recorder p,oglA-.. ing data inserted into the vertical bl~nkinE interval, the VCR 10 will be ready to retrieve the data using the VBI d~P~dPr 60.
Rather than the user entPring a lecolder id~PntifiPr into the VCR 10 and storing it in the RAM 33 as shown by a recorder i-lentifiPr 90 and then calling the ~cyle~ltAti~e in order to inform the l~csçl-lA~;~e of the recorder idPntifiPr to use when trAn~mittin~ the leCOl`~dcr 0 plog,~ll data for the user's VCR, the VCR 10 can include a random nulllber generator 94 which is used to gellcl~le a recorder identifiPr. The use of a random llulllber genf~-.AIor 94 to genelate a recorder i-lPntifier reduces the probability that any two users will select the same recorder identifier for their VCR 10. The random number gcn~,dtor 94, genPr~tP~S a random number which is then displayed to the user either on dir~;to,~ display 32e or on 15 television 50. The user then reads the random number and calls the ~G~r~sf n~AIi~re and gives the lc~resenlAIi~e the random nul~lbel to use as a recorder id~Pntifier. At the same time the current random number in random number generator 94 is stored in RAM 33 in the recorder id~Pntifier 90 location. Then when the random nunlber that has been given to ther~p,~sc..lA~ e is inserted in the vertical blanking interval for a broadcast television signal, 20 the VCR 10 extracts the random number using the VBI decodPr 60 and colllp~es it to the recorder identifiP-r 90 stored in RAM 33. If the random number and the rccordcl identifier 90 are the same then the VCR control logic knows that the recorder proE-A.--ming data that is sent together with the random nulllber is meant for this VCR. The VCR control logic then takes the recorder pl~glA~ ll;n~ data which is extracted by the VBI decoder 60 and stores 25 the recorder p,~,A~ .-;ng data in RAM 33 as shown in FIG. 1.
It is illlp.,l~lt that the random number genf.;.~Pd by one VCR be ~lirÇer~nt than a random nulllber generated by another VC'R so that each VCR will have a unique r~ld~
;dentifiPr. In one implemPntAtion for generating a random nulllber, a first twelve bit counler - and a second twelve bit counter are provided in the VCR. At power up of the VCR, the two 30 coun~,~ start counting clock pulses. When the user presses a first and then a second key (these could be the same key) on the remote controller, the first twelve bit counter and then the second twelve bit counter, ~;sl,ecli~ely, stop counting. The counts of the two twelve bit counle~s are then colllbined to form a 24 bit recorder id~PntifiPr. RP~ e the counters are very fast and the times that the first and second keys are pressed are very random, the 35 recorder idPntifiPr is sl)f~lciPntly random such that two VCRs only have approximately one chance out of sixteen million to have id~PntirAl recorder ide~tificAtion~.

The following description details how the recorder i~entifier and the recorder prugl~n~ g data is inserted into the vertical blanking interval of a broadcast television signal. First, the vertical blanking interval itself is described.
Video images in a c~tho~le ray tube (CRT) type-video device, e.g. television, are 5 g~l~e,dted by sc~nning a beam along a prP~efine~ pattern of lines across a screen. Each time all the lines are sc~nn~P~, a frame is said to have been produced. In one impl~-m~Pnt~tion, such as used in the United States, a frame is sc~nne~ 30 times per second. Each television frame comprises 525 lines which are divided into two sep~dle fields, ~er~ d to as field 1 ("odd field") and field 2 ("even field"), of 262.5 lines each. Accordingly, these even and odd 10 fields are tr~ncmittP~ ~ltPrn~tPly at 60 Hz. The lines of the even and odd fields are interlP~ved to produce the full 525 line frame once every 1/30 of a second in a process known as inter1~cing. Another standard in the world uses 625 lines of information and intPrl~re 312 and 313 lines at 50 fields per second. In the 525 line standard used in the United Stdtes, apprt xim~tPly 480 lines are displayed on the television screen.
Referring now to the drawings, FIG. 2 is a schelllalic diagram illustrating the interl~ed sc~nning pattern 100 on a screen of a convention~l television receiver. A video display scans the beam from the top left hand corner and scans across the screen (line 22, field 1 in FIG. 2). After it finichPs sc~nning the first line, the beam returns to the left hand side during a period known as a hori7ont~1 blanking interval and repeats sr~nning along 20 another line which is parallel to but lower than the previous line (line 23, field 1 in FIG. 2).
The sc~nning continues along the lines until the beam reaches the center of the bottom part of the screen (line 263, field 1) to complete field 1, which is comprice~d of lines 102.
From the bottom center of the screen, the beam returns to the top where it starts sc~nning from ~ub~ nl;~lly the center of the screen along the lines 104 for field 2 which 25 interl~re the lines of field 1. This is not an inct~nt~n~us bottom to top jump but actually l~ui-æ the length of time to scan 21 hori7Ont~l lines. These lines 106 are lines 1 through 21 of field 2. The second half of line 21 field two (line 284 as shown in FIG. 2) is displayed. Then lines 285 to 525 of field 2 are sc~nn~l to complete field 2. When the beam reaches the bottom, right hand corner of the screen, the picture frame is formed. Then the 3 0 beam r~ces to the top and the vertical blanking interval lines 108 are numbered 1 through 21 of field 1. In the NTSC plotocol widely used in North ~meri~ each field contains 262.5 horizontal lines and a pair of fields cQn~ te a single 525 line video frame and creates one video picture at one instant in time on the video display.
During the time in which the beam returns from the bottom to the top of the screen 3s be~ween the fields, it carries no video or picture signals because it does not produce any picture elPm~-nt on the screen. This time interval is generally known as the vertical blanking interval (VBI). Its duration is typically 21 times the time duration that it takes the beam to scan across the screen. In other words, the duration of the VBI is equal to the time for the WO 96tl3932 PCTtUS95/13942 beam to scan 21 lines and is divided into 21 lines. In intprl~rx~ sc~nning, the VBI is identifiP~l by the field with which it is ~c~ci~led. App~lus and methods using the NTSC
standard with 21 lines in each VBI are well known in the art and th~refol~ are not discussed in detail herein.
l~,~..... ~ no image is produced on the display during the vertic~l bl lnkin~ interval, no picture info.. .~l;on tl,~ero.~ needs to be carried by the broadcast signals. Thus, the VBI
is used for conveying ~uYili~ry infol-l,aLion from a television network or station to an ipnre For PY~mple, closed caption data l~oci~tP~l with the television pl`~gldlll are tr~n~mitte~ as encoded colllposi~ data signals in VBI line 21, field 1 of the standard NTSC
video signal, as shown in FIG. 4.
Lines 1 through 9 of the VBI of each field are used for vertical syllchro,li7~tion and post eq--,lli7ing pulses. Thus, lines 10 through 21 are available for ~llxili~ry in~llllation.
FIG. 3 is a functional block diagram of a data tr~nsmi~ion system. As used herein, the terms "broadcast" and "transmit" are used il~te~;hangeably for the t~n~mic~ion of signals over cable or fiber optics, to or from ~tellitPs, over the air, and the like. A r,tlwo,h head end 10001 tr,m~mit~ a conll)o~ile television signal conl~ini~lg inserted information in a portion thereof, typically the vertical blanking interval, to a satellite 10002 which rebro~c~t~ the same to a local ~ffili~ltP 10003. The ~ffili~tP 10003 may further insert data into the vertical blanking interval of the received television signal and llanslllil the same to a local cable head 2 o end 10004. The cable head end 10004 receives television signals from a plurality of sources (including ~tPllitP,s) and may further insert data into the vertical bl ~nkin~ interval of any of the television signals. The signals from the plurality of sources are combined into a co~ )osilt~ television signal, amplified, and provided over a cable to a plurality of individual receiv~s 10005, which can include televisions, cable boxes, VCRs and ~tellitP receivers.
In addition, the individual receivers 10005 may receive signals directly from the local ~ffili~te 10003 by air, which may include the use of a c~t~llit~ 10002, or by cable.
More ~ ific~lly, the network head end has a video tape recorder (Vl~) 10006 for providing a prog,dnl signal to an inserter 10007. A controller 10008 also at the head end controls the s~h~~ ng of loading tapes from a cart (a m~chin-q with a plurality of video tape 3 0 c~ tt~s which are moved by a robotic arm from a storage location and inserted into a video tape recorder and vice versa). Furthermore, the controller 10008 controls the lighting of stages during live brod~lr~t~, such as news bro~ . The controller 10008 is typically a microprocessor based system. A traffic col"puler 10009 controls the exact timing of playing individual seg~ nl.~; of video tapes and inserting commercials therebel~n as well as 3 5 swilching between dirrt;~"t p~ ulls. Some network head ends have both a traffic collllJuler 10009 and a controller 10008. The controller 10008 provides data and co.ll",iln-ls to the inserter 10007. The traffic co"",uler 10009 provides data and co~.~"~ ~nrlc to the controller if present. Otherwise, the traffic co",p,ller 10009 provides these signals directly to the wo 96tl3932 PCT/USg5/13942 inSe1lGr 10007. The inserter 10007 inserts data into the vertical blAnking interval of the Co",posilG television signal, as will be described below, and provides the television signal to a trAncmitter 10010 which in turn provides the television signal on a microwave carrier to a cAt~llit~ dish 10011 for trAn~mi~ion to the cAtPllite 10002.
- 5 The cAt~llite 10002 retrAn~mit~ the received signal, which is received by a cAtPllite dish 10012 at the AffiliAte 10003. The dish provides the signal to a station inserter 10013 at the local Affili~t~ 10003. The AffiliAte may also insert data into the co"~posilG television signal as will be described below. The television signal is then provided to a tr~n~mittPr 10014 and then to a LIA~ g ~lltJ~nnA 10015.
A local cable o~Gl_~or 10004 has a plurality of s~tr-llite dishes 10016 and An~.nl~AC
10017 for receiving signals from a plurality of nG~wol~ 10001 and Affili~tes 10003. The received signal from each of the dishes 10016 and An~nnA~ 10017 is provided to a rGs~ e input of a multi-c~nn~-l inserter 10018, which can input data into the vertical blanking interval of a received signal. The multi-ch~nn~l output from the inserter 10018 is amplified 15 in an amplifier 10019 and provided over a cable 10020 to individual receivers 10005.
,~lt-orn~tely the receivers 10005 could receive broadcast information via Ant~nn~ or ~At~llite receivers.
Each receiver 10005 includes a VBI deco~er, which can include a VBI slicer and closed caption decoder, that scans VBI lines 10-21 of both fields 1 and 2. In addition it is 2 o possible to use the first few visible lines in each video frame for VBI data, for example, lines 22-24. Lines 1 through 9 are typically used for vertical synchroni7Ation and equ~li7~ti~n and, thus, are not used to tr_nsmit data. Closed captioning and text mode data are generally trAn~mitt~ on VBI line 21, field 1 of the standard NTSC video signal, at a rate of 2 bytes for each VBI line 21, field 1, as shown by closed caption data 112 in FIG. 4. The text mode 25 fields fill the entire screen with text. The default mode is an open ended mode in which the page is first filled up and then scrolled up. The individual recipient of such data has no control over the data. FYt~nd~d data services (EDS) data can be IIA~ I;LI~d on VBI line 21, field 2, as shown by EDS data 116 in FIG. 4, at a rate of 2 bytes per VBI line 21, field 2.
By way of bacLgl~)u, d, the data in the vertical blanking interval can be desc . ;be~ in 3 o terms of the wave form, its coding and the data packet. The closed caption data wave form has a clock run-in followed by a frame code, followed by the data. The coding of the data is non-return-to-zero (NRZ) 7 bit odd parity.
Under mAn-lAtnry FCC requirements effective July 1993, color televisions having a size 13" and greater must provide a closed caption decoder. Caption data decorling is further 3 5 described in the following spe~-ifi~tions~ which are hereby incol~ldLed by reference herein:
Title 47, Code of Federal Regulations, Part 15 as Am~n~ed by GEN. Docket No. 91-1; FCC
91-119; "CLOSED CAPTION DECODER REQUIREMENTS FOR THE TELEVISION
RECEIVERS"; Title 47, C.F.R., Part 73.682(a)(22), Caption TFncmi~ion format; Title 47, C.F.R. Part 73.699, figure 6; "TELEVISION SYNCHRONIZING WAVE FORM"; Title 47, C.F.R., Part 73.699, figure 17a; "LINE 21, FIELD 1 DATA SIGNAL FORMAT"; and PBS F~ngimpering Report No. E-7709-C, "TELEVISION CAPTIONING FOR THE DEAF:
SIGNAL AND DISPLAY SPECIFICATIONS".
Under the extended data services (EDS) proposed in the Recommended Practice for Line 21 Data Service, Electronics Tndll~triPs ~oci~tion~ EIA-608 (drafts October 12, 1992 and June 17, 1993) (he~ ;nar~l referred to as "EIA-608" standardn), the subject matter of which is incûl~ldted herein by reference, ~ition~l data is provided in line 21, field 2 of the vertical blanking interval. This`recommPnded practice incl~ldes two closed captioning fields, two teY~t mode fields and the PYt~nded data services. The PYtende~ data incl~ldçs~
among other infol.,lalion, program name, progl~.~ length, length into show, rh~nnPl mlmher, network ~ffili~tinn, station call letters, UCT (universal coordinaled time) time, time zone, and daylight savings time usage. Upsl ~ at the nelwol~, the n~wulh inserts the pr~gl~
name, the length of the show, the length into the show, the nel~olk ~ffili~ti~n, and the UCT
time. Downstream at the ~ffili~tP, the ~fflli~tP~ inserts the çh~nnel number, the time zone, the daylight savings time usadge and progldlll names. The network inserts the data that does not differ for dirrerellt ~ffili~tP~
The data is tr~ncmit-t~p~ in p~Pts. Six classes of packets are l~r~l)osed in the EIA-608 standard, incl~l~ing: (1) a "Current" class for describing a pr~l~-, cullenL~y being tr~n~mittel; (2) a "Future" class for describing a progldlll to be t~n~mitte~l later; (3) a "Ch~nnel Infol...alion" class for describing non-~lugldlll specific infû~llldlion about the t~n~mitting çh~nmPl; (4) a "~i~cell~nP~us" class for describing other information; (5) a "Public Service" class for tr~n~mitting data or messages of a public service nature such as N~tion~l Weather Service Warnings and messages; and (6) a "Reserved" class reserved for 2 5 future dPfiniti~ n .
The data inserted into the television signal by the various in3clL~l~ incl~ldes closed captioning data and EDS data. The inserted data can also include other data such as pr~.;.. ;ng data which can be rh~nnPl~ date, time-of-day and pr~l~-- length (CDTL) or cû...~l~ssed codes reL,l~se L;~ the CDTL, as shown by data 114 in FIG. 4. As will be 3 o PYrl~inP11 this data is inserted into a pr~gl~ video segment The data can be inserted into either or both fields in any VBI line belwæn 10 and 20. For example the data can be inserted into line 20 of field 2, as shown by the data 114 in FIG. 4. The data may be inserted into the VBI at the closed caption rate (lX format) or at two times the closed caption rate (2X format), which is further ~Aplained below.
The data may be m~nu~lly entered from a local terminal 10021. The local ler-.. inal 10021 may be used to pre-build, recall, or edit mP~gPS. The tPrmin~l 10021 typically in~ de,s a co---pul~r. In addition, a modem 10022 may be used to provide data to the inserter 10007. The data may be provided manually or aulu.~ ic~lly from remote sites, such as a television program guide publisher or the network head end. The output of the inserter 10007 is a col,lpo~ile television signal with the data inserted.
The timing of video signals in NTSC format is well known in the art. As described above, the vertical blanking interval is the time bclwcen the flyback from the bottom of the screen to the top of the screen. Although no video signal is displayed, the hori7ont~l syncl,lol~dlion pulses are still provided during the VBI. The standard data t~An~mi~ion rate is defined in the EIA-608 standard.
As shown in FIG. 5, the hnri7ontAl synch,on;,i~l;on pulse 120 is followed by color burst signals 122. For closed caption and EDS data, a clock run-in cycle 124 follows the o color burst which in turn is followed by a frame code 126. The clock run-in is "10101010101." The frame code is "01000011." Two data bytes 128 and 130 are trAn~mittçd in each VBI line. Each byte is 8 bits inclu-ling a parity bit. This format is referred to as the standard data rate format (or lX format). Each byte in the VBI line is arranged with the least ~ignific~nt byte ~lrst. The last bit is used as parity for error chP~ing.
Each byte of the tr~n~mitted data is parity chP~l~P~ upon receipt. The lX format is the format used to tr~n~mit closed captions in VBI line 21 field 1, as shown by closed caption data 112 in FIG. 4. It is also the format used to transmit EDS data in VBI line 21 field 2, as shown by EDS data 116 in FIG. 4.
An accelerated data format (2X format) as shown in FIG. 6 uses a bit rate twice that of the lX format to Iher~by provide 4 bytes per VBI line. The clock run-in 144 is the bit sequence " 10101010. " The frame code 146 is " 10011101101. " Pour data bytes 148, 150, 152 and 154 are trAn~mittP~l each VBI line. The 2X format can be used to tr~nsmit data 114 in FIG. 4.
Now that the manner of inserting the recorder identificAtion and the lccorder proglAIlllll;~g data into the vertical blAnking interval has been described, the use of colll~l~ssed codes for lqJlcs~.t;i-g CDTL inforrnation will be de~rib~P~
FIG. 7 shows a television c~lPndAr 300 which has colll~r~s3~ codes. For eYAmrle,the colllpfessed code for Sports Retrospective on ch~nnPl 18 at 6:00 p.m. is 68713. The co,llpr~ssed code for the game Double Dare on Ni~lrPl~eon has a co",pr~ssed code of 3 o 29225. The television c~lP,n~r has mllltiple day of year sections 302, mUltirle day section 304, multiple time-of-day section 306, s~Annçl identifiPrs 308 and des~ e ~r~g~
idPntifiçrs 310, including the name of the program arranged in a ",~mer that is common in television guide publications. Arranged in relation to each ch~nnPl idPntifier is a col"l)r~ssed code in~ tion 312, which is a co",~l~ssed code repl~senldti~e of and COIllple.SSed in length from the combination of a ~hAnnPl~ a date, a time of day and a ~Jl`Ogldlll length for a prog,d", to be recorded. Downloadingrecorder~r~lA~.~...;ngdataviatheverticalb1Ankingint_rval allows the user to plUgl~llll the VCR even when the user is away from home. The user can look up a prOgldlll in a television c~lPn-l~r such as the c~lPnd~r shown in FIG. 7, and select the ~ u,,s that he wishes to record. Then the user could call the rè~ nt~ e and give the ,~~ nl~t;~e his ,~cor~el identifir~tion number and in~ic~te the programs that he wishes to record. A user could give the CDTL info"llation to the replè~ e or could giveco,ll~,~ssed codes such as colll~lessed code 312 to the le~rese~ ê. Then as long as the 5 video ~sett~ recorder has blank tape insellcd in the video c~cet~ recorder, the VCR can be ~ro~ u,,,,,ed via the recorder ~r~ .--ming data downloaded in the vertical blanking interval and then record the programs on the proper ch~nn~ at the proper times.
The following describes a method for decoding a COIll~JreSSed code into CDTL data.
A method is also described for enc~ding CDTL data into colllplessed codes.
FIG. 8 is a flow li~r~m of a plerclled co",plessed code ~in~ technique. To understand co",l,ressed code deco ling, it is easiest to first explain the c~ lcssed code enco(ling technique, for which FIG. 9 is the flow chart. Then the coll,p~ss~d code lleco~ling technique, which is the reverse of the c~".pn,ss~d code encoding will be explained.
The encoding of the co",plcssed codes can be done on any co,npu~el and is done prior to pre~d~ion of any program guide that would include col"~,essed codes. Por eachprogl~" that will be printed in the guide, a ch~nn~l, date, time and length (CDTL) code 244 is entered in step 242. Step 246 sep~.~tr.ly reads the priority for the çh~nn~l, date, time and length in the priority vector storage 222, which can be stored in a read only memory. The priority vector storage 222 contains four tables: a priority vector C table 224, a priority 2 0 vector D table 226, a priority vector T table 228 and a priority vector L table 230.
The çh~nnel priority table is ordered so that the most r~uenlly used ~h~nnel~ have a low priority llulllber. An eY~mple of the data that is in priority vector C table 224 follows.
ch~nnel 4 7 2 3 S 6 11 13 . . .
priority 0 1 2 3 4 S 6 7 2s Generally the dates of a month all have an equal priority, so the low nu",ber days in a month and the low nu~-ber priorities would col,e~l)ond in the priority vector D table as in the following eY~mrl~.

3 0 date 1 2 3 4 5 6 7 8 . . .
priority 0 1 2 3 4 S 6 7 The priority of the start times would be arranged so that prime time would have a low priority nu~ber and p,og,~u,-s in the dead of the night would have a high priority llumber.
For eY~mrle, the priority vector T table would cont~in-time 6:30pm 7:00pm 8:00pm 7:30pm priority 0 1 2 3 ...

CA 0220375~ 1997-04-25 An example of the data that is in the priority vector L table 230 is the following:

length of program (hours) 0.5 1.0 2.0 1.5 3.0 ...
priority 0 1 2 3 4 ...
Suppose the çh~nnPl date time length (CDTL) 244 data is S 10 19.00 1.5, which means ch~nnlo.l 5, 10th day of the month, 7:00 PM, and 1.5 hours in length, then for the above eY~mplP the Cp,Dp,Tp,Lp data 248, which are the result of looking up the priorities for ch~nnel, date, time and length in priority tables 224, 226, 228 and 230 of FIG. 9, would be 4 9 1 3. Step 250 converts Cp,Dp,Tp,Lp data to binary numbers. The number of binary bits in each conversion is del~l",ined by the number of co",binalions involved. Seven bits for Cp, which can be denoted as C~ C6 C5 C4 C3 C2 Cl, would provide for 128 ~h~nnPl~.
Five bits for Dp, which can be denoted as D5 D4 D3 D2 Dl, would provide for 31 days in a month. Six bits for Tp, which can be denoted as T6 T5 T4 T3 T2 Tl, would provide for 48 start times on each half hour of a twenty four hour day. Four bits for length, which can be denoted as L4 L3 L2 Ll, would provide for a pç~y"~ll length of up to 8 hours in half hour steps. Together there are 7+5+6+4 = 22 bits of information, which co~ d to 2**22 = 4,194,304 combinations.
The next step is to use bit hiel~-;hy key 220, which can be stored in a read only 2 o memory to reorder the 22 bits. The bit hierarchy key 220 can be any ordering of the 22 bits.
For example, the bit hierarchy key might be:

L8 C3 -- T2 C2 Tl Cl Ll Ds D4 D3 D2 D
2221... 109 8 7 6 5 4 3 2 1 Ideally the bit hiel~-;hy key is ordered so that pl~gldlllS most likely to be the subject of timer pleprû~ mming would have a low value binary nu~be~, which would eli",in~P
k~y~lrùkes for timer l, ~lu~ ;ng the most popular plUgldllls. Since all the dateinfoll"ation has equal priority, then the D5 D4 D3 D2 Dl bits are first. Next Tl Cl Ll are 30 used, because for whatever date it is neces~. y to have a time ch~nn~l and length and Tl Cl Ll are the most probable in each case due to the ordering of the priority vectors in priority vector storage 222. The next bit in the hierarchy key is de~l",ined by the dirrel~ lial probabilities of the various combinations. One must hlow the plubabilities of all the rh~nnel~, times and lengths for this calculation to be ~lrulllled.

For example, the probability for çh~nnPlc may be:

çh~nnPl 4 7 2 3 5 6 11 13 ...
priority 0 1 2 3 4 5 6 7 ...
probability(%) 5 4.3 4 3 2.9 2.1 2 1.8 ...

The pn~babilities for times might be:

time 6:30pm 7:00pm 8:00pm 7:30pm ...
o priority 0 1 2 3 ...
probability(%) 8 7.8 6 5 ...

And, the probabilities for lengths might be:

length of program (hours) 0.5 1.0 2.0 1.5 3.0 ...
priority 0 1 2 3 4 ...
probability(%) 50 20 15 5 4 ...

The probabilities ~ tP~ with each l~h~nn~l, time and length, as illustrated above, are used to determine the proper ordering. Since the priority vector tables are already ordered by the most popular çh~nn~l, time, and length, the order in which to select between the various binary bits for one table, for example sele~ting between the C7 C6 C5 C4 C3 C2 Cl bits, is already known. The Cl bit would be sPl~oct~l first because as the lowest order binary bit it would select b~lween the first two entries in the ch~nnPl priority table. Then 2 5 the C2 bit would be s~lect~ and so on. Simil~rly, the Tl and Ll bits would be used before any of the other time and length bits. A combination of the Cl, Tl, Ll and D5 D4 D3 D2 Dl bits should be used first, so that all the il fol",alion is available for a ch~nnPl, date, time and length. The D5 D4 D3 D2 Dl bits are all used because the date bits all have equal priority and all are needed to specify a date even if some of the bits are binary zero.
3 0 At this point the bit hierarchy key could be:

Tl Cl Ll Ds D4 D3 D2 Dl The first ch~nnPl binary bit Cl by itself can only select between 21 = 2 cll~nn~l~, and the 35 first two çh~nn~l.c have a probability percent of 5 and 4.3, re~ ely. So the dirr~lcnlial ~robability of Cl is 9.3. Similarly, the dirr~lenlial probability of Tl is 8 + 7.8 = 15.8, and the dirr~le"lial pl~bability of Ll is 50 + 20 = 70. If the rules for ordering the bit hierarchy key are strictly followed, then the first 8 bits of the bit hierarchy key should be o~eIed as:

CA 022037.7.7 1997 - 04 - 2.7 Cl Tl Ll D5 D4 D3 D2 Dl~

because Ll has the highest dirr~ ential priority so it should be next most ~i~nific~nt bit after D5, followed by Tl as the next most signific~nt bit, and then Cl as the next most signific~nt 5 bit. Notice that the bit hicl~ehy key starts with the least ~ignifil~nt bit Dl, and then is filled in with the highest dirrclcnlial probability bits. This is for the yulyose of constructing the most compact codes for popular programs.
The question at this point in the enCo~lin~ process is what should the next most~ nifi~nt bit in the hierarchy key be: T2, C2, or L2. This is again delc.,l,ined by the 10 dirre~ ial probabilities, which can be calculated from the above tables for each bit. Since we are dealing with binary bits, the C2 in combination with Cl selects bclwc~n 22 = 4 ~h~nnPl~ or 2 more ch~nnPl~ over Cl alone. The dirrelelllial probability for C2 is then the additional probabilities of these two additional ch~nnel~ and for the example this is: 4 + 3 = 7. In a similar manner C3 in combination with Cl and C2 selects between 23 = 8çh~nnel~ or 4 = 2(3-1) more ch~nnPl~ over the combination of Cl and C2. So the dirr~;e.~lial probability of C3 is the ~-lition~l probabilities of these four additional c-h~nnP-ls and for the example this is: 2.9 + 2.1 + 2 + 1.8 = 8.8. In a similar manner, the dirÇe~ lialpl-)babilities of T2 and L2 can be calculated to be 6 + 5 = 11 and 15 + 5 = 20, re~ ely. Once all the dirr~ e"lial probabilities are calcul~tP~, the next step is delelll,ining which combinations of bits are more probable.
Now for the above eY~mple, which combination is more probable: T2 with Cl Ll, or C2 with Tl Ll, or L2 with Tl Cl. This will determine the next bit in the key. So, which is grèalel. llx9.3x70= 7161; 7x15.8x70= 7742; or 20x15.8x9.3= 2938.8? In this case the combination with the glèalé~l probability is 7x15.8x70= 7742, which collesl)onds to C2 with Tl Ll. So, C2 is sel~P~t~Pd as the next bit in the bit hierarchy key.
The next bit is selected in the same way. Which combination is more probable: C3with Tl Ll, or T2 with Cl or C2 and Ll, or L2 with Cl or C2 and Tl. For the eY~mple shown, which has the ~ eate~ plobability: 8.8x15.8x70= 9732.8; l lx(9.3+7)x70= 12551;
or 20x(9.3+7)x15.8= 5150.8? In this case the combination with the g,caleal ~lubability is llx(9.3+7)x70= 12551, which CO1l~5lX)ndS T2 with Cl or C2 and Ll. So, T2 is selPct~d as the next bit in the bit hierarchy key. This procedure is rtpæ~l~P~l for all the dirr~
probabilities until the entire key is found. ~ltPrn~tPly, the bit hierarchy key can be just some ~l.i~ sequence of the bits. It is also possible to make the priority vectors intLr~le~l--lPnt, such as making the length priority vector dPpP~nd~P-nt on dirrel~l~t groups of 3s çll~nnPl~. Another technique is to make the bit hierarchy key 220 and the priority vector tables 222, a function of clock 42, as shown in FIG. 9. This makes it very difficult for the key and therefore the coding technique to be dl)pli~ted or copied.

For example it is possible to scramble the date bits in the bit hierarchy key 220 as a function of the clock. Ch~nging the order of the bits as a function of the clock would not change the effectiveness of the bit hierarchy key in reducing the number of binary bits for the most popular pr~glalllS, be~ se the date bits all are of equal priority. This could be as 5 simple as switching the Dl and D5 bits periodi~lly, such as every day or week. Thus the bit hi~hy key 220 would switch belwæn Cl Tl Ll Ds D4 D3 D2 Dl and ... Cl Tl Ll Dl D4 D3 D2 D5-Clearly other pell~u~lions of the bit hierarchy key as a function of the clock are possible.
The priority vector tables could also be scrambled as a function of the clock. For example, the first two çh~nnP]~ in the priority ch~nnPl table could just be swapped 15 periodically. If this technique is followed, then the Cp of 248 in FIG. 9 would change as a function of the clock 42. For example, çh~nnlol 4 7 2 3 5 6 l l 13 . . .
priority 0 1 2 3 4 5 6 7 ...
would change periodically to:

channel 7 4 2 3 S 6 l l 13 .
priority 0 1 2 3 4 S 6 7 ...
This would be a fairly subtle security technique, because a decoder that was otherwise correct would only fail if those first two ch~nn~l~ were being used. Other clockdep~nden~ies are also possible to provide security for the coding technique.
However it is derived, the bit hiel~r~l,y key 220 is delel",illed and stored. In step 254 30 the binary bits of Cp,Dp,Tp,Lp are rearranged accolding to the bit hierarchy key 220 to create one 22 bit binary number. Then the resulting 22 bit binary number is converted to de~im~l in the convert binary nu"~ber to de~im~l cc"lplessed code step 256. The result is cc",pl~ssed code 258.
If the priority vector and the bit hierarchy key are well matched to the viewing habits 35 of the general population, then it is expected that the more popular programs would require no more than 3 or 4 digits for the cclll~lessed code.
Now that the encoding technique has been explained the decoding technique is just reversing the coding technique. This is done according to the flow chart of FIG. 8.

The first step 202 is to enter col,,~cssed code 204. Next the co"l~iessed code 204 is co"~.t~d to a 22 bit binary number in step 206. Then the bits are f~rdeled in step 208 accol~ih~g to the bit hie~ y key 220 to obt~in the reordered bits 210. Then the bits are g~uped toge~ r and converted to de~im~l form in step 212. As this point we obtain - 5 Cp,Dp,Tp,Lp data 214, which are the indices to the priority vector tables. For the above example, we would have at this step the vector 4 9 1 3. This Cp,Dp,Tp,Lp data 214 is then used in step 216 to look up ch~nnPl~ date, time, and length in priority vector storage 222.
The CDTL 218 for the eY~mple above is 5 10 19.00 1.5, which means c-h~nnel 5, 10th day of the month, 7:00 PM, and 1.5 hours in length.
If the coding technique is a function of the clock then it is also nç~s~. ~ to make the de~ing technique a function of the clock. It is possible to make the bit hierarchy key 220 and the priority vector tables 222, a function of clock 42, as shown in FIG. 8. This again makes it very difficult for the key and therefore the coding technique to be duplicated or copied. It is also possible to have the deco~ing and encoding techniques dependent on any 15 other predelclllliJled or preprogrammable algorithm.
FIGS. 10 to 13 are flow graphs of metho ls for controlling the lccor~ing of video pn,g~ s according to the present invention. FIG. 10 is a flow graph of a method for a user to set up the download of information in the vertical bl~nking interval and for a station to insert the rc4u~ed data into the vertical blanking interval of a t~n~mittp~i television signal.
In step 400 a user calls a r~le~ e and co.. l.nic~tPs a recorder i~entifir~tic)n. Then in step 402 the user idPntifiPS pl~)gl~nS or pr~gl~ll sPlP~tion criteria for programs to be recorded. Then in step 404 the i-1P.ntifiPll pl'~;ldlll or program s~P1~P~tion criteria are used to generate a set or sets of ch~nnPl, date, time-of-day and pn;)r,ldln length (CDTL) data, or in step 404 the idPntifiPd pl(lgldlll or ~r~gla~" selection criteria are used to generate a set of 25 co",p~ssed codes. Each co,,,plcssed code co~"pl~ssed in length from the combination of the lengths of the ç~ n~l, date, time-of-day and progla,ll length. Then in step 406 the station inserts into the vertical blanking interval of a t~n~mitte~l TV signal the recorder id~Pntifi~tion and the set or sets of CDTL data or co."pressed codes. It is possible for the recorder prog.,.. ing data to be a mix of C~lllpl~ ~sed codes and CDTL data.
FIG. 11 is a flow graph of a method for retrieving ~cco~e pr~l~" data from a vertical blanking interval for controlling the lccoldillg of pl~l~ullS on a l~cor~cr. In step 410 the vertical blanking interval is de~odPd by a receiving recorder to extract a t~n~mittlpd recorder idPntific~tion and recorder progr~mming data, con~i~ting of CDTL data and/or comple~sed codes. Then in step 412 each co",pl~ssed code is decodPd into CDTL data.
Then in step 414 if the tr~n~-nil~P~d recorder identification m~t~hes the recorder identifir~ti~
of the receiving recorder then the CDTL data is stored in memory in the recorder. Then in step 416 when the date and time-of-day from a clock in the recorder m~tches the data and time-of-day for a stored CDTL, the recorder is tuned to the çh~nmP~ for the stored CDTL and records the prl~gl~ull for a length of time m~t~hing the progl~ll length for the stored CDTL.
FIG. 12 is a flow graph that is similar to the flow graph of FIG. 10 except that a random ~lu~ber is used for the recorder idPntifir~tion. In step 420 the recorder gem.~les 5 a random number and displays it to the user. Then in step 422 the user calls a ~rcsP~ e or an automated remote site and co~ ir~t~P- the random nul"ber and identifies prl~gl~,ls or plUg~lll sPl~tion criteria for progl~"s to be lccor~ed. In step 424 the idPntifiP~
prugl~lls or the prugl~ll selection criteria are used to gen~te a set of r-h~nnPl~ date, time-of-day and program length (CDTL) data for a set of cGnll.lc~sed codes ~hclciil each 10 colll~l~ssed code is colll~l~ssed in length from the combination of the lengths of the çh~nnPl, date, time-of-day and plU~lanl length. Then in step 426 the station inserts into the vertical blanking interval of a tr~n~mitt-p~ television signal the random number and the set of CDTL
data and/or co",pressed codes.
FIG. 13 is a flow graph for retrieving the recorder pr~gl~ g data from the vertical 15 blanking interval. In step 430 the vertical blanking interval is de~oded by the receiving recorder to extract a tl~ ed random number and a set of CDTL data or a set of co",~ .,sed codes. Then in step 432 each cû~pressed code is dP~led into CDTL data.
Then in step 434, if the tr~nsmitte~ random number m~trhes the random nu"~ber of the receiving recorder then the CDTL data is stored in memory in the lecûr~l. Then in step 20 436 when the date and time-of-day from a clock in the VCR m~trhes the date and time-of-day for the stored CDTL data, the recorder is tuned to the ch~nnel for the stored CDTL and records a ~lu~ldlll for a length of time ,.,~rhing the pr~g,~-l length for the stored CDTL
data.
Thus, there has been described a simpler system for acco"-plishing recorder 25 plugl ~Illlll;ng~ which will enable the user to take advantage of the r~cording feature of a recorder more freely.
The described emborlim~nt~ of the invention are only considered to be plGÇ~lGd and t~tive of the inventive concept, the scope of the invention is not to be rest icted to such emb~limentc. Various and nu~c~uus other arrangements may be devised by one skilled in 30 the art without dep~ling from the spirit and scope of this invention.
It is thGlGfolG intPndP~ by the appended claims to cover any and all such appli~tit-n~, morlifi-~tion~ and embo~limpnt~ within the scope of the present invention.

Claims (46)

WHAT IS CLAIMED IS:
1. An apparatus for controlling the recording of video programs, the apparatus comprising:
means for retrieving a recorder identifier and recorder programming data from a television signal received from a television signal source;
means for determining whether the retrieved recorder identifier matches a first identifier for the apparatus;
means for storing the recorder programming data, if the retrieved recorder identifier matches the first identifier for the apparatus; and means for using the stored recorder programming data to control recording.
2. The apparatus of Claim 1 wherein means for retrieving a recorder identifier and recorder programming data from a television signal comprises a vertical blanking interval decoder.
3. The apparatus of Claim 2 wherein the retrieved recorder programming data comprises at least one set of programming data, the programming data comprising a channel, a date, a time-of-day, and a program length for a program to be recorded.
4. The apparatus of Claim 3 wherein the means for using the recorder programming data to control recording comprises:
a clock for keeping time including a clock date and a clock time-of-day;
means for comparing the clock date and the clock time-of-day to the programming data date and time-of-day;
means for tuning to the programming data channel, when the clock date and the clock time-of-day compare to the programming data date and time-of-day;
means for starting recording, when the clock date and the clock time-of-day compare to the programming data date and time-of-day; and means for ending recording, when the recording has continued for a time equal to the program data program length.
5. The apparatus of Claim 2 wherein the retrieved recorder programming data comprises at least one compressed code, representative of, and compressed in length from, the combination of a channel, a date, a time-of-day, and a program length for a program to be recorded.
6. The apparatus of Claim 5 further comprising means for decoding and expanding the compressed code into a channel, a date, a time-of-day, and a program length.
7. The apparatus of Claim 6 further comprising:
a clock for keeping time including a clock date and a clock time-of-day;
wherein the means for decoding and expanding a compressed code into channel, date, time-of-day and program length performs the decoding and expanding as a function of the clock.
8. The apparatus of Claim 7 wherein the means for using the recorder programming data to control recording comprises:
means for comparing the clock date and the clock time-of-day to the programming data date and time-of-day;
means for tuning to the programming data channel, when the clock date and the clock time-of-day compare to the programming data date and time-of-day;
means for starting recording, when the clock date and the clock time-of-day compare to the programming data date and time-of-day; and means for ending recording, when the recording has continued for a time equal to the program data program length.
9. The apparatus of Claim 1 wherein the means for determining whether the retrieved recorder identifier matches a first identifier comprises a microprocessor.
10. The apparatus of Claim 1 wherein the means for storing the recorder programming data comprises a memory.
11. The apparatus of Claim 1 further comprising:
means for generating a random number;
wherein the means for determining whether the retrieved recorder identifier matches a first identifier comprises means for determining whether the retrieved recorder identifier matches the random number; and wherein the means for storing the recorder programming data, if the retrieved recorder identifier matches the first identifier comprises means for storing the recorder programming data, if the retrieved recorder identifier matches the random number.
12. An apparatus for transmitting recorder programming for controlling recording by identified recorders, the apparatus comprising:
means for a user to enter a recorder identifier;
means for a user to select a program for recording or to select criteria for programs to be recorded;
means for generating recorder programming data corresponding to the selected program or to the selected criteria for programs to be recorded;
means for inserting the recorder identifier and the generated recorder programming data into a video signal; and means for transmitting the video signal including the inserted recorder identifier and the inserted programming data.
13. The apparatus of Claim 12 wherein the means for inserting the recorder identifier and recorder programming data for controlling recorder programming into a video signal comprises a means for inserting data into a vertical blanking interval of a video signal.
14. The system of Claim 13 wherein the means for generating the recorder programming data comprises a means for generating at least one set of programming data, the programming data comprising a channel, a date, a time-of-day, and a program length for a program to be recorded.
15. The system of Claim 13 wherein the means for generating the recorder programming data comprises means for generating at least one compressed code, representative of, and compressed in length from, the combination of a channel, a date, a time-of-day, and a program length for a program to be recorded.
16. A system for controlling recording by identified recorders, the system comprising:
means for a user to enter a recorder identifier;
means for a user to select a program for recording or to select criteria for programs to be recorded;
means for generating recorder programming data corresponding to the selected program or to the selected criteria for programs to be recorded;
means for inserting the recorder identifier and the generated recorder programming data into a video signal;
means for transmitting the video signal including the inserted recorder identifier and the inserted programming data;

means for retrieving a first identifier and recorder programming data from a received video signal;
means for determining whether the retrieved first identifier matches the enteredrecorder identifier;
means for storing the recorder programming data, if the retrieved first identifier matches the entered recorder identifier; and means for using the stored recorder programming data to control recording.
17. The system of Claim 16 wherein the means for inserting the recorder identifier and the recorder programming data into a video signal comprises a means for inserting data into a vertical blanking interval of a video signal.
18. The system of Claim 17 wherein the means for retrieving a recorder identifier and the means for retrieving recorder programming data from a television signal comprises a vertical blanking interval decoder.
19. The system of Claim 16 wherein the means for generating the recorder programming data comprises a means for generating at least one set of programming data, the programming data comprising a channel, a date, a time-of-day, and a program length for a program to be recorded.
20. The system of Claim 19 wherein the means for using the recorder programming data to control recording comprises:
a clock for keeping time including a clock date and a clock time-of-day;
means for comparing the clock date and the clock time-of-day to the programming data date and time-of-day;
means for tuning to the programming data channel, when the clock date and the clock time-of-day compare to the programming data date and time-of-day;
means for starting recording, when the clock date and the clock time-of-day compare to the programming data date and time-of-day; and means for ending recording, when the recording has continued for a time equal to the program data program length.
21. The system of Claim 16 wherein the means for generating the recorder programming data comprises means for generating at least one compressed code, representative of, and compressed in length from, the combination of a channel, a date, a time-of-day, and a program length for a program to be recorded.
22. The system of Claim 21 further comprising means for decoding and expanding the compressed code into a channel, a date, a time-of-day, and a program length.
23. The system of Claim 22 further comprising:
a clock for keeping time including a clock date and a clock time-of-day;
wherein the means for decoding and expanding a compressed code into channel, date, time-of-day and program length performs the decoding and expanding as a function of the clock.
24. The system of Claim 23 wherein the means for using the recorder programming data to control recording comprises:
means for comparing the clock date and the clock time-of-day to the programming data date and time-of-day;
means for tuning to the programming data channel, when the clock date and the clock time-of-day compare to the programming data date and time-of-day;
means for starting recording, when the clock date and the clock time-of-day compare to the programming data date and time-of-day; and means for ending recording, when the recording has continued for a time equal to the program data program length.
25. A method for controlling the recording of video programs, the method comprising the steps of:
retrieving a recorder identifier and recorder programming data from a televisionsignal received from a television signal source for controlling the recording of video programs;
determining whether the retrieved recorder identifier matches a first identifier;
storing the recorder programming data, if the retrieved recorder identifier matches the first identifier; and using the stored recorder programming data to control recording.
26. The method of Claim 25 wherein the step of retrieving a recorder identifier and recorder programming data from a television signal comprises the step of decoding a vertical blanking interval.
27. The method of Claim 26 wherein the retrieved recorder programming data comprises at least one set of programming data, the programming data comprising a channel, a date, a time-of-day, and a program length for a program to be recorded.
28. The method of Claim 27 wherein the step of using the recorder programming data to control recording comprises the steps of:
keeping time with a clock including a date and a time-of-day;
comparing the clock date and the clock time-of-day to the programming data date and time-of-day;
tuning to the programming data channel, when the clock date and the clock time-of-day compare to the programming data date and time-of-day;
starting recording, when the clock date and the clock time-of-day compare to the programming data date and time-of-day; and ending recording, when the recording has continued for a time equal to the program data program length.
29. The method of Claim 26 wherein the retrieved recorder programming data comprises at least one compressed code, representative of, and compressed in length from, the combination of a channel, a date, a time-of-day, and a program length for a program to be recorded.
30. The method of Claim 29 further comprising the step of decoding and expandingthe compressed code into a channel, a date, a time-of-day, and a program length.
31. The method of Claim 30 further comprising the steps of:
keeping time on a clock including a date and a time-of-day;
wherein the step of decoding and expanding a compressed code into channel, date, time-of-day and program length performs the decoding and expanding as a function of the time.
32. The method of Claim 31 wherein the step of using the recorder programming data to control recording comprises the steps of:
comparing the clock date and the clock time-of-day to the programming data date and time-of-day;
tuning to the programming data channel, when the clock date and the clock time-of-day compare to the programming data date and time-of-day;
starting recording, when the clock date and the clock time-of-day compare to the programming data date and time-of-day; and ending recording, when the recording has continued for a time equal to the program data program length.
33. The method of Claim 25 further comprising the steps of:
generating a random number;
wherein the step of determining whether the retrieved recorder identifier matches a first identifier comprises the step of determining whether the retrieved recorder identifier matches the random number; and wherein the step of storing the recorder programming data, if the retrieved recorder identifier matches the first identifier comprises the step of storing the recorder programming data, if the retrieved recorder identifier matches the random number.
34. A method for transmitting recorder programming for controlling recording by identified recorders, the method comprising the steps of:
a user entering a recorder identifier;
a user selecting a program for recording or selecting criteria for programs to be recorded;
generating recorder programming data corresponding to the selected program or to the selected criteria for programs to be recorded;
inserting the recorder identifier and the generated recorder programming data into a video signal; and transmitting the video signal including the inserted recorder identifier and theinserted programming data.
35. The method of Claim 34 wherein the step of inserting the recorder identifier and recorder programming data for controlling recorder programming into a video signal comprises the step of inserting data into a vertical blanking interval of a video signal.
36. The method of claim 35 wherein the step of generating the recorder programming data comprises the step of generating at least one set of data including a channel, a date, a time-of-day, and a program length for a program.
37. The method of claim 35 wherein the step of generating recorder programmingdata comprises the step of generating at least one compressed code, representative of, and compressed in length from, the combination of a channel, a date, a time-of-day, and a program length for a program.
38. A method for controlling recording by identified recorders, the method comprising the steps of:
a user entering a recorder identifier;
a user selecting a program for recording or selecting criteria for programs to be recorded;
generating recorder programming data corresponding to the selected program or to the selected criteria for programs to be recorded;
inserting the recorder identifier and the generated recorder programming data into a video signal;
transmitting the video signal including the inserted recorder identifier and theinserted programming data;
retrieving a first identifier and recorder programming data from a received video signal;
determining whether the retrieved first identifier matches the entered recorder identifier;
storing the recorder programming data, if the retrieved first identifier matchesthe entered recorder identifier; and using the stored recorder programming data to control recording.
39. The method of Claim 38 wherein the step of inserting the recorder identifier and the recorder programming data for controlling recorder programming into a video signal comprises the step of inserting data into a vertical blanking interval of a video signal.
40. The method of Claim 39 wherein the step of retrieving a recorder identifier and the retrieving recorder programming data from a television signal comprises the step of decoding a vertical blanking interval.
41. The method of Claim 38 wherein the step of generating recorder programming data comprises the step of generating at least one set of programming data, the programming data comprising a channel, a date, a time-of-day, and a program length for a program to be recorded.
42. The method of Claim 41 wherein the step of using the recorder programming data to control recording comprises the steps of:
keeping time including a clock date and a clock time-of-day;
comparing the clock date and the clock time-of-day to the programming data date and time-of-day;

tuning to the programming data channel, when the clock date and the clock time-of-day compare to the programming data date and time-of-day;
starting recording, when the clock date and the clock time-of-day compare to the programming data date and time-of-day; and ending recording, when the recording has continued for a time equal to the program data program length.
43. The method of Claim 38 wherein the step of generating recorder programming data comprises the step of generating at least one compressed code, representative of, and compressed in length from, the combination of a channel, a date, a time-of-day, and a program length for a program to be recorded.
44. The method of Claim 43 further comprising the step of decoding and expandingthe compressed code into a channel, a date, a time-of-day, and a program length.
45. The method of Claim 44 further comprising the steps of:
keeping time including a clock date and a clock time-of-day;
wherein the step of decoding and expanding a compressed code into channel, date, time-of-day and program length performs the decoding and expanding as a function of the clock date.
46. The method of Claim 45 wherein the step of using the recorder programming data to control recording comprises the steps of:
comparing the clock date and the clock time-of-day to the programming data date and time-of-day;
tuning to the programming data channel, when the clock date and the clock time-of-day compare to the programming data date and time-of-day;
starting recording, when the clock date and the clock time-of-day compare to the programming data date and time-of-day; and ending recording, when the recording has continued for a time equal to the program data program length.
CA 2203755 1994-10-27 1995-10-27 Apparatus and methods for downloading recorder programming data in a video signal Abandoned CA2203755A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US33038494A 1994-10-27 1994-10-27
US08/330,384 1994-10-27
PCT/US1995/013942 WO1996013932A1 (en) 1994-10-27 1995-10-27 Apparatus and methods for downloading recorder programming data in a video signal

Publications (1)

Publication Number Publication Date
CA2203755A1 true CA2203755A1 (en) 1996-05-09

Family

ID=29405809

Family Applications (1)

Application Number Title Priority Date Filing Date
CA 2203755 Abandoned CA2203755A1 (en) 1994-10-27 1995-10-27 Apparatus and methods for downloading recorder programming data in a video signal

Country Status (1)

Country Link
CA (1) CA2203755A1 (en)

Similar Documents

Publication Publication Date Title
US7636511B2 (en) Apparatus and methods for downloading recorder programming data in a video signal
US6115057A (en) Apparatus and method for allowing rating level control of the viewing of a program
US6226793B1 (en) Apparatus and method for allowing rating level control of the viewing of a program
US4635121A (en) Arrangement for the programmable control of a radio and/or television receiver
US5677895A (en) Apparatus and methods for setting timepieces
CA2363052C (en) Improved electronic television program schedule guide system and method
EP0393555B1 (en) Improved processing of information transmitted in the vertical retrace interval of a television signal
US5016273A (en) Dual communication mode video tape recorder
EP0862831B2 (en) Method and apparatus for displaying textual or graphic data on the screen of television receivers
US5828402A (en) Method and apparatus for selectively blocking audio and video signals
JP4473197B2 (en) How to communicate television program information
US4751578A (en) System for electronically controllably viewing on a television updateable television programming information
EP0701759A1 (en) System and method for automatically recording television programs in television systems with tuners external to video recorders
JPH07162818A (en) Method and equipment for data display
EP0578300A2 (en) Television receiver including a teletext decoder
JP3474565B2 (en) Apparatus and method for using compressed code for scheduling broadcast information recording
US20040086266A1 (en) Video tape indexing system and method
JP3836501B2 (en) Television apparatus and television signal processing method
CA2203755A1 (en) Apparatus and methods for downloading recorder programming data in a video signal
CA2179474C (en) Method and apparatus for selectively blocking video signals
KR960013741B1 (en) Reservation seeing and hearing and recording method of particular typed program
KR0140605B1 (en) Apparatus for recording detailed information of programs in korean broadcasting program system

Legal Events

Date Code Title Description
EEER Examination request
FZDE Dead