NIDEO RECORDER PROGRAMMING
FIELD OF THE INVENTION
The present invention relates to systems for controlling video recorder systems and in particular to systems for presetting domestic video recorders for unattended recording of desired programs.
BACKGROUND OF THE INVENTION
Video cassette recorders (VCRs) are commonly used in a domestic situation for recording of television programs for viewing at a later date. To enable unattended recording, most VCRs are equipped with timer means which automatically start the machine recording a preselected channel at a preselected time and date and also stops recording after a preselected time has elapsed.
Conventionally, the user must enter channel, date, time, and program length (CDTL) information into the VCRs memory to facilitate this function. This procedure is quite onerous and error-prone, and several systems have been proposed for overcoming some of these difficulties.
One such system, known as Programme Delivery Control (PDC) is a system which identifies TV programs during transmission by transmitting a label comprising the program channel, the program date, and the scheduled program start time. The label is repeated every thirty seconds while the program is being broadcast. To record a desired program, the program channel, the program date, and the scheduled program start time are entered by the user, and when the received label matches the entered label, recording starts. When the label has not been received for a certain time, or the label of the next program is received, recording stops.
PDC is effective, however if the user has to enter the program details manually, the system is inconvenient and prone to error. The system is much more convenient if used in conjunction with an on-screen TV guide, for example a teletext page representing a TV guide. In this case the PDC label can be associated with the TV guide entry of interest and automatically stored with a single command from the user. This system is a great improvement on the prior art, however it suffers some limitations. For example, unless an on-screen TV guide with the requisite PDC labels is available, the user still has to identify the program by time, channel and so on.
Another approach to the problem of scheduling VCR recording is disclosed in US patent 5,307,173 to Yuen and Kwoh. In this system, the time, date, channel and length information is compressed into a small number of digits to form a number which is considerably more compact than the information conventionally notated. These numbers, known commercially as "g-code", are published in printed or electronic TV guides, and are entered by the user into their VCR. A processor within the VCR then decompresses the g-code to recover the original time, date, cham el and length information which is then used to set the timer means of the VCR.
Although more convenient than the conventional method of VCR programming, the g-code system suffers some limitations, the most serious being that recording is controlled by the scheduled time of the program, so if the program starts or ends at a different time, the recording may not include all the desired material. The system also relies on the clock and calendar of the VCR being correctly set for successful operation.
In order to overcome some of the limitations of PDC and g-code, these have been used in combination, so that the g-code number can be used to set the time, date, channel and length information required by PDC. The g-code number is decompressed in the controller to yield channel, time and date data suitable for matching with PDC labels. While this system is advantageous in some respects, it has some shortcomings. For example, the method of generating the g-code for guide publication and subsequently decoding it for translation to CDTL required by PDC is
relatively complex. Also, it may be desirable in some cases to use program identifiers in the guide which do not convey the CDTL in an encoded form, as this may allow for shorter or more memorable identifiers to be used.
SUMMARY OF THE INVENTION
Accordingly, it is an object of this invention to provide a system and process which allows a user to program a recording or reproducing device using a program identifier which is more compact than the time, date, channel and length information corresponding to the desired program.
It is another object of the invention to provide a system and process which allows a user to program a recording or reproducing device without requiring an on-screen guide for operation.
It is another object of the invention to provide a system and process which allows a user to program a recording or reproducing device using less keystrokes than required for entering time, date and channel information while not requiring the complex step or means for translating the entered data into time, date and channel infonnation.
It is another object of the invention to provide a system and process which allows a user to nominate a set of television program identifiers to be compiled into an electronic program guide.
In one aspect, the present invention provides a method of unattended recording of programs including the steps of receiving a program code from a user input device and storing this code in memory means, receiving a signal identifying a program which is being broadcast or which is about to start being broadcast, comparing the identifying signal to the stored program code, and if certain prescribed comparison conditions are met, controlling recording or display of the broadcast program.
In one particular embodiment, a controller for unattended recording of programs is provided including means for receiving a program code from a user input device and storing this code in memory means, means for receiving a signal identifying a program which is being broadcast or which is about to start being broadcast, means for comparing the identifying signal to the stored program code, and a controller adapted to control recording or display of the broadcast program according to the result of the comparison.
In another particular embodiment, means for unattended recording of programs is provided including the means for receiving a program code, which is a compressed representation of the time, date, chamiel and length of a program, from a user input device; means for storing this identifier in memory means; means for receiving a signal identifying a program which is being broadcast or which is about to start being broadcast; means for comparing the identifying signal to the stored program code; and controller means adapted to start recording or display of the broadcast program according to the result of the comparison.
In another aspect of the invention, the program code is compared to the identifying signal in the format in which it is entered, without algorithmic conversion to a different format.
In yet another aspect, the program code comprises an alphabetic, numeric, or alphanumeric string that is not derived algorithmically from the time, date, channel or length information associated with the program to be recorded.
In another aspect, the program code comprises an alphabetic, numeric, or alphanumeric string that is derived algorithmically from the time, date, channel or length information associated with the program to be recorded.
In yet another aspect, the program code comprises an alphabetic, numeric, or alphanumeric string that is an abbreviation of the name of the program to be recorded.
For example, the code for nominating today's episode of "Seinfeld" may be "S", tomorrow's "S2" while "Suddenly Susan" would be denoted "SS".
In yet another aspect, the program code comprises an alphabetic, numeric, or alphanumeric string that is not derived algorithmically from the time, date, channel or length information associated with the program to be recorded but is assigned by an editor. For example, codes can be assigned on the basis of perceived popularity of the program, so that more popular programs have shorter numbers or strings to enter. In one such embodiment the most popular program of the week is assigned the number "1", the next most popular "2" and so on. Other characters can be added to indicate the same program next week, for example, "1+" can be used to indicate next week's "ER". Alternatively, choice of program codes can be based on a broadcaster's or sponsor's willingness to pay a fee for a more favorable, or shorter, number.
In another particular embodiment, a method of unattended recording of programs is provided including the steps of receiving a program code, which is a compressed representation of the time, date, channel and length of a program, from a user input device and storing this identifier in memory means; receiving a signal identifying a program which is being broadcast or which is about to start being broadcast; comparing the identifying signal to the stored program code; and if certain prescribed comparison conditions are met, starting recording or display of the broadcast program. This embodiment has the advantage that the same program code utilised by this invention can be used to convey CDTL information to other, prior art, types of recording programmers, maintaining compatibility and increasing the utility of guides printed with numbers such as g-codes.
In another aspect, the inventive concept is extended to automatically record the same- named program every day, every week or whenever the program of that name is repeated. In this aspect, the step of receiving a signal identifying a program includes the sub-steps of receiving an identifier which includes at least a first part which matches at least part of the code entered by the user and a second part which includes a representation of the program name. On receipt, as well as matching the received
signal with the previously-entered code, the system stores in memory at least the name associated with the received identifier. Subsequently, this stored name is compared to the name received as part of a program identifier, and if certain conditions are met, the program is recorded. In another embodiment, this repeat- recording function is achieved by storing a static program label instead of the aforementioned program name. The static program label comprises data which uniquely maps to the name of the program associated with the stored code, and will hence be the same value each time the same-named program is broadcast. The latter arrangement has the advantage of more compact identification and hence less storage and bandwidth requirement, whereas the former arrangement has the advantage that the user can request a display of the name of the program currently recording, or previously recorded, or queued for future repeat recording.
The invention can also include the steps of erasing stored codes or stored names from memory, automatically or under user instruction.
According to certain embodiments of the invention, multiple codes are stored in memory so that several programs can be scheduled for recording. In another variation of the invention multiple program names can be stored for facilitating scheduling of multiple programs to be recorded repeatedly.
In one embodiment of the invention, the user enters the program code using keys on a remote control handset.
In another embodiment of the invention, the user enters the program code by selecting a program item from an on-screen television guide.
In another embodiment of the invention, the user enters the program code by selecting a program item from a website.
In another embodiment of the invention, the user enters the program code using keys on an alphanumeric keyboard.
In another embodiment of the invention, the user enters the program code by speaking.
In another embodiment of the invention, the program code is automatically entered by scanning optically from a printed guide.
In yet another embodiment of the invention, the user enters the program code by selecting a program identifier from a list of available program identifiers displayed on a visual device, for example a CRT or liquid crystal display.
In another embodiment of the invention, the program code entered by the user is displayed for confirmation on a visual device, for example a CRT or liquid crystal display.
In another embodiment of the invention, the invention further comprises the steps of looking up a table which maps the program code entered by the user to a program name and displaying the results of the lookup on a visual device, for example a CRT or liquid crystal display. This extension of the invention provides reassurance to the user that the correct program has been selected.
In one particular embodiment of the invention, the program code entered by the user is a string of characters shown in association with a program guide.
In another particular embodiment of the invention, the program code entered by the user is a string of characters shown in association with a program guide plus one or more characters added in a prescribed fashion. For example, where the guide includes g-code numbers, the user of the present invention can enter the g-code number plus a leading 0. Alternatively the g-code may be scrambled in some way, for example by
entering the digits in reverse order. This may be desirable in cases where it is beneficial to differential between a g-code system and the system of this invention.
According to another aspect of the invention, the received identifying signal comprises part of a received broadcast program. In some embodiments, for example, the identifying signal is encoded as data during the vertical retrace interval of a television signal.
In some embodiments, the received identifying signal comprises part of a received broadcast program and consists of identifying signals pertaining to the program of which the signal is part. In other embodiments, the received identifying signal comprises part of a received broadcast program and comprises identifying signals pertaining to programs being broadcast on channels other than the one conveying the identifying signals.
According to another aspect of the invention, the received identifying signal is received from a station which transmits identifying signals related to a plurality of broadcast channels. In one such embodiment, the identifying signals are generated by people monitoring television programs in real time.
According to another aspect of the invention, the received identifying signal is received from a station which transmits identifying signals related to a plurality of broadcast channels and the signal is conveyed by means of a signal that is not conveyed by the same medium as the television broadcasts. For example, the identifying signals may be received from a radio transmission or an Internet connection and be used to control recording of programs received via cable television.
In some particular embodiments of the invention, the prescribed comparison condition is equality. That is, the received signal identifying a program contains the same data as was entered by the user and stored as the program code. In other embodiments, the comparison condition is that the stored code is a subset of the received identifier. That
is, the received identifier may include additional data beyond what is required to match the stored code with the received identifier.
According to another useful embodiment of the inventive concept, the identifying codes received comprise a compressed representation of the program channel, time and date but not length. This allows for more compact identifiers whilst not diminishing the functionality of the system, since the length information is not required, the receipt of a new program identifier for the channel being recorded signaling end of recording unless the new program is also queued for recording.
According to one useful extension of the inventive concept, the invention also includes the steps of receiving content control signals which identify certain types of program content and, according to configurations established by the user, controlling recording or viewing of program segments of certain types. This extension of the inventive concept is particularly useful for preventing the viewing or recording of unwanted subject matter such as violence or advertising.
According to another useful extension of the inventive concept, the invention is adapted to allow selection of particular programs to be excluded from viewing or recording. To this end, the user enters program codes of programs that are to be excluded, and when a received program identifying signal indicates that the current program corresponds to one of the entered codes, viewing or recording is inhibited.
According to another aspect of the invention, the methods of receiving program codes from a user described above are used to nominate a set of programs to be included in an electronic program guide. For example, a parent may enter the program codes corresponding to particular programs considered by the parent to be suitable for viewing by children. The invention then constructs an electronic program guide comprising only these program identifiers. In some embodiments the invention can accommodate several such guides for particular persons or purposes.
The invention also consists in recording or reproducing apparatus which includes the inventive features according to the foregoing description.
Furthermore, the invention also consists in a controller which provides the inventive features according to the foregoing description which is separate from a recording means and controls it by suitable signaling.
DESCRIPTION OF PREFERRED EMBODIMENTS
Embodiments of the invention will now be described with reference to the drawings in which:
Fig. 1 is a block diagram of a video cassette recorder incorporating the present invention;
Fig. 2 is an example of the constitution of the memory used in this embodiment; and
Fig. 3 is an example of the constitution of a program identifying label utilised by this embodiment.
Referring now to Fig. 1, there is shown a video cassette recorder (VCR) including an embodiment of the invention. Microcontroller 1 controls operation of the VCR in the conventional manner, that is it receives commands from a remote controller via infra- red (IR) receiver 2 and controls tuner 4 and transport 5 so that programs received by program input 10 can be recorded and replayed.
As well as these conventional functions, the VCR of this embodiment is adapted to control recording of programs by means of additional software and hardware to perform the following functions.
To preset the VCR to record a desired program, the user presses a "program" key on the remote controller (not shown) which causes a distinctive IR code to be received by microcontroller 1 via IR receiver 2. This IR code is recognised by microcontroller 1 which then waits for a program code to be entered. In this embodiment, the code is a number printed in a TV guide, adjacent to the program's description. In many parts of the world such a number is routinely provided for use with g-code equipment, and
although the special characteristics of g-code numbers are not required for this invention, the g-code numbers can be used for convenience.
As the user enters the program code, the digits are displayed on display 11, which in this embodiment is an on-screen display but can also be other forms of display such as the liquid-crystal display commonly found on VCRs. When all digits of the required code have been entered and confirmed as correct, the user presses a key designated as the code terminator, and microcontroller 1 stores the code in the next available position in the section of memory 3 designated as the code stack. The code stack is shown as item 22 in Fig. 2. In this example, the code 185 has been entered and stored.
Tuner 4 includes a decoder which extracts digital data from the vertical blanking interval (VBI) of a received video signal and presents this data to microcontroller 1 via the signal VBI data 7. This data may include the program identifying signals used by this invention, however in some situations such data will not be conveniently available. To cater for these cases, an extra receiver, receiver 12, is provided. Receiver 12 in this embodiment is a VHF FM receiver as commonly used for paging receivers, although many other types of receiver can be substituted, according to local requirements. For example, in some cases the program identifying signals can be broadcast via a dedicated FM carrier on the cable network. Many other possibilities exist: for example, FM radio over the air, subcarrier on an FM broadcast, wired telephone connection, radio telephone connection, or Internet.
Microcontroller 1 receives the program identifying signals from either or both received data 13 and VBI data 7. These signals comprise a numeric code, program name, program channel scheduled start time and date, and program length corresponding to each program currently being broadcast in the operating area.
An example program identifying signal is shown in Fig. 3. In this example, the program identifier 30 is "185". Terminator 31 indicates the end of the program code field. This is followed by the program name 32, terminator 33, and then channel 34, time 35, date 36 and length in minutes 37.
When a program identifying signal is received by microcontroller 1 it scans code stack 22 to see if the received identifier matches any codes in the stack. If a match is found, microcontroller 1 commands tuner 4 to select the required channel, as indicated by the channel data 34, and commands the transport 5 to start recording.
The program identifying signals are repeated periodically, in this example every 30 seconds, for the duration of the program. Once recording has started, receipt of the same identifying signal is used to confirm that the desired program is still being broadcast and recording should continue.
When a different program identifying signal is received, the current recording operation is terminated and code stack 22 and name stack 23 rescanned to see if the new program has be queued for recording.
If the user wishes to record the same program every day, every week or whenever the program of that name is broadcast, an extra key is pressed at the time of entering the program code. This sets a repeat flag 24 associated with code stack 22. When microcontroller 1 recognises start of a program, it copies program name 32 from the received program identifying signal to name stack 23. It also copies the associated repeat flag 24 to the repeat flags 25 associated with name stack 23. Any names with an associated repeat flag are compared to program names received in program identifying data, and if a match occurs, recording is started as described above. Thus, once a program for which repeat playing has been recorded the first time, it will be recorded every time the same name appears, until the user deletes that entry from the name stack.
The name stack is also used to provide the user, on pressing the appropriate key, with a display of the name of the program currently being recorded or a list of names of programs in the name stack with the repeat flag set. In one embodiment, the name of the program is also superimposed on the recorded video for a few seconds when recording starts, for labeling purposes.
In further extensions of this embodiment, name stack 23 includes extra fields where the channel, time and date information are stored for the user's review. In cases where the user may wish to record every instance of a particular program name but only on a given channel, the channel information is stored in name stack 22 along with the program name and is taken into account by microcontroller 1 when deciding whether to initiate a repeat recording.
It will be understood by those skilled in the art that the invention herein described can be applied to a variety of recording means. For example, while the invention is presently most commonly applicable to video cassette recorders, it is equally valuable for use with all other types of recording devices, such as digital video disk or hard-disk recorders. Furthermore, it is anticipated that the invention can be used to control operation of other types of equipment or appliances where selection of particular items from large menus of items is required. For example the invention can be used to control operation of a television receiver, so that selected programs are displayed when they go to air. Application and adaptation of the invention to many media including Internet is anticipated.
Where the term "broadcast" is used herein, it is used only by way of example and for clarity of expression as the scope of the invention is not limited to use with broadcast programs. As will be obvious to those skilled in the art, the invention can also be practised using other sources of program material, including for example cable, pay- per-view, Internet, satellite, narrowcast or pre-recorded media.
Whereas the preferred embodiment of the invention is described as utilising the change of program identifying signal to indicate cessation of recording of a program, it is also possible to provide specific start-of-program and end-of-program signals and utilise these to start and stop recording.
It will also be understood that where the invention is described as utilising digits, alphabetic characters can be used alternatively or in combination, and vice versa.
Whereas the embodiments of the invention described herein incorporate the inventive features into a video cassette recorder or other equipment, the invention can also be beneficially implemented as a control device external to the controlled device. For example, it can be embodied as a remote controller which communicates the required commands, such as "record" and "stop", to the controlled appliance at the appropriate instants.