Apparatus and method using compressed codes for scheduling broadcast information recording.
Abstract
COMPRESSED DIGITAL CODES ASSOCIATED WITH ADS ALLOW A USER TO SELECTIVELY RECORD ADDITIONAL INFORMATION, WHICH WOULD BE ISSUED BY A TELEVISION CHANNEL AT A LATER TIME. ANNOUNCEMENTS MAY BE PRINTED ANNOUNCEMENTS OR ANNOUNCEMENTS BROADCAST ON TELEVISION OR RADIO. THE USER ENTERS THE DIGITAL CODE (CODE I) (652) ASSOCIATED WITH AN ADVERTISEMENT WITHIN A UNIT WITH SOME CODING MEDIA (14) THAT AUTOMATICALLY CONVERT THE CODE WITHIN THE CTL (CHANNEL, TIME AND LENGTH). THE UNIT WITHIN A TWENTY-FOUR HOUR PERIOD ACTIVATES A VCR (14) TO RECORD INFORMATION ON THE TELEVISION CHANNEL (18) AT THE RIGHT TIME FOR THE APPROPRIATE LENGTH OF TIME. DECODED CHANNEL, TIME AND LENGTH INFORMATION MAY BE COMMUNICATED DIRECTLY TO A VCR (14), AND USED BY THE VCR (14) DIRECTLY TO AUTOMATICALLY ACTIVATE THE VCR (14) TO RECORD A BROADCASTING OF TELEVISION INFORMATION GIVEN AS CORRESPONDING TO THE CHANNEL , TIME AND LENGTH COMMUNICATED. ALTERNATIVELY, THE CHANNEL, TIME AND LENGTH INFORMATION CAN BE DECODED DIRECTLY IN A REMOTE CONTROL UNIT (80) AND ONLY THE COMMANDS TO START RECORDING, STOP RECORDING AND CHANNEL SELECTION (169 SEND TO VCR (14) AT APPROPRIATE TIMES ALGORITHMS FOR DECODING CODE I (652) MAY BE DEPENDING ON TIME TO ENSURE THE SAFETY OF THE DECODING METHOD, A METHOD FOR THE USE OF CODE I (652) IS INCLUDED WITH CABLE CHANNELS.

Term
Term ended
Projected expiry passed 11 December 2012, 13.8 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
41 claims: 14 independent, 27 dependent
- 1ES 2 139 001 T3 REIVINDICACIONES 1. Un móetodo de utilizacióon de coódigos comprimidos para controlar un registrador de casete de video, que comprende las operaciones de:emitir un anuncio de televisióon con un cóodigo comprimido asociado que tiene al menos un dógito, cada uno de cuyos dógitos representa, comprimida en longitud, la combinacioón de los datos individuales de canal, fecha, hora y duracioón para una emisióon de televisioón;emitir a travóes del canal individual representado en el coódigo comprimido asociado sustancialmente a la misma hora del dóa y con la duracioón representada en los cóodigos comprimidos asociados, un programa de televisióon asociado con el anuncio de televisioón, dentro de un peróodo de 24 horas desde el momento en que se emite el anuncio de televisióon;introducir dicho coódigo comprimido asociado con dicho anuncio;transformar dicho cóodigo comprimido en un nuómero binario;reordenar los bits de dicho nuómero binario para obtener un cóodigo binario comprimido reordenado;separar dicho cóodigo binario comprimido reordenado en óndices de prioridad de canal, hora y duracióon;crear vectores de prioridad para la informacióon de canal, hora y duracióon;utilizar dichos óndices de prioridad de canal, hora y duracioón para obtener oórdenes de canal, hora y duracióon de dichos vectores de prioridad para canal, hora y duracióon;comparar las oórdenes de hora del dóa con la salida de un reloj para encontrar una relacioón predeterminada;seleccionar el canal especificado en la orden de canal despuóes de encontrar que existe la relacióon predeterminada;activar el modo de grabacion del registrador de casete de video de las senales de video del canal seleccionado comenzando a registrar despuóes de encontrar que existe la relacióon predeterminada;y utilizar la orden de duracioón para finalizar la grabacióon.
- 2Un metodo de acuerdo con la reivindicacion 1-, caracterizado porque la operación de transformacioón comprende adicionalmente las operaciones de:extraer un cóodigo de peróodo de validez de dicho cóodigo comprimido;utilizar dicho cóodigo de peróodo de validez para seleccionar un móetodo de transposicióon para deshacer la transposicióon de dicho cóodigo comprimido para obtener un cóodigo comprimido sin transposicióon;convertir grupos de nuómeros decimales de dicho cóodigo comprimido sin transposicióon en grupos de nuómeros binarios;concatenar dichos grupos de nuómeros binarios en un solo nuómero binario;y eliminar dicho coódigo de peróodo de validez de dicho nuómero binario.
- 3Un móetodo de programacióon de un sistema para controlar automóaticamente la grabacióon por un registrador de casete de video de un canal de senales de video especificado por una orden de canal que comienza a la hora especificada por una orden de hora en una fecha deseada y para la duracioón especificada por una orden de duracioón, que comprende las operaciones de:recibir indicaciones codificadas comprimidas, cada una de las cuales representa la combinacióon de una de cada una de dichas oórdenes de canal, de hora y de duracióon;y decodificar y expandir una de dichas indicaciones codificadas comprimidas para obtener una orden individual de canal, de hora y de duracioón para controlar el registrador de casete de video;caracterizado por la operacioón de determinar la fecha correspondiente a dicha indicacióon codificada comprimida en base a la hora en la que se recibe la indicacioón codificada comprimida y en base a la orden de hora registrada a partir de la indicacioón codificada comprimida.
- 4Un móetodo de acuerdo con la reivindicacióon 3 - a , caracterizado porque la operacióon de determinar la fecha deseada estaó precedida por la operacióon de comprobar la indicacióon codificada comprimida en cuanto a la presencia de un dógito de cabeza predeterminado, y determinar la fecha deseada a partir de la indicacióon codificada comprimida si estaó ausente dicho dógito de cabeza predeterminado.
- 5Un móetodo de acuerdo con la reivindicacióon 3 - a , caracterizado porque dicha operacióon de determinacióon comprende la operacióon de determinar la fecha deseada para dicha indicacióon codificada comprimida como fecha, dentro del peróodo de veinticuatro horas siguiente a la recepcióon de dicha indicacioón codificada comprimida, en el cual aparece la orden de hora para esa indicacioón codificada comprimida.
- 6Un móetodo de acuerdo con la reivindicacióon 3 - a , caracterizado porque la operacioón de recepcióon comprende la recepcióon de indicaciones codificadas representativas de la combinacióon de una de cada una de dichas oórdenes de canal, hora y duracioón, pero que no representan la fecha deseada.
- 7Un móetodo de acuerdo con cualquiera de las reivindicaciones 5 - a o6 a -, caracterizado porque la operacioón de recepcióon comprende la operacioón de interpretar si dicha indicacióon codificada comprimida es un cóodigo decimal comprimido para una emisióon de informacioón, inspeccionando si el dógito de cabeza de dicha indicacioón codificada comprimida tiene un valor predeterminado.
- 8Un móetodo de acuerdo con la reivindicacióon 7 - a , caracterizado porque la operacioón de interpretacióon es realizada por un microprocesador.
- 9Un móetodo de acuerdo con la reivindicacióon 3 - a , caracterizado porque las operaciones de recibir ES 2 139 001 T3 la indicaciáon codificada comprimida y decodificar y expandir la indicaciáon codificada comprimida son realizadas en un transmisor alejado del registrador de casete de video.
- 10Un metodo de acuerdo con la reivindicacion 3-, caracterizado por la operacion de utilizar un transmisor remoto portaátil, que sirve como interfaz con diferentes mandos de control remoto para aprender los protocolos de los diferentes controladores.
- 11Un máetodo de acuerdo con cualquiera de las reivindicaciones 6 - a a10 a -, caracterizado porque la operacioán de recepciáon comprende la operaciáon de introducir las indicaciones codificadas comprimidas con un dispositivo de entrada de teclado.
- 12Un máetodo de acuerdo con cualquiera de las reivindicaciones 5 - a o9 a -, caracterizado porque la operacioán de decodificacioán comprende la operacioán de decodificar la indicaciáon codificada comprimida con un microprocesador.
- 13Un máetodo de acuerdo con la reivindicaciáon 3 - a , caracterizado porque la operacioán de decodificaciáon y expansiáon comprende la operaciáon de realizar dicha decodificacioán y dicha expansiáon en funciáon de la salida de un reloj.
- 14Un máetodo de acuerdo con la reivindicaciáon 3 - a , caracterizado porque la operaciáon de decodificacioán y expansioán comprende las operaciones de:transformar dicha indicaciáon codificada comprimida en un nuámero binario;crear una clave de jerarquáa de bits que especifica la reordenacioán de dicho nuámero binario;reordenar los bits de dicho nuámero binario de acuerdo con dicha clave de jerarquáa de bits para obtener un cáodigo binario comprimido reordenado;separar dicho coádigo binario comprimido reordenado en ándices de prioridad de canal, hora y duracioán;crear vectores de prioridad para canal, hora y duraciáon;y utilizar dichos ándices de prioridad de canal, hora y duracioán para deducir oárdenes de canal, hora y duracioán de dichos vectores de prioridad para canal, hora y duracioán.
- 15Un máetodo de acuerdo con la reivindicaciáon 14 - a , caracterizado porque la operaciáon de reordenacioán comprende la operaciáon de realizar dicha reordenacioán en funciáon de la salida de un reloj.
- 16Un máetodo de acuerdo con la reivindicaciáon 14 - a , caracterizado porque la operaciáon de deducciáon comprende la operaciáon de realizar dicha deduccioán en funciáon de la salida de un reloj.
- 17Un máetodo de acuerdo con la reivindicaciáon 3 - a , caracterizado porque la operacioán de decodificacioán y expansiáon comprende las operaciones de:convertir dicha indicacioán codificada comprimida en un nuámero de base generalizada;reordenar los bits de dicho nuámero de base generalizada para obtener un cáodigo comprimido de base generalizada reordenado;agrupar dicho coádigo comprimido de base generalizada reordenado en nuámeros de prioridad de canal, hora y duraciáon;y utilizar dichos nuámeros de prioridad de canal, hora y duraciáon para deducir dichas áordenes de canal, hora y duracioán.
- 18Un máetodo de acuerdo con cualquiera de las reivindicaciones 3 - a o6 - a , caracterizado por las operaciones de:comparar las áordenes de hora con la salida de un reloj para detectar una relacioán predeterminada;seleccionar el canal especificado en la orden de canal despuáes de encontrar que existe la relaciáon predeterminada;activar el modo de grabaciáon del registrador de casete de video de las senñales de video del canal seleccionado comenzando a registrar despuáes de encontrar que existe la relaciáon predeterminada;y utilizar la orden de duracioán para finalizar el registro.
- 19Un máetodo de acuerdo con la reivindicaciáon 3 - a , caracterizado porque la operacioán de decodificacioán y expansioán comprende las operaciones de:introducir datos codificados en el decodificador;decodificar dichos datos codificados para determinar el canal, hora y duracioán del canal de senñales de video a registrar;y generar oárdenes de control a partir de dichos datos codificados para la selecciáon de dicho canal de senñales de video para registrar y para controlar el registrador de casete de video para que el registrador de casete de video inicie e interrumpa la grabaciáon del canal seleccionado.
- 20Un máetodo de acuerdo con cualquiera de las reivindicaciones 1 a - o18 a -, caracterizado porque la operacioán de seleccioán comprende la seleccioán mediante una caja de recepcioán por cable.
- 21Un máetodo de acuerdo con cualquiera de las reivindicaciones 1 - a o 18, caracterizado por la operaciáon de avanzar dicha orden de hora un nuámero de horas predeterminado.
- 22Un máetodo de acuerdo con cualquiera de las reivindicaciones 1 - a o18 a -, caracterizado por la ES 2 139 001 T3 operacióon de retardar dicha orden de hora un nuómero de horas predeterminado.
- 23Un metodo de acuerdo con cualquiera de las reivindicaciones I a o 18 a , caracterizado por la operacióon de transmitir dichas oórdenes de seleccióon de canal, de activacióon de registro y de desactivacioón de registro hacia adelante, hacia atróas, hacia la izquierda, hacia la derecha y hacia abajo, desde dicho mando de control remoto.
- 24Un sistema para controlar automaóticamente el registro por un registrador (70) de un canal de senñales de video bajo control de una orden de canal que se inicia a la hora especificada por una orden de hora en una fecha deseada y para la duracióon especificada por una orden de duracióon, comprendiendo el sistema:una entrada (30) para recibir representaciones de indicaciones codificadas comprimidas, cada una de las cuales representa, en forma comprimida, la combinacioón de una de cada una de dichas oórdenes de canal, hora y duracioón;un decodificador (36) para decodificar y expandir una de dichas indicaciones codificadas comprimidas para obtener oórdenes individuales de canal, hora y duracioón para controlar la reordenacioón, y un reloj (42) que tiene una salida funcióon de la hora en curso;caracterizado por medios (36) para determinar la fecha deseada para dicha indicacioón codificada comprimida en base a la hora en que es recibida la indicacióon codificada comprimida por la entrada, y en base a la orden de hora para esa indicacióon codificada comprimida.
- 25Un sistema de acuerdo con la reivindicacioón 24 a a , caracterizado porque dichos medios para determinar la fecha deseada comprenden adicionalmente medios para determinar la fecha deseada para dicha indicacióon codificada comprimida como fecha, dentro del peróodo de veinticuatro horas siguiente a la entrada de dicha indicacióon codificada comprimida en el que se produce la orden de hora para esa indicacióon codificada comprimida.
- 26Un sistema de acuerdo con la reivindicacióon 24 a a , caracterizado porque la entrada comprende una entrada para recibir representaciones de indicaciones codificadas comprimidas, cada una de las cuales representa, en forma comprimida, la combinacioón de una de dichas oórdenes de canal, hora y duracióon, pero no representan la fecha deseada.
- 27Un sistema de acuerdo con cualquiera de las reivindicaciones 25 a a o26 a a, caracterizado porque el registrador comprende un registrador de casete de video e incluye medios de control para interpretar si dicha indicacioón codificada comprimida para una informacióon radiodifundida ha sido recibida por el registrador de casete de video.
- 28Un sistema de acuerdo con la reivindicación 27°, caracterizado porque dichos medios de control comprenden un microprocesador.
- 29Un sistema de acuerdo con la reivindicacióon 24 a a , caracterizado por un transmisor portaótil (80) de control remoto que comprende dicha entrada y dicho decodificador.
- 30Un sistema de acuerdo con la reivindicacióon 29 a a , caracterizado porque dicho transmisor portaótil (80) de control remoto comprende un mando de control remoto universal capaz de aprender protocolos de diferentes mandos de control remoto, con los cuales dicho mando de control remoto universal sirve de interfaz.
- 31Un sistema de acuerdo con cualquiera de las reivindicaciones 25 a a o29 a a, caracterizado porque dicha entrada comprende un dispositivo (20 a 27) de entrada de teclado.
- 32Un sistema de acuerdo con cualquiera de las reivindicaciones 25 a a o29 a a, caracterizado porque dicho decodificador comprende un microprocesador (60).
- 33Un sistema de acuerdo con la reivindicacióon 24 a a , caracterizado porque el decodificador comprende medios para generar dichas oórdenes de canal, hora y duracióon en funcióon de la salida del reloj (42).
- 34Un sistema de acuerdo con la reivindicacióon 24 a a , caracterizado porque dicho decodificador comprende:medios para convertir dicha indicacioón codificada comprimida en un nuómero binario;medios para reordenar los bits de dicho nuómero binario para obtener un cóodigo binario comprimido reordenado;medios para agrupar dicho cóodigo binario comprimido reordenado en nuómeros de prioridad de canal, hora y duracioón;medios para utilizar dichos nuómeros de prioridad de canal, hora y duracióon para deducir oórdenes de canal, hora y duracioón;y medios para sustituir el nuómero de canal que aparece en dicha orden ES 2 139 001 T3 de canal por un nuámero de canal local.
- 35Un sistema de acuerdo con la reivindicacián 34-, caracterizado porque los medios para reordenar los bits en dicho cáodigo comprimido comprenden medios para reordenar los bits en funcioán de la salida del reloj (42).
- 36Un sistema de acuerdo con la reivindicacioán 34 - a , caracterizado porque dichos medios para deducir áordenes de canal, hora y duraciáon comprenden medios para deducir dichas áordenes de canal, hora y duraciáon en funcioán de la salida del reloj (42).
- 37Un sistema de acuerdo con la reivindicacioán 24 - a , caracterizado porque dicho decodificador comprende:medios para convertir dicha indicacioán codificada comprimida en un nuámero de base generalizada;medios para reordenar los bits de dicho nuámero de base generalizada para obtener un coádigo comprimido de base generalizada reordenado;medios para agrupar dicho coádigo comprimido de base generalizada reordenado en nuámeros de prioridad de canal, hora y duraciáon;y medios para utilizar dichos nuámeros de prioridad de canal, hora y duraciáon para deducir dichas áordenes de canal, hora y duraciáon.
- 38Un sistema de acuerdo con la reivindicaciáon 24 - a , caracterizado por medios para comparar la hora del dia con la salida del reloj para encontrar una relacioán predeterminada;un selector de canales para seleccionar el canal especificado en la orden de canal despuáes de encontrarse que existe la relaciáon predeterminada;y un controlador de activacioán/desactivaciáon para permitir la grabacioán por el registrador de las senales de video del canal seleccionado, que comprende medios para activar la grabacián despuáes de encontrarse la relaciáon predeterminada, y para utilizar la orden de duracioán para finalizar la grabacioán.
- 39Un sistema de acuerdo con la reivindicaciáon 38 - a , caracterizado porque dicho selector de canales comprende adicionalmente una caja de recepciáon por cable;y dicho controlador de activaciáon/desactivacioán y dicho registrador (70) comprenden adicionalmente un registrador de casete de video.
- 40Un sistema de acuerdo con la reivindicaciáon 24 - a , caracterizado porque dicho decodificador comprende:medios para introducir datos codificados en el decodificador;medios para decodificar dichos datos codificados para determinar el canal, hora y duracion del canal de señales de video a registrar;y medios para generar oárdenes de control a partir de dichos datos codificados para la selecciáon de dicho canal de senñales de video para grabaciáon y para controlar un registrador para iniciar e interrumpir la grabacioán del canal seleccionado.
- 41Un sistema de acuerdo con la reivindicaciáon 24 - a , caracterizado por medios para comprobar la indicaciáon codificada comprimida en relacioán con la presencia de un dáígito de cabeza predeterminado, y en el que dichos medios para determinar la fecha deseada determinan la fecha deseada a partir de la indicaciáon codificada comprimida si no estaá presente el dáígito de cabeza predeterminado, en vez de determinar la fecha deseada en base a la hora en que fue recibida por la entrada una indicacioán codificada comprimida, y en base a la orden de hora correspondiente a esa indicaciáon codificada comprimida. NOTA INFORMATIVA:Conforme a la reserva del art. 167.2 del Convenio de Patentes Europeas (CPE) y a la Disposición Transitoria del RD 2424/1986, de 10 de octubre, relativo a la aplicación del Convenio de Patente Europea, las patentes europeas que designen a España y solicitadas antes del 7-10-1992, no producirán ningún efecto en España en la medida en que confieran proteccion a productos químicos y farmacéuticos como tales. Esta informacioín no prejuzga que la patente estíeonoincluída en la mencionada reserva.
Independent claims41
411 paragraphs in 24 sections, as filed
ES 2 139 001 T3
DESCRIPTION
Apparatus and method that uses compressed data to program the recording of broadcast information.
The present invention relates to video cassette recorder systems, and in particular to the specific timer preprogramming feature of video cassette recorders, and to an apparatus and method for using encoded information to shorten the time required for the preprogramming of the video cassette recorder. timer, and also to an apparatus and a method to enable a user to selectively record, for later viewing, Detailed information that was associated with a previous posting or broadcast of an advertisement.
The video cassette recorder has several uses, including the playback of tapes shot by a video camera, the playback of prerecorded tapes, and the recording and playback of broadcast and cable television programs.
To record a television program before viewing, a two-step procedure is often used; (1) obtain the channel, date, time and duration (CDTL) information from a television program guide, and (2) program this CDTL information into the video cassette recorder. Depending on the model, year, and type of the VCR, CDTL information can be programmed in a number of ways, including: (i) press a suitable sequence of keys on the console according to instructions contained in the user manual, (ii) press an appropriate sequence of keys on a remote control unit according to instructions contained in the user manual (programming remote control), and (iii) executing a series of keystrokes on the remote control unit in response to a menu displayed on the television screen (on-screen programming). Other techniques have been suggested for timer pre-programming, including: (iv) reading some bar code information using a light pencil (programming by light pencil), and (v) entering instructions through a computer or modem ( modulated-demodulator) telephonic. These various methods differ only in the physical means of specifying information, while content, which is channel information, date, time and duration, and certain off-on / clock / timer activation and deactivation commands, are generally common. although the detailed protocol may vary for VCRs of different models. Methods (i) and (ii) described above may require up to one hundred keystrokes, which has inhibited the free use of the timer preprogramming feature of video cassette recorders. To mitigate this problem, new video cassette recorder models have included a specific “On Screen Scheduling” feature, which allows remote input of channel, date, time and duration information in response to a menu displayed on the screen. of televisioón. Generally, on-screen programming of channel, date, time, and duration information requires an average of about eighteen keystrokes, which are fewer keystrokes than required by prior art methods, but their number is rather substantial. Some of the other techniques, such as (iv) described above, require the use of special equipment, such as a barcode reader.
In general, the current state of the art suffers from several drawbacks. First, the procedure for programming the VCR to record ahead can be quite complex, confusing, and difficult to learn; in fact, because of this many video cassette recorder users shy away from using the specific timer preprogramming recording feature. Second, the transcription of the channel, date, time and duration information to the video cassette recorder was hardly error free. In fact, many users of the VCR's timer preprogramming features report the high incidence of programming errors. Third, even for experienced users, the process of entering a long sequence of information regarding the channel, date, time and duration of a desired program can be tedious. Fourth, techniques such as reading bar code information or using a computer require special equipment. These drawbacks have created significant resistance to the use of a video cassette recorder as a recording device for television programs. The effect is that program scrolling has not become as popular as you might think. Accordingly, there is a need in the art for a more simple system for performing VCR timer pre-programming, which enables a user to take advantage of the recording feature of a VCR more fully and with ease. greater freedom.
The above technique in the context of allowing a user to selectively record, for later viewing, detailed information associated with an advertisement, is used in the case of the family advertisement broadcast by a network during a commercial interruption of a television channel, which would have been "News at
ES 2 139 001 T3
11 "or that there will be an" interview with the winning car at 9 ". A viewer who is watching the channel and who sees / hears this advertisement, could pre-program their video cassette recorder to record the “news” or “interview” at the appropriate time. Thus, the concept of having an indication broadcast simultaneously with an advertisement that alerts a user that supplementary information relating to the advertisement will be broadcast at a later time, can be easily implemented with standard devices, such as a television receiver and a video cassette recorder, and it's nothing new to the state of the art. The user may also be informed of an "interview with the winning car" by means of a printed advertisement, which will indicate the channel, time and date of the interview. When the user is informed by a broadcast or print advertisement that the winning team's car will be interviewed later that day, the viewer uses his remote control device to program his video cassette recorder to automatically record this program being played. will broadcast later. The video cassette recorder stores the controller's programming information and, through its display panel, informs the user of its programmed commands.
US Patent No. 4,977,455 relating to a system and process for programming video cassette recorders, describes a television broadcasting system in which an advertisement is broadcast and displayed simultaneously with a main program. The notice alerts a user that supplementary information regarding the main program will be broadcast at a later time. If the user responds to the prompt through a remote control, then the data included in the broadcast of the main program during the video blanking interval segment of the video signal, but not visible to the viewer, will be automatically stored. and interpreted by a microprocessor and used to control a video cassette recorder to record the supplemental emission at the later time. Young people do not contemplate the use of printed media at all and require that a special unit be associated with the television receiver to store and interpret the data embedded in the broadcast of the main program, and also to respond to the notice to the user, in order to that the system works in any case, even during television commercials, as shown in elements 4, 5, 9, 10 and 15 of figure 1 of the aforementioned patent.
International Patent Specification No. WO 90/07844 describes an apparatus and method for utilizing encoded timer programming information for a video recorder / player. Such information listed in a television guide allows programming the timer preprogramming feature in the video cassette recorder using a compressed five-digit code that is decoded by a decoder incorporated indistinctly in the video cassette recorder or in a remote control. remote control, to convert the compressed code into channel information, date, time and duration. This information is communicated to a videotape recorder and used to automatically activate the recorder to record the designated program. The compressed codes associated with each television program will be printed in advance in a television program guide and must be manually entered into a videotape recorder or your remote control.
An object of the invention is to significantly reduce the number of keystrokes required to activate the timer preprogramming feature of a video cassette recorder. According to this invention, it is only necessary for the user to enter a code of one to seven digits or more into the video cassette recorder. This can be done remotely or locally on the video cassette recorder. Decoding means incorporated in the remote control or in the video cassette recorder are arranged, which automatically convert the code into the correct channel programming information, date, time and duration and activate the video cassette recorder to record a recording. television program given with the corresponding channel, date, time and duration. In general, multiple codes can be entered at the same time for multiple program selections. The code may be printed in a television program guide in advance and may be selected for use with a video cassette recorder or remote control with set-top box means.
Another advantage of the invention is that it allows a user to selectively record information designated by a digital code, which will be associated with an advertisement. The advertisement may be a print advertisement or an advertisement broadcast on television or radio. Additional information may be broadcast by a television channel early in the morning, for example between midnight and 6:00 a.m., when the emission traffic is low and it is economical to broadcast detailed information or advertisements for many products, especially expensive, such as cars and real estate. According to this invention, it is only necessary for the user to input a compressed digital code associated with an advertisement into a unit provided with decoding means that automatically converts the code into channel, time and duration information. The unit activates a video cassette recorder to record channel information.
ES 2 139 001 T3 of television starting at the correct time and according to the correct duration. The information will be recorded within the next twenty-four hours, so there is no need to decode any date. The user can see this information below at their convenience.
In accordance with the present invention, a method is created for using compressed data to control a video cassette recorder, comprising the operations of: broadcasting a television advertisement having an associated compressed code comprising at least one digit and representing , in compressed form, the combination of individual channel, time, and duration data for a broadcast program; broadcast through the individual channel represented in the associated compressed code at substantially the same time on the day and with the duration represented in the associated compressed codes, a television program associated with the television advertisement, within twenty-four hours from the moment the that the television ad is broadcast; entering said compressed code associated with said advertisement; transforming said compressed code into a binary number; rearranging the bits of said binary number to obtain a rearranged compressed binary code; separating said rearranged compressed binary code into channel priority onices, time and duration; create priority vectors for channel, time and duration; use said channel priority, time and duration ondicts to obtain channel, time and duration orders of said channel, time and duration indicator priority vectors; compare the time orders with the output of a clock to check if there is a predetermined relationship; select the channel specified in the channel order after finding that the default relationship exists; enable the recording by the video cassette recorder of the video signals on the selected channel starting to record after the predetermined relationship is found to exist; and use the duration order to finalize the record.
In accordance with the present invention, a scheduling method of a system is further created to automatically control the recording by a video cassette recorder of a channel of video signals specified by a channel command starting at the time specified by a command. schedule on a desired date and for a duration specified by the order of duration, the method of which includes the operations of: receiving compressed coded indications, each of which represents the combination of one of each of said channel, time and duration orders; and decoding and expanding one of said compressed coded indications to obtain an individual channel command, time command and duration command to control the video cassette recorder; characterized by the operation of determining the desired date for said compressed coded indication based on the time the compressed coded indication is received and the recorded time order of that compressed coded indication.
In accordance with the present invention, a system is further created for automatically controlling the recording by a video recorder of a channel of video signals under control of a channel command that is started at the time specified by a time command in a desired date and with a duration specified by a duration order, whose system includes: an input for receiving representations of compressed coded indications, each of which is representative of the combination of one of each of said channel, time and duration commands; a decoder for decoding and expanding one of said compressed coded indications to obtain an individual channel command, a time command and a duration command for controlling the recorder and a clock providing an output as a function of the current time; characterized by means for determining the desired date for said compressed coded indication, based on the time when said compressed coded indication is received by the input, and based on the time order corresponding to said compressed coded indication.
Methods and apparatus for using compressed codes to control a video cassette recorder and carry out the invention will now be described with reference to the accompanying diagrammatic drawings, in which idiosyncratic reference symbols designate idiosyncratic parts throughout the figures:
Brief description of the drawings
Fig. 1 is a diagram showing an apparatus according to this invention with the code decoder means incorporated in the video cassette recorder;
Figure 2 is a diagram of the processors incorporated in the video cassette recorder for order control and code decoding;
Figure 3 is a diagram showing a preferred embodiment according to this invention, with the code decoder means incorporated in a remote control knob;
ES 2 139 001 T3
Figure 4 is a diagram of the processor incorporated in the remote control;
Figure 5 is a diagram of a universal remote control with the code decoder means incorporated therein;
Figure 6 is a flow chart of the G-code decoding technique;
Figure 7 is a flow chart of the G-code coding technique;
Figure 8 is an illustration of part of a television schedule in accordance with the present invention;
Figure 9 is a flow chart for decoding of cable broadcast channels;
Fig. 10 is a flow chart for cable broadcast channel coding;
Fig. 11 is a G-code decoding flow chart for cable channels, including decoding the cable local carrier channel number from the assigned cable channel number;
Figure 12 represents means for decoding, including a stack memory;
Figure 13 is a flow chart for program entry into stack memory;
Fig. 14 is an operational flow chart for transmitting programs from the remote control to the main video cassette recorder unit;
Figure 15 is a perspective view of an apparatus for using compressed codes for recorder preprogramming in accordance with a preferred embodiment of the invention;
Figure 16 is a front view of the apparatus of Figure 15, showing a forward-facing light emitting diode;
Figure 17 is a perspective view of the apparatus of Figure 15 placed on a support platform;
Figure 17A is a front elevational view of the apparatus of Figure 15, positioned on the support platform as shown in Figure 17;
Figure 18 is a detail of the liquid crystal display unit of the apparatus of Figure 15;
Fig. 19 is a perspective view showing one way of positioning the apparatus of Fig. 15 in relation to a cable box and a video cassette recorder;
Figure 20 is a perspective view showing one way of positioning the support platform with the apparatus of Figure 15 mounted thereon near a cable box and a video cassette recorder;
Figure 21 is a schematic showing an apparatus for using compressed codes for recorder preprogramming in accordance with a preferred embodiment of the invention;
Figure 22 is a detailed schematic showing a preferred embodiment of the apparatus implementing the schematic of Figure 21;
Figure 23 is a flow chart for program input in the apparatus of Figure 15;
Figure 24 is a flow chart for the review and cancellation of programs entered in the apparatus of Figure 15;
Figure 25 is a flow chart for the execution of recorder preprogramming using compressed codes in accordance with a preferred embodiment of the invention;
ES 2 139 001 T3
Figure 26 is a flow chart for encoding channel, date, time and duration information in compressed decimal codes;
Figure 27 is a flow chart for decoding decimal compressed codes to obtain channel, date, time and duration information;
Figure 28 is an embodiment of a table of assigned channel numbers / local channel numbers;
Figures 29A and 29B are examples of a print advertisement and an advertisement broadcast by television, showing the use of a decimal code for the information (code I);
Figure 30 is a flow chart for input of an I code into the apparatus of Figure 15;
Figure 31 is a flow chart for encoding channel, time and duration information in I code; Figure 32 is a flow chart for decoding channel, time and duration information in I code;
Figure 33 illustrates the relationship of temporary coverage and validity period codes.
Description of the preferred embodiments
Referring now to the drawings, and more particularly to FIG. 1, there is shown an apparatus for utilizing encoded video recorder / player timer pre-programming information 10 in accordance with this invention. The main components include a remote control knob 12 and a video cassette recorder / player 14 with G-code decoder, which can be controlled by the remote control knob 12 via a command signal 16. The remote control 12 may have a number of keys, including number keys 20, a G-code switch 22, functional keys 24, a program key 26, and a power key 27. Means are provided on the remote control knob 12 which interpret each key as it is pressed and send the correct command signal 16 to the video cassette recorder through an infrared light emitting diode 28. Except for the G-code switch 22 of the remote control 12 illustrated in FIG. 1, the remote control 12 is essentially functionally identical to any other remote control. The G-code switch 22 is precisely arranged to allow the user to lock the remote control 12 in its G-code mode while using a G-code, which is the name of the compressed code corresponding to the channel, date, time information. and duration, to carry out the timer pre-programming.
A G-code consists of a string of one to seven digits, although more could be used, and is associated with a particular program. A user would look up the G code in a program guide and enter the G code into the remote control 12, rather than using the current technique procedure which requires the user to enter the actual channel, date, time and command commands. duration.
In order to understand the advantages of using a G-code, it is useful to describe the best state-of-the-art inputs, which correspond to “on-screen programming” with direct numeric input. This technique involves approximately eighteen keystrokes and the user has to alternately look at the television screen and the remote control while entering the channel, date, time and duration information. This situation can be similar to that of a user who has to dial an eighteen-digit phone number while reading it from a phone book. The number of keys involved and the need to look alternately at two fixtures is misleading. A topical sequence of keystrokes for timer recording using on-screen programming of channel, date, time, and duration could be as follows:
PROG 2 1 15 07 30 2 08 00 2 04 PROG
The first program key 26 (PROG) enters the programming mode. Next, a sequence of number keys 20 are pressed. The 2 means that it is a timer register rather than a time setting. The 1 means that the user is now entering the settings for program 1. Digits 15 correspond to the date. Digits 07 indicate the start time. Digits 30 correspond to the minute of recording start. The 2 means pm. The next sequence 08 00 2 is the stop time. Digits 04 indicate the channel number. Finally, press PROG again to exit
ES 2 139 001 T3 of the program mode.
In contrast, the command could have been "coded" and entered in a typical G-code sequence as follows: PROG 1138 PROG. To distinguish that the command is G-code coded, the G-code switch 22 should be set to the "ON" position. Instead of a switch being provided, a separate "G" key may be used. The sequence of programming keystrokes for the G code will then be: G 1138 PROG.
The use of a G code does not prevent “on-screen” confirmation that the program information has been entered. When the “PROG 38 PROG” key sequence is pressed with the G code switch 22 in the “ON” position, the G code will be decoded and the television set will be able to display the following message:
PROGRAM DATE START TIME STOP TIME CHANNEL 1138 15 7:30 PM 8:00 PM 4
In order for the G-code to be usable, it must be decoded and an apparatus must be available for this purpose. Referring to Figure 1, a video cassette recorder / player 14 with G-code decoder is provided to be used in combination with the remote control knob 12. The command signal 16 sent by the remote control knob 12 is detected by the photodiode 32 and converted into electrical signals by the command signal receiver 30. The electrical signals are sent to a command controller 36, which interprets the commands and determines how to respond to them. As shown in FIG. 1, it is also possible for the command controller 36 to receive commands from the hand controls 34 that are normally incorporated in a video cassette recorder. If the command controller 36 determines that a G code has been received, then the G code will be sent to the G code decoder 38 for decoding. The G code decoder 38 converts the G code into channel, date, time and duration information, which is used by the command controller 36 to activate the time / channel scheduling subsystem 40. A clock 42 is incorporated in the video cassette recorder. This clock is typically arranged on a video cassette recorder and is used for time and date tracking. Clock 42 is used primarily by time / channel scheduling subsystem 40 and G code decoder 38 functions. Time / channel scheduling function 40 is set with channel, date, time and duration information by the command controller 36. When the correct date and time are read from the clock 42, then the time / channel setting function 40 activates the record / play function 44 for record. At the same time, the tuner 46 is tuned to the correct channel on the television signal 18. Subsequently, the user can command the record / replay function 44 to operate in a replay mode to view the program through the television monitor 48.
An alternative way of controlling the recorder is to have the command controller 36 retain all channel, date, time and duration information, rather than sending it to the time / channel scheduling subsystem 40. Command controller 36 will then send commands to time / channel scheduling subsystem 40 to turn the recorder on and off, and tuner 46 to make it tune to the correct channel at the correct time according to the channel information, date, time and duration.
The signal from the clock 42 is also applied as input to the G-code decoder 38, which allows the decoding of the G-code to be also operated by the clock, which constitutes a security measure for the decoding technique and makes it more difficult to copy. . Of course, this requires that the coding technique must also be based on the clock.
Figure 2 shows a possible embodiment of the command controller 36 and the G-code decoder 38. The function of the command controller 36 can be performed with a microprocessor 50, a random access memory 52 and a read-only memory 54. , which is used for program storage. The input / output functional block 56 is designed to receive commands from the command signal receiver 30, from the manual controls 34 and from the clock 42, and to transmit signals to a display unit 35, to the clock 42 and to the programming subsystem 40. hour / channel. If microprocessor 50 interprets that a G code has been received, then the G code is sent to microcontroller 60 for decoding. The microcontroller 60 has a built-in random access memory 62 and a built-in read-only memory 64 for program and table storage. Clock 42 can be read by both microprocessor 50 and microcontroller 60.
An alternative to having the microcontroller 60 perform G-code decoding is to incorporate the G-code decoding directly into the program stored in read-only memory 54.
ES 2 139 001 T3
This would eliminate the need for the microcontroller 60. Of course, other circuitry can also be used to perform G-code decoding. The choice of implementation to use depends essentially on economic factors.
The blocks of Figures 1 and 2 are well known in the art and appear in the following patents: US Patent No. 4,481,412 to Fields; US Patent Number 4,519,003 in favor of Scholz; and US Patent Number 4,631,601 in favor of Brugliera. For example, clock 42 is analogous to item 7 in the Scholz patent and item 17 in the Brugliera patent. Other analogous elements are: command signal receptor 30, equivalent to element 14 of the Scholz patent and element 12 of the Brugliera patent; tuner 46, equivalent to item 6 of the Scholz patent and item 10 of the Brugliera patent; the time / channel scheduling subsystem 40, equivalent to item 18 of the Scholz patent and item 16 of the Brugliera patent; record / playback functional block 44, equivalent to items 1, 2, 4 of the Scholz patent; the order controller 36, equivalent to elements 11, 10 of the Scholz patent and element 12 of the Brugliera patent; microprocessor 50, equivalent to item 27 of the Fields patent; random access memory 62, equivalent to item 34 of the Fields patent; read-only memory 54, equivalent to item 33 of the Fields patent; manual controls 34, equivalent to elements 15, 16 of the Scholz patent, and remote control control 12, equivalent to element 26 of the Scholz patent and element 18 of the Brugliera patent.
Figure 3 illustrates an alternative preferred embodiment of this invention. In FIG. 3, a remote control knob 80 with built-in G-code decoder is provided. The remote control 80 with a built-in G-code decoder is very similar to the remote control 12, with the exception of the addition of the G-code decoder 82. Note that it is also possible to have a display device 84 on any remote control. remote control. The remote control 80 with built-in G-code decoder will be used in combination with a normal video cassette recorder / player 70, which does not require a built-in G-code decoder. The reference numbers corresponding to the sub-elements of the video cassette recorder / player 70 are identical to those described above for the video cassette recorder / player 14 with a G-code decoder and have the same function, with the exception of the absence of the G. This preferred embodiment has the advantage that it can be used in combination with video cassette recorders currently in use. These devices do not have G-code decoding capability. Replacing your remote controls with those with this built-in capability can greatly improve the ability to perform timer pre-programming at modest cost.
Figure 4 illustrates a possible embodiment of the G-code decoder 82 incorporated in the remote control 80 with incorporated G-code decoder. A microcontroller 60 can be used, as above, to decode the G code, as well as to interface with the display 84, a clock 85, the keyboard 88 and the light emitting diode 28. Alternatively, other circuit implementations may be used to perform G-code decoding. Clock 85 is arranged in remote control 80 with built-in G-code decoder, so that G-code decoder 82 can be made to have applied to G-code decoder. one of its inputs is clock signal 85. This allows the G-code decoding to be performed by the clock 85, which constitutes a security measure for the decoding technique and makes it difficult to copy.
The remote control with built-in G-code decoder described above will send channel, date, time and duration information to the VCR 70, which will use the channel, date, time and duration information to tune to the correct channel. and start and stop the registration function. It may be necessary for the remote control to be unique for each different VCR, because each make or model may have different infrared pulses for each type of information sent, such as that corresponding to the channel number keys. and to the start and stop recording keys. The particular infrared radiation pulses used for each type of key constitute the vocabulary of the particular remote control. Each model can also have a different protocol or a different order of keys to press to perform a function, such as the timer pre-programming. The protocol or order of keys to perform a function can be called the statement structure. If there is a unique remote control for each type of model, then the correct sentence structure and vocabulary can be incorporated directly into the remote control.
An alternative to having the remote control with built-in G-code decoder send channel, date , time and duration information to the video cassette recorder / player 70, is
ES 2 139 001 T3 make the remote control with built-in G-code decoder perform more operations to simplify the interface problem with existing video cassette recorders / players. In particular, if the remote control not only performs G-code decoding to channel, date, time and duration information, but also does time tracking through clock 85, then it is possible that the remote control Send precise channel, record start and stop commands to the VCR / cassette player. Channel, start and stop commands are usually basic one or two key commands, which means that there is no complicated protocol or sentence structure in this context. Thus, to establish communication with a diverse set of video cassette recorder / player models, it is only necessary to have a memory within the remote control, such as the read-only memory 64 of Figure 4, to store the protocol for all models, or at least for a large subset. The G code will be entered in the remote control, as before, and decoded into channel information, date, time and duration, which will be stored in the remote control. Using the clock 85, the time will be checked and when the correct time is reached, the remote control will automatically send commands to the video cassette recorder unit to tune it to the correct channel and to start and stop recording. It is estimated that only two (2) bytes per key need to be stored for vocabulary for approximately fifteen keys for each VCR / VCR model. Thus, to cover fifty models, only 30 * 50 = 1500 bytes of memory will be required in the remote control. It would be necessary to position the remote control unit correctly with respect to the video cassette recorder unit so that the infrared radiation signals transmitted by the remote control unit are received by the unit.
Another preferred embodiment corresponds to the creation of a universal remote control command 90 with a built-in G-code decoder. Universal remote controls provide the ability to mimic several different remote controls. This reduces the number of remote controls the user needs to have. This is done by having a learn function key 94 on the universal remote control, as shown in Figure 5. If the learning function key 94 is pressed in combination with another key, the unit will enter the learning mode. The incoming infrared (IR) radiation pulses from the remote control to be recognized are detected by the infrared photodiode 96, filtered and shaped into recognizable bit patterns, before being recorded by a microcontroller in a powered static random access memory. by batteries as a particular infrared pulse pattern for that particular key. This is done for all individual keys.
An example of a more complex learning is the following. If the learning function key 94 is pressed in combination with the program key 26 when the code switch G is in the “ON” position, the unit will recognize that the key sequence registration of a specific predetermined example of timer pre-programming of the particular video cassette recorder involved. The user will then enter the key sequence, from which the universal remote control 90 with built-in G-code decoder can deduce and record the protocol of the timer pre-programming sequence. This is necessary because different VCRs may have different timer preset command formats.
If keys are pressed without the learn function key 94 being involved, the microcontroller will recognize that it is now in run mode. If the key is one of the direct command keys, the microcontroller will read the sequence of pulses from its static random access memory and send command words, through the parallel input / output unit, to activate diode 28 pulsing. light emitter output. If the key is the PROG key and the code switch G is in the “OFF” position, then the microcontroller will recognize the next key sequence up to the next PROG key as channel order, date, time, and preset duration. timer and transmit it through light emitting diode 28. If the G code switch 22 is set to the "ON" position and the program key 26 is pressed, the microcontroller will recognize the following keys up to the next PROG key as the G code command for timer pre-programming. It will decode the G-code into channel, date, time and duration information, and the microcontroller will then search its static random access memory “dictionary” for the associated infrared pulse patterns and concatenate them before transmitting them through the drive. Parallel input / output for pulsing light emitting diode 28 to send the entire message in a continuous chain of pulses to the video cassette recorder.
Figure 4 illustrates a possible embodiment of the G-code decoder 92 that could be incorporated into the universal remote control 90 with a built-in G-code decoder. Can
In ES 2 139 001 T3 a microcontroller 60 is used as above to decode the G code, as well as to interface with the input / output functions that include the infrared photodiode 96. Alternatively, G-code decoding can be performed with other circuit implementations.
The universal remote control can also be used in another way to simplify the interface problem with existing video cassette recorders / players. In particular, if the universal remote control performs not only G-code decoding on channel, date, time and duration information, but also performs time tracking through clock 85 in Figure 4, then it is possible that the universal remote control sends precise channel, record start and stop commands to the VCR / cassette player which, as explained above, they are usually single-key basic commands, which means that there is no complicated protocol or complex statement structure involved. Thus, to communicate with a diverse set of VCR / VCR models, it is only necessary for the universal remote control to “learn” each key on the remote control it is replacing. The G code will be entered into the universal remote control as before and will be decoded into channel, date, time and duration information, which will be stored in the universal remote control. Through clock 85, the time will be controlled and when the correct time arrives, the universal remote control will automatically send commands to the video cassette recorder unit to tune it to the correct channel and to start and stop recording. It will be necessary to position the universal remote control correctly with respect to the video cassette recorder unit so that the signals transmitted by the universal remote control are received by the video cassette recorder unit.
There are several ways to perform G-code decoding. The most obvious way is to have a large search table. The code G will be the index. Unfortunately this will be very inefficient and will lead to a very expensive decoder due to the memory involved. The total storage capacity is a function of the number of total combinations. If 128 channels are supported, 31 days of the month, 48 start times corresponding to an hour and a half hour in a 24 hour day, and 16 duration selections in half hour increments, then the total number of combinations is 128 x 31 x 48 x 16 = 3,047,424. This number of combinations can be represented by a seven-digit number. The address of the table will be the number of seven digits. In the worst case, this requires a lookup table that has approximately 4,000,000 rows by a number of columns from 15 to 16, depending on the particular protocol. These digital columns will correspond to the channel information, date, time and duration required for "on-screen programming". Each digit may be represented by a four-bit binary number. Thus, the total number of storage bits required for the lookup table will be approximately 4,000,000 x 16 x 4 = 256,000,000. The current state of the art allows for approximately one million bits per chip. Thus, G-code decoding using a direct lookup table will require an economically prohibitive number of chips.
Fortunately, there are much smarter ways to perform G-code decoding. Figure 6 is a flow chart of a preferred G-code decoding technique. To understand G-code decoding, it is easier to first explain the G-code coding technique, the flow chart of which is illustrated in Figure 7. The reverse G-code decoding technique will be explained below. .
The coding of the G codes can be carried out in any computer and is carried out before the preparation of any program guide that includes G codes. For each program that is printed in the guide, a 144 channel code is entered in operation 142, date, time and duration. Operation 146 independently reads the priority of the channel, date, time, and duration information in the priority vector storage block 122, the information of which may be stored in read-only memory 64. The priority vector storage block 122 contains four tables: a priority vector C table 124, a priority D vector table 126, a priority T vector table 128, and a priority L vector table 130.
The channel priority table is ordered so that the most frequently used channels have a low priority number. An example of the data present in table 124 of priority C vectors is as follows.
channel 4 priority 0
72356
12345
1113...
7...
In general, dates in a month all have the same priority, so number days
ES 2 139 001 T3 lower in one month and the lower nuomer priorities were matched in the priority vector D table as in the example below.
date 12345678910 ...
priority0123456789 ...
The priority of the start times would be arranged so that the first hour would have a low priority number and late night programs would have a high priority number. For example, the table of priority vectors T would have the content:
time 6:30 pm 7:00 pm 8:00 pm 7:30 pm ...
priority0123 ...
An example of the data contained in table 130 of priority vectors L is as follows:
program duration (hours) 0.5 1.0 2.0 1.5 3.0 ...
priority 01234 ...
If the 144 data for channel, date, time and duration is assumed to be 5 10 19.00 1.5, which means channel 5, day 10 of the month, 7:00 PM, and a duration of 1.5 hours, then for the example above, the data 148 Cp, Dp, Tp, Lp, which are the result of looking for the priorities for channel, date, time and duration in tables 124. 126, 128 and 130 of priority of figure 7, will be 4 9 1 3 Operation 150 converts the data Cp, Dp, Tp, Lp into binary numbers. The number of binary bits of each conversion is determined by the number of combinations involved. Seven bits for Cp, which can be denoted as C7, C6, C5, C4, C3, C2, C1, provided 128 channels. Five bits for Dp, which can be denoted as D5, D4, D3, D2, D1, provided 31 days of the month. Six bits for Tp, which may be indicated as T6, T5, T4, T3, T2, T1, encode 48 start hours every half hour of a twenty-four hour day. Four bits of duration, which can be indicated as L4, L3, L2, L1, will encode a program duration of up to eight hours in half hour increments. The total number of bits is 7 + 5 + 6 + 4 = 22 bits of information, which correspond to 2<sup>22</sup> = 4,194,304 combinations.
The next operation is to use the bit hierarchy key 120, which may be stored in read-only memory 64, to reorder the 22 bits. The bit hierarchy key 120 may correspond to any order of the 22 bits. For example, the bit hierarchy key 120 could be:
L8 C3 ... T2 C2 T1 C1 L1 D5 D4 D3 D2 D1 2221 ... 10987654321
Ideally, the bit hierarchy key 120 is arranged so that programs that are most likely subject to timer presets would have a low value binary number, which would eliminate keystrokes for timer presets from popular most popular programs. Since all date information has the same priority, then bits D5, D4, D3, D2, D1 are first. Next, the T1 C1 L1 bits are used, since whatever the date, it is necessary to have a combination of time, channel and duration, and the combination T1 C1 L1 is the most probable in each case due to the ordering of the vectors. priority in priority vector storage block 122. The next bit of the hierarchy key was determined by the differential probabilities of the various combinations. The probabilities of all channels, times and durations, must be known to perform this calculation.
For example, the probability for channels can be:
channel priority probability (%)
47235
01234
4,3 4 3 2,9
61113...
567...
2,1 2 1,8...
The probabilities for hours of recording initiation could be:
time 6:30 pm priority 0 probability (%) 8
<td>7:00 pm</td><td>8:00 pm</td><td>7:30 pm</td>
<td> 1</td><td> 2</td><td> 3</td>
<td> 7,8</td><td> 6</td><td> 5</td>
ES 2 139 001 T3
And the probabilities for durations could be:
program duration (hours) priority probability (%)
0,5 1,0 2,0 1,5 3,0
01234
20 15 5 4
The probabilities associated with each channel, time and duration, as illustrated above, are used to determine the correct ordering. Since the priority vector tables are already sorted by the most popular channel, time and duration, the order in which has to be selected among the various binary bits for a table, for example in the selection between bits C7, C6, C5, C4, C3, C2, C1, is already known. Bit C1 was selected first because, as the lowest order binary bit, it selected from the first two entries in the channel priority table. Next, bit C2 was selected, and so on. Similarly, bits T1 and L1 were used before any of the other time and duration bits. A combination of bits C1, T1, L1 and D5, D4, D3, D2, D1 should be used first, so that all the information for a channel, date, time and duration is available. The D5, D4, D3, D2, D1 bits are all used because the date bits all have the same priority and are all required to specify a date, even if some of the bits are zeros.
At this point, the hierarchy key could be:
<sup>T</sup>1 <sup>C</sup>1 <sup>L</sup>1 <sup>D</sup>5 <sup>D</sup>4 <sup>D</sup>3 <sup>D</sup>2 <sup>D</sup>1
The first binary bit C1 of channel by itself can only select between 2<sup>1</sup> = 2channels, and the first two channels have a probability percentage of 5 and 4.3, respectively. Thus, the differential probability of C1 is 9.3. Similarly, the differential probability of T1 is 8 + 7.8 = 15.8, and the differential probability of L1 is 50 + 20 = 70. If the rules for ordering the bit-hierarchy key are strictly followed, then the The first eight bits of the hierarchy key should be ordered as follows:
<sup>C</sup>1 <sup>T</sup>1 <sup>L</sup>1 <sup>D</sup>5 <sup>D</sup>4 <sup>D</sup>3 <sup>D</sup>2 <sup>D</sup>1 because L1 has the highest differential probability, so it should be the next most significant bit after D5, followed by T1 as the next most significant bit, followed by C1 as the next most significant bit. Note that the bit hierarchy key begins with the least significant bit (D1), and is then filled with the highest differential probability bits. This is done in order to build the most compact codes for popular programs.
The question at this point in the encryption process is which should be the most significant bit in the hierarchy key: whether T2, C2 or L2. This is again determined based on the differential probabilities, which can be calculated from the tables above for each bit. Since they are binary bits, the C2 bit, in combination with the C1 bit, selects between 2<sup>2</sup> = 4 channels, or two more channels compared to using C1 only. The differential probability for C2 then corresponds to the additional probabilities of these two additional channels and, for the example, this is: 4 + 3 = 7. In a similar way, the C3 bit, in combination with the C1 and C2 bits, allows to select between 2<sup>3</sup> = 8 channels or 2<sup>(3-1)</sup> = 4 channels more than for the combination of C1 and C2. Thus, the differential probability of C3 corresponds to the additional probabilities of these four additional channels and, for the example, this is: 2.9 + 2.1 +2 + 1.8 = 8.8. Similarly, the differential probabilities of T2 and L2 can be calculated and are 6 + 5 = 11 and 15 + 5 = 20, respectively. Once all the differential probabilities have been computed, the next step is to determine which bit combinations are most likely.
It is now proposed for the previous example which combination is more probable: T2 with C1 L1, C2 with T1 L1, or L2 with T1 C1. This operation will determine the next bit of the key. In this way, it is proposed which would be the highest value: 11 x 9.3 x 70 = 7161; 7 x 15.8 x 70 = 7742; or 20 x 15.8 x 9.3 = 2938.8. In this case, the highest probability combination is 7 x 15.8 x 70 = 7742, which corresponds to the combination of C2 with T1 L1. Thus, C2 is selected as the next bit of the bit hierarchy key.
The next bit is selected in the same way. It is suggested which combination is more likely: C3 with T1, L1, T2 with C1 or C2 and L1, or L2 with C1 or C2 and T1. For the example given, it is stated that the combination has the highest probability: 8.8 x 15.8 x 70 = 9732.8; 11 x (9.3 + 7) x 70 = 12551; or 20 x (9.3 + 7) x 15.8 = 5150.8. In this case, the highest probability combination is 11 x (9.3 + 7) x 70 = 12551,
ES 2 139 001 T3 which corresponds to T2 with C1 oC2 and L1. Thus, T2 is selected as the next bit in the hierarchy key. This procedure is repeated for all differential probabilities until the complete key is composed.
Alternatively, the hierarchy key can be some arbitrary sequence of bits. It is also possible to make the priority vectors interdependent, for example by making the duration priority vector dependent on different groups of channels. Another technique is to make clock 42 work the bit hierarchy key 120 and priority vector tables 122, as shown in FIG. 7. This makes it very difficult to duplicate or copy the key and therefore the encryption technique.
For example, it is possible to alter the sequence of the date bits in the bit hierarchy key 120 as a function of the clock. Changing the order of the bits as a function of the clock will not alter the effectiveness of the bit hierarchy key in reducing the number of binary bits for most popular programs, because the date bits are all of the same priority. This could be as simple as toggling bits D1 and D5 periodically, for example every day or week. Thus, the bit hierarchy key 120 would toggle between ... C1 T1 L1 D5 D4 D3 D2 D1 and ... C1 T1 L1 D1 D4 D3 D2 D5.
Clearly, other permutations of the bit-hierarchy key are possible as a function of the clock.
The priority vector tables could also be altered depending on the clock. For example, the first two channels of the priority channel table could be periodically shifted. If this technique is followed, then the Cp bit of 148 in Figure 7 will change as a function of clock 42. For example, the table
<td>channel</td><td> 4</td><td> 7</td><td> 2</td><td> 3</td><td> 5</td><td> 6</td><td> 11</td><td> 13...</td>
<td>priority</td><td> 0</td><td> 1</td><td> 2</td><td> 3</td><td> 4</td><td> 5</td><td> 6</td><td> 7...</td>
<td>will change periodically to:</td><td></td><td></td><td></td><td></td><td></td><td></td><td></td><td></td>
<td>channel</td><td> 7</td><td> 4</td><td> 2</td><td> 3</td><td> 5</td><td> 6</td><td> 11</td><td> 13...</td>
<td>priority</td><td> 0</td><td> 1</td><td> 2</td><td> 3</td><td> 4</td><td> 5</td><td> 6</td><td> 7...</td>
<td>This would be a safety technique</td><td>very</td><td colspan="2">subtle,</td><td colspan="2">because</td><td>a</td><td colspan="2">decoder operating correctly</td>
otherwise it would fail if these first two channels were being used. Other clock dependencies are also possible to provide security to the coding technique.
However it may be inferred, the bit hierarchy key 120 is determined and stored. In step 154, the binary bits of the information Cp, Dp, Tp, Lp are rearranged according to the bit hierarchy key 120 to create a 22-bit binary number. The resulting 22-bit binary number is then converted to decimal code in step 156 converting binary number to decimal G code. The result is code G 158.
If the priority vector and the bit hierarchy key are well suited to the viewing habits of the general population, then it is expected that the most popular programs require no more than three or four digits for the G-code.
Now that the coding technique has been explained, the decoding technique is just the reverse of the coding technique. This is done in accordance with the flow chart of Figure 6. This is the preferred G-code decoding that can be incorporated into the G-code decoder 38 of the video cassette recorder / player 14 or the video cassette recorder / player 14 decoders 82 and 92. code G incorporated in the remote control in figures 3 and 5.
The first operation 102 is to enter the G code 104. Next, the G code 104 is converted to a 22-bit binary number in operation 106. The bits are then rearranged in operation 108 according to the hierarchy of code 120. bits to get the reordered bits 110. The bits are grouped below and converted to decimal format in operation 112. At this point, the data 114 for Cp, Dp, Tp, Lp are obtained, which are the symbols of the priority vector tables. For the previous example, in this operation we have the vector 4 9 1 3. These data 114 of Cp, Dp, Tp, Lp are then used in operation 116 to search for the channel information, date, time and duration in the priority vector storage block 122. The 118 channel information, date, time and duration, for the previous example, is 5 10 19.00 1.5, which means channel 5, day 10 of the month, 7:00 PM, and a duration of 1.5 hours.
ES 2 139 001 T3
If the encoding technique is clock function, then the decoding technique also needs to be clocked. It is possible to run the clock 42, the bit hierarchy key 120 and the priority vector storage tables 122, as shown in Figure 6. This again makes it very difficult to duplicate or copy the key and therefore the technique encoding. It is also possible to make the encoding and decoding techniques dependent on any other predetermined or preprogrammable algorithm.
Although the G-code encoding and decoding technique discussed above corresponds to a preferred embodiment, it should be understood that there are many ways to accomplish what the invention is intended, which is to reduce the number of keystrokes to perform code encoding and decoding. G. There are also many ways to make the encoding and decoding technique more secure by making encoding and decoding clockwise. This security can be obtained as a result of any predetermined or pre-programmed algorithm.
It is possible in encoding and decoding techniques to use mixed-base numbering systems, instead of binary numbers. For example, suppose there are only 35 channels, which will require six binary bits to render; however, six binary bits can represent 64 channels, because 2<sup>6</sup> = 64. The result is that in a binary numbering system there are twenty-nine unnecessary positions. This can have the effect of possibly making a particular G-code longer than is actually necessary. A mixed-base numbering system can avoid this result. For example, for the case of thirty-five channels, a mixed-base numbering system with factors of 7<sup>1</sup> and 5th can represent thirty-five combinations if no empty space in the code. The allowed numbers for factor 7<sup>1</sup> they are 0,1,2,3 and 4. The numbers allowed for factor 5<sup>°</sup> They are 1, 2, 3, 4, 5, and 6. For example, the digital value 0 is represented in the mixed-base numbering system as 00. the digital number 34 is represented in the mixed-base numbering system as 46, because 4 * 7<sup>1</sup> + 6 * 5 ° = 34. The main advantage of the mixed-base numbering system lies in the prioritization of the hierarchy key. If the first five channels have roughly the same priority and the next thirty channels meet roughly the same condition, then the mixed-base numbering system allows accurate representation of two rows. This is not to say that a mixed-base numbering system is necessarily preferable. Binary numbers are easier to represent on a computer and the use of a numbering system with a fixed base, such as the binary system, allows a hierarchy pyramid to be easily represented in the hierarchy key.
Another specific feature that is desirable in all embodiments is the ability to press the code key G once for a program and then display the resulting channel, date, time and duration information on a daily or weekly basis. Ordinarily, the channel, date, time and duration information is discarded once it is used. In the case of daily or weekly recording of the same program, the channel, date, time and duration information is stored and used until canceled. The desire to repeat the program daily or weekly can be accomplished by having a “WEEKLY” (weekly) or “DAiLY” (daily) button on the remote control or built into the manual controls of the video cassette recorder. Another way is to use a key, such as the PROG key, and press it several times within a certain period of time, for example twice to specify “daily” or three times to specify “weekly”. For example, if the G code switch is “ON” and the G code for the desired program is 99, then the program's daily log can be selected by the following keystrokes:
“PROG 99 DAILY PROG” or by the sequence:
"PROG 99 PROG PROG"
The G 99 code will be converted into channel information, date, time and duration, which will be stored and used daily in this case. Registration would start on the specified date and would continue daily thereafter using the same channel, time and duration information. A small modification is that the daily registration could be automatically suspended during the weekends, because most of the daily programs are different on Saturdays and Sundays.
Once a daily or weekly schedule is set, then it can be used indefinitely. If you want to cancel a program and there is a “CANCEL” button on the remote control or manual controls of the VCR, then a way to cancel a program (be it a normal channel entry, date , time and duration, of daily record or weekly record), is to type the following:
ES 2 139 001 T3 “PROG xx CANCEL”, where xx is the G code.
Again, as in the previous case, there are alternative ways of doing this.
If the “on-screen programming” feature is available, then the programs that have been selected for timer pre-programming may be repeatedly viewed on the screen. The daily and weekly programs will have an indication of their type. The G codes can also be displayed along with the corresponding channel, date, time and duration information. This would make it very easy to review the current "menu" and either add more programs or cancel programs if desired.
A television schedule 200 in accordance with this invention is illustrated in FIG. 8. As shown, the television calendar has multiple day-of-year sections 202, multiple day-time sections 204, multiple time-of-day sections 206, channel identifiers 208, and program descriptive identifiers 210, which include the name of the program, arranged in a way that is usual in television guide publications. Provided in relation to each channel identifier is a compressed code or G-code indication 212 containing the channel, date, time and duration information for that entry in the television schedule. Figure 8 shows how easy it is to perform the timer pre-programming. All you need to do is find the program you want to watch and enter the compressed code that appears in the compressed code prompt. This is in contrast to having to make all channel, date, time, and duration entries independently. At least the channel, date and time appear explicitly in the television guide. Duration is usually available only if you search the guide to find section 204 of the time of day where a new program starts, and then perform some arithmetic to find the duration of the program. The use of the compressed G code avoids all these complications.
For cable television programs, there is an additional point that needs to be addressed in order for the compressed G-code to be useful. In a normal television guide, channel, date, time and duration information is available for all normal broadcast channels in the form of numbers that include channel numbers, such as channel 4 or channel 7. However, for cable broadcast channels, such as HBO, ESPN, etc., only the channel names are displayed in most TV listings. The reason for this is that in some metropolitan areas, such as Los Angeles, there may be only one edition of the television guide, but there may be only a few cable signal carriers, each of which can assign the HBO channel or the TV channel. ESPN channel to different cable channel numbers. In order for a compressed code, such as code G, to be applicable to cable channels published by a wide coverage television guide, the following solution can be used.
First, all cable channels will be permanently assigned a unique number, which will be seen throughout the nation. For example, the ESPN broadcast could be assigned to cable channel 1, the HBO broadcast to cable channel 2, the SHO broadcast to cable channel 3, and so on. This assignment will be published by television guides.
The video cassette recorder, such as the remote control, the video cassette recorder unit, or both, may then be provided with two additional modes: "set" and "cable channel". of cable). One way to provide the user interface for these modes would be to have two additional pushbuttons: one called SET and the other called CABLE CHANNEL. The pushbuttons could be located on the video cassette recorder unit itself, or be arranged on a remote control knob, as shown in Figures 1, 3 and 5, where SET is item 168 and CABLE CHANNEL is item 170. Of course, other user interface systems are possible.
Next, the viewer will have to go through a one-time “tuning” procedure of their VCR for all the cable channels they are likely to watch. This "setting" procedure will refer each of the assigned numbers for each cable channel to the channel number of the local cable transmission carrier. For example, suppose the local cable carrier uses channel 6 for ESPN; then channel number 1 could be assigned to ESPN, as shown in the following table:
ES 2 139 001 T3
<td>Cable Channel Name</td><td>Cable Channel Assignment</td><td>Channel No. in Local Cable Carrier</td>
<td>ESPN</td><td> 1</td><td> 6</td>
<td>HBO</td><td> 2</td><td> 24</td>
<td>SHO</td><td> 3</td><td> 23</td>
<td>DIS</td><td> 8</td><td> 25</td>
The user will be able to carry out the “setting” procedure by pressing the buttons on their remote control as follows:
SET 06 CABLE CHANNEL 1 PROGRAM SET 24 CABLE CHANNEL 2 PROGRAM SET 23 CABLE CHANNEL 3 PROGRAM SET 25 CABLE CHANNEL 8 PROGRAM
The "setup" procedure will create a cable channel address table 162, which will be loaded into random access memory 52 of command controller 36. For the example above, the cable channel address table 162 will have the following information.
TABLE 162 of Cable Channel Addresses 16 224 323
825
After performing the “setup” procedure, the viewer can now select cable channels by the old procedure: for example, pressing buttons 24 on the keypad will select the HBO broadcast. You can also do it by the new procedure: for example, by pressing CABLE CHANNEL 2, which will also select the HBO broadcast. The advantage of this new procedure is that the television guide will publish the indication [C2] after the program description, so that the viewer will search precisely for the assigned channel number identifier, instead of having to remember that HBO It is local cable channel 24. When the CABLE CHANNEL button is pressed, the command controller 36 knows that it will look up the local cable channel number in the cable channel address table 162 to tune the video cassette recorder to the correct channel.
For timer pre-programming and to use compressed G-code, one way to differentiate between broadcast channels and cable channels is to add an eighth channel bit, which will be set to 0 for normal broadcast channels and 1 for cable broadcast channels. , such as the HBO channel. The eighth channel bit may be one of the lower order bits, such as the third C bit, out of the eight channel bits, so that the number of bits for specifying popular channels is reduced to a minimum, either for normal broadcast channels or for cable broadcast channels. For a normal broadcast channel, the other seven bits can be decoded in accordance with priority vector C table 124. For a cable broadcast channel, the other seven bits can be decoded according to an independent table 160 of cable broadcast channel priority vectors, which may be stored in the read-only memory 54 of the microcontroller 36. Table 160 Cable broadcast channel priority vectors can be set in advance for the entire country, or at least for an area covered by a particular wide coverage television guide.
A television guide that carries compressed code, such as the G code, will now print cable channel information as follows:
ES 2 139 001 T3
6:30 pm
[C2] HBO xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (4679) xxxxxx (program description) xxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
The indication [C2] in front of HBO reminds the viewer that they only need to press CABLE CHANNEL 2 to select HBO. Indication (4679) is the G-code indication for this particular program.
Figure 8 shows a section of a television guide. Cable broadcast channels all have a cable channel number 188 assigned after the cable channel mnemonic code. Other information different from the channel information is arranged in the same way as that corresponding to the broadcasting channels with a compressed 212G code associated with the channel.
For timer pre-programming, the viewer only needs to enter the number 4679 according to the unit's G-code entry procedure, namely PROG 4679 PROG. The G-code decoder unit will decode this G-code as "cable channel 2" and will also send the command controller 36 a cable transmission channel signal 164, as shown in Figures 1 and 2, because the additional channel bit It will be at “1”, a state that distinguishes that the G code corresponds to a cable transmission channel; Next, since the association of "cable channel 2" with channel 24 has been established earlier in the "setting" procedure, the command controller 36, if it has received a signal from a cable transmission channel, will immediately search for the number 2 in cable channel address table 162 for translation into cable transmission channel 24, which will be used as registration channel at the appropriate time. By associating the G code with the assigned cable transmission channel number, instead of with the local cable transmission channel, the G code for that program will be valid throughout the local area, which may have many cable carriers. different, each of which may have different cable broadcast local channel numbers.
To include the cable transmission channel compressed G-code feature, the decoding and encoding algorithms are shown in Figures 9 and 10, respectively. Encoding was explained first before decoding. The main change in Figure 10 over Figure 7 is that a cable transmission channel priority vector table 160 has been added and is used in priority search operation 180 if a cable channel is being encoded. cable transmission. Also, if a cable channel is being scrambled, then the cable channel bit is added at the correct bit position in C conversion operation 182.<sub>p</sub>, D<sub>p</sub>, T<sub>p</sub>, L<sub>p</sub> in binary numbers. This could be bit C<sub>3</sub>, as mentioned above. The bit hierarchy key could be determined as above to compress the number of bits in most popular programs; however, a length of 23 bits is required to accommodate the cable channel bit. The maximum compressed G-code length could still be seven digits, because 2<sup>23</sup> = 8.388.608.
The decoding technique is illustrated in Figure 9 and is just the reverse of the encoding process. After step 108, a wireline channel check bit 174 is added and the wireline channel bit is effectively checked to determine if it is a "1". If so, then the command controller 36 is informed via the cable transmission channel signal 164 of Figures 1 and 2 that the channel information 118, date, time and duration that will be sent to it from the G-code decoder 38 corresponds to a cable transmission channel. Then, the command controller 36 knows to look up the cable local carrier channel number based on the assigned cable channel number. In operation 176 of FIG. 9, priority vector tables, including cable transmission channel priority vector table 160, are used to look up the channel information 118, date, time, and duration.
An alternative to the command controller 36 receiving a wireline channel signal 164 is for the G-code decoder to perform all decoding, including converting the wireline channel number assigned to the local carrier number of transmitted by cable. This would be the case for the implementation of the remote control of figure 3. Figure 11 shows the implementation of the complete decoding algorithm if this operation is included. The only operation that needs to be added is operation 166 convert from assigned channel to cable transmission local carrier channel, which performs a lookup in cable channel address table 162 if the cable transmission channel bit indicates that a cable transmission channel is involved. Operation 166 effectively replaces operation 174 of Figure 9.
ES 2 139 001 T3
Another point that needs to be addressed is the number of programs that can be pre-programmed. Since the G-code greatly simplifies the process of entering programs, the user may learn quickly and want to enter a large number of programs; however, some existing VCRs can only store up to four programs, while some can store up to eight. Thus, the user can easily become frustrated by the programming limitations of the VCR.
One solution to this problem is to perform compressed G-code decoding on the remote control and have enough memory in it to store a large number of programs, for example 20 or 40. The remote control would have the ability to periodically transfer several of these stored programs to the main video cassette recorder unit. To provide this capability, additional memory, called stack memory 76, is required within the remote control unit, as shown in FIG. 12, which is otherwise identical to FIG. 4. Stack memory 76 can be implemented with a random access memory, which may in fact reside in the microcontroller itself, as is the case with random access memory 62.
Stack memory 76 is the unit in which new entry, insertion, and deletion of timer pre-programming information is made. It is also the unit in which the editing takes place. The top memory positions of the stack, for example the first four positions, correspond exactly to the timer pre-programming memory available in the VCR main unit. Whenever the upper portion of the stack memory 76 is modified, the new information will be sent to the main video cassette recorder unit for your information.
Figure 13 shows the sequence of events that occurs when the user enters a G-code program on the remote control keypad. For the purpose of illustration, suppose that the main video cassette recorder unit can handle only four programs. Also assume that the capacity of stack memory 76 is twenty timer presets. Referring to the flow chart of FIG. 13, when the user enters a G code at operation 230, the microcontroller 60 first decodes this code into channel, date, time and duration information at operation 234 and displays this information on the screen. display unit with the additional word “entered” also displayed. Microcontroller 60 then enters the decoded program into stack memory 76 at step 236.
If this is the first program entered, it is placed at the highest position in stack memory 76. If there are already programs in stack memory 76, the newly entered program will first be provisionally placed in the lowest position of stack memory 76. The stack memory 76 would then be sorted in the correct chronological order in operation 240, so that the oldest program would appear in the upper position and the last program would appear in the lower position. Note that the nature of the chronologically ordered stack memory 76 is such that if the position n of the stack memory 76 is altered, then all positions below it will be altered.
For example, suppose that stack memory 76 has six entries already arranged chronologically, and a new entry is entered whose chronological ordering placed it at position 3 (with 1 being the highest position). If this entry was placed in position 3, the information that was in positions 3, 4, 5 and 6 will be moved to positions 4, 5, 6 and 7. Positions 1 and 2 will remain unchanged.
The microcontroller 60, after performing the chronological ordering, checks in operation 242 if the first n inputs have changed from the previous situation when, for the example that was being discussed, n is equal to 4. In this case, since You have entered a new program in position 3, the one that was in position 3 now moves to position 4. Since the program menu of the four-input VCR main unit should correspond exactly to positions 1 to 4 of stack memory 76, inputs 3 and 4 on the VCR main unit must now be reviewed. The microcontroller 60 therefore sends the new inputs 3 and 4 to the main unit in step 244 of FIG. 13. If the newly entered program, after being sorted chronologically, enters position 5, then inputs 1 to 4 have not changed from the previous case and the microcontroller 60 did not send any messages to the main video cassette recorder unit, and the microcontroller 60 resumed monitoring the status of clock 85 and keyboard 88 as in operation 246. It is assumed that when the user enters the G-code in step 230, the remote control knob is facing the video cassette recorder main unit. The other operations in Figure 13 are performed so quickly that the changes are
ES 2 139 001 T3 transmitted in operation 244 while the remote control knob is still facing towards the VCR main unit.
If the user decides to override a program at step 232, the override is performed first in stack memory 76. If the first four inputs are affected, the microcontroller 60 will send the revised information to the main video cassette recorder unit. If the first four inputs have not been affected, then again the remote control unit will not send any signals. Bypassing will modify only the lower part of the stack memory (positions 5 to 20 of lesser significance). This new information will be sent through the main video cassette recorder unit at the appropriate time.
Meanwhile, the VCR main unit will be performing its timer preset function, completing its timer preset inputs one by one. When all four record entries have been completed, the stack memory located in the remote control should transmit some new inputs to “fill in” the VCR main unit (if the stack memory has more than four inputs). ).
The real time clock 85 in the remote control command unit is monitored by the microcontroller 60 to determine when the main unit programs have been used. Referring to the flow chart of Figure 14, the microcontroller 60 periodically checks the clock and times of the programs at the top of the stack in step 250 (i.e., the first four inputs), which are identical to the from the menu of the video cassette recorder main unit. If in one of the periodic checks it is determined that the main unit menu record is complete, then if there are more entries in the stack memory, which is checked in operation 252, the display unit will be activated in a mode. flashing, or will display a flashing message at step 258 to alert the user to send more programs. The next time the user picks up the remote control unit, the flashing message reminds them that the program menu of the VCR main unit has been completed and it is time to refill the VCR main unit. video with program inputs stored in the remote control unit. The user simply picks up the remote control knob, points it towards the VCR main unit and presses the “ENTER” key. This action will "jump" the top position of the stack memory 76 in step 260, that is, it will jump all the stack entries up four positions. The microcontroller 60 then sent the new "highest stack memory positions" information (ie, the top four inputs) through the main video cassette recorder unit in step 262. This process was repeated until all stack memory has been emptied.
Another preferred embodiment of an apparatus for utilizing compressed codes for register pre-programming is the fast programmer 300 of Figure 15. The fast programmer 300 has numeric keys 302, which are numbered 0 through 9, a 304 CANCEL key, a 306 REVIEW key, 308 WEEKLY key, 310 ONCE key (one time), and 312 DAILY key (MF), which are used to program speed controller 300. A cover normally covers other keys that are used to set up the fast programmer 300. When the cover 314 is lifted, the following keys are exposed: key 316 SAVE, key 318 ENTER, key 320 CLOCK (clock ), 322 CH key, 324 ADD TIME key, 326 VCR key, 328 CABLE key, and 330 TEST key. Other specific characteristics of the fast programmer 300 shown in FIG. 15 are the following: a liquid crystal display unit 350, and a red warning light emitting diode 332. The front elevation view of Figure 16 of fast programmer 300 shows front infrared (IR) diode 340 mounted on front face 338. By placing the fast programmer 300 in front of the equipment to be programmed, such as the video cassette recorder 370, the cable box 372, and the television set 374, as shown in FIG. 19, the front infrared diode 340 can transmit signals to control program registration. An infrared transparent cap 336 covers several additional infrared transmitting diodes, which are explained later.
Figure 18 shows a detail of the liquid crystal display unit 350. Certain text 354 is visible at various times on the display unit, and there is an input area 356. Time indicator bars 352 are displayed at the bottom of the display unit, and their function is described later. An element that accompanies the quick programmer 300 is the support platform 360, shown in FIG. 17, which is designed to retain the quick programmer 300 between a raised left side 362 and a raised right side 364. The quick controller 300 is inserted between the raised left side 362 and the raised right side 364 until it comes to a stop on the
ES 2 139 001 T3 front alignment tab 365, which is in the front portion of the support platform 360 joining the raised left side 362 and the raised right side 364, as shown in Figure 17A. The elements 362, 364 and 365 together facilitate the alignment of the fast programmer 300 so that the cover 336 transparent to infrared radiation and the diodes 342, 344, 346 and 348 of infrared, represented in figure 17, are correctly aligned for the transmitted, when the fast controller 300 is used as illustrated in Figure 20. Support platform 360 has alignment tab 366, which is intended to align the rear edge of support platform 360, which is defined as the edge along which alignment tab 366 is located, along from the front side of a cable box or video cassette recorder, or similar unit as shown in figure 20. When aligned as shown in Figure 20, the support platform 360 aligns the fast controller 300 so that the left infrared diode 342, the bottom infrared diode 344, two rear infrared diodes 346, and the right diode 348 of Infrared, as shown in FIG. 17, will be in position to transmit signals to the video cassette recorder 370 and cable box 372, as needed. If the functions of the video cassette recorder and / or cable box are located within the television set 374 itself, then the fast programmer 300 may be located to transmit signals to the television set 374 in the manner illustrated in Fig. Figure 19, or by placing the support platform 360 on the television set as illustrated in Figure 20.
Using the support platform 360, the user only needs to align the support platform 360 and the quick programmer 300 with the equipment to be programmed, instead of having to remember to keep the quick programmer 300 in the correct position to transmit. through the front infrared diode 340, as shown in Figure 19. Usual experience with various remote controls shows that it is difficult to hold a remote control in a fixed position, for example on a small table. The support platform 360 solves this problem by aligning the quick controller 300 with the equipment to be controlled. The left infrared diode 342, the bottom infrared diode 344, the two rear infrared diodes 346, and the right infrared diode 348 are correctly positioned to transmit left, down, back, and right. . The downward facing transmitter diode assumes that the support platform 360 will be positioned on the unit to be programmed. The transmission to the left and to the right allows the placement of units to be programmed to the left or to the right. The rear transmitting infrared diodes 346 to the rear are arranged so that the signals can be reflected off the walls and other objects in the room. The front infrared diode 340, the left infrared diode 342, the right infrared diode 348, and the bottom infrared diode 344 are implemented with 25 emission angle diodes.<sup>°</sup>Two rear transmitting infrared diodes are arranged to emit a higher energy in that direction, and they are implemented with diodes with an emission angle of 5<sup>°</sup>, which focus the energy and favor a greater reflection of the infrared energy on the walls or objects in the room.
Most video cassette recorders and cable box boxes can be controlled by an infrared remote control; however, different VCRs and cable boxes have different infrared emitting diodes. Although there are literally hundreds of different models of VCRs and cable boxes, there are fortunately only dozens of sets of infrared codes. Each set can have a few dozen “words” representing the different keys required, for example “power”, “record”, “channel up”, “channel down” ), “Stop” (stop), “0”, “1”, “2”, etc. In order to control the VCR and cable box to record, only the following "words" are required: "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "power", "record", "stop". The infrared codes for these words for all sets are stored in the memory of the fast programmer 300 which is located in the microcomputer 380 of Figures 21 and 22. During the set-up of the fast programmer 300, the user interactively enters into the fast programmer 300 the type and model of your video cassette recorder and cable box. The correct set of infrared codes will be retrieved from memory during the actual control process. In case the user has only one video cassette recorder, the infrared codes for that particular video cassette recorder will be pulled from memory to control the video cassette recorder. In case the user has a video cassette recorder and a cable reception box, the infrared codes "power", "record", "stop" will be extracted from the set corresponding to the video cassette recorder, while that the infrared codes from “0” to “9” will be extracted from the set that corresponds to the cable reception box. The reason is that in this case, the cable box controls the channel switching. Therefore, the channel switching signals "0" to "9" should be transmitted to the cable box, rather than to the video cassette recorder.
ES 2 139 001 T3
Initially, the user runs a set-up sequence. First, the user searches a table for the number corresponding to the model / brand of video cassette recorder to be programmed, the table of which contains a list of the brand name of the video cassette recorder and a two-digit code. Next, with the video cassette recorder tuned to channel 3 or channel 4, whichever is normally used, the user turns off the video cassette recorder. Next, the user presses the key 326 of the video cassette recorder. When the display unit shows the letters VCR (video cassette recorder), the user presses the two-digit code searched for in the VCR model / brand table (for example, RCA model 01). The user orients the speed controller 300 toward the video cassette recorder and then presses the ENTER key 318. The red warning light emitting diode 332 will flash while it is sending a test signal to the video cassette recorder. If the video cassette recorder is turned on and switched to channel 09, the user presses the 316 SAVE key and proceeds to the clock setting operation. If the video cassette recorder did not turn on, or turned on but did not switch to channel 09, the user presses the 318 ENTER key again and waits until the red warning light emitting diode 332 stops flashing. Rapid programmer 300 transmits the next possible video cassette recorder code, while red warning light emitting diode 332 is flashing. If the VCR is turned on and switched to channel 09, the user presses the 316 SAVE key, otherwise the user presses the 318 ENTER key again until the working VCR code is found. for your video cassette recorder. The display unit now displays the word "END" (end) if all possible VCR codes for that brand have been tried. If so, the user presses code 00 of VCR key 326 and followed by ENTER key 318 to test all possible codes, for all brands, one by one.
Once the correct video cassette recorder code has been found and saved, the next set-up operation is to set the clock on the fast programmer 300. First, the user presses the CLOCK key 320. When the display unit displays the message "YR:" ("year:") the user types the year (eg, 90), and then presses the 318 ENTER key. Then, the display unit presents the word "MO:" ("month:"), and the user types the month (eg, 07 corresponds to July), and then presses the 318 ENTER key. This procedure is repeated for “DA:” (“date:”) (for example, 01 for first day), “Hr:” (“time:”) (for example, 02 for two o'clock), “Mn: ”(“ Minutes: ”) (for example, 05 for 5 minutes), and“ AM / PM: ”(“ before noon / after noon (1 for AM or 2 for PM). After this sequence, the display unit will show the message "SAVE" for a few seconds, and then the display unit will show the current time and date that have been entered. It is no longer necessary for the user to set the clock on their video cassette recorder.
Next, if the fast programmer 300 is also to be used as a cable box controller, then the set-up operations are as follows. First, the number corresponding to the model / brand of the cable box (converter) to be controlled is found in a table of brands and models of cable box, which provides a list of the brands of the cable boxes. received by cable and the corresponding two-digit codes. The video cassette recorder tunes to channel 03 or channel 04 and turns off. The cable box then tunes to channel 02 or channel 03, whichever is normal, and stays on. Next, key 328 CABLE is pressed. When the message “CA B-:” appears, the user enters the two-digit code searched for in the table of brands and models of cable reception boxes, orients the fast controller 300 towards the cable reception box (converter) and press the 318 ENTER key. The red warning light emitting diode 332 will flash while it is sending a test signal to the cable box. If the cable box has switched to channel 09, then the user presses the 316 SAVE key; however, if the cable box did not switch to channel 09, the user presses the 318 ENTER key again and waits until the red warning light emitting diode 332 stops flashing, while the next possible code is sent. This repeats until the cable box switches to channel 09, and when it does, the user presses the 316 SAVE key. If the display unit displays "END", then the user has tried all possible cable box codes for that brand. If so, the user types the cable code 00 and then presses the 318 ENTER key to test all possible brand codes one by one.
For some people (possibly because they have a cable or satellite connection), the channels listed in their TV guide or schedule are different from the channels on their TV set or cable system. If they are different, the user proceeds as follows. First, the user
ES 2 139 001 T3 press the 322 CH key. The display unit will present a message like this: "Guide CH TV CH". Next, the user types the channel printed in the television guide or schedule (for example, 02 for channel 2), and then types the channel number printed in the information received through his local cable company. The user then presses the 318 ENTER key. This is repeated for each channel listing that corresponds to a different channel from the printed channel. When this procedure is complete, the user presses the 316 SAVE key.
Topically, the area's television guide or calendar will have a diagram indicating the channel number that has been assigned to each cable and broadcast channel, for example: HBO, CNN, ABC, CBS, NBC, etc. This diagram would correspond, for example, to the two left columns of Figure 28. For example, suppose that the television guide or calendar has assigned channel 14 to HBO, but the user's cable company presents the HBO broadcast. on channel 18. Since the channel numbers are different, the user needs to use the 322 CH key. The user presses the CH key (the two blank spaces under the "Guide CH" message will flash). The user then types 14 (now the two blank spaces under the message "TV CH" will be activated intermittently). The user then types 18 and then the 318 ENTER key. This is repeated for each channel that is different. When finished, the user presses the 316 SAVE key.
After the channel settings have been saved, the user can review the settings by pressing the 322 CH key and then the 306 REVIEW key. By repeatedly pressing the 306 REVIEW key, each of the adjusted channels will appear in the display unit one by one.
The user can then perform a check to be sure that the position of the fast controller 300 is correct. First, the user makes sure that the video cassette recorder is turned off, but plugged in, and makes sure that the cable box (if any) is turned on. The user can then press the 330 TEST key. If there is only one video cassette recorder, then if the video cassette recorder has been turned on, switched to channel 09, started recording, and then turned off, then the video cassette recorder controller is located. in a correct place.
If there is also a cable box, then if the video cassette recorder has been turned on, the cable box has been switched to channel 09 and the video cassette recorder has started recording and then stopped. and it has been turned off, then the quick controller 300 is located in the correct place.
To operate the fast programmer 300, the video cassette recorder must be left off and the cable box on. The user searches the television guide for the compressed code for the program he wishes to record. Compressed code 212 was listed in the television guide, as shown in Figure 8. The television guide / calendar that would be used with this embodiment would have the same elements illustrated in figure 8, with the exception that element 188 of figure 8 is not required. The compressed code 212 for the program selected by the user is entered into the quick programmer 300 using the numeric keys 302, and then the user selects the frequency with which he wishes the program to be recorded. The user presses the 310 ONCE key to record the program once at the scheduled time. or the user presses the 308 WEEKLY key to record the program each week at the same scheduled time until the selection is deselected, or the user presses the 312 DAILY (MF) key to record the program from Monday to Friday at the same time programmed until the selection is deselected. This is most useful for shows such as popular operas that are daily, but not on the weekend. To confirm the entry, the fast programmer 300 immediately decoded the compressed code and displayed the date, channel and start time of the program entered by the user. The entered program duration is also displayed by the time indicator bars 352 running across the bottom of the display unit. Each bar represents one hour (or less) of the program.
The user then needs to leave the fast programmer 300 near the video cassette recorder and the cable box so that the commands can be transmitted, and at the correct time the fast programmer 300 would "turn on" the cassette recorder. video, switched to the correct channel and recorded the show, then turned off the video cassette recorder. The user should make sure to insert a blank tape.
The REVIEW key 306 allows the user to examine the entered programs one by one. These are displayed in chronological order, by date and time. Each time the 306 REVIEW key is pressed, the next program is displayed, until the message “END” appears when all have been displayed.
ES 2 139 001 T3 the programs entered. If the 306 REVIEW key is pressed again, the display unit will return to show the current date and time.
If the user wishes to cancel a program, then he presses the 306 REVIEW key until the program to be canceled is displayed, and then the user presses the 304 CANCEL key. The display unit will present the message “CANCELLED”. Also, each time the user presses a wrong number, pressing the 304 CANCEL key will allow him to start over.
Certain television programs, such as live sports, can scroll over the programmed time slot. To ensure that the entire program is recorded, the user can press the 324 ADD TIME key to increase the duration of the recording, even while the program is being recorded. The user presses the REVIEW key 306 to view the program, and then presses the 324 ADD TIME key. Each time the 324 ADD TIME key is pressed, fifteen minutes are added to the recording duration.
When the current time and date are displayed, the amount of blank tape needed for the next twenty-four hours is also displayed by the time indicator bars 352 running across the bottom of the display. Each bar represents one hour (or less) of tape. The user should check this before disregarding the video cassette recorder, to ensure that there is sufficient blank unrecorded tape.
Each time a program code is entered, the fast programmer 300 automatically checks all the inputs to ensure that there is no time overlap between the program inputs. If the user tries to enter a program that overlaps in time with a previously entered program, then the message “CLASH” (collision) appears. Next, as summarized by operation 432 of FIG. 23, the user has the following options; 1) if the user wishes to leave the previously entered program and forget the new one, the user does nothing and after a short delay the display unit will return to show the current time and date; 2) If the user wants to record the program that starts first to its end, and then record the rest of the second program, then the user presses the 310 ONCE key, the 312 DAILY (MF) key or the 308 WEEKLY key again. (whatever the user presses to enter the code). If the programs have the same start time, then the most recently entered program will be recorded first. If upon being notified of the collision the user decides that the new program is more important than the previously entered program, then the user can cancel the previously entered program and then re-enter the new one.
In some places, for example some parts of Colorado, the cable system broadcasts some channels three hours after / before the times listed in the local television guide. This is due to time differences depending on whether the channel is received through a satellite connection to the east or west. For the user to record the program three hours after the time that appears in the television guide, the procedure is as follows. First the user enters the code for the program and then presses the 316 SAVE key (for +) and then presses the 310 ONCE key, the 312 DAILY (MF) key or the 308 WEEKLY key, as desired. For the user to record the program three hours before the time that appears in the television guide, the procedure is as follows. First, the user enters the code corresponding to the program and then presses the 318 ENTER key (for -) and then presses the 310 ONCE key, the 312 DAILY (MF) key or the 308 WEEKLY key, as desired. The quick programmer 300 will display the time at which the program will be recorded, and not the time that appears in the television guide.
There are certain messages displayed to make it easier for the user to operate the quick programmer 300. The message “LO BATT” (low battery) indicates that the batteries need to be replaced. The message “Err: ENTRY” indicates an invalid input during commissioning. The message “Err: CODE” indicates that the entered program code number is not a valid number. If this message is displayed, the user should check the TV guide and re-enter the number. The message “Err: DATE ”(date error) indicates that the user may have tried to select a daily recording (from Monday to Friday) for a program broadcast on Saturday or Sunday, he may have tried to select weekly or daily recording for a show with more than seven days of anticipate, because the quick programmer 300 only allows to use the weekly or daily recording option for the programs of the current weeks (± 7 days), or you may have tried to enter a program that has already ended. The message "FULL" indicates that the stack storage space of the programs to be registered has been filled, which is implemented in a random access memory within the quick programmer 300. The user could then cancel one or more programs
ES 2 139 001 T3 before entering new programs. The message “EMPTY” (empty) indicates that no programs have been entered for recording. The number of programs to be recorded that can be stored in the fast programmer 300 varies depending on the density of available random access memory and can vary by a factor of 10 or more.
Figure 21 is a schematic of the circuit necessary to implement the fast programmer 300. The circuit consists of a microcomputer 380, an oscillator 382, a liquid crystal display unit 384, a keyboard 386, five-way infrared transmitters 390, and a red warning light emitting diode 332. The microcomputer 380 consists of a central processing unit, a read-only memory, a random access memory, input / output ports, timers, counters, and a clock signal generator. The read-only memory is used for program storage, and the random access memory is used, among other purposes, for the stack memory of the programs to be recorded. The liquid crystal display unit 384 corresponds to the liquid crystal display unit 350 of Figures 15 and 18. The keyboard 386 has all the keys discussed above. The five-way infrared transmitters 390 consist of a front infrared diode 340, a left infrared diode 342, a bottom infrared diode 344, two rear infrared diodes 346, and a right infrared diode 348. Figure 22 represents the detailed circuit diagram of the fast programmer 300, and the elements identified above are designated by the same numbers. The microcomputer can be implemented with a NEC μPD7530xx circuit, which can serve as a direct interface with the display unit, the keyboard, the LEDs and the oscillator. 25 ° infrared diodes can be implemented with NEC 313AC components, and 5 ° infrared diodes can be implemented with 2871C Liton infrared diodes.
The flowcharts for the program that is stored in the read-only memory of the microcomputer 380 that executes program entry, program review and cancellation, and record execution, are illustrated in Figures 23, 24, and 25, respectively. Figure 23 corresponding to the entry of programs, the process of which has been described above, consists of the following operations: operation 402 for displaying the date, time and bars indicating the time in progress, which corresponds to the idle state of the fast programmer 300; keyboard scan operation 404 to determine if numeric decimal compressed code has been entered; code display operation 406 as it is entered; operation 408 for checking by the user whether the correct code has been entered and operation 428 for pressing the key 304 CANCEL by the user; operation 410 to advance or delay three hours in the recording start time by the user by pressing the 316 SAVE key or the 318 ENTER key; user pressing operation 412 of ONCE key 310, WEEKLY key 308 or DAILY key 312; decoding operation 414 by the compressed code microcomputer to obtain channel information, date, time and duration; operation 422 to check if there is a conflict with operation 416 of stored programs and, if so, proceed to operation 420 to display the message “CLASH” and the user presses the 310 ONCE key, the 308 WEEKLY key or the 312 key DAILY, has already continued operation 432 of incorporation of conflicting entries, as described above in the discussion of the “CLASH” options, and operation 424 of unsaved entry; operation 418 of display setting such as date, channel, start time and duration (time indicator bars) for ONCE mode, or as DA, channel, start time and duration for DAILY, week of the week, channel, time of start and duration for WEEKLY; operation 426 of pressing by the user of the key 324 ADD TIME, which adds fifteen minutes to the recording time; operation 430 of user checking displayed messages; operation 434 of entering the program into the stack memory in chronological order, where the stack memory is a portion of the random access memory of the microcomputer 380; and operation 436 of calculating the required tape length and updating the time indicator bars.
The flow chart of Figure 24 corresponding to the review and cancellation, the process of which has been described above, consists of the following operations: operation 402 for displaying the date, time and time indicator bars in progress; operation 442 of 306 REVIEW key pressed; operation 444 to check if the stack memory is empty, operation 446 to display the message “EMPTY”, and operation 448 to return to the current date and time display; input display operation 450 at the highest position of the stack memory; operation 452 of pressing by the user of the key 324 ADD TIME and operation 460 of updating the time indicator bars; operation 454 of user pressing REVIEW key 306 and operation 462 of collic presentation of an entry in the top position of the stack memory; operation 456 of pressing by the user of the key 304 CANCEL, operation 464 of displaying the message "CANCELLED" and operation 464 of canceling the program; and do-nothing operation 458 and thirty-second wait operation 466, where the thirty-second delay can be implemented in the timers of the microcomputer 380.
ES 2 139 001 T3
The flowchart in figure 25 corresponding to the recording execution, which consists of the process of automaotically recording a program and that has been described above, consists of the following operations: operation 472 of comparing the start time of a program in the top position of the stack memory with the current time; operation 474 to check if three minutes have passed before the start of the program; operation 476 to flash the red warning light emitting diode 332 for thirty seconds; Operation 478 to display channel, start time, and the message “START” intermittently, Operation 480 that the correct program start time has arrived, Operation 482 to send power signal to the video cassette recorder, and Operation 482 to display “REC” message; Operation 484 to check if a cable box is connected to the video cassette recorder, operation 486 to send channel switching signals to the video cassette recorder and operation 488 to send channel switch signals to the video cassette recorder. cable reception; step 490 of sending record signals to the video cassette recorder; operation 492 of comparing stop time with current time; operation 494 for checking whether the stop time has arrived and operation 496 for displaying the message "END"; operation 498 of sending stop signals to the video cassette recorder; operation 500 of sending shutdown signal to the video cassette recorder; and operation 502 of upward extracting data from the program stack memory.
Figure 26 is a flow chart of the method for encoding channel information, date, time, and duration, in 510 decimal compressed code. This process is performed "off-line" and can be implemented on a general-purpose computer; Said process is carried out to obtain the compressed codes 212 that are included in the guide or schedule of programs of Figure 8. The first operation of the coding method is operation 512 of entering channel information, date, time and duration, in which operation the channel information, date, time and duration are entered for a particular program (514). The next operation is the assigned channel number search operation 516, which replaces one assigned channel number 522 for each channel 518. Often, for example for network broadcast channels, such as channel 2, the assigned channel number is the same; However, for a cable broadcast channel, such as the HBO channel, a channel number is assigned and a table 520 of assigned channels in cable broadcast systems is looked up, which would be essentially the same as in the two first columns of the table in figure 28. Next, the search operation 524 for channel priority, date and time / duration in priority vector tables, performs a search in table 526 of channels by priority vectors (C), in table 528 of dates by vectors of priority (D) and in table 530 of time / duration by priority vectors (TL), using the channel, date and time / duration indices, respectively, to obtain the vector 532 Cp, Dp, TLp. The use of a mixed hour / duration (TL) table to adjust priorities recognizes that there is a direct relationship between these combinations and the popularity of the program. For example, at 6:30 PM, a short program is more likely to be more popular than a two-hour program, because it may be lunchtime.
The channel priority table is arranged so that the most frequently used channels have a low priority number. An example of the data contained in table 526 of priority vectors C is the following:
channel 4723561113 ... priority 0 1 2 3 4 5 6 7 ...
In general, the dates of a month all have the same priority or the same use, so that the days of low number in a month and the priorities of low number correspond to table 528 of dates by priority vectors (D) as in the following example:
date 12345678910 ... priority0123456789 ...
The priority of the log start times and program durations could be arranged in a matrix that assigned a priority to each combination of start times and program durations, so that the most popular combinations of start times and durations would have a priority. low priority number and less popular combinations will have high priority number. For example, a partial 530 time / duration table of priority vectors might appear as follows:
ES 2 139 001 T3
Time / Duration Priority Table (TL)
<td>HOUR Duration (hrs)</td><td>6:30 pm</td><td>7:00 pm</td><td>7:30 pm</td><td>8:00 pm ...</td>
<td> 0,5</td><td> 8</td><td> 4</td><td> 7</td><td> 10</td>
<td> 1,0</td><td> 12</td><td> 15</td><td> 13</td><td> 18</td>
<td> 1,5</td><td> 20</td><td> 19</td><td> 17</td><td> 30</td>
Suppose that the channel data 514, date, time and duration correspond to channel 5, February 10, 1990, 7:00 PM and a duration of 1.5 hours; then the data 532 Cp, Dp, TLp for the previous example will be 4 9 19. The next operation is to convert the information Cp, Dp, TLp into binary numbers and concatenate them in a 534 binary number association operation, obtaining as a result the word ... TL2TL1 ... C2C1 ... D2D1 536 data. For the example proposed above, converting the word ... TL2TL1 ... C2C1 ... D2D1 536 into a binary combination will yield the following three binary numbers: ... 0010011, ... 0100, ... 01001. The number of binary bits to use in each conversion is determined by the number of combinations involved. This number may vary depending on the implementation; However, a preferred embodiment will use eight bits for Cp, designated as C8 C7 C6 C5 C4 C3 C2 C1, which will serve to represent 256 channels, five bits for Dp, which can be designated as D5 D4 D3 D2 D1, which will serve to represent 31 days of a month, and fourteen bits for TLp, designated as TL14 ... TL3 TL2 TL1, which will serve to represent separate recording start times every 5 minutes in a 24 hour period, program durations in 5 minute increments for programs up to three hours in length, and program durations in 15 minute increments for programs lasting three to eight hours. This requires approximately 288 * (36 + 20) = 16,128 combinations, which are provided by the 2 ** 14 = 16,384 binary combinations. Altogether, 8 + 5 + 14 = 27 bits of information are available (TL14 ... TL2TL1C8 ... C2C1D5 ... D2D1. For the above example, the operation of filling each number with zeros and then concatenating them, will provide the number 27-bit binary: 000000000100110000010001001.
The next operation is to use the bit hierarchy key 540, which may be stored in read-only memory 64, to perform the operation 538 of reordering bits of the binary number according to the hierarchy key. As described above, a bit hierarchy key 540 can consist of any bit ordering ... TL2TL1 ... C2C1 ... D2D1 536, and will generally be selected so that the programs most likely to be subjected to Timer presets will have a compressed code 212 of low value, which will minimize the number of keystrokes. The ordering of the hierarchy key can be determined by the differential probabilities of the various combinations of bits, as discussed above. The details for the deduction of a bit-hierarchy key 540 were described in relation to the bit-hierarchy key 120, and the same method can be used for the bit-hierarchy key 540. For example, the key
<td>of hierarchy could be: TL8 C3 ...</td><td>TL10</td><td>C2</td><td>TL1</td><td>C1</td><td>L1</td><td>D5</td><td>D4</td><td>D3</td><td>D2</td><td>D1</td>
<td> 2726...</td><td> 10</td><td> 9</td><td> 8</td><td> 7</td><td> 6</td><td> 5</td><td> 4</td><td> 3</td><td> 2</td><td> 1</td>
<td>The next operation is</td><td>to combine</td><td colspan="2">groups of</td><td>bits,</td><td colspan="2">turn into</td><td>each</td><td>group</td><td>on</td><td>decimal numbers and</td>
concatenate them in a decimal number association operation 542. For example, after reordering according to the hierarchy key, the code can be 000000001010010000010001001, which could be grouped as 00000000101001000.0010001001. If these groups of binary bits are converted to decimal as 328,137 and concatenated into a decimal number, then the resulting decimal number is 328137. The last encoding operation is operation 546 for permutation of decimal number, which permutes the decimal number according to the permutation function 544 that depends on the date 548, and in particular on the month and year, and provides a specific security feature to the codes. After the decimal number permutation operation 546, the compressed decimal code G8 ... G2G1 550 can be, for example, 238731. These coded codes are included below in a program guide or calendar as indicated by 212 compressed code following figure 8.
Figure 27 is a flow chart of the method to decode a compressed decimal code to obtain channel, date, time and duration information 560, which corresponds to operation 414 of Figure 23. Once the operation 562 is entered Compressed decimal code G8 ... G2G1 550, it is necessary to invert the permutation function of operations 544 and 546 in figure 26. The first operation is the day code extraction operation 566, which extracts the day code for the included program
ES 2 139 001 T3 in compressed decimal code and transfers the day code to operation 568, which also receives the current day 574 from clock 576, which is implemented by microcomputer 380 in figures 21 and 22. Clock 576 Also send the current month and year to the permutation function 570, which depends on the month and the year. Next, operation 568 performs the following function: if the day code is equal to or greater than the current day indication of the clock, then use the permutation function for the month / year that appears on the clock, and in another In this case, use the permutation function for the month following the month that appears on the clock and use the following year if the month of the clock is December. In other words, since there are means to pre-program the registration for a month of 31 days, if the day corresponding to the program is equal to or greater than the day of the current month, then it refers to a day of the current month; otherwise, if the day corresponding to the program is less than the day of the current month, it must refer to a program for the following month. Operation 566 for extracting the day code, which must be performed before operation 580 for inverting the permutation of compressed decimal code, is carried out knowing a priori how operation 546 of permuting the decimal number of figure 26 is performed with relation to the day code information.
The selected permutation method 578 is used in the compressed decimal code permutation inversion operation 580. For the example proposed above, the output of operation 580 will be: 328137. The following operation is operation 584 of conversion of groups of decimal numbers into groups of binary numbers and of concatenation of binary groups into a binary number, which is the inverse of operation 542 of figure 26 and, for the previous example, it will givea as a result the binary code 000000001010010000010001001. Next, bit hierarchy key 588 is used in binary number bit reordering operation 586 according to the hierarchy key, which is the inverse of operation 538 in Figure 26, to get 000000000100110000010001001 for the example above, which is equivalent to ... TL2TL1 ... C2C1 ... D2D1 582, which corresponds to 536 in figure 26. The next operation is the bit grouping operation 590 to form three binary numbers TLb, Cb, Db and convert them into decimal numbers, which gives rise to the combination Cp, Dp, TLp 592 which, for the previous example, will correspond to: 4, 9, 19, which are priority vectors for channel, date, time and duration that, in turn, are used to look up in table 598 of channel priority vectors (C) the information 604 of channel, date, time and duration, in the date priority vector table 600 (D), and in the time / duration priority vector table 602 (TL), respectively.
The local channel number search operation 606 searches for the local channel 612 that has been assigned to the assigned channel number 608, in table 610 of assigned / local channels, whose values are set by the user through the 322 CH key. , as explained above. An example of the table 610 of assigned / local channels may correspond to the two columns to the right of the table 620 of assigned / local channels of Figure 28. The correspondence between the assigned channel numbers, such as 624 and 628, and the local channel numbers, such as 626 and 630, is established during the set-up of the equipment by the user. For example, Figure 28 shows an exact correspondence between assigned channel number 5 and local channel number 5. The last operation is operation 614 of associating month and year to day to form the date. The correct month and year are obtained from operation 568 and depend again on whether the day code is equal to or greater than the day number provided by the watch, or less than the day number of the watch. If the day code is equal to or greater than the day number taken from the clock, the month and year presented by the clock are used, and otherwise the following month is used, and the following year if the month indicated by the clock is December. . The result is the 618 channel information, date, time and duration (CDTL), which for the previous example will represent channel 5, February 10, 1990, 7:00 PM and 1.5 hours of duration.
Another preferred embodiment relates to an apparatus and method for allowing a user to selectively record information designated by a compressed digital code. Specifically, this device will allow a user to record, for later viewing, detailed information associated with an advertisement or similar brief description of a service, product, or any advertisement that includes public service information.
The advertisement may be a printed advertisement or an advertisement broadcast on television or any other medium, such as the radio, electronic networks or bulletin boards. The advertisement will be associated with a digital code, referred to herein as code I. In print advertisements, the digital code will be printed along with the advertisement. Figure 29a shows an exemplary print advertisement 650 for a car, and information 652 in decimal code (I code) will be printed on the advertisement. This code can be identified as code 652 I, because the leading digit is 0, as will be explained later. As shown in figure 29a, using I codes saves a lot of space, which is very important in advertisements.
ES 2 139 001 T3
Figure 29b shows a television broadcast advertisement 654, as an example, with code 652 I. The user will identify this code as code 652 I, because the headline is 0. It can be very expensive to run a long ad first thing in the morning when most viewers are watching television; However, a short announcement could be played first thing in the morning with an I code, and then the user could enter the I code in the fast programmer 300, which would order the recording of the longest announcement of the car for one hour later. Additional information could be broadcast at an early hour, for example between midnight and six in the morning. At this time, the broadcasting traffic is low and it is economical to broadcast detailed information on advertisements for many products, such as automobiles and real estate. It would also be possible to transmit preview images of movies at that time of the night.
The reader of the print advertisement, the viewer and the user of any other medium, such as radio, will select the additional information in which they are interested and enter the associated code I in the fast programmer 300, which will then order the recording of the information. detailed late at night. The user can then view this information at their convenience.
The fast programmer 300 can be used for register pre-programming for information using I codes; however, there are some important differences when the device is used for I codes.
An essential difference is that the I codes that are entered in the fast programmer 300 are used within the next 24 hours. The user read, saw or heard the announcement and entered the I code associated with the announcement in the fast programmer 300, which then recorded the announcement at the correct time for the next 24 hours, and generally in the middle of the night, tuning in the correct channel and activating and deactivating the recording of a video cassette recorder. In normal recording apparatus pre-programming, using G-codes, fast programmer 300 decodes television commercial 654 into channel, date, time and duration information. For an I 652 code, the fast programmer 300 will decode the I 652 code only in channel, time and duration (CTL) information, because the date is known to correspond to the next 24 hours. Suppose now that the time is 6 pm on June 20. If a user enters a code I, which decodes the information on channel 2, start time 2:00 am, and lasts 10 minutes, then the video cassette recorder will start recording on June 21 at 2:00 am during 10 minutes.
The circuits of the fast programmer 300 used with decimal codes to represent information (I codes) may be identical to those of the design illustrated in Figures 15, 16, 17, 17A, 18, 19, 20, 21 and 22 and described in the memory. associated.
The flowcharts of the programs stored in the read-only memory of the 380 microcomputer that perform the program entry, review, program cancellation, and record execution, are illustrated in Figures 23, 24, and 25, respectively, for use. G-code to pre-program a video cassette recorder for program recording.
The programs for use by the fast programmer 300 with I codes to record information in accordance with this preferred embodiment are generally different; however, the program for program revision and cancellation (see figure 24) and for recording execution (see figure 25), are identical. However, the program that was stored in the read-only memory of the microcomputer 380 that executes an input of an I code is different and is shown in Figure 30. The input of an I code is determined by inspecting the head digit of the code entered. If the leading digit is not 0, then a G code has been entered, because G codes never have leading zeros, and the flowchart in Figure 23 will be run. If the leading digit is zero, then a code I has been entered. Operations 702, 704, 706, 708 and 710 in figure 30 are identical to operations 402, 404, 406, 408 and 410 in figure 23 . The verification of the existence of a G code or an I code is carried out in operation 711 to check if the leading digit is 0, which forked to operation 412 of figure 23 if the entered code is a G code, or Either continue with the next operation in figure 30.
The flowchart for the input of code I in figure 30 consists of the following operations: Operation 702 to display the current date, time and time indicator bars, Operation 704 to scan the keyboard to determine if an I code has been entered, Operation 706 to display the I code as it is entered, Operation 708 in which the User checks if he has entered a correct code, operation 710 in which the user advances or delays the recording start time by three hours by pressing the 316 SAVE key or the 318 ENTER key, operation 711 to check whether the
ES 2 139 001 T3 head digit is 0, operation 712 in which the user presses the 310 ONCE key, operation 714 in which the microcomputer decodes the I code into channel, time and duration information, operation 716 to check if there is conflict with stored programs, operation 718 for recording start time and duration (time indicator bars), operation 720 for displaying the message “CLASH” (collision), operation 722 in which the user presses the 310 ONCE key, operation 724 for input not saved, operation 732 for admitting conflicting inputs, operation 728 in which the user presses the 304 CANCEL key, operation 734 for entering the program in memory stack in chronological order, and operation 736 to calculate the required tape length and update the time indicator bars. Figure 30 illustrates the order and relationships between the operations for entering I codes. If the user presses the 308 WEEKLY key or the 312 DAILY (MF) key instead of the 310 ONCE key, then the fast programmer 300 will interpret these inputs. as if the 310 ONCE key had been pressed. Stack memory program entry operation 734 in chronological order allows the user to enter multiple digital codes for information, which will all be decoded and neatly entered into stack memory for later execution when the correct time arrives.
In order to use I codes with advertisements, the I codes have to be first encoded. Fig. 31 is a flow chart of the method for coding I-code channel data, time and duration for a broadcast information. This process is done "off-line" and can be implemented in a general purpose computer, this process being carried out to obtain an I 854 code that can be included in an advertisement, as shown in Figures 29a and 29b. In general, the I codes are coded to be compressed coded indications, each of which represents, compressed in length, the combination of channel, time and duration independent indications. In a print ad and also in television commercials, there is simply not enough area to independently spell out the channel, time and duration. The I codes solve this problem by encoding the channel, time and duration information in a compressed digital code.
The first operation in the preferred coding method is operation 812 of channel entry, time, duration and validity period for supplemental information associated with an advertisement. Channel, time and duration data are self explanatory. The validity period is necessary, because the encoding and decoding algorithms have an operation in which the information is transposed. To ensure that the I code associated with an advertisement could be used, two overlapping transposition time periods are used. For example, suppose that a first method of information transposition remains unchanged for two months from January 1 to February 28 and changes thereafter every period of two successive months. A second overlap and shift information transposition method remained constant from February 1 to March 31 and changed each subsequent two-month period thereafter. For an ad running from January 20 to February 10, the first transposition period will be used for encoding and decoding; however, for an announcement that ran from February 25 to March 9, the second method of information transposition was used. Thus, the validity period entry at the beginning of the encoding process specifies the transposition method to use.
The next operation is the assigned channel number search operation 816, which replaces each channel 818 of the channel, time and duration input 814, with an assigned channel number 822. Often, for example for network broadcast channels, such as channel 2, the assigned channel number is the same; However, for a channel received by cable, such as the HBO channel, a channel number is assigned and a table 820 of assigned cable transmission channels is searched, which would consist essentially of the first two columns of the table of Figure 28. Next, the channel, time and duration search operation 824 in priority vector tables searches a table 826 of channel priority vectors (C) and a table 830 of time / duration priority vectors ( TL) using the channel and time / duration indices, respectively, to generate the Cp, TLp 832 data. Using a mixed hours / durations (TL) table to set priorities recognizes that some relationship may exist between these combinations for additional information. For example, at 2 AM, preview images of movies could be broadcast and have a slightly longer duration than other information, but be very popular. Alternatively, it is possible to have separate priority tables for hours and durations.
The channel priority table was ordered so that, in general, the channels used less frequently for I codes have high priority numbers, and the channels used more frequently for I codes have a low priority number, which contributes to obtain shortest I codes for the most popular supplementary information broadcasts. Note that because broadcasts are less expensive if done late on rarely used channels, it is likely that channels that have the lowest priority numbers for G-codes may have the lowest G-code priority numbers.
ES 2 139 001 T3 higher priority numbers for I codes. For example, a short G code may correspond to channel 2 on Monday at 8 pm for sixty minutes first thing in the morning, while a short I code may correspond to channel 17 at 4 am for 5 minutes. The topical broadcast of information can take only approximately 3 to 5 minutes, compared to the topical program that takes 30 to 60 minutes. An example of the data contained in table 826 of priority vectors C is as follows:
channel 4723561113 ... priority 0 1 2 3 4 5 6 7 ...
Priorities for recording start times and broadcast durations for I codes are conceivably the inverse of priorities for G codes, because G codes are arranged so that early shows will have G codes the same. short. In the case of I codes, they will be organized to generate the shortest codes when the emission time is less expensive, which is certainly not the first hour. Thus, if the G codes are coded for the first hour, then the I codes are coded for later hours or opposite to the first hours. The priority values for time and duration could be arranged in a matrix that assigned a priority to each combination of recording start times and broadcast durations, so that the most popular combinations of start times and durations would have a number of low priority, and less popular combinations would have a high priority number, which also contributes to obtaining shorter codes for the most popular supplementary information broadcasts. For example, a partial table 830 of T / L priority vectors might appear as follows:
Time / Duration Priority Table (TL)
<td>HOUR Duration (hrs)</td><td>2:30 am</td><td>3:00 am</td><td>3:30 am</td><td>4:00 am ...</td>
<td> 0,1</td><td> 8</td><td> 4</td><td> 7</td><td> 10</td>
<td> 0,2</td><td> 12</td><td> 15</td><td> 13</td><td> 18</td>
<td> 0,3</td><td> 20</td><td> 19</td><td> 17</td><td> 30</td>
Alternatively, as noted above, separate priority tables could be constructed for recording start times and broadcast durations, with the lowest priority numbers assigned to the most likely recording start times and most likely broadcast durations for broadcast broadcasts. code I.
Suppose that the data 814 for channel, time and duration correspond to channel 5, 3:00 am and 0.3 hours of duration; then, the information data 832 Cp, TLp for the previous example will be 4 19. The next operation is the operation 834 to convert data Cp, TLp into binary numbers and concatenate them into a binary number, obtaining the word ... TL2TL1 as a result. ... C2C1 836 data. For the example proposed above, converting the word ... TL2TL1 ... C2C1 836 to binary code would give the following two binary numbers: ... 0010011, ... 0100. The number of binary bits to be used in each conversion was determined by the number of combinations involved. This could vary depending on the implementation; however, the preferred embodiment would use eight bits for Cp, designated as C8 C7 C6 C5 C4 C3 C2 C1, which would serve to represent 256 channels, and fourteen bits for TLp, designated as TL14 ... TL3 TL2 TL1, which will serve to represent recording start times spaced every five minutes for 24 hours and broadcasts of information in increments of five minutes for information broadcasts of up to three hours in duration. This requires approximately 288<sup>*</sup> (36 + 20) = 16,128 combinations, which are provided by the 2<sup>**</sup>14 = 16,384 binary combinations. Together there are 8 + 14 = 22 bits of information TL14 ... TL2TL1C8 ... C2C1. For the above example, padding each number with zeros and their subsequent concatenation would yield the following 22-bit binary number: 0000000001001100000100.
The next operation is to use the bit hierarchy key 840, which may be stored in read-only memory 64, to perform the binary number bit reordering operation 838 according to the bit hierarchy key. A bit hierarchy key 840 can consist of any bit ordering ... TL2TL1 ... C2C1 836, and will generally be selected so that broadcasts requiring timer preprogramming would most likely have an I 854 code of low value, which will make keystrokes monstrous. The ordering of the bit hierarchy key can be determined by the differential probabilities of the various combinations of
ES 2 139 001 T3 bits, as discussed above. The details of obtaining a bit hierarchy key 840 were described in relation to bit hierarchy key 120, and the same method can be used for bit hierarchy key 840. For example, the bit hierarchy key could be:
TL8 C3, TL10 C2, TL1 C1
21 ... 4 3 2 1
The next operation is operation 841 of valid period code insertion. The validity period code 845 can have at least one bit, but it could be longer, and is established by operation 844 for the selection of transposing function, which depends on the period of validity of the information emission, as explained. previously. The transposition function selection operation 844 also selects an associated mixing method, which provides security to the resulting I 854 code. The validity period code 845 is inserted in code I and is used to designate the transposition method to be used during decoding.
Figure 33 is an illustration of the problem addressed by validity period code 845. Suppose that a particular method of information transposition is held constant during the time interval 930 and changes thereafter at the beginning of the time interval 932, and every subsequent two-month time interval. For most advertisements, the I code 854 would have to be constant over a period of time, for example one week for I codes in weekly posts. If the time intervals 930 and 932 are two months as shown in figure 33, then a validity period of one week could overlap with both time intervals 930 and 932, which would mean that the method of transposing information would change. during the validity period. To compensate for this, a set of offset and overlap time intervals is provided for a second method of information transposition. For example, this is the case of time interval 934 and time interval 936 that are deviated by one month from time interval 930 and time interval 932. The information transposition time intervals 930, 932, etc., can be designated by a code "0" of validity period. Information transposition time intervals 934, 936, etc., may be designated by "1". If it is assumed that there is a validity period 938 of one week for an I 854 code, then the selected data transfer method would be valid during the time interval 930, the time interval 932, etc., and the period code of validity for that validity period would be set to “0”, as shown by codes 944 validity period. The validity period code would also be “0” for the validity period 942. However, for the validity period 940, the validity period code would be set to "1", because it corresponds to the method of transposing information that is constant during the time interval 934.
Note that if only two interleaved time slots are used and the validity period code is in the least significant bit of the binary word in operation 841, and the least significant bit has not been transposed in operation 846, then a Once the I code has been obtained, it is possible to determine when the I code is decoded to determine the validity period, simply by inspecting whether the I code is even or odd.
The next operation is operation 842 of combining groups of bits, converting each group to decimal numbers, and concatenating them to a decimal number. For example, after reordering according to the bit hierarchy key and the validity period code insertion (suppose it is "1" in this example, because the validity period is from February 25 to March 9, for which a valid period code of "1" would be used as shown in figure 33), the code can be 00000000110000000010011, which could be grouped in the form 0000000011, 0000000010011. If these groups of binary bits are converted to decimal as 3.19 and concatenated into a single decimal number, then the resulting decimal number is 319. The next coding operation is operation 846 of transposition of decimal number, which transposes the decimal number for the information emission according to function 844 of transposition that depends on the 848 period of validity, such as the period from February 25 until March 9, and provides a specific code security feature. After the decimal number transposition operation 846, the decimal code In ... I2I1 850 can be, for example, 139. The last operation is operation 852 of inserting a zero (0) in the first digit, so that the code is distinguishable to the fast programmer 300 as I code 854. The result for this example would be 0139. These coded codes are then included in an advertisement, for example as I code 652 in Figures 29a and 29b.
FIG. 32 is a flow chart 860 of the method for decoding an I code into channel, time and duration information, corresponding to operation 714 of FIG. 30. Note that the operation
ES 2 139 001 T3
711 in figure 30 has already determined that the code entered is an I code, instead of a G code, because the first digit is 0. First, the code I 0In ... I2I1 862 is entered. Then it is eliminated the 0 in operation 864 of head zero elimination to obtain In ... I2I1 865.
Next, it is necessary to reverse the transposition method of operations 844 and 846 of figure 31. The first operation is operation 866 of code extraction of validity period. The validity period code 867 indicates which of the two transposition methods of time deviation is to be used. The transposition method 878 selected by the transposition function 870 also depends on the clock 876, which is implemented by the microcomputer 380 in Figures 21 and 22. The clock 876 provides information on the current time, day, month and year. The selected transposition method 878 is used in code I transposition inversion operation 880. For the example proposed above, the output of operation 880 would be 319. The next operation is operation 884 for converting groups of decimal numbers into groups of binary numbers and concatenating binary groups into a single binary number, which is the inverse of operation 842 in Figure 31 and, for the previous example, provide the binary code: 00000000110000000010011. Next, the validity period code would be removed in operation 885, which reverses the function of operation 841 in Figure 31, with the result being: 0000000011000000001001. Bit hierarchy key 888 is then used in binary number bit reordering operation 886 according to the bit hierarchy key, which reverses the function of operation 838 in Figure 31 to obtain 0000000001001100000100 for the previous example , which is equivalent to the combination ... TL2TL1 ... C2C1 ... D2D1 882 corresponding to indication 836 in figure 31. The following operation is operation 890 of grouping bits to form two binary numbers TLb, Cb and converting them into decimal numbers, obtaining as a result the combination Cp, TLp 892 which, for the previous example, would be: 4, 19, which are priority vectors for channel and time / duration and which, in turn, are used to search for channel, time and duration information 904 in table 898 of channel priority vectors (C) and in table 902 of time / duration (TL) priority vectors, respectively. For the example above, this would result in the search for channel 5 and time / duration of 3 am / 0.3 hours.
The local channel number search operation 906 searches for the local channel 912, given the assigned channel number 908, in the assigned channels / local channels table 910, whose values are set by the user using the 322 CH key, as shown below. explained above.
Another preferred method of coding and decoding I codes is the following, which is similar to the previous one, except where indicated otherwise. Channel priority, time and duration tables will be used to encode and decode the I codes, as described above. The key difference is that the bit hierarchy is no longer defined in a base 2 numbering system. On the contrary, it was defined in a generalized base numbering system, as shown in the following table:
<td rowspan="2">No. of Digits</td><td rowspan="2">Channel</td><td colspan="2">Validity Period</td><td rowspan="2">Cocode Bits</td><td rowspan="2"># Combinations</td><td rowspan="2">Order</td>
<td>Hour</td><td>Duration</td>
<td> 1</td><td> 1</td><td> 3</td><td> 2</td><td><sub>0</sub>*</td><td> 6</td><td>TTL</td>
<td> 2</td><td> 16</td><td> 3</td><td> 2</td><td><sub>0</sub>*</td><td> 96</td><td>CCCC</td>
<td> 3</td><td> 16</td><td> 30</td><td> 2</td><td><sub>0</sub>*</td><td> 960</td><td>TTTT</td>
<td> 4</td><td> 32</td><td> 75</td><td> 4</td><td><sub>0</sub>*</td><td> 9600</td><td>TCTL</td>
<td> 5</td><td> 64</td><td> 90</td><td> 8</td><td> 1</td><td> 92160</td><td>TLCS</td>
<td> 6</td><td> 64</td><td> 360</td><td> 20</td><td> 1</td><td> 921600</td><td>LLTT</td>
<td> 7</td><td> 128</td><td> 720</td><td> 50</td><td> 1</td><td> 9216000</td><td>LLTC</td>
<td> 8</td><td> 128</td><td> 1440</td><td> 250</td><td> 1</td><td> 92160000</td><td>LLLT</td>
the validity period code bit is assumed to be equal to zero
C = channel bit
T = record start time bit
L = bit duration
S = validity period code bit
ES 2 139 001 T3
For example, if only one digit is used, there are six combinations of one channel (1C), three recording start times (3T), and two durations (2L). It is assumed that the code I previously associated with the leading zero has only one digit and that, in this case, both encoding and decoding methods understand that the validity period code is "0". With two digits, there are an additional sixteen times more channels (ie 16C), so now there are 3x2x16 = 96 combinations in the first two digits. With three digits, there are now ten times as many T data, so there are now 3 (from digit 1) x 10 (from digit 3) = 30 combinations T. The total number of combinations is equal to 3x2x16x10 = 2x30x16 = 960 in the first three digits. With four digits, there are now twice as many C codes, twice as many L codes, and 2.5 times as many T codes, so the number of combinations increases 2x2x2.5 = 10 times. There are now 9600 combinations in the first four digits. With five digits, there are twice as many C codes, 1.2 times as many T codes, twice as many L codes and an additional bit for transposition, so that there are now 2x1.2x2x2 = 9.6 times more combinations, that is 9600x9 , 6 = 92 160 combinations. One way to get a non-integer number of times, such as 1.2, 1.25, or 2.5 times, is essentially to create a table that defines the range of values for each number of digits that corresponds to the table above.
Thus, operations 834 and 838 of Figure 31 will be implemented in this preferred embodiment as indicated above, and there are other subtle changes, such as manipulation of the assumed validity period code indicated above, for cases where they are used. four digits or less in code I not counting leading zero. The code I decoding method will be the inverse of the coding method.
Below is an example of the coding technique to reduce the number of digits in code I. In this example, suppose that a variable is represented by the digits DA1, DA2 and has a variation range from 0 to 24, where DA1 ranges from 0 to 2 and DA2 ranges from 0 to 9, and another DB variable has a range of variation from 0 to 3, so that the total number of values being encoded is 25 * 4 = 100. It is possible to represent the first variable by two digits and the second variable by one digit; however, this is inefficient, because it will require the three-digit listing. The number of combinations of the two variables is only 25<sup>*</sup> 4 = 100, so that it is possible to represent the combination of variables with only two decimal numbers coded in binary. You want to encode the combination DA1, DA2 and DB, which contains three digits, in two decimal digits d1 and d2 coded in binary, where the admissible values of these digits vary only between 0 and 9.
This is possible as shown in the table below, where the encoding algorithm is as follows:
A3<sup>*</sup>2<sup>1</sup> + A2<sup>*</sup>2<sup>°</sup> = DA<sub>2</sub>
A1 = DA1 until DB is higher than 2 and DA2 is equal to 2, in which case A1 = DA1 +5
B2<sup>*</sup>2<sup>1</sup>
B2<sup>*</sup>2<sup>1</sup>
B1<sup>*</sup>
B1<sup>*</sup><sub>2</sub>° <sub>2</sub>°
DB, if DB is equal to greater than 2 and DA2 is equal to 2, in which case DB-2
The resulting binary-coded decimal numbers are indicated as d2, which is equal to A3<sup>*</sup> 2<sup>3</sup> + A2<sup>*</sup> 2<sup>2</sup> + B2<sup>*</sup> 2<sup>1</sup> + B1<sup>*</sup> 2<sup>°</sup> y varies from 0 to 9, and d1 which varies from 0 to 9 and is equal to A1.
Once encoded, the binary-encoded decimal numbers d2 and d1 can be decoded by first representing them in binary form and then deriving the combination DA2, DA1, and DB, as follows:
GIVES<sub>2</sub> = A3<sup>*</sup>2<sup>1</sup> + A2<sup>*</sup>2<sup>°</sup>
DA1 = A1, unless A3 is equal to 1 and A1 is equal to or greater than 5, in which case DA1 = A1 - 5 DB = B2<sup>*</sup>2<sup>1</sup> + B1<sup>*</sup>2<sup>°</sup>, unless A1 is equal to or greater than 5, in which case DB = (B2 + 1)<sup>*</sup>2<sup>1</sup> + B1<sup>*</sup>2
ES 2 139 001 T3
<td>DAi, DA2</td><td>DB</td><td colspan="3"><sup>d</sup>2</td><td colspan="2"><sup>d</sup>1</td><td colspan="2">Decimal Encoding</td>
<td></td><td></td><td>A3</td><td>A2</td><td>B2</td><td>B1</td><td>A1</td><td><sup>d</sup>2</td><td>gave</td>
<td> 0</td><td> 0</td><td> 0</td><td> 0</td><td> 0</td><td> 0</td><td> 0</td><td> 0</td><td> 0</td>
<td> 1</td><td> 0</td><td> 0</td><td> 0</td><td> 0</td><td> 0</td><td> 1</td><td> 0</td><td> 1</td>
<td> 2</td><td> 0</td><td> 0</td><td> 0</td><td> 0</td><td> 0</td><td> 2</td><td> 0</td><td> 2</td>
<td> 3</td><td> 0</td><td> 0</td><td> 0</td><td> 0</td><td> 0</td><td> 3</td><td> 0</td><td> 3</td>
<td> 4</td><td> 0</td><td> 0</td><td> 0</td><td> 0</td><td> 0</td><td> 4</td><td> 0</td><td> 4</td>
<td> 5</td><td> 0</td><td> 0</td><td> 0</td><td> 0</td><td> 0</td><td> 5</td><td> 0</td><td> 5</td>
<td> 6</td><td> 0</td><td> 0</td><td> 0</td><td> 0</td><td> 0</td><td> 6</td><td> 0</td><td> 6</td>
<td> 7</td><td> 0</td><td> 0</td><td> 0</td><td> 0</td><td> 0</td><td> 7</td><td> 0</td><td> 7</td>
<td> 8</td><td> 0</td><td> 0</td><td> 0</td><td> 0</td><td> 0</td><td> 8</td><td> 0</td><td> 8</td>
<td> 9</td><td> 0</td><td> 0</td><td> 0</td><td> 0</td><td> 0</td><td> 9</td><td> 0</td><td> 9</td>
<td> 10</td><td> 0</td><td> 0</td><td> 1</td><td> 0</td><td> 0</td><td> 0</td><td> 4</td><td> 0</td>
<td> 11</td><td> 0</td><td> 0</td><td> 1</td><td> 0</td><td> 0</td><td> 1</td><td> 4</td><td> 1</td>
<td> 12</td><td> 0</td><td> 0</td><td> 1</td><td> 0</td><td> 0</td><td> 2</td><td> 4</td><td> 2</td>
<td> 13</td><td> 0</td><td> 0</td><td> 1</td><td> 0</td><td> 0</td><td> 3</td><td> 4</td><td> 3</td>
<td> 14</td><td> 0</td><td> 0</td><td> 1</td><td> 0</td><td> 0</td><td> 4</td><td> 4</td><td> 4</td>
<td> 15</td><td> 0</td><td> 0</td><td> 1</td><td> 0</td><td> 0</td><td> 5</td><td> 4</td><td> 5</td>
<td> 16</td><td> 0</td><td> 0</td><td> 1</td><td> 0</td><td> 0</td><td> 6</td><td> 4</td><td> 6</td>
<td> 17</td><td> 0</td><td> 0</td><td> 1</td><td> 0</td><td> 0</td><td> 7</td><td> 4</td><td> 7</td>
<td> 18</td><td> 0</td><td> 0</td><td> 1</td><td> 0</td><td> 0</td><td> 8</td><td> 4</td><td> 8</td>
<td> 19</td><td> 0</td><td> 0</td><td> 1</td><td> 0</td><td> 0</td><td> 9</td><td> 4</td><td> 9</td>
<td> 20</td><td> 0</td><td> 1</td><td> 0</td><td> 0</td><td> 0</td><td> 0</td><td> 8</td><td> 0</td>
<td> 21</td><td> 0</td><td> 1</td><td> 0</td><td> 0</td><td> 0</td><td> 1</td><td> 8</td><td> 1</td>
<td> 22</td><td> 0</td><td> 1</td><td> 0</td><td> 0</td><td> 0</td><td> 2</td><td> 8</td><td> 2</td>
<td> 23</td><td> 0</td><td> 1</td><td> 0</td><td> 0</td><td> 0</td><td> 3</td><td> 8</td><td> 3</td>
<td> 24</td><td> 0</td><td> 1</td><td> 0</td><td> 0</td><td> 0</td><td> 4</td><td> 8</td><td> 4</td>
<td> 0</td><td> 1</td><td> 0</td><td> 0</td><td> 0</td><td> 1</td><td> 0</td><td> 1</td><td> 0</td>
<td> 1</td><td> 1</td><td> 0</td><td> 0</td><td> 0</td><td> 1</td><td> 1</td><td> 1</td><td> 1</td>
<td> 2</td><td> 1</td><td> 0</td><td> 0</td><td> 0</td><td> 1</td><td> 2</td><td> 1</td><td> 2</td>
<td> 3</td><td> 1</td><td> 0</td><td> 0</td><td> 0</td><td> 1</td><td> 3</td><td> 1</td><td> 3</td>
<td> 4</td><td> 1</td><td> 0</td><td> 0</td><td> 0</td><td> 1</td><td> 4</td><td> 1</td><td> 4</td>
<td> 5</td><td> 1</td><td> 0</td><td> 0</td><td> 0</td><td> 1</td><td> 5</td><td> 1</td><td> 5</td>
<td> 6</td><td> 1</td><td> 0</td><td> 0</td><td> 0</td><td> 1</td><td> 6</td><td> 1</td><td> 6</td>
<td> 7</td><td> 1</td><td> 0</td><td> 0</td><td> 0</td><td> 1</td><td> 7</td><td> 1</td><td> 7</td>
<td> 8</td><td> 1</td><td> 0</td><td> 0</td><td> 0</td><td> 1</td><td> 8</td><td> 1</td><td> 8</td>
<td> 9</td><td> 1</td><td> 0</td><td> 0</td><td> 0</td><td> 1</td><td> 9</td><td> 1</td><td> 9</td>
<td> 10</td><td> 1</td><td> 0</td><td> 1</td><td> 0</td><td> 1</td><td> 0</td><td> 5</td><td> 0</td>
<td> 11</td><td> 1</td><td> 0</td><td> 1</td><td> 0</td><td> 1</td><td> 1</td><td> 5</td><td> 1</td>
<td> 12</td><td> 1</td><td> 0</td><td> 1</td><td> 0</td><td> 1</td><td> 2</td><td> 5</td><td> 2</td>
<td> 13</td><td> 1</td><td> 0</td><td> 1</td><td> 0</td><td> 1</td><td> 3</td><td> 5</td><td> 3</td>
<td> 14</td><td> 1</td><td> 0</td><td> 1</td><td> 0</td><td> 1</td><td> 4</td><td> 5</td><td> 4</td>
<td> 15</td><td> 1</td><td> 0</td><td> 1</td><td> 0</td><td> 1</td><td> 5</td><td> 5</td><td> 5</td>
<td> 16</td><td> 1</td><td> 0</td><td> 1</td><td> 0</td><td> 1</td><td> 6</td><td> 5</td><td> 6</td>
<td> 17</td><td> 1</td><td> 0</td><td> 1</td><td> 0</td><td> 1</td><td> 7</td><td> 5</td><td> 7</td>
<td> 18</td><td> 1</td><td> 0</td><td> 1</td><td> 0</td><td> 1</td><td> 8</td><td> 5</td><td> 8</td>
<td> 19</td><td> 1</td><td> 0</td><td> 1</td><td> 0</td><td> 1</td><td> 9</td><td> 5</td><td> 9</td>
<td> 20</td><td> 1</td><td> 1</td><td> 0</td><td> 0</td><td> 1</td><td> 0</td><td> 9</td><td> 0</td>
<td> 21</td><td> 1</td><td> 1</td><td> 0</td><td> 0</td><td> 1</td><td> 1</td><td> 9</td><td> 1</td>
<td> 22</td><td> 1</td><td> 1</td><td> 0</td><td> 0</td><td> 1</td><td> 2</td><td> 9</td><td> 2</td>
<td> 23</td><td> 1</td><td> 1</td><td> 0</td><td> 0</td><td> 1</td><td> 3</td><td> 9</td><td> 3</td>
ES 2 139 001 T3 (Continued)
<td>DAi, DA2</td><td>DB</td><td colspan="3"><sup>d</sup>2</td><td colspan="2"><sup>d</sup>1</td><td colspan="2">Decimal Encoding</td>
<td></td><td></td><td>A3</td><td>A2</td><td>B2</td><td>B1</td><td>A1</td><td><sup>d</sup>2</td><td>gave</td>
<td> 24</td><td> 1</td><td> 1</td><td> 0</td><td> 0</td><td> 1</td><td> 4</td><td> 9</td><td> 4</td>
<td> 0</td><td> 2</td><td> 0</td><td> 0</td><td> 1</td><td> 0</td><td> 0</td><td> 2</td><td> 0</td>
<td> 1</td><td> 2</td><td> 0</td><td> 0</td><td> 1</td><td> 0</td><td> 1</td><td> 2</td><td> 1</td>
<td> 2</td><td> 2</td><td> 0</td><td> 0</td><td> 1</td><td> 0</td><td> 2</td><td> 2</td><td> 2</td>
<td> 3</td><td> 2</td><td> 0</td><td> 0</td><td> 1</td><td> 0</td><td> 3</td><td> 2</td><td> 3</td>
<td> 4</td><td> 2</td><td> 0</td><td> 0</td><td> 1</td><td> 0</td><td> 4</td><td> 2</td><td> 4</td>
<td> 5</td><td> 2</td><td> 0</td><td> 0</td><td> 1</td><td> 0</td><td> 5</td><td> 2</td><td> 5</td>
<td> 6</td><td> 2</td><td> 0</td><td> 0</td><td> 1</td><td> 0</td><td> 6</td><td> 2</td><td> 6</td>
<td> 7</td><td> 2</td><td> 0</td><td> 0</td><td> 1</td><td> 0</td><td> 7</td><td> 2</td><td> 7</td>
<td> 8</td><td> 2</td><td> 0</td><td> 0</td><td> 1</td><td> 0</td><td> 8</td><td> 2</td><td> 8</td>
<td> 9</td><td> 2</td><td> 0</td><td> 0</td><td> 1</td><td> 0</td><td> 9</td><td> 2</td><td> 9</td>
<td> 10</td><td> 2</td><td> 0</td><td> 1</td><td> 1</td><td> 0</td><td> 0</td><td> 6</td><td> 0</td>
<td> 11</td><td> 2</td><td> 0</td><td> 1</td><td> 1</td><td> 0</td><td> 1</td><td> 6</td><td> 1</td>
<td> 12</td><td> 2</td><td> 0</td><td> 1</td><td> 1</td><td> 0</td><td> 2</td><td> 6</td><td> 2</td>
<td> 13</td><td> 2</td><td> 0</td><td> 1</td><td> 1</td><td> 0</td><td> 3</td><td> 6</td><td> 3</td>
<td> 14</td><td> 2</td><td> 0</td><td> 1</td><td> 1</td><td> 0</td><td> 4</td><td> 6</td><td> 4</td>
<td> 15</td><td> 2</td><td> 0</td><td> 1</td><td> 1</td><td> 0</td><td> 5</td><td> 6</td><td> 5</td>
<td> 16</td><td> 2</td><td> 0</td><td> 1</td><td> 1</td><td> 0</td><td> 6</td><td> 6</td><td> 6</td>
<td> 17</td><td> 2</td><td> 0</td><td> 1</td><td> 1</td><td> 0</td><td> 7</td><td> 6</td><td> 7</td>
<td> 18</td><td> 2</td><td> 0</td><td> 1</td><td> 1</td><td> 0</td><td> 8</td><td> 6</td><td> 8</td>
<td> 19</td><td> 2</td><td> 0</td><td> 1</td><td> 1</td><td> 0</td><td> 9</td><td> 6</td><td> 9</td>
<td> 20</td><td> 2</td><td> 1</td><td> 0</td><td> 0</td><td> 0</td><td> 5</td><td> 8</td><td> 5</td>
<td> 21</td><td> 2</td><td> 1</td><td> 0</td><td> 0</td><td> 0</td><td> 6</td><td> 8</td><td> 6</td>
<td> 22</td><td> 2</td><td> 1</td><td> 0</td><td> 0</td><td> 0</td><td> 7</td><td> 8</td><td> 7</td>
<td> 23</td><td> 2</td><td> 1</td><td> 0</td><td> 0</td><td> 0</td><td> 8</td><td> 8</td><td> 8</td>
<td> 24</td><td> 2</td><td> 1</td><td> 0</td><td> 0</td><td> 0</td><td> 9</td><td> 8</td><td> 9</td>
<td> 0</td><td> 3</td><td> 0</td><td> 0</td><td> 1</td><td> 1</td><td> 0</td><td> 3</td><td> 0</td>
<td> 1</td><td> 3</td><td> 0</td><td> 0</td><td> 1</td><td> 1</td><td> 1</td><td> 3</td><td> 1</td>
<td> 2</td><td> 3</td><td> 0</td><td> 0</td><td> 1</td><td> 1</td><td> 2</td><td> 3</td><td> 2</td>
<td> 3</td><td> 3</td><td> 0</td><td> 0</td><td> 1</td><td> 1</td><td> 3</td><td> 3</td><td> 3</td>
<td> 4</td><td> 3</td><td> 0</td><td> 0</td><td> 1</td><td> 1</td><td> 4</td><td> 3</td><td> 4</td>
<td> 5</td><td> 3</td><td> 0</td><td> 0</td><td> 1</td><td> 1</td><td> 5</td><td> 3</td><td> 5</td>
<td> 6</td><td> 3</td><td> 0</td><td> 0</td><td> 1</td><td> 1</td><td> 6</td><td> 3</td><td> 6</td>
<td> 7</td><td> 3</td><td> 0</td><td> 0</td><td> 1</td><td> 1</td><td> 7</td><td> 3</td><td> 7</td>
<td> 8</td><td> 3</td><td> 0</td><td> 0</td><td> 1</td><td> 1</td><td> 8</td><td> 3</td><td> 8</td>
<td> 9</td><td> 3</td><td> 0</td><td> 0</td><td> 1</td><td> 1</td><td> 9</td><td> 3</td><td> 9</td>
<td> 10</td><td> 3</td><td> 0</td><td> 1</td><td> 1</td><td> 1</td><td> 0</td><td> 7</td><td> 0</td>
<td> 11</td><td> 3</td><td> 0</td><td> 1</td><td> 1</td><td> 1</td><td> 1</td><td> 7</td><td> 1</td>
<td> 12</td><td> 3</td><td> 0</td><td> 1</td><td> 1</td><td> 1</td><td> 2</td><td> 7</td><td> 2</td>
<td> 13</td><td> 3</td><td> 0</td><td> 1</td><td> 1</td><td> 1</td><td> 3</td><td> 7</td><td> 3</td>
<td> 14</td><td> 3</td><td> 0</td><td> 1</td><td> 1</td><td> 1</td><td> 4</td><td> 7</td><td> 4</td>
<td> 15</td><td> 3</td><td> 0</td><td> 1</td><td> 1</td><td> 1</td><td> 5</td><td> 7</td><td> 5</td>
<td> 16</td><td> 3</td><td> 0</td><td> 1</td><td> 1</td><td> 1</td><td> 6</td><td> 7</td><td> 6</td>
<td> 17</td><td> 3</td><td> 0</td><td> 1</td><td> 1</td><td> 1</td><td> 7</td><td> 7</td><td> 7</td>
<td> 18</td><td> 3</td><td> 0</td><td> 1</td><td> 1</td><td> 1</td><td> 8</td><td> 7</td><td> 8</td>
<td> 19</td><td> 3</td><td> 0</td><td> 1</td><td> 1</td><td> 1</td><td> 9</td><td> 7</td><td> 9</td>
<td> 20</td><td> 3</td><td> 1</td><td> 0</td><td> 0</td><td> 1</td><td> 5</td><td> 9</td><td> 5</td>
<td> 21</td><td> 3</td><td> 1</td><td> 0</td><td> 0</td><td> 1</td><td> 6</td><td> 9</td><td> 6</td>
<td> 22</td><td> 3</td><td> 1</td><td> 0</td><td> 0</td><td> 1</td><td> 7</td><td> 9</td><td> 7</td>
<td> 23</td><td> 3</td><td> 1</td><td> 0</td><td> 0</td><td> 1</td><td> 8</td><td> 9</td><td> 8</td>
<td> 24</td><td> 3</td><td> 1</td><td> 0</td><td> 0</td><td> 1</td><td> 9</td><td> 9</td><td> 9</td>
ES 2 139 001 T3
Note that if the weights of the bits A3, A2, B2 and B1 are 20, 10, 50 and 25, the weighted sum of the bits plus the digit A1 follows a correct sequence from 0 to 99, for the above table as a For example, with the exception of combinations of weighted sums 70 to 74 and 95 to 99, which have weighted sums 25 to 29 and 50 to 54, respectively. This results in the preceding loo sequence that recognizes that DA1 never exceeds the value 4. This is used to advantage to keep digit d2 within a binary-coded decimal value from 0 to 9 by substituting a 1 in B2 for a 0 and adding 5 to A1, thus resulting in the difference of 5 - 50 = -45 between the expected value 70 and the resulting value 25 and between the expected value 95 and the resulting value 50, for example. As shown in the logical sequence above, simple tests can determine the correct encoding and decoding.
In summary, the apparatus and methods described allow a user to record additional information associated with a print or broadcast advertisement, which will subsequently be broadcast on a television channel. The user enters the digital code (code I) associated with an advertisement in a unit that has decoding means that automaotically converts the code I into channel, time and duration (CTL) information. The unit, within a 24 hour period, activates a video cassette recorder to record information from the television channel at the correct start time for the correct duration. Additional information could be broadcast on a television channel early in the morning, for example between midnight and 6 a.m., when the cost of airtime is low and it is economical to broadcast detailed information or advertisements for many products, such as such as automobiles, real estate, and movie previews. The user can then view this information at his convenience. This invention allowed the user an unprecedented ability to control access to desired information without having to continually keep an eye on television. The invention also created novel and inexpensive means for advertisers to display their goods and services.
Contents24
29 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24 Sheet 25 Sheet 26 Sheet 27 Sheet 28 Sheet 29
116 members in 21 offices
Priority claims9
| Document | Office | Kind | Date |
|---|---|---|---|
| 19910806152 | United States of America | – | |
| 80615291 | United States of America | A | |
| 80615291 | United States of America | A | |
| 1992US10750 | World Intellectual Property Organization (WIPO) | – | |
| 9210750 | United States of America | W | |
| 9210750 | United States of America | W | |
| 806152 | – | – | – |
| US19910806152 | – | – | – |
| WO1992US10750 | – | – | – |
Members116
| Document | Office | Kind | |
|---|---|---|---|
| CA2005070A1 | Canada | A1 | |
| WO9007844A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU4942090A | Australia | A | |
| KR910700585A | Republic of Korea | A | |
| BR8907869A | Brazil | A | |
| EP0449985A1 | European Patent Office (EPO) | A1 | |
| JPH04502681A | Japan | A | |
| CN1071038A | China | A | |
| CA2120255A1 | Canada | A1 | |
| WO9307711A1 | World Intellectual Property Organization (WIPO) | A1 | |
| EP0449985A4 | European Patent Office (EPO) | A4 | |
| AU2797192A | Australia | A | |
| CA2117334A1 | Canada | A1 | |
| CA2586243A1 | Canada | A1 | |
| CA2633629A1 | Canada | A1 | |
| WO9312612A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU3248993A | Australia | A | |
| CA2134344A1 | Canada | A1 | |
| WO9322872A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU4226993A | Australia | A | |
| CN1083999A | China | A | |
| US5307173A | United States of America | A | |
| AU648980B2 | Australia | B2 | |
| TW224529B | Taiwan Province of China | B | |
| AU5781194A | Australia | A | |
| WO9416523A1 | World Intellectual Property Organization (WIPO) | A1 | |
| HUT65600A | Hungary | A | |
| US5335079A | United States of America | A | |
| AU5964194A | Australia | A | |
| MX9400257A | Mexico | A | |
| EP0619058A1 | European Patent Office (EPO) | A1 | |
| EP0632949A4 | European Patent Office (EPO) | A4 | |
| TW234223B | Taiwan Province of China | B | |
| EP0619058A4 | European Patent Office (EPO) | A4 | |
| EP0632949A1 | European Patent Office (EPO) | A1 | |
| JPH07500443A | Japan | A | |
| WO9508242A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU7799994A | Australia | A | |
| NZ244444A | New Zealand | A | |
| JPH07505026A | Japan | A | |
| TW252259B | Taiwan Province of China | B | |
| JPH07508848A | Japan | A | |
| WO9531871A1 | World Intellectual Property Organization (WIPO) | A1 | |
| AU2515295A | Australia | A | |
| US5475382A | United States of America | A | |
| AU665707B2 | Australia | B2 | |
| EP0715797A4 | European Patent Office (EPO) | A4 | |
| EP0715797A1 | European Patent Office (EPO) | A1 | |
| US5532732A | United States of America | A | |
| MY108355A | Malaysia | A | |
| CN1152986A | China | A | |
| PL172141B1 | Poland | B1 | |
| EP0449985B1 | European Patent Office (EPO) | B1 | |
| AT162677T | Austria | T | |
| ATE162677T1 | Austria | T1 | |
| TW327476U | Taiwan Province of China | U | |
| DE68928562D1 | Germany | D1 | |
| ES2112251T3 | Spain | T3 | |
| SG48215A1 | Singapore | A1 | |
| DE68928562T2 | Germany | T2 | |
| CN1040494C | China | C | |
| KR0148346B1 | Republic of Korea | B1 | |
| RU2126600C1 | Russian Federation | C1 | |
| TW354210U | Taiwan Province of China | U | |
| CA2005070C | Canada | C | |
| EP0938232A2 | European Patent Office (EPO) | A2 | |
| US5970206A | United States of America | A | |
| US5974222A | United States of America | A | |
| EP0619058B1 | European Patent Office (EPO) | B1 | |
| AT186435T | Austria | T | |
| ATE186435T1 | Austria | T1 | |
| DE69230261D1 | Germany | D1 | |
| ES2139001T3This record | Spain | T3 | |
| SG70566A1 | Singapore | A1 | |
| DK0619058T3 | Denmark | T3 | |
| US6049652A | United States of America | A | |
| CN1052605C | China | C | |
| DE69230261T2 | Germany | T2 | |
| US6091882A | United States of America | A | |
| EP0938232A3 | European Patent Office (EPO) | A3 | |
| EP0632949B1 | European Patent Office (EPO) | B1 | |
| EP1098520A2 | European Patent Office (EPO) | A2 | |
| DE69231813D1 | Germany | D1 | |
| DK0632949T3 | Denmark | T3 | |
| US2001024566A1 | United States of America | A1 | |
| ES2159509T3 | Spain | T3 | |
| US2002006267A1 | United States of America | A1 | |
| CA2120255C | Canada | C | |
| EP1098520A3 | European Patent Office (EPO) | A3 | |
| DE69231813T2 | Germany | T2 | |
| US6430358B1 | United States of America | B1 | |
| US6430359B1 | United States of America | B1 | |
| US6466734B2 | United States of America | B2 | |
| JP2003052000A | Japan | A | |
| US6549719B2 | United States of America | B2 | |
| ES2184655T1 | Spain | T1 | |
| DE1098520T1 | Germany | T1 | |
| US2003152367A1 | United States of America | A1 | |
| JP3474565B2 | Japan | B2 | |
| US6668133B2 | United States of America | B2 |
1 legal event, as the office reported them to INPADOC
Events
| Event | Code | |
|---|---|---|
| Definitive protectionFG2A | FG2A |
Numbers
- Publication
- 2139001
- Publication, DOCDB
- 2139001
- Publication, EPODOC
- ES2139001T
- Application
- 93900150
- Application, DOCDB
- 93900150
- Application, EPODOC
- ES19930900150T
Titles2
- Spanish
- APARATO Y METODO QUE USA DATOS COMPRIMIDOS PARA PROGRAMAR EL REGISTRO DE LA INFORMACION DE EMISION.
- English
- DEVICE AND METHOD THAT USES COMPRESSED DATA TO SCHEDULE THE RECORDING OF ISSUE INFORMATION.
Classification
- CPC, 5
- G11B15/023
- G11B15/026
- H01H9/025
- H04N5/775
- H04N5/782
- IPC, 8
- H04N5 765
- G11B15 02
- G11B31 00
- H01H9 02
- H04N5 76
- H04N5 761
- H04N5 782
- H04N5 7826