Language selection

Search

Patent 2203755 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent Application: (11) CA 2203755
(54) English Title: APPARATUS AND METHODS FOR DOWNLOADING RECORDER PROGRAMMING DATA IN A VIDEO SIGNAL
(54) French Title: APPAREIL ET PROCEDES DE TELECHARGEMENT DE DONNEES DE PROGRAMMATION D'ENREGISTREUR DANS UN SIGNAL VIDEO
Status: Dead
Bibliographic Data
(51) International Patent Classification (IPC):
  • H04N 5/76 (2006.01)
  • H04N 5/775 (2006.01)
  • H04N 5/782 (2006.01)
(72) Inventors :
  • NG, YEE KONG (Hong Kong, China)
(73) Owners :
  • INDEX SYSTEMS, INC. (British Virgin Islands)
(71) Applicants :
  • INDEX SYSTEMS, INC. (British Virgin Islands)
(74) Agent: FETHERSTONHAUGH & CO.
(74) Associate agent:
(45) Issued:
(86) PCT Filing Date: 1995-10-27
(87) Open to Public Inspection: 1996-05-09
Examination requested: 2002-10-22
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): Yes
(86) PCT Filing Number: PCT/US1995/013942
(87) International Publication Number: WO1996/013932
(85) National Entry: 1997-04-25

(30) Application Priority Data:
Application No. Country/Territory Date
08/330,384 United States of America 1994-10-27

Abstracts

English 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.


French Abstract

L'invention se rapporte à un appareil et à des procédés permettant de commander l'enregistrement d'émissions vidéo. Selon un mode de réalisation, un appareil permettant de commander l'enregistrement d'émissions vidéo comprend un dispositif (60) qui extrait un identificateur d'enregistreur et des données de programmation d'enregistreur d'un signal de télévision provenant d'une source de signaux de télévision, un dispositif (21) servant à déterminer si l'identificateur d'enregistreur extrait correspond à un premier identificateur de l'appareil, un dispositif (33) qui mémorise les données de programmation d'enregistreur, et un dispositif (21) utilisant les données de programmation enregistrées pour commander l'enregistrement. Le dispositif servant à extraire l'identificateur de l'enregistreur et les données de programmation du signal de télévision comprend un décodeur d'intervalle de suppression de trame.

Claims

Note: Claims are shown in the official language in which they were submitted.


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.


-21-




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.


-22-





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;

-23-

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.

-24-

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.

-25-

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.


-26-





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.


-27-

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;

-28-

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.




-29-

Description

Note: Descriptions are shown in the official language in which they were submitted.


CA 02203755 1997-04-25

WO 96/13932 PCT/US95/13942




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

CA 02203755 1997-04-25

WO 96/13932 PCT/US95/13942
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.

--2--

CA 02203755 1997-04-25

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

WO 96/13932 PCT/US95/13942
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

- CA 02203755 1997-04-25

WO 96/13932 PCTIUS95/13942
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.

CA 022037SS 1997-04-2S

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.

CA 02203755 1997-04-25

WO 96/13932 PCT/US95/13942
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

--7--

CA 022037SS 1997-04-2S

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~.

CA 02203755 1997-04-25

WO 96/13932 PCTIUS95/13942
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

CA 02203755 1997-04-25

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

--10--

CA 02203755 1997-04-25

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,

--11--

CA 02203755 1997-04-25

WO 96/13932 PCT/US9S/13942
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

--12--

CA 02203755 1997-04-25

WO 96/13932 PCT/US95113942
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

- CA 02203755 1997-04-25

WO 96/13932 PCT/US95/13942
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

WO 96/13932 PCT/US95/13942
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.


CA 02203755 1997-04-25

WO 96/13932 PCI/US95/13942
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:

--16--

CA 022037.7.7 1997 - 04 - 2.7

WO 96/13932 PCT/US95/13942
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.

--17--

CA 02203755 1997-04-25

WO 96/13932 PCTIUS95/13942
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.
--18--

CA 02203755 1997-04-25

WO 96/13932 PCT/US95/13942
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


--19--

CA 02203755 1997-04-25

WO 96/13932 PCT/US9S/13942
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.




--20--

Representative Drawing
A single figure which represents the drawing illustrating the invention.
Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date Unavailable
(86) PCT Filing Date 1995-10-27
(87) PCT Publication Date 1996-05-09
(85) National Entry 1997-04-25
Examination Requested 2002-10-22
Dead Application 2005-10-27

Abandonment History

Abandonment Date Reason Reinstatement Date
2004-10-27 FAILURE TO PAY APPLICATION MAINTENANCE FEE

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Registration of a document - section 124 $100.00 1997-04-25
Application Fee $300.00 1997-04-25
Maintenance Fee - Application - New Act 2 1997-10-27 $100.00 1997-10-10
Maintenance Fee - Application - New Act 3 1998-10-27 $100.00 1998-10-13
Maintenance Fee - Application - New Act 4 1999-10-27 $100.00 1999-10-05
Maintenance Fee - Application - New Act 5 2000-10-27 $150.00 2000-10-10
Maintenance Fee - Application - New Act 6 2001-10-29 $150.00 2001-10-09
Maintenance Fee - Application - New Act 7 2002-10-28 $150.00 2002-10-03
Request for Examination $400.00 2002-10-22
Maintenance Fee - Application - New Act 8 2003-10-27 $150.00 2003-10-22
Final Fee $300.00 2004-08-12
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
INDEX SYSTEMS, INC.
Past Owners on Record
NG, YEE KONG
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Drawings 1997-04-25 13 292
Representative Drawing 1997-08-27 1 20
Representative Drawing 2003-05-08 1 13
Description 2003-11-05 22 1,388
Description 1997-04-25 20 1,320
Description 2002-10-22 22 1,393
Cover Page 1997-08-27 1 68
Abstract 1997-04-25 1 67
Claims 1997-04-25 9 433
Claims 2002-10-22 3 117
PCT 1997-04-25 17 655
Assignment 1997-04-25 5 203
Prosecution-Amendment 2002-10-22 9 354
Prosecution-Amendment 2003-05-13 2 44
Prosecution-Amendment 2003-11-05 6 325
Correspondence 2004-08-12 1 28