WO1996012371A1 - Apparatus for scanning television program scheduling information - Google Patents

Apparatus for scanning television program scheduling information Download PDF

Info

Publication number
WO1996012371A1
WO1996012371A1 PCT/US1995/013471 US9513471W WO9612371A1 WO 1996012371 A1 WO1996012371 A1 WO 1996012371A1 US 9513471 W US9513471 W US 9513471W WO 9612371 A1 WO9612371 A1 WO 9612371A1
Authority
WO
WIPO (PCT)
Prior art keywords
image
information
scanned image
compressed code
scanned
Prior art date
Application number
PCT/US1995/013471
Other languages
French (fr)
Inventor
Henry C. Yuen
Original Assignee
Gemstar Development Corporation
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Gemstar Development Corporation filed Critical Gemstar Development Corporation
Priority to AU40046/95A priority Critical patent/AU4004695A/en
Publication of WO1996012371A1 publication Critical patent/WO1996012371A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/765Interface circuits between an apparatus for recording and another apparatus
    • H04N5/775Interface circuits between an apparatus for recording and another apparatus between a recording apparatus and a television receiver
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/76Television signal recording
    • H04N5/78Television signal recording using magnetic recording
    • H04N5/782Television signal recording using magnetic recording on tape
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/08Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division
    • H04N7/087Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only
    • H04N7/088Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only the inserted signal being digital
    • H04N7/0887Systems for the simultaneous or sequential transmission of more than one television signal, e.g. additional information signals, the signals occupying wholly or partially the same frequency band, e.g. by time division with signal insertion during the vertical blanking interval only the inserted signal being digital for the transmission of programme or channel identifying signals

Definitions

  • This invention relates generally to video cassette recorder systems and particularly to an apparatus and method for entry of encoded information using an optical character reader to shorten the time required to perform preprogramming of video cassette recorders (VCR).
  • VCR video cassette recorders
  • VCR video cassette recorder
  • This preprogramming feature of the VCR provides the ability to record a television program without the need for a VCR user to be available to place the VCR in record mode at the start of a program's broadcast.
  • the following two-step process is often used to use the preprogramming feature: (1) obtain the correct channel, date, time and length (CDTL) information from a television program guide, and (2) program this CDTL information into the VCR.
  • the second step entails multiple entry steps and entry procedures that are not standard across the many makes and models of VCRs. The entry procedures are not intuitively obvious to a VCR user.
  • the VCR user typically must use a keyboard of the VCR or keyboard of a remote controller device and follow the programming procedures developed by a VCR manufacturer to program the VCR to record a program at a future time. Because the programming procedures are not that obvious and require a number of keystrokes to enter the programming information, the preprogramming feature of the VCR is quite often not used.
  • a compressed code is a result of encoding a set of individual program channel, date, start time, and length values. Each code is compressed in that its length is shorter than the length of the concatenation of the individual program channel, date, time and length values.
  • the encoding of the compressed codes is done prior to preparation of the television program guide that publishes the codes, such as the PlusCode TM compressed codes.
  • the codes such as the PlusCode TM compressed codes.
  • the channel, date, time, and length values for the compressed code are entered in the computer.
  • the computer uses a "priority vector" and a "bit hierarchy key” to assign a number, typically 1 to 8 digits in length, based on the statistical popularity of the channel, time and length of each program. Shorter length compressed codes can therefore be assigned to programs that, for example, are broadcast on the more popular channels at the popular times.
  • the ' 173 patent further discloses the ability to decode a compressed code entered by a user.
  • Decoding of a compressed code is essentially the reverse of encoding.
  • a decoding device is used to decode the compressed code.
  • the decoding device of the '173 patent can be located in the VCR, for example.
  • a compressed code entered by a user is decoded using the decoding device to obtain the CDTL information.
  • the CDTL information is then used to program the VCR for preprogrammed recording.
  • the '173 patent discloses the ability to locate the decoding device in different equipment such as a television, cable box, satellite receiver, and various remote controllers. Further, details of methods and apparatus for encoding and decoding compressed codes and using decoded compressed code information for VCR preprogrammed recording are more fully explained in the '173 patent.
  • a significant advantage of compressed codes over the method of entering channel, date, time, and length information is the reduction in the number of keystrokes needed to enter preprogramming information. Additional advantages can be gained by further simplifying the entry of preprogramming information by reducing the number of keystrokes needed to enter this information.
  • the present invention provides an alternative to keyboard entry of programming information encoded as compressed codes and of setup data by using an optical character reader in place of the keyboard.
  • a compressed code printed in a program guide is scanned using an optical character reader to create a digitized image of the code.
  • An optical character recognizer is used to convert the image into a numeric representation of the compressed code.
  • the set of numbers output by the optical character recognizer is then available for use in the same manner as a code entered via the keyboard.
  • the print image contained in the programming guide can include two tapered alignment characters on either end of the compressed code. The alignment characters are used to verify that the scanning device is aligned with the printed code.
  • FIG. 1 is a schematic showing a preferred embodiment according to this invention using a scanning device for scanned entry.
  • FIG. 2 is a schematic showing an alternate embodiment according to this invention using a scanning device for scanned entry transmitted via infrared transmission to a remote controller with an embedded decoder means.
  • FIG. 3 is a schematic showing a preferred embodiment according to this invention in which a scanning device is incorporated into the remote controller of FIG. 2.
  • FIG. 3 A is a bottom view of the apparatus of FIG. 3 showing the scanning elements.
  • FIG. 4 provides an illustration of a print image including a compressed code.
  • FIG. 5 is a block diagram of the remote controllers of FIGS. 1-3A.
  • FIG. 6 is a flow chart for processing compressed code input from a scanning device.
  • FIG. 7 provides an illustration of a print image including a compressed code and alignment characters.
  • FIG. 7 A provides an illustration of alignment characters included in the print image illustrated in FIG. 7.
  • FIG. 8 provides an illustration of a scanned image including a compressed code and alignment characters where alignment varies from an expected alignment.
  • FIG. 8A provides an illustration of an alignment of FIG. 8 and an expected image of the alignment character of FIG. 8.
  • FIG. 8B provides an illustration of corner portions of the alignment characters of FIG. 8A.
  • FIG. 8C provides an illustration of an angular variance between the corner portions of FIG. 8B.
  • FIG. 9 provides an illustration of a scanned image including a compressed code and alignment characters where alignment varies by ninety degrees from an expected alignment.
  • FIGS. 9A-9B are illustrations of the alignment mechanism of FIG. 9.
  • FIG. 10 is a flow diagram of a method for determining the alignment and completeness of a scanned image.
  • FIG. 11 is a flow diagram of a method for downloading initial setup data using the scanning capabilities of the present invention.
  • FIG. 1 there is shown an apparatus for using encoded video cassette recorder (VCR) preprogramming information 10.
  • the primary components include a remote controller 80 with compressed code decoder 82.
  • the compressed code decoder can be located in a VCR 70, which can be controlled by remote controller 80 via a command signal 16.
  • the remote controller 80 has a display 84, numerical keys 20, compressed code switch 22, function keys 24, program key 26 and power key 27. There are means in the remote controller 80 that interpret each key as it is pressed and sends the proper command signal 16 to the VCR via an infrared light emitting diode 28 or by other writable means.
  • the compressed code switch 22 allows the user to lock the remote controller 80 in the compressed code entry mode while entering a compressed code. In the alternative, compressed code switch 22 is a key that is depressed once to indicate entry of a compressed code.
  • Compressed code decoder 82 is provided in remote controller 80 to decode compressed code entries. The compressed code decoder 82 converts the compressed code into CDTL information.
  • the CDTL information is transmitted via light-emitting diode 28 and sensed by photodiode 32.
  • Command signal receiver 30 sends the transmitted information to command controller 36.
  • Command controller 36 uses the CDTL information to set the time/channel programming 40.
  • Clock 42 is used to monitor the date and time to determine the time for time/channel programming 40 function to turn the record/playback 44 function "ON" to record.
  • Tuner 46 is tuned to the proper channel in the television signal input 18 at the same time.
  • command controller 36 keeps the CDTL information instead of sending it to the time/channel programming 40.
  • the remote controller 80 is one example of a remote controller that can be used with the present invention. Other remote controllers such as a universal remote controller can be used as well.
  • the '173 patent discloses different remote controls for use in VCR preprogramming, and the inclusion of the compressed code decoder 82 in various equipment such as the VCR, television, cable box, and satellite receiver.
  • Many VCRs provide on-screen programming where the prompting messages are displayed on a screen such as the television screen. The user's input is also displayed on the screen for review by the user.
  • a typical keying sequence for entering programming information for timer recording using on-screen programming is as follows:
  • the first program (PROG) key 26 enters the programming mode. Then a sequence of numerical keys 20 are pushed. The 2 means it is timer recording rather man lime setting. The 1 means the user is now entering the settings for program 1. The 15 is the date. The
  • the programming information is encoded and provided in a program guide, for example.
  • the compressed code switch 22 is placed in the "ON" position, for example.
  • scanning means 12 is connected to remote control 80 via a cable 14.
  • Scanner 12 can be, for example, of the type currently available from numerous manufacturers offering various models that are readily available.
  • FIG. 2 illustrates scanning device 16 according to an alternate embodiment of the present invention. Scanning device 16 is essentially the same as scanning device 12 with the exception of the connection to remote controller 80. Instead of the hardwired connection 14, scanning device 16 includes an infrared transmitter 45 to transmit infrared signals to an infrared signal receiver 47 of remote controller 81. Except for the ability to receive infrared signals via infrared receiver 47, remote controller 81 operates in a similar manner to remote controller 80.
  • the remote controller and the scanning device are combined.
  • One example of a remote controller having a scanning means incorporated therewith is illustrated in FIG. 3.
  • the remote controller with scanner 50 includes an extended housing that includes a scanning device with window 52 for print image viewing and scan button 58, for operation.
  • the extended housing further includes a scanning component 54 which is located near window 52.
  • the scanning component 54 is, for example, an array of charge-coupled devices (CCDs) that detect the reflective light projected onto the print image by a light source 60.
  • CCDs charge-coupled devices
  • rollers 56 located on the back of remote controller 50 allow remote controller 50 to be able to roll smoothly over the surface carrying the print image. Other techniques that allow a smooth transport over a print image are also possible.
  • the compressed code programming entry sequence using the keyboard of the remote control 80 is: switch compressed code switch 22 to "ON" position, key in compressed code, press "PROG".
  • the entry sequence becomes: switch the compressed code switch 22 to the "ON" position, scan the compressed code print image, and press "PROG".
  • the entry sequence used with scanned entry is not limited to this entry sequence. Other entry sequences, for example, eliminate the need for any keyboard entry.
  • the compressed code switch and "PROG" key sequence can be eliminated.
  • the compressed code switch is used to identify the beginning of a compressed code entry sequence.
  • the "PROG" key is entered after the compressed code entry to indicate the end of the entry sequence.
  • PROG act as delimiters for the compressed code to identify the beginning and end of a compressed code.
  • the compressed code switch also indicates the type of input that is to be received from the keyboard. Since the keyboard can be used to enter information other than compressed code programming information, these delimiters are used to identify the entry of a compressed code as opposed to another type of entry. These delimiting key strokes are expendable when, for example, the print image to be scanned contains both the compressed code and the delimiters. Different delimiters are used, for example, to distinguish different types of scanned input where multiple types of scanned input are possible.
  • FIG. 4 illustrates a print image 68.
  • Print image 68 includes alignment and/or delimiter characters 62 and 64 that are positioned at the beginning and end of a compressed code print image 66, for example.
  • Left alignment character 62 and right alignment character are positioned at the beginning and end of a compressed code print image 66, for example.
  • 64 are shown as different characters. However, the same character can be used for the left and right alignment characters.
  • delimiting characters are positioned on either side of the compressed code in the print image.
  • a single delimiting character can be used on one side, for example, the right side of the compressed code print image.
  • the initial input from the scanning device indicates the beginning of the compressed code sequence.
  • the delimiting characters provide definite bounds for the compressed code. Further, where the scanner entry capability of the present invention is used to enter information other than compressed codes, different delimiting characters are used to, for example, identify the type of information being scanned. Using the delimiting character(s), the entry sequence involves performing a scan of the print image that includes the delimiting characters. There is no need to indicate the beginning and end of the compressed code entry sequence using keyboard entry.
  • the scanners such as scanner 50 (FIG. 3) includes an array of charge-coupled devices (CCDs) 54 (FIG. 3A), a built-in light source 60, and a scan button 58.
  • the light from source 60 is projected onto the print image.
  • the projected light is reflected from the image to the CCD array 54.
  • the CCD array 54 detects the amount of light reflecting from each area of the print image to determine the relative brightness features of the print image.
  • a bitmap is generated that indicates the location of each area (e.g., bit or pixel) of the print image and its corresponding shade or color characteristics. Any other method of generating a digitized image of the print image can be used in conjunction with the present invention.
  • FIG. 5 is a diagram of the components in the remote controllers, such as for remote controller 50 that has the capability to accept scanner input and translate a scanned image into a textual format.
  • the scanner 52 is used to scan the compressed code printed image.
  • Controller 50 includes a microcomputer 72 having a CPU 76, Random Access Memory (RAM) 74, and Read-Only Memory (ROM) 78.
  • the microcomputer 72 may also serve as the microcomputer for decoding the compressed codes when located in the device that has the decoding capability.
  • ROM 78 includes OCR software for translating the scanned image into a textual format. Further, ROM 78 includes a stored image for each character in the character set. The character set contains the valid characters of a compressed code such as numbers 0-9 and any alignment characters. Other characters, such as alphabetic characters, can be included in the character set stored in ROM 78. A stored image of a character varies based on, for example, the font and pitch used to reproduce the character. To reduce the amount of ROM storage needed, the font and/or pitch used to generate the print image can be standardized to one or two such combinations. Further, the standard selected is preferably one that optimizes character recognition (i.e., translation from graphical to textual format).
  • the digitized image provided by scanner 12, 16 or 52 and stored in RAM 74 is a bitmap of the print image that contains the characteristics of each bit or pixel in the print image.
  • the bitmap, or pattern of the dots in the digitized image are compared against the stored images to associate the components of the scanned image with a character in the character set.
  • Optical Character Recognition (OCR) software has typically been used to perform this translation.
  • OCR software compares patterns of dots in the digitized image with the dot patterns associated with characters in the character set.
  • the dot patterns associated with characters in the character set can vary with, for example, the font and pitch used to graphically represent the character in the print image and/or the dot patterns of the character set.
  • the group of dots comprising that character in the scanned image is identified to be that character.
  • the output of such a process yields a textual representation of the digitized image.
  • the textual representation is capable of being manipulated by, for example, a textual editor or other types of applications running in a computer system.
  • the textual representation of the compressed code that is produced by OCR is used in the same manner as a compressed code that is entered from the keyboard to provide program recording information (i.e., CDTL information).
  • the OCR software is simplified for a number of reasons.
  • the character set used for the compressed code is a subset of a full character set provided by, for example, the ASCII character set. That is, the compressed code print image consists of, for example, a series of numbers and delimiting, or alignment, characters. Therefore, the number of possible character patterns compared to the digitized image is reduced. Further, the size of the image is limited to the length of the compressed code and any alignment characters.
  • the use of a standardized graphical representation reduces the number of comparisons needed to identify a character.
  • a display 84 provides informational messages (e.g. , error and/or confirmation messages) to the user.
  • Light-emitting diodes 38 illustrated in FIG. 5, are included in the remote controller 80 of FIG. 1 to provide additional information such as warning and/or successful completion indications.
  • a keyboard 88 provides the ability to provide compressed code input and/or other types of input by keying rather than scanning.
  • Infrared transmitter 28 provides infrared transmission capabilities.
  • FIG. 6 is a flow chart of the process by which the compressed code from a scanning device is utilized in the system.
  • a print image of the compressed code is scanned at step 602.
  • the print image preferably contains an alignment, or delimiter, character on either side of the compressed code.
  • the scanner is placed over the print image such that the array of CCD sensors runs parallel with or perpendicular relative to the print image. Where the scanner has a parallel orientation, the scanner is positioned above the print image and scanning is accomplished by running the scanning device from the top of the print image to the bottom. Where the scanner has a vertical orientation relative to the print image, the scanning device is positioned to the left of the print image and scanning is accomplished by running the scanning device along the print image from left to right. Other possibilities are also available.
  • the alignment characters provide the ability to identify the orientation of the scanned image relative to the stored images of the character set, and identify an angular variance between the images.
  • the scan button such as button 58
  • the scan button is depressed to indicate the start of the scan.
  • the scan button is released to indicate the end of scan.
  • the digitized image generated by the scan is transmitted in step 604 to microcomputer 72 at step 604, the digitized image is stored in RAM 74.
  • the alignment character(s) are examined to determine the orientation of and alignment variances in the digitized scan image relative to a stored image of the alignment characters.
  • step 608 a decision of proper alignment is made (i.e., "aligned and complete?"), if the alignment can be determined and any variances corrected and the compressed code is complete, processing continues at step 610 to perform the OCR.
  • processing continues at step 614 to provide an error message and prompt for a valid response.
  • step 616 a determination is made whether input is received or a timeout occurs (i.e., "user input or timeout?"). If a timeout occurs, processing continues at step 618 to revert to its original state such as erasing any informational messages and scanner entry processing is ended at step 638. If a response is detected by step 616, processing continues at step 620. If a response is determined to be other than scanner input by step 620 (i.e. , "scanner input?"), processing continues at step 622 to process the input. Processing ends at step 638. If scanner input is detected by step 620, processing continues at step 606 to perform alignment and input verification.
  • step 610 When valid scanner input is detected by step 608, processing continues at step 610 to perform OCR on the compressed code scanned input. If any errors, such as unrecognizable characters, were detected by step 612 (i.e., "errors during translation?"), processing continues at step 614 to generate informational messages and prompt for a response and processing continues at step 616 to wait for a response or a timeout. If no errors were detected by step 612, processing continues at step 624. If it is determined that the scanning capability was used to input something other than compressed code input by step 624 (i.e., "input type?"), processing continues at step 626 to process the other input, such as setup information, for example. Types of scanner input is determined by examining the delimiter characters where different delimiters are used to identify an information type. Examples of such input include cable channel information and setup information discussed below. After this input is processed, processing ends at step 638.
  • step 628 i.e., verification enabled?"
  • step 636 processing continues at step 636 to process the compressed code input.
  • the translated version of the compressed code is used the same as a compressed code entered via a keyboard.
  • a scanning device can be used in place of a keyboard to enter a compressed code.
  • step 628 processing continues at step 630 to display the compressed code and prompt for verification.
  • step 632 i.e., "code approved?"
  • step 636 processing continues at step 636 to process the compressed code as discussed above.
  • step 634 processing continues at step 634 to display informational messages to re-enter the compressed code, and processing continues at step 614 to await a response or a timeout.
  • Delimiting characters such as characters 62 and 64 (FIG. 4), provide an orientation perspective that can also be used as alignment indices to determine the alignment of the scanned image relative to a default alignment.
  • the rectangular outline of characters 62 and 64 can be compared against a stored, expected image of characters 62 and 64 to determine any variation in the orientation. If there is a variation, the orientation of the digitized image can be adjusted thereby compensating for any improper alignment of the scanning device and the print image.
  • the delimiting character(s) 62 and 64 serve to verify that the scanner is properly aligned with respect to the print image.
  • Scanned images can contain inconsistencies due to the manner in which they are scanned.
  • a scanned image consisting of a line of characters can be slanted or skewed up or down where the scanner is not oriented correctly initially and/or is not rolled over the print image in a straight line during scanning.
  • the expected image is the image produced by aligning the scanner and CCD array parallel to the print image and running the scanner from the top of the image to the bottom.
  • the orientation of the scanned image is determined and where the orientation does not conform with the orientation of the expected image, the scanned image is either rotated by an angular variance between the scanned and expected image, or the user is informed that an error occurred during scanning (i.e., a variance exists) and the user is given the opportunity to re-enter the information.
  • the scanned image of an alignment character is compared with a stored image of the alignment character to determine any difference in orientation between the two character images. Where possible, an angular difference in orientation between the two images is then used to re-orient the scanned image prior to use. Alternatively, if a difference is found between the two images, an error message is displayed and/or a prompt to indicate one or more acceptable responses can be displayed.
  • FIG. 7 provides an illustration of a print image 140 that includes initial and terminating alignment characters 110 and 112, respectively.
  • FIG. 7A provides an expanded view of alignment characters 110 and 112. Alignment characters 110 and 112 differ from alignment characters 62 and 64 with the inclusion of the circular pattern 144. Pattern 144 is used to locate a specific corner of an alignment character in a scanned image. Corner 148 is compared against the same corner of an expected image to determine the orientation of the entire scanned image.
  • a scanned image such as scanned image 152 of FIG. 8 results that has a slanted orientation that differs from the expected orientation. As illustrated in FIG.
  • the resulting initial alignment character 146 is slanted relative to the expected initial alignment character 110. This is seen in FIG. 8A, for example, by comparing the orientation of the expected initial alignment character with the orientation of the initial alignment character 146. Where the scanned images and expected images are stored as bit map format, such a comparison is performed by comparing bit maps for the alignment character 146 and alignment character 110.
  • the lower left-hand corner of alignment character 146, corner 148 is established by locating a recognizable pattern such as pattern 144. Once the lower left-hand corner 148 of alignment character 146 is located, it is compared against the corresponding comer, comer portion 142, of alignment character 110 (e.g., that portion of alignment character 110 enclosed in box 150).
  • FIG. 8B illustrates co ers 148 and 142 side-by-side with horizontal line 154 extending horizontally from the vertex of the co er portion 142.
  • An angular difference, ⁇ provides an example of an angular difference between the horizontal side of the base 160 of comer portion 148 and base 162 of comer portion 142.
  • FIG. 9 provides another illustration of a scanned entry 156 that results from a scan of the print image 140 where the scanner is positioned such that CCD array is perpendicular to the print image 140.
  • the angular variance is alternatively used to alert a user that an invalid orientation was used.
  • the angular variance results in the generation of informational messages that are output to display 84.
  • the informational messages will alert the user to the need to re-orient the scanner and to attempt another scan of the print image.
  • alignment characters provide information as to whether or not all of the print image has been scanned. Pattern recognition is performed, using a technique such as one described above, to find the expected number of alignment characters. Once the characters are located in the scanned image, a determination is made as to whether the compressed code is contained within the initial and ending alignment characters, where both characters are used.
  • FIG. 10 provides a process flow executed by CPU 76 for determining the alignment and completeness of the scanned entry such as is provided by steps 606 and 1144 in FIGs. 6 and 11.
  • pattern recognition is performed on the scanned image to locate a known pattern in the scanned image such as alignment character 146 in FIG. 8.
  • pattern recognition is performed on only a subset of the scanned entry which can reduce processing time. For example, pattern recognition to locate the initial alignment character 146 is performed on the first quarter of the scanned image.
  • step 1072 i.e., "known pattern found?"
  • the known pattern is not found in the portion of the scanned image examined, the decision to end with an unsuccessful completion at step 1090 is made.
  • FIG. 6 provides an example of further processing performed when alignment and completeness verifications are unsuccessful such as in the case where an alignment character is not found. Where an unsuccessful completion is provided at step 1090, processing continues after step 606 of FIG. 6. In this case, an unsuccessful completion of step 606 results in a negative determination at step 608, and processing continues at step 614 to process the condition by displaying informational messages and processing any subsequent input.
  • step 1072 processing continues at step 1074 to locate the orientation bit pattern such as pattern 144 in FIG. 7 in the character 110.
  • steps 1070 and 1074 are combined as step 1070.
  • the search for pattern 144 is performed to both locate the alignment character and to locate a particular portion of the alignment character.
  • step 1076 i.e., "bit pattern found?"
  • the existence of the bit pattern 144 is determined. Where the bit pattern 144 does not exist, processing continues at step 1090 to return an unsuccessful completion. The unsuccessful completion is processed, for example, as described above. If, at step 1076, the bit pattern 144 is found, processing continues at step 1078 to determine any angular variance between the scanned and expected images of the bit pattern about circle 144.
  • step 1080 i.e., "angular variance?"
  • step 1086 if an angular variance is not found, or the angular variance is determined to be within an acceptable tolerance range, for example, processing continues at step 1086 to perform pattern recognition to locate a terminating alignment character. Otherwise, processing continues at step 1082.
  • step 1082 i.e., "perform re-orientation?”
  • processing returns at step 1090 with an unsuccessful completion. Where this process flow replaces step 606 in FIG. 6 processing branches at step 604 to step 614 (not shown) to output informational messages informing the user of the variance and providing re-entry as an alternative response. If, at step 1082 of FIG.
  • step 1084 determines that re-orientation is to be performed on the scanned entry
  • step 1086 determines the completeness of the scanned entry using a terminating alignment character.
  • pattern recognition is performed on the aligned image to locate the terminating alignment character. As described before, the pattern recognition can be performed on all or a portion of the image to identify the entire character or a pattern within the alignment character such as pattern 144.
  • step 1088 i.e. , "terminating character found?"
  • processing returns with an unsuccessful completion at step 1090. If the terminating alignment character is found at step 1088, successful completion is returned at step 1092.
  • FIG. 10 illustrates one technique for determining the completeness of the scanned image.
  • OCR is performed on the aligned image.
  • the textual representation of the scanned image is then examined to determine the validity of the input. For example, where the content of the textual representation cannot be understood, it is assumed to be incomplete.
  • the length of the textual representation such as the number of digits contained in the textual representation is not equal to a predetermined length value, the scanned entry is determined to be incomplete.
  • both of these alternatives are used to determine the completeness of the scanned entry.
  • the compressed code is decoded to determine the CDTL information.
  • the encoding of the compressed codes can be done on any computer, as explained in the '173 patent for example, and is done prior to preparation of any program guide that would include compressed codes.
  • a channel, date, time and length (CDTL) values are entered into a computer. Priorities associated with the channel, date, time and length are accessed from a priority vector.
  • the channel, date, time and length data are converted to binary numbers.
  • a bit hierarchy key is used to assign an ordering of the binary numbers. Ideally the bit hierarchy key is ordered so that programs most likely to be the subject of preprogramming would have a low value binary number, which would eliminate keystrokes for programming the VCR to record the more popular programs.
  • the encoding technique is the reverse of the encoding technique. Additional details of the encoding and decoding of G-codes are more fully explained in the Prior Application.
  • CDTL information is available for all the normal broadcast channels in the form of numbers including the channel numbers, such as channel 4 or 7.
  • the channel numbers such as channel 4 or 7.
  • HBO, ESPN etc. only the names of the channels are provided in most television listings.
  • To make a compressed code applicable to the cable channels as published by a wide area television guide publication all of the cable channels are assigned a unique number that is valid across the nation, for example. A cable channel's number is published in a television guide publication.
  • An association between a local cable channel and the unique national number is made by entering both numbers into the memory of the VCR, or other video equipment responsible for setting the channel for programmed recording.
  • this association is performed using scanned entry of a print image that is provided in a program guide or along with a product being initialized, for example.
  • the print image includes the cable channel and the associated channel information such as: 06 1
  • a special key such as "SET” key 90 is pressed prior to scanning the image to indicate the start of the entry and the type of information being scanned.
  • the "PROG” key is used to signal the end of the entry sequence.
  • the cable channel address table 102 has the following information.
  • the TV viewer can now select cable channels for viewing by the old way: e.g., pushing the key pad buttons 24 will select HBO.
  • Cable channels are also selectable, for example, by pushing the "CABLE CH” key 92 and the "2" key to designate the unique, national channel number.
  • the advantage of the new way is that the television guide will publish [C2] next to the program description, so the viewer will just look up the assigned channel number identifier instead of having to remember the local cable channel number.
  • the CABLE CHANNEL button is pushed, a table look up is performed on the channel address table 102 to locate the local cable channel number. The local cable channel number located in the channel address table 102 is then used to tune the VCR to the correct channel.
  • the (4679) is the compressed code indication for this particular program which also provides channel information.
  • the viewer need only enter the number 4679 according to the unit's compressed code entry procedure, e.g., PROG scanner entry of 4679 PROG, or PROG 4679 PROG.
  • the compressed code decoder unit will decode this compressed code into "cable channel 2", because an extra channel bit included in the compressed code channel designation is set to " 1 " , for example, which distinguishes that the channel portion of the compressed code designates a national cable channel value. Since the association of "cable channel 2" with channel 24 has been established earlier in the "setting” procedure, the compressed code decoder 82, for example, can perform a look-up in cable channel address table 102 to make the association between the unique, national cable channel number, "2", and the local cable channel "24".
  • the local cable channel, "24" is then used to set the tuner 46 at the appropriate time.
  • the compressed code for that program will be valid in the whole local area, which may have many different cable carriers each of which may have different local cable channel numbers.
  • the decoding and encoding algorithms would include a cable channel priority vector that is used to determine the priority of the cable channel that is being encoded or decoded.
  • the cable channel bit associated with the cable channel being encoded is added in the correct bit position in converting C p D-T-L., information to the binary number.
  • the bit hierarchy key is determined as before to compress the number of bits in the most popular programs and includes the cable channel bit.
  • the '173 patent provides further explanation of an encoding and decoding technique. Most VCR's and cable boxes can be controlled by an infrared remote controller.
  • remote controllers examples include a universal remote controller and the VCR PLUSTM programmer and controller, available in various models, for programming VCRs using compressed codes.
  • VCR PlusTM is a trademark of Gemstar Development Corporation who markets the programmer.
  • Each piece of equipment to be controlled typically has the ability to receive and translate infrared signals, or codes, received from the remote controller.
  • the remote controller is not manufactured by the same manufacturer providing the equipment being controlled, it is necessary to provide input to the remote controller to identify the set of IR signals that are recognizable by the video equipment, for example.
  • IR codes for the words used to control the operations of the VCR, for example, are stored in the memory of the remote controller.
  • this initial information, or setup information is downloaded to the remote controller using the scanning capability of the present invention.
  • the user scans the type and model of his VCR from a print image containing this information.
  • the scanned image is translated to a textual representation and stored in the memory of the remote controller.
  • a representation of the IR codes for the particular make and model of equipment can be contained in the print image that is scanned.
  • the setup information such as IR codes can be stored in ROM 78, and the print image of the setup information is a pointer to a start location in ROM 78 where the setup information is stored.
  • FIG. 11 One example of a process flow is provided in FIG. 11 for entering setup information that is scanned by a scanner connected to a remote controller and the setup information is transmitted to a VCR having a compressed code decoder. The details of the operation of the VCR remote using scanned entry to download setup information are as follows. At step 1140 of FIG.
  • the consumer locates the print image containing the setup information associated with the desired setup such as downloading IR codes for a specific cable box brand.
  • the consumer scans the print image containing the setup information.
  • the digitized image is received by microprocessor 72 and stored in RAM 74 by CPU 76. Where alignment characters are used, step 1144 further verifies alignment of the scanned image relative to a stored image and identifies the type of information scanned using the alignment characters.
  • step 1146 i.e., "aligned and complete?"
  • a determination is made whether errors were detected during the alignment and identification. If errors are detected at step 1146, processing continues at step 1152 to process the errors and processing ends at step 1160.
  • step 1148 OCR is performed on the scanned image stored in RAM 74 to convert the digitized format to a textual format.
  • step 1150 if any error occurs in the conversion step 1148, processing continues at step 1152 to process the error and processing ends at step 1160. If no errors are detected at step 1150, processing continues at step 1154.
  • step 1154 the consumer presses a "send" key or a sequence of keys that triggers the transmission of the converted initial setup data through the IR transmitter to the VCR's IR receiver.
  • step 1156 If it is determined at step 1156 that the data was not received correctly by the VCR, processing continues at step 1154 to provide another opportunity to send the data. Once the data is determined to have been received at step 1156, any unnecessary initial setup data is deleted from the VCR remote at step 1158, and processing ends at step 1160.
  • the IR codes for IR controllable devices other than the cable box are preferably not transmitted to the VCR as they are used by the VCR remote control itself, not the VCR.
  • the converted setup data is stored in RAM of the destination equipment (e.g., VCR or universal remote controller) for later use. The correct set of IR codes are therefore recallable to transmit a command to remotely controlled equipment.
  • the scanning means can be connected directly via cable 14 or indirectly via IR transmitter 45 and receiver 47 to the equipment having the decoding means.
  • the decoding means can be resident in various pieces of equipment such as a television receiver, a cable box, or a VCR, and the scanner connected or coupled to the equipment having the decoder.

Abstract

Encoded video recorder/player preprogramming information (68) listed in a television calendar allows timer preprogramming feature on a recorder VCR (70) to be programmed using a compressed code (68) of as few as 1 to 8 digits, which are decoded by a decoder (82) to convert the compressed code (68) into channel, date, time and length information. A scanning device (12) provides an alternative to keybord entry of video program recording information and video equipment setup information. A compressed code (68) printed in the programming guide is scanned to create a digitized image of the code. An optical character recognizer (72) converts a scanned image into a textual representation of the compressed code. The output by the optical character recognizer (72) is usable in the same manner as a compressed code entered via a keyboard. The print image contained in the programming guide can include two tapered alignment characters (62 and 64) on either end of the compressed code.

Description

APPARATUS FOR SCANNING TELEVISION PROGRAM SCHEDULING INFORMATION
Background of the Invention
This is a continuation-in-part of pending patent application Serial No. 08/027,202, filed March 5, 1993; which is a continuation of pending patent application Serial No. 08/000,934, filed January 5, 1993; which is a continuation-in-part of pending patent application Serial No. 07/965,075, filed October 22, 1992; which is a continuation of pending patent application Serial No. 07/877,687 filed May 1, 1992, now abandoned; which is a continuation-in-part of patent application Serial No. 07/829,412, filed February 3, 1992; now U.S. Patent No. 5,307, 173 issued April 26, 1994.
Field of the Invention This invention relates generally to video cassette recorder systems and particularly to an apparatus and method for entry of encoded information using an optical character reader to shorten the time required to perform preprogramming of video cassette recorders (VCR).
Background of the Invention The video cassette recorder (VCR) provides the ability to "program" the VCR to record a television program to be broadcasted at a future time. This preprogramming feature of the VCR provides the ability to record a television program without the need for a VCR user to be available to place the VCR in record mode at the start of a program's broadcast. The following two-step process is often used to use the preprogramming feature: (1) obtain the correct channel, date, time and length (CDTL) information from a television program guide, and (2) program this CDTL information into the VCR. The second step entails multiple entry steps and entry procedures that are not standard across the many makes and models of VCRs. The entry procedures are not intuitively obvious to a VCR user. The VCR user typically must use a keyboard of the VCR or keyboard of a remote controller device and follow the programming procedures developed by a VCR manufacturer to program the VCR to record a program at a future time. Because the programming procedures are not that obvious and require a number of keystrokes to enter the programming information, the preprogramming feature of the VCR is quite often not used.
Apparatus and methods for using encoded CDTL information for preprogrammed recording of VCRs is disclosed in U.S. Patent No. 5,307, 173 (the '173 patent) and is hereby incorporated by reference. In the '173 patent, the CDTL information is compressed, or encoded, typically, as a 1 to 8 digit code called a "G-code." A commercial controller for programming VCRs using compressed codes is called the VCR PLUS™ programmer and the compressed codes are commercially referred to as PlusCode™, both are trademarks of
Gemstar Development Corporation.
A compressed code is a result of encoding a set of individual program channel, date, start time, and length values. Each code is compressed in that its length is shorter than the length of the concatenation of the individual program channel, date, time and length values.
The encoding of the compressed codes is done prior to preparation of the television program guide that publishes the codes, such as the PlusCode compressed codes. For each program that is to be printed in the guide with a compressed code, the channel, date, time, and length values for the compressed code are entered in the computer. The computer uses a "priority vector" and a "bit hierarchy key" to assign a number, typically 1 to 8 digits in length, based on the statistical popularity of the channel, time and length of each program. Shorter length compressed codes can therefore be assigned to programs that, for example, are broadcast on the more popular channels at the popular times. The ' 173 patent further discloses the ability to decode a compressed code entered by a user. Decoding of a compressed code is essentially the reverse of encoding. A decoding device is used to decode the compressed code. The decoding device of the '173 patent can be located in the VCR, for example. In this case, a compressed code entered by a user is decoded using the decoding device to obtain the CDTL information. The CDTL information is then used to program the VCR for preprogrammed recording. The '173 patent discloses the ability to locate the decoding device in different equipment such as a television, cable box, satellite receiver, and various remote controllers. Further, details of methods and apparatus for encoding and decoding compressed codes and using decoded compressed code information for VCR preprogrammed recording are more fully explained in the '173 patent.
A significant advantage of compressed codes over the method of entering channel, date, time, and length information is the reduction in the number of keystrokes needed to enter preprogramming information. Additional advantages can be gained by further simplifying the entry of preprogramming information by reducing the number of keystrokes needed to enter this information.
Summary of the Invention
The present invention provides an alternative to keyboard entry of programming information encoded as compressed codes and of setup data by using an optical character reader in place of the keyboard. Using the present invention, a compressed code printed in a program guide is scanned using an optical character reader to create a digitized image of the code. An optical character recognizer is used to convert the image into a numeric representation of the compressed code. The set of numbers output by the optical character recognizer is then available for use in the same manner as a code entered via the keyboard. The print image contained in the programming guide can include two tapered alignment characters on either end of the compressed code. The alignment characters are used to verify that the scanning device is aligned with the printed code.
Other objects and many of the attendant features of this invention will be more readily appreciated as the same becomes better understood by reference to the following detailed descriptions and considered in connection with the accompanying drawings in which like reference symbols designate like parts throughout the figures.
Brief Description of the Drawings
FIG. 1 is a schematic showing a preferred embodiment according to this invention using a scanning device for scanned entry.
FIG. 2 is a schematic showing an alternate embodiment according to this invention using a scanning device for scanned entry transmitted via infrared transmission to a remote controller with an embedded decoder means.
FIG. 3 is a schematic showing a preferred embodiment according to this invention in which a scanning device is incorporated into the remote controller of FIG. 2.
FIG. 3 A is a bottom view of the apparatus of FIG. 3 showing the scanning elements. FIG. 4 provides an illustration of a print image including a compressed code.
FIG. 5 is a block diagram of the remote controllers of FIGS. 1-3A.
FIG. 6 is a flow chart for processing compressed code input from a scanning device.
FIG. 7 provides an illustration of a print image including a compressed code and alignment characters. FIG. 7 A provides an illustration of alignment characters included in the print image illustrated in FIG. 7.
FIG. 8 provides an illustration of a scanned image including a compressed code and alignment characters where alignment varies from an expected alignment.
FIG. 8A provides an illustration of an alignment of FIG. 8 and an expected image of the alignment character of FIG. 8.
FIG. 8B provides an illustration of corner portions of the alignment characters of FIG. 8A.
FIG. 8C provides an illustration of an angular variance between the corner portions of FIG. 8B. FIG. 9 provides an illustration of a scanned image including a compressed code and alignment characters where alignment varies by ninety degrees from an expected alignment.
FIGS. 9A-9B are illustrations of the alignment mechanism of FIG. 9.
FIG. 10 is a flow diagram of a method for determining the alignment and completeness of a scanned image. FIG. 11 is a flow diagram of a method for downloading initial setup data using the scanning capabilities of the present invention.
Detailed Description
Referring to the drawings, and more particularly, to FIG. 1, there is shown an apparatus for using encoded video cassette recorder (VCR) preprogramming information 10. The primary components include a remote controller 80 with compressed code decoder 82. Alternatively, the compressed code decoder can be located in a VCR 70, which can be controlled by remote controller 80 via a command signal 16.
The remote controller 80 has a display 84, numerical keys 20, compressed code switch 22, function keys 24, program key 26 and power key 27. There are means in the remote controller 80 that interpret each key as it is pressed and sends the proper command signal 16 to the VCR via an infrared light emitting diode 28 or by other writable means. The compressed code switch 22 allows the user to lock the remote controller 80 in the compressed code entry mode while entering a compressed code. In the alternative, compressed code switch 22 is a key that is depressed once to indicate entry of a compressed code. Compressed code decoder 82 is provided in remote controller 80 to decode compressed code entries. The compressed code decoder 82 converts the compressed code into CDTL information. The CDTL information is transmitted via light-emitting diode 28 and sensed by photodiode 32. Command signal receiver 30 sends the transmitted information to command controller 36. Command controller 36 uses the CDTL information to set the time/channel programming 40. Clock 42 is used to monitor the date and time to determine the time for time/channel programming 40 function to turn the record/playback 44 function "ON" to record. Tuner 46 is tuned to the proper channel in the television signal input 18 at the same time. Alternatively, command controller 36 keeps the CDTL information instead of sending it to the time/channel programming 40. The remote controller 80 is one example of a remote controller that can be used with the present invention. Other remote controllers such as a universal remote controller can be used as well. The '173 patent discloses different remote controls for use in VCR preprogramming, and the inclusion of the compressed code decoder 82 in various equipment such as the VCR, television, cable box, and satellite receiver. Many VCRs provide on-screen programming where the prompting messages are displayed on a screen such as the television screen. The user's input is also displayed on the screen for review by the user. A typical keying sequence for entering programming information for timer recording using on-screen programming is as follows:
PROG 2 1 15 07 30 2 08 00 2 04 PROG
The first program (PROG) key 26 enters the programming mode. Then a sequence of numerical keys 20 are pushed. The 2 means it is timer recording rather man lime setting. The 1 means the user is now entering the settings for program 1. The 15 is the date. The
07 is starting hour. The 30 is a starting minute. The 2 means pm. The next sequence 08 00 2 is the stopping time. The 04 is channel number. Finally, the PROG is hit again to exit the program mode. Using compressed codes, the programming information is encoded and provided in a program guide, for example. The user reviews the program guide, selects the desired program to be recorded, and enters the compressed code associated with the program in a typical compressed code sequence as follows: PROG 1138 PROG. To distinguish that the command is a coded compressed code, the compressed code switch 22 is placed in the "ON" position, for example.
Rather than keying in the compressed code it may be read in by a scanner 12. Referring to FIG. 1, scanning means 12 is connected to remote control 80 via a cable 14. Scanner 12 can be, for example, of the type currently available from numerous manufacturers offering various models that are readily available. FIG. 2 illustrates scanning device 16 according to an alternate embodiment of the present invention. Scanning device 16 is essentially the same as scanning device 12 with the exception of the connection to remote controller 80. Instead of the hardwired connection 14, scanning device 16 includes an infrared transmitter 45 to transmit infrared signals to an infrared signal receiver 47 of remote controller 81. Except for the ability to receive infrared signals via infrared receiver 47, remote controller 81 operates in a similar manner to remote controller 80.
In another embodiment, the remote controller and the scanning device are combined. One example of a remote controller having a scanning means incorporated therewith is illustrated in FIG. 3. The remote controller with scanner 50 includes an extended housing that includes a scanning device with window 52 for print image viewing and scan button 58, for operation. Referring to a back view of remote controller 50 in FIG. 3 A, the extended housing further includes a scanning component 54 which is located near window 52. Other locations are possible, however, the proximity of window 52 and scanning component 54 provides the ability to view a portion of the print image immediately prior to its scanning. The scanning component 54 is, for example, an array of charge-coupled devices (CCDs) that detect the reflective light projected onto the print image by a light source 60. Rollers 56 located on the back of remote controller 50 allow remote controller 50 to be able to roll smoothly over the surface carrying the print image. Other techniques that allow a smooth transport over a print image are also possible. As previously discussed, the compressed code programming entry sequence using the keyboard of the remote control 80 is: switch compressed code switch 22 to "ON" position, key in compressed code, press "PROG". Using a scanning device with or in a remote controller, such as remote controller 50 of FIG. 3A, the entry sequence becomes: switch the compressed code switch 22 to the "ON" position, scan the compressed code print image, and press "PROG". The entry sequence used with scanned entry is not limited to this entry sequence. Other entry sequences, for example, eliminate the need for any keyboard entry.
For example, the compressed code switch and "PROG" key sequence can be eliminated. In the keyboard entry sequence, the compressed code switch is used to identify the beginning of a compressed code entry sequence. The "PROG" key is entered after the compressed code entry to indicate the end of the entry sequence. Thus, the compressed code switch and
"PROG" act as delimiters for the compressed code to identify the beginning and end of a compressed code. The compressed code switch also indicates the type of input that is to be received from the keyboard. Since the keyboard can be used to enter information other than compressed code programming information, these delimiters are used to identify the entry of a compressed code as opposed to another type of entry. These delimiting key strokes are expendable when, for example, the print image to be scanned contains both the compressed code and the delimiters. Different delimiters are used, for example, to distinguish different types of scanned input where multiple types of scanned input are possible.
FIG. 4 illustrates a print image 68. Print image 68 includes alignment and/or delimiter characters 62 and 64 that are positioned at the beginning and end of a compressed code print image 66, for example. Left alignment character 62 and right alignment character
64 are shown as different characters. However, the same character can be used for the left and right alignment characters.
Preferably, delimiting characters are positioned on either side of the compressed code in the print image. However, a single delimiting character can be used on one side, for example, the right side of the compressed code print image. Where the single delimiter is used at the end of the compressed code sequence, the initial input from the scanning device indicates the beginning of the compressed code sequence.
Where two delimiting characters are used, the delimiting characters provide definite bounds for the compressed code. Further, where the scanner entry capability of the present invention is used to enter information other than compressed codes, different delimiting characters are used to, for example, identify the type of information being scanned. Using the delimiting character(s), the entry sequence involves performing a scan of the print image that includes the delimiting characters. There is no need to indicate the beginning and end of the compressed code entry sequence using keyboard entry.
In the preferred embodiment, the scanners, such as scanner 50 (FIG. 3) includes an array of charge-coupled devices (CCDs) 54 (FIG. 3A), a built-in light source 60, and a scan button 58. The light from source 60 is projected onto the print image. The projected light is reflected from the image to the CCD array 54. The CCD array 54 detects the amount of light reflecting from each area of the print image to determine the relative brightness features of the print image. A bitmap is generated that indicates the location of each area (e.g., bit or pixel) of the print image and its corresponding shade or color characteristics. Any other method of generating a digitized image of the print image can be used in conjunction with the present invention.
FIG. 5 is a diagram of the components in the remote controllers, such as for remote controller 50 that has the capability to accept scanner input and translate a scanned image into a textual format. The scanner 52 is used to scan the compressed code printed image. Controller 50 includes a microcomputer 72 having a CPU 76, Random Access Memory (RAM) 74, and Read-Only Memory (ROM) 78. The microcomputer 72 may also serve as the microcomputer for decoding the compressed codes when located in the device that has the decoding capability.
Input from the scanner 12, 16 or 52 is provided to microcomputer 72 and retained in RAM 74. ROM 78 includes OCR software for translating the scanned image into a textual format. Further, ROM 78 includes a stored image for each character in the character set. The character set contains the valid characters of a compressed code such as numbers 0-9 and any alignment characters. Other characters, such as alphabetic characters, can be included in the character set stored in ROM 78. A stored image of a character varies based on, for example, the font and pitch used to reproduce the character. To reduce the amount of ROM storage needed, the font and/or pitch used to generate the print image can be standardized to one or two such combinations. Further, the standard selected is preferably one that optimizes character recognition (i.e., translation from graphical to textual format).
The digitized image provided by scanner 12, 16 or 52 and stored in RAM 74 is a bitmap of the print image that contains the characteristics of each bit or pixel in the print image. The bitmap, or pattern of the dots in the digitized image, are compared against the stored images to associate the components of the scanned image with a character in the character set. Optical Character Recognition (OCR) software has typically been used to perform this translation.
To translate from a graphics to a text format, OCR software compares patterns of dots in the digitized image with the dot patterns associated with characters in the character set. The dot patterns associated with characters in the character set can vary with, for example, the font and pitch used to graphically represent the character in the print image and/or the dot patterns of the character set. When a similarity exists between a pattern of dots in the digitized image and a character's dot pattern, the group of dots comprising that character in the scanned image is identified to be that character. The output of such a process yields a textual representation of the digitized image. The textual representation is capable of being manipulated by, for example, a textual editor or other types of applications running in a computer system. In the present invention, the textual representation of the compressed code that is produced by OCR is used in the same manner as a compressed code that is entered from the keyboard to provide program recording information (i.e., CDTL information). In the present invention, the OCR software is simplified for a number of reasons. For example, the character set used for the compressed code is a subset of a full character set provided by, for example, the ASCII character set. That is, the compressed code print image consists of, for example, a series of numbers and delimiting, or alignment, characters. Therefore, the number of possible character patterns compared to the digitized image is reduced. Further, the size of the image is limited to the length of the compressed code and any alignment characters. The use of a standardized graphical representation (e.g., one font and pitch combination) reduces the number of comparisons needed to identify a character.
In addition to a scanner, other input/output devices are preferably used to facilitate the input process. For example, use of a display 84 provides informational messages (e.g. , error and/or confirmation messages) to the user. Light-emitting diodes 38 illustrated in FIG. 5, are included in the remote controller 80 of FIG. 1 to provide additional information such as warning and/or successful completion indications. A keyboard 88 provides the ability to provide compressed code input and/or other types of input by keying rather than scanning. Infrared transmitter 28 provides infrared transmission capabilities.
FIG. 6 is a flow chart of the process by which the compressed code from a scanning device is utilized in the system. A print image of the compressed code is scanned at step 602. The print image preferably contains an alignment, or delimiter, character on either side of the compressed code. In a typical scanning process, the scanner is placed over the print image such that the array of CCD sensors runs parallel with or perpendicular relative to the print image. Where the scanner has a parallel orientation, the scanner is positioned above the print image and scanning is accomplished by running the scanning device from the top of the print image to the bottom. Where the scanner has a vertical orientation relative to the print image, the scanning device is positioned to the left of the print image and scanning is accomplished by running the scanning device along the print image from left to right. Other possibilities are also available. Regardless of the orientation and scanning path chosen, the alignment characters provide the ability to identify the orientation of the scanned image relative to the stored images of the character set, and identify an angular variance between the images. Once the scanning device is positioned relative to the print image, the scan button, such as button 58, is depressed to indicate the start of the scan. Once the scanning device is rolled over the entire print image, the scan button is released to indicate the end of scan. The digitized image generated by the scan is transmitted in step 604 to microcomputer 72 at step 604, the digitized image is stored in RAM 74. At step 606, the alignment character(s) are examined to determine the orientation of and alignment variances in the digitized scan image relative to a stored image of the alignment characters. Additional logic may be inserted here to accommodate other types of scanned input such as setup information discussed below. By step 608, a decision of proper alignment is made (i.e., "aligned and complete?"), if the alignment can be determined and any variances corrected and the compressed code is complete, processing continues at step 610 to perform the OCR.
If either of these conditions are not met, processing continues at step 614 to provide an error message and prompt for a valid response. By step 616, a determination is made whether input is received or a timeout occurs (i.e., "user input or timeout?"). If a timeout occurs, processing continues at step 618 to revert to its original state such as erasing any informational messages and scanner entry processing is ended at step 638. If a response is detected by step 616, processing continues at step 620. If a response is determined to be other than scanner input by step 620 (i.e. , "scanner input?"), processing continues at step 622 to process the input. Processing ends at step 638. If scanner input is detected by step 620, processing continues at step 606 to perform alignment and input verification.
When valid scanner input is detected by step 608, processing continues at step 610 to perform OCR on the compressed code scanned input. If any errors, such as unrecognizable characters, were detected by step 612 (i.e., "errors during translation?"), processing continues at step 614 to generate informational messages and prompt for a response and processing continues at step 616 to wait for a response or a timeout. If no errors were detected by step 612, processing continues at step 624. If it is determined that the scanning capability was used to input something other than compressed code input by step 624 (i.e., "input type?"), processing continues at step 626 to process the other input, such as setup information, for example. Types of scanner input is determined by examining the delimiter characters where different delimiters are used to identify an information type. Examples of such input include cable channel information and setup information discussed below. After this input is processed, processing ends at step 638.
If scanner input is identified at step 624, processing continues at step 628. At step 628 (i.e., verification enabled?"), if verification is not enabled, processing continues at step 636 to process the compressed code input. The translated version of the compressed code is used the same as a compressed code entered via a keyboard. Thus, a scanning device can be used in place of a keyboard to enter a compressed code.
If it is determined by step 628 that verification is enabled, processing continues at step 630 to display the compressed code and prompt for verification. At step 632 (i.e., "code approved?"), if the code is approved, processing continues at step 636 to process the compressed code as discussed above. If the compressed code is not approved, processing continues at step 634 to display informational messages to re-enter the compressed code, and processing continues at step 614 to await a response or a timeout. Delimiting characters, such as characters 62 and 64 (FIG. 4), provide an orientation perspective that can also be used as alignment indices to determine the alignment of the scanned image relative to a default alignment. The rectangular outline of characters 62 and 64, for example, can be compared against a stored, expected image of characters 62 and 64 to determine any variation in the orientation. If there is a variation, the orientation of the digitized image can be adjusted thereby compensating for any improper alignment of the scanning device and the print image.
Thus, the delimiting character(s) 62 and 64 serve to verify that the scanner is properly aligned with respect to the print image. Scanned images can contain inconsistencies due to the manner in which they are scanned. For example, a scanned image consisting of a line of characters can be slanted or skewed up or down where the scanner is not oriented correctly initially and/or is not rolled over the print image in a straight line during scanning.
The expected image is the image produced by aligning the scanner and CCD array parallel to the print image and running the scanner from the top of the image to the bottom.
In an embodiment of the present invention, the orientation of the scanned image is determined and where the orientation does not conform with the orientation of the expected image, the scanned image is either rotated by an angular variance between the scanned and expected image, or the user is informed that an error occurred during scanning (i.e., a variance exists) and the user is given the opportunity to re-enter the information.
To normalize a scanned image, the scanned image of an alignment character is compared with a stored image of the alignment character to determine any difference in orientation between the two character images. Where possible, an angular difference in orientation between the two images is then used to re-orient the scanned image prior to use. Alternatively, if a difference is found between the two images, an error message is displayed and/or a prompt to indicate one or more acceptable responses can be displayed.
FIG. 7 provides an illustration of a print image 140 that includes initial and terminating alignment characters 110 and 112, respectively. FIG. 7A provides an expanded view of alignment characters 110 and 112. Alignment characters 110 and 112 differ from alignment characters 62 and 64 with the inclusion of the circular pattern 144. Pattern 144 is used to locate a specific corner of an alignment character in a scanned image. Corner 148 is compared against the same corner of an expected image to determine the orientation of the entire scanned image. When the print image 140 of FIG. 7 is not properly aligned with the scanner as expected, a scanned image such as scanned image 152 of FIG. 8 results that has a slanted orientation that differs from the expected orientation. As illustrated in FIG. 8A, the resulting initial alignment character 146 is slanted relative to the expected initial alignment character 110. This is seen in FIG. 8A, for example, by comparing the orientation of the expected initial alignment character with the orientation of the initial alignment character 146. Where the scanned images and expected images are stored as bit map format, such a comparison is performed by comparing bit maps for the alignment character 146 and alignment character 110.
The lower left-hand corner of alignment character 146, corner 148, is established by locating a recognizable pattern such as pattern 144. Once the lower left-hand corner 148 of alignment character 146 is located, it is compared against the corresponding comer, comer portion 142, of alignment character 110 (e.g., that portion of alignment character 110 enclosed in box 150). FIG. 8B illustrates co ers 148 and 142 side-by-side with horizontal line 154 extending horizontally from the vertex of the co er portion 142. An angular difference, θ, provides an example of an angular difference between the horizontal side of the base 160 of comer portion 148 and base 162 of comer portion 142. The same angular difference, θ, is also apparent when comers 148 and 142 are superimposed as illustrated in FIG. 8C. The angular variance, θ, is preferably used to re-orient the scanned image relative to the expected image by applying the angular difference to the scanned image 152. FIG. 9 provides another illustration of a scanned entry 156 that results from a scan of the print image 140 where the scanner is positioned such that CCD array is perpendicular to the print image 140. By comparing base 172 of comer portion 168 and base 174 of comer portion 170 as illustrated in FIG. 9A-9B, it can be seen that an angular variance of ninety degrees exists between scanned image 156 and the expected image. The angular variance is used to adjust scanned image 156.
As previously discussed, the angular variance is alternatively used to alert a user that an invalid orientation was used. In this case, the angular variance results in the generation of informational messages that are output to display 84. Thus, the informational messages will alert the user to the need to re-orient the scanner and to attempt another scan of the print image. In addition to their use in determining the alignment of a scanned entry, alignment characters provide information as to whether or not all of the print image has been scanned. Pattern recognition is performed, using a technique such as one described above, to find the expected number of alignment characters. Once the characters are located in the scanned image, a determination is made as to whether the compressed code is contained within the initial and ending alignment characters, where both characters are used.
FIG. 10 provides a process flow executed by CPU 76 for determining the alignment and completeness of the scanned entry such as is provided by steps 606 and 1144 in FIGs. 6 and 11. At step 1070 in FIG. 10, pattern recognition is performed on the scanned image to locate a known pattern in the scanned image such as alignment character 146 in FIG. 8. As an alternative to performing pattern recognition on the entire scanned image, pattern recognition is performed on only a subset of the scanned entry which can reduce processing time. For example, pattern recognition to locate the initial alignment character 146 is performed on the first quarter of the scanned image. At step 1072 (i.e., "known pattern found?"), if the known pattern is not found in the portion of the scanned image examined, the decision to end with an unsuccessful completion at step 1090 is made. FIG. 6 provides an example of further processing performed when alignment and completeness verifications are unsuccessful such as in the case where an alignment character is not found. Where an unsuccessful completion is provided at step 1090, processing continues after step 606 of FIG. 6. In this case, an unsuccessful completion of step 606 results in a negative determination at step 608, and processing continues at step 614 to process the condition by displaying informational messages and processing any subsequent input.
Referring to FIG. 10, if the pattern is found at step 1072, processing continues at step 1074 to locate the orientation bit pattern such as pattern 144 in FIG. 7 in the character 110.
Alternatively, steps 1070 and 1074 are combined as step 1070. In such a case, the search for pattern 144 is performed to both locate the alignment character and to locate a particular portion of the alignment character. At step 1076 (i.e., "bit pattern found?"), the existence of the bit pattern 144 is determined. Where the bit pattern 144 does not exist, processing continues at step 1090 to return an unsuccessful completion. The unsuccessful completion is processed, for example, as described above. If, at step 1076, the bit pattern 144 is found, processing continues at step 1078 to determine any angular variance between the scanned and expected images of the bit pattern about circle 144.
At step 1080 (i.e., "angular variance?"), if an angular variance is not found, or the angular variance is determined to be within an acceptable tolerance range, for example, processing continues at step 1086 to perform pattern recognition to locate a terminating alignment character. Otherwise, processing continues at step 1082. At step 1082 (i.e., "perform re-orientation?"), if re-orientation is not to be performed using the angular variance found, processing returns at step 1090 with an unsuccessful completion. Where this process flow replaces step 606 in FIG. 6 processing branches at step 604 to step 614 (not shown) to output informational messages informing the user of the variance and providing re-entry as an alternative response. If, at step 1082 of FIG. 10, it is determined that re-orientation is to be performed on the scanned entry, processing continues at step 1084 to perform the re¬ orientation. Processing continues at step 1086 to determine the completeness of the scanned entry using a terminating alignment character. At step 1086, pattern recognition is performed on the aligned image to locate the terminating alignment character. As described before, the pattern recognition can be performed on all or a portion of the image to identify the entire character or a pattern within the alignment character such as pattern 144. At step 1088 (i.e. , "terminating character found?"), if the terminating character is not found processing returns with an unsuccessful completion at step 1090. If the terminating alignment character is found at step 1088, successful completion is returned at step 1092.
FIG. 10 illustrates one technique for determining the completeness of the scanned image. There are other techniques for determining the completeness of the scanned entry. For example, OCR is performed on the aligned image. The textual representation of the scanned image is then examined to determine the validity of the input. For example, where the content of the textual representation cannot be understood, it is assumed to be incomplete. Alternatively, where the length of the textual representation such as the number of digits contained in the textual representation is not equal to a predetermined length value, the scanned entry is determined to be incomplete. In yet another alternate embodiment, both of these alternatives are used to determine the completeness of the scanned entry.
Once the compressed code is entered using either keyboard or scanning device, the compressed code is decoded to determine the CDTL information. The encoding of the compressed codes can be done on any computer, as explained in the '173 patent for example, and is done prior to preparation of any program guide that would include compressed codes. For each program that is printed in the guide, a channel, date, time and length (CDTL) values are entered into a computer. Priorities associated with the channel, date, time and length are accessed from a priority vector.
The channel, date, time and length data are converted to binary numbers. A bit hierarchy key is used to assign an ordering of the binary numbers. Ideally the bit hierarchy key is ordered so that programs most likely to be the subject of preprogramming would have a low value binary number, which would eliminate keystrokes for programming the VCR to record the more popular programs. The encoding technique is the reverse of the encoding technique. Additional details of the encoding and decoding of G-codes are more fully explained in the Prior Application.
For cable television programs, there is an additional issue that needs to be addressed for the compressed G-code to be useful. In a normal television guide, CDTL information is available for all the normal broadcast channels in the form of numbers including the channel numbers, such as channel 4 or 7. However, for cable channels like HBO, ESPN etc., only the names of the channels are provided in most television listings. In some metropolitan areas, for example, there may be only one (1) edition of television guide, but there may be quite a few cable carriers, each of which may assign HBO or ESPN to different cable channel numbers. To make a compressed code applicable to the cable channels as published by a wide area television guide publication, all of the cable channels are assigned a unique number that is valid across the nation, for example. A cable channel's number is published in a television guide publication. An association between a local cable channel and the unique national number is made by entering both numbers into the memory of the VCR, or other video equipment responsible for setting the channel for programmed recording. In the preferred embodiment of the present invention, this association is performed using scanned entry of a print image that is provided in a program guide or along with a product being initialized, for example. The print image includes the cable channel and the associated channel information such as: 06 1
24 2 23 3
25 8 Where "06", "24", "23", and "25" are the local numbers and "1", "2", "3" and "8" are the respective national designations, for example.
Where the print image does not contain delimiters, a special key such as "SET" key 90 is pressed prior to scanning the image to indicate the start of the entry and the type of information being scanned. The "PROG" key is used to signal the end of the entry sequence.
Where delimiters are placed before "06" and after "8" the delimiters perform the same function as the "SET" and "PROG" key sequences making these keystrokes unnecessary. The cable channel information contained in the print image is then scanned, translated into a textual form and stored in RAM 74. For the above example, the cable channel address table 102 has the following information.
CABLE CHANNEL ADDRESS TABLE 102
1 6
2 24 3 23
25
After the "setting" procedure is performed, the TV viewer can now select cable channels for viewing by the old way: e.g., pushing the key pad buttons 24 will select HBO. Cable channels are also selectable, for example, by pushing the "CABLE CH" key 92 and the "2" key to designate the unique, national channel number. The advantage of the new way is that the television guide will publish [C2] next to the program description, so the viewer will just look up the assigned channel number identifier instead of having to remember the local cable channel number. When the CABLE CHANNEL button is pushed, a table look up is performed on the channel address table 102 to locate the local cable channel number. The local cable channel number located in the channel address table 102 is then used to tune the VCR to the correct channel.
A television guide that carries the compressed code will now print the cable channel information as follows:
6:30 p [C2] HBOxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx (4679) xxxxxx(program description)xxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx The [C2] in front of HBO reminds the viewer that he needs only to push CABLE
CHANNEL 2 to select the cable channel. The (4679) is the compressed code indication for this particular program which also provides channel information.
For preprogrammed recording, the viewer need only enter the number 4679 according to the unit's compressed code entry procedure, e.g., PROG scanner entry of 4679 PROG, or PROG 4679 PROG. The compressed code decoder unit will decode this compressed code into "cable channel 2", because an extra channel bit included in the compressed code channel designation is set to " 1 " , for example, which distinguishes that the channel portion of the compressed code designates a national cable channel value. Since the association of "cable channel 2" with channel 24 has been established earlier in the "setting" procedure, the compressed code decoder 82, for example, can perform a look-up in cable channel address table 102 to make the association between the unique, national cable channel number, "2", and the local cable channel "24". The local cable channel, "24", is then used to set the tuner 46 at the appropriate time. By associating the compressed code with the national cable channel number rather than the local cable channel number, the compressed code for that program will be valid in the whole local area, which may have many different cable carriers each of which may have different local cable channel numbers.
To include the cable channel compressed code feature, the decoding and encoding algorithms would include a cable channel priority vector that is used to determine the priority of the cable channel that is being encoded or decoded. The cable channel bit associated with the cable channel being encoded is added in the correct bit position in converting CpD-T-L., information to the binary number. The bit hierarchy key is determined as before to compress the number of bits in the most popular programs and includes the cable channel bit. The '173 patent provides further explanation of an encoding and decoding technique. Most VCR's and cable boxes can be controlled by an infrared remote controller.
Examples of remote controllers include a universal remote controller and the VCR PLUS™ programmer and controller, available in various models, for programming VCRs using compressed codes. VCR Plus™ is a trademark of Gemstar Development Corporation who markets the programmer. There are many different combinations of remote controller as well as different VCRs and cable boxes, or other video equipment, that can be controlled by the remote controller. Each piece of equipment to be controlled typically has the ability to receive and translate infrared signals, or codes, received from the remote controller. Where the remote controller is not manufactured by the same manufacturer providing the equipment being controlled, it is necessary to provide input to the remote controller to identify the set of IR signals that are recognizable by the video equipment, for example.
Typically, there are only a few tens of "words" that represent the different keys or commands required, e.g., "power", "record", "channel up", "channel down", "stop", "0", "1", "2" etc. The IR codes for the words used to control the operations of the VCR, for example, are stored in the memory of the remote controller. Preferably, this initial information, or setup information, is downloaded to the remote controller using the scanning capability of the present invention. During setup, the user scans the type and model of his VCR from a print image containing this information. The scanned image is translated to a textual representation and stored in the memory of the remote controller. Alternatively, a representation of the IR codes for the particular make and model of equipment can be contained in the print image that is scanned. In another embodiment, the setup information such as IR codes can be stored in ROM 78, and the print image of the setup information is a pointer to a start location in ROM 78 where the setup information is stored. One example of a process flow is provided in FIG. 11 for entering setup information that is scanned by a scanner connected to a remote controller and the setup information is transmitted to a VCR having a compressed code decoder. The details of the operation of the VCR remote using scanned entry to download setup information are as follows. At step 1140 of FIG. 11, the consumer locates the print image containing the setup information associated with the desired setup such as downloading IR codes for a specific cable box brand. At step 1142, the consumer scans the print image containing the setup information. At step 1144, the digitized image is received by microprocessor 72 and stored in RAM 74 by CPU 76. Where alignment characters are used, step 1144 further verifies alignment of the scanned image relative to a stored image and identifies the type of information scanned using the alignment characters. At step 1146 (i.e., "aligned and complete?"), a determination is made whether errors were detected during the alignment and identification. If errors are detected at step 1146, processing continues at step 1152 to process the errors and processing ends at step 1160.
If no alignment or completeness errors were detected by step 1146, processing continues at step 1148. At step 1148, OCR is performed on the scanned image stored in RAM 74 to convert the digitized format to a textual format. At step 1150, if any error occurs in the conversion step 1148, processing continues at step 1152 to process the error and processing ends at step 1160. If no errors are detected at step 1150, processing continues at step 1154. At step 1154, the consumer presses a "send" key or a sequence of keys that triggers the transmission of the converted initial setup data through the IR transmitter to the VCR's IR receiver.
If it is determined at step 1156 that the data was not received correctly by the VCR, processing continues at step 1154 to provide another opportunity to send the data. Once the data is determined to have been received at step 1156, any unnecessary initial setup data is deleted from the VCR remote at step 1158, and processing ends at step 1160.
If the VCR remote control is a universal remote, the IR codes for IR controllable devices other than the cable box are preferably not transmitted to the VCR as they are used by the VCR remote control itself, not the VCR. In any case, the converted setup data is stored in RAM of the destination equipment (e.g., VCR or universal remote controller) for later use. The correct set of IR codes are therefore recallable to transmit a command to remotely controlled equipment.
As illustrated in FIGs. 1 and 2, the scanning means can be connected directly via cable 14 or indirectly via IR transmitter 45 and receiver 47 to the equipment having the decoding means. Obviously, the decoding means can be resident in various pieces of equipment such as a television receiver, a cable box, or a VCR, and the scanner connected or coupled to the equipment having the decoder.
It is thought that the system of the auto-programming VCR remote and VCR with the functions of the apparatus and method using compressed codes for television program record scheduling of the present invention and many of its attendant advantages will be understood from the foregoing description and it will be apparent that various changes may be made in the form, construction and arrangement of the parts thereof without departing from the spirit and scope of the invention or sacrificing all of its material advantages, the form hereinbefore described being merely a preferred or exemplary embodiment thereof.

Claims

WHAT IS CLAIMED IS:
1. A method of entering information into an apparatus for video program selection from a print image using a scanning device, comprising the steps of: scanning said print image using said scanning device to create a scanned image; receiving said scanned image by a processor embedded in said video program selection apparatus; storing by said processor said scanned image in memory of said video program selection apparatus; and converting using a conversion program executing in said processor said scanned image to a textual representation of said scanned image.
2. The method of claim 1 wherein said print image includes a plurality of alignment characters.
3. The method of claim 2 wherein an alignment character is associated with a type of said information, said method further comprising the steps of: comparing an alignment character scanned image to an alignment character stored image; and identifying the type of said information to be the same as the type associated with said alignment character stored image when said alignment character scanned image and said alignment character stored image are the same character.
4. The method of claim 3 wherein said information type is an encoded representation of channel, date, time and length (CDTL) video program recording information, said method further comprising the steps of: decoding, by a decoder, said encoded representation to obtain said CDTL information; and using said CDTL information to select a program corresponding to said CDTL information for recording by a video cassette recorder.
5. The method of claim 4 wherein said video program selection apparatus is a remote control device having scanning capability and said decoder is embedded in an apparatus with channel tuning capability, said method further comprising the step of transmitting said encoded representation from said program selection apparatus to said channel tuning apparatus.
6. The method of claim 5 wherein said transmission step uses infrared signals. l
7. The method of claim 3 wherein said information type is setup and said information is setup information.
8. The method of claim 7 wherein said setup information contains infrared signals corresponding to control commands.
9. The method of claim 8 wherein said setup information associates generalized cable channel designations with local cable channel designations.
0 10. The method of claim 2 wherein a first alignment character is positioned in said print image before said information and a second alignment character is positioned in said print image after said information.
11. The method of claim 2 further comprising the steps of: 5 comparing an alignment scanned image with an alignment character stored image to determine any angular difference in orientation; and modifying the orientation of said scanned image based on said angular difference.
12. A method of scheduling video program recording using channel, date, time and 0 length (CDTL) video program recording information printed in a program guide as a compressed code, comprising the steps of: creating a scanned image of said compressed code print image of said compressed code; storing said scanned image in memory; and 5 converting said scanned image to a textual representation of said scanned image; decoding said textual representation to obtain said CDTL program recording information; and programming a video cassette recorder using said CDTL program recording information. 0
13. A system for entering information into an apparatus for video program selection from a print image using a scanning device comprising: a scanning device; a receiving device comprising: 5 means for receiving said scanned image; means for storing said scanned image; and means for converting said scanned image to a textual representation of said scanned image.
14. The system of claim 13 wherein said receiving device further includes a means for transmitting said textual representation to a second apparatus, said second apparatus comprising: means for receiving said transmission; means for decoding said textual representation of said scanned image; and means for storing said textual representation.
15. A remote controller for entering and transmitting data associated with video program recording comprising: means for generating a scanned image of the data; means for receiving the scanned image; mean for storing the scanned image received by the means for receiving; and means for converting the scanned image to a textual representation of the scanned image.
16. The remote controller of claim 15 further comprising a: a remote control transmitter for transmitting the textual representation of the scanned image to an external video device.
17. The remote controller of claim 16 wherein the external video device is a television.
18. The remote controller of claim 16 wherein the external video device is a video cassette recorder.
19. The remote controller of claim 15 further comprising: a means for decoding the textual representation to obtain channel, date, time and length (CDTL) video program recording information; and a remote control transmitter for transmitting the CDTL video program recording information to an external device.
20. The remote controller of claim 15 wherein the scanning means comprises: a light source; and a charge-coupled device (CCD) array.
21. The remote controller of claim 15 further comprising means for comparing the scanned image with an expected image to identify a difference in orientation between the scanned image and the stored image.
22. The remote controller of claim 21 further comprising means for modifying the orientation of the scanned image to conform to the orientation of the stored image when there is a difference in orientation.
23. The remote controller of claim 21 further comprising means for displaying an informational message when there is a difference in orientation.
PCT/US1995/013471 1994-10-12 1995-10-12 Apparatus for scanning television program scheduling information WO1996012371A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU40046/95A AU4004695A (en) 1994-10-12 1995-10-12 Apparatus for scanning television program scheduling information

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US32154994A 1994-10-12 1994-10-12
US08/321,549 1994-10-12

Publications (1)

Publication Number Publication Date
WO1996012371A1 true WO1996012371A1 (en) 1996-04-25

Family

ID=23251060

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1995/013471 WO1996012371A1 (en) 1994-10-12 1995-10-12 Apparatus for scanning television program scheduling information

Country Status (2)

Country Link
AU (1) AU4004695A (en)
WO (1) WO1996012371A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9948962B2 (en) 2014-11-13 2018-04-17 Time Warner Cable Enterprises Llc Apparatus and methods for efficient delivery of electronic program guide data

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4841132A (en) * 1986-07-21 1989-06-20 Matsushita Electric Industrial Co., Ltd. Program recording scheduling apparatus using an optical reader
US5255313A (en) * 1987-12-02 1993-10-19 Universal Electronics Inc. Universal remote control system
US5307173A (en) * 1988-12-23 1994-04-26 Gemstar Development Corporation Apparatus and method using compressed codes for television program record scheduling
US5335079A (en) * 1988-12-23 1994-08-02 Gemstar Development Corporation Apparatus and method using compressed codes for recorder preprogramming

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4841132A (en) * 1986-07-21 1989-06-20 Matsushita Electric Industrial Co., Ltd. Program recording scheduling apparatus using an optical reader
US5255313A (en) * 1987-12-02 1993-10-19 Universal Electronics Inc. Universal remote control system
US5307173A (en) * 1988-12-23 1994-04-26 Gemstar Development Corporation Apparatus and method using compressed codes for television program record scheduling
US5335079A (en) * 1988-12-23 1994-08-02 Gemstar Development Corporation Apparatus and method using compressed codes for recorder preprogramming

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9948962B2 (en) 2014-11-13 2018-04-17 Time Warner Cable Enterprises Llc Apparatus and methods for efficient delivery of electronic program guide data
US10567814B2 (en) 2014-11-13 2020-02-18 Time Warner Cable Enterprises Llc Apparatus and methods for efficient delivery of electronic program guide data
US11212561B2 (en) 2014-11-13 2021-12-28 Time Warner Cable Enterprises Llc Apparatus and methods for efficient delivery of electronic program guide data

Also Published As

Publication number Publication date
AU4004695A (en) 1996-05-06

Similar Documents

Publication Publication Date Title
EP0781487B1 (en) Vps compatible apparatus and method using compressed codes for ir code selection
US5852478A (en) Vps compatible apparatus and method for selection of correct IR code sets
US5561471A (en) Apparatus and method for controlling the display of a caption on a screen and for maximizing the area devoted to presentation of the received video signal
KR100480968B1 (en) Receiver and Display Control Method
EP0420123B1 (en) Program reserving apparatus for a video tape recorder capable of receiving teletext broadcasting
US5552837A (en) Remote controller for scanning data and controlling a video system
EP0393555B1 (en) Improved processing of information transmitted in the vertical retrace interval of a television signal
EP0789968B1 (en) System and method for downloading recorder programming data in a video signal
EP0631435B1 (en) Apparatus and method for performing reservation-recording of video cassette recorder
JP2006042387A (en) Program search device
HU198809B (en) Method for programming videorecorder
CN1063005C (en) Apparatus and method for automatically performing channel chance of television receiver using video cassette recorder
EP0393556B1 (en) Improvements in applications for information transmitted in the vertical retrace interval of a television signal
EP0368313B1 (en) Video tape recorder capable of receiving teletext broadcasting
WO1996012371A1 (en) Apparatus for scanning television program scheduling information
US6907185B1 (en) Method and apparatus for reserve-recording a viewing broadcast program
EP0293492B1 (en) Tv program recording system
JPH07298369A (en) Remote control transmission device
JP2742378B2 (en) Method and system for automatic programming of a video cassette recorder using a data processing system
KR100913532B1 (en) Apparatus and method for booking video recording broadcasting program of television
KR100200623B1 (en) Kbps(korea broadcasting program system) control method in cable tv
KR960013741B1 (en) Reservation seeing and hearing and recording method of particular typed program
KR20000028449A (en) Apparatus for selecting channels for broadcasting receiver
KR100226351B1 (en) The method for g-code data auto debuging in a vcr system
KR100301491B1 (en) A reserve-recording apparatus and method using a epg in a vcr

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AM AT AU BB BG BR BY CA CH CN CZ DE DK EE ES FI GB GE HU IS JP KE KG KP KR KZ LK LR LT LU LV MD MG MN MW MX NO NZ PL PT RO RU SD SE SG SI SK TJ TM TT UA UG UZ VN

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): KE MW SD SZ UG AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE BF BJ CF CG CI CM GA GN ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: CA