WO1993022733A1 - Keyed language translator - Google Patents

Keyed language translator Download PDF

Info

Publication number
WO1993022733A1
WO1993022733A1 PCT/US1993/004337 US9304337W WO9322733A1 WO 1993022733 A1 WO1993022733 A1 WO 1993022733A1 US 9304337 W US9304337 W US 9304337W WO 9322733 A1 WO9322733 A1 WO 9322733A1
Authority
WO
WIPO (PCT)
Prior art keywords
die
phrase
key
data
playback
Prior art date
Application number
PCT/US1993/004337
Other languages
French (fr)
Inventor
Henry C. Yuen
Chein-Hwa S. Tsao
Original Assignee
Yuen Henry C
Tsao Chein Hwa S
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 Yuen Henry C, Tsao Chein Hwa S filed Critical Yuen Henry C
Publication of WO1993022733A1 publication Critical patent/WO1993022733A1/en

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B5/00Electrically-operated educational appliances
    • G09B5/06Electrically-operated educational appliances with both visual and audible presentation of the material to be studied
    • G09B5/062Combinations of audio and printed presentations, e.g. magnetically striped cards, talking books, magnetic tapes with printed texts thereon
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/237Lexical tools
    • G06F40/247Thesauruses; Synonyms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/42Data-driven translation
    • G06F40/47Machine-assisted translation, e.g. using translation memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/40Processing or translation of natural language
    • G06F40/58Use of machine translation, e.g. for multi-lingual retrieval, for server-side translation for client devices or for real-time translation

Definitions

  • the present invention relates generally to electronic automatic interactive language translators.
  • the invention specifically relates to language translators provided with a visual display of translated phrases, a compact disc or other random access audio mass storage means for translation output, a keypad for data entry, and a keyed guide book containing a table of language phrases and key numbers.
  • U.S. Patent No. 3,605,285 discloses a phonograph record random access system using a keyboard, a keyword overlay, and a multi-spiral phonograph record.
  • this system is cumbersome due to the limited amount of information printable on an overlay sheet and the limited data storage capacity of a phonograph record.
  • U.S. Patent No. 4,749,354 (Kerman), which employs an overlay with a keyboard.
  • U.S. Patent No. 4,481,412 (Fields) teaches a videodisc training system with a bar code reader used to read bar codes in a printed workbook.
  • the bar codes are locations of information on a videodisc corresponding to the workbook text.
  • Fields uses absolute addressing in which each bar code corresponds to a unique address on the videodisc.
  • this approach requires the workbook to be compatible with the hardware, i.e., the particular videodisc player and disc addressing used. It would be advantageous to provide indexing for a disc player which does not require use of absolute disc locations as input.
  • the Fields apparatus uses a videodisc system and television monitor and therefore is not suitable for portable use by travelers or students.
  • a Concierge 20-number/phrase single language voice translator is known in the art, commercially available from Trendmasters, 1730 N. 11th St., St. Louis, Missouri 63104.
  • the Concierge apparatus is a fixed single language audio translator using semiconductor memory.
  • the Concierge system is limited in storage capability; a typical memory module stores only 20 statements in a single language.
  • a Craig M10026-letter/phrase multi-language visual translator is also known, available from Craig Corp., 921 W. Artesia Blvd., Compton, California 90220.
  • the Craig system uses limited storage semiconductor memory chips ("memory capsules") which must be removed with care to change languages. Only a maximum of three different languages can be accommodated simultaneously. Also, the Craig system provides no audio output.
  • Another desirable feature is simultaneous visual and audible output. Another desirable feature is for the storage means to contain accurately recorded spoken foreign language speech of a native speaker of the foreign language. Yet another desirable feature is to have a large number of phrases and idioms recorded on the storage means. Still another desirable feature is providing a shorthand input means which permits phrase concatenation and eliminates the need to type in an entire phrase for translation. Another desirable feature is a stored set of pronunciation keys relating to syllable emphasis to improve the naturalness of speech output. Another desirable feature is a stored set of grammar rules to enable output in correct word order.
  • the present invention provides a keyed language translator comprising, in one embodiment, a printed guidebook having a large number of phrases printed therein in a user's native language. A key number is provided adjacent each phrase.
  • the invention further includes a compact disc player apparatus, or other audio mass storage playback means, having a digital numeric keypad for entering the key numbers. At least one removable compact disc is provided, having a large number of foreign language phrases recorded thereon at discrete addresses corresponding to the key numbers.
  • the player apparatus includes a microprocessor and other electronic components operating under microprocessor program control. The microprocessor is coupled to the keypad to receive input from the keypad.
  • the microprocessor responds to key numbers entered with the keypad and controls a compact disc drive in the player apparatus to retrieve and play back or display a buffered audio recording or text representation of the phrase in the guidebook corresponding to the entered key number.
  • a different compact disc is provided for each foreign language, and each different disc operates with the same guide book.
  • the invention combines the portable, interchangeable, high-capacity random access capability of a compact disc with a guidebook and a shorthand key number coding system, to allow a large number of foreign language phrases to be accessed rapidly through a compact disc player by keying in the number printed adjacent the desired phrase in the guidebook.
  • the invention also enables shorthand entry of phrases, and phrase concatenation, to permit entering multiple numbers to form complex sentences.
  • the invention provides a printed guidebook removably mounted on a compact disc player apparatus with a microprocessor and a stored control program.
  • the compact disc player apparatus includes a plurality of selectors aligned with phrases printed in the guidebook.
  • the apparatus includes a page detection means capable of determining which page of the guidebook is currently being viewed by a user of the apparatus.
  • the user turns the guidebook to the desired page, presses a selector corresponding to the phrase to be translated, and the apparatus provides visual and audible output of a translated phrase.
  • the mass storage means includes a plurality of stored pronunciation keys which enable natural-sounding output from the apparatus.
  • the compact disc player can be replaced with a mass storage device coupled to a speech synthesizer for live synthesis of translated speech.
  • the apparatus can include grammatical rules stored on the compact disc which are appHed to concatenated phases to ensure that all output is grammatically correct.
  • FIG. IA is a block diagram of a language translator system of the present invention.
  • FIG. IB is a schematic representation of a guidebook used in the system of FIG. 1;
  • FIG. 1C is a perspective view of one embodiment of the invention
  • FIG. 2 is a block diagram showing logical flow of data and address information among the hardware components of the translator of FIG. 1;
  • FIG. 3 is a flow diagram showing overall operation of the translator of FIG. 1;
  • FIG. 4 is a flow diagram showing operation of an interrupt service routine forming a part of the translator of FIG. 1;
  • FIG. 5 A is a flow diagram of a keyboard service routine forming a part of the translator of FIG. 1.;
  • FIG. 5B is a flow diagram of a key number bit hierarchy encoding method and a key, number bit hierarchy decoding method
  • FIG. 6 is a flow diagram of a keyed compact disc making method
  • FIGS. 7a and 7b are flow diagrams of buffered output methods
  • FIG. 8 is a block diagram of an alternate embodiment of the present invention.
  • FIG. 9 is a schematic representation of a guidebook used in the system of FIG. 8;
  • FIG. 10 is a top view of the embodiment of FIG. 8;
  • FIG. 11 is a top view of another embodiment of the present invention.
  • FIG. 12 is a top view of another embodiment of the present invention.
  • FIG. 13 is a flow diagram showing overall operation of the system in FIG. 8;
  • FIG. 14 is a flow diagram showing operation of a sentence/phrase address computation forming a part of the system in FIG. 8; and
  • FIG. 15 is a flow diagram of translation processing with speech synthesis used for output.
  • the translator includes three main elements: a printed key-number coded guidebook 10, a numeric data entry means or keypad 20, and a playback means or compact disc player apparatus 30.
  • the guidebook 10 preferably comprises a printed, hand-held book having a plurality of sheets 12 each imprinted with pairs of phrases 14. As shown in FIG. IB, each phrase 14 has an associated key number 16 printed adjacent to the phrase.
  • the conte ts of the guidebook, especially the phrases are printed in a language known to the user, rather than a foreign language. Thus, when consulting the guidebook, the user sees only phrases in his native or known language. Translation of the phrases is provided solely by the apparatus, and foreign language phrases are not contemplated to be printed in guidebook 10.
  • the phrases in the guidebook are arranged in groups or pairs of logically related phrases.
  • the guidebook contents may appear as follows: How are you today? [3212] I am fine, thank you. [3213]
  • the phrase pairs comprise logically related statements likely to be encountered in everyday conversation by the user of the translator.
  • the key numbers may comprise any number of numeric digits, but four digits are contemplated as sufficient for most applications. As is known in the art, four digits may represent ten thousand phrases if the digits are each base ten integers. A guidebook containing more than ten thousand phrases is contemplated, but may be unwieldy for most travelers. The key numbers in the guidebook are correlated with specific audio phrases recorded on a compact disc or other mass audio storage means using the remaining apparatus of the invention.
  • a keypad 20 is included which may comprise a telephone-type or other numeric, 10-digit keypad for entering the digits zero through nine.
  • Keypad 20 is coupled to the CD player apparatus, which includes a central processing unit (CPU) 34 and a read-only memory (ROM) or firmware means 36 coupled to CPU 34.
  • An input/output driver module (I/O module) 38 is coupled both to the CPU and to a battery-operated compact disc drive 32.
  • Several audio mass storage means or compact discs (33 in FIG. 1C) are provided, each including a plurality of foreign language phrases recorded thereon in the form of audibly replayable digital data on a plurality of separately addressable audio data tracks. Each phrase has a discrete address on the disc.
  • the drive may comprise a motor, an optical read head and mechanism, a light source such as a laser, and associated electronic components for driving the read mechanism and the motor.
  • the drive 32 is essentially a battery-operated, stand-alone device as known in the art; the drive receives control commands from the I/O module and responds appropriately by moving compact disc in the drive to the desired location. The drive can also respond by providing audio output or control signals indicating the position of the disc in the drive.
  • the ROM 36 is conventional and contains stored program instructions and data which are accessible by read cycles from the CPU.
  • the apparatus of FIG. IA also includes a conventional digital-to-analog converter (DAC) 47 electronically coupled to receive digital data from CPU 34.
  • the DAC 47 converts the data into an analog signal which is electronically fed to an audio amplifier 46 and a loudspeaker 48.
  • the amplifier increases the gain of the output signal of drive 32 to enable audible perception of the signal.
  • the loudspeaker 48 may be replaced by an output jack 45 (FIG. 2) coupled to a set of earphones worn by the user.
  • CPU 34 is also electronically coupled to a conventional character generator circuit 52.
  • the CPU 34 feeds digital data to the character generator 52 which generates display signals and feeds the display signals to a visual display 49, such as a low-power liquid crystal display (LCD) in conventional manner.
  • a visual display 49 such as a low-power liquid crystal display (LCD) in conventional manner.
  • LCD liquid crystal display
  • the LCD is large enough to display a complete sentence in any of the contemplated languages.
  • a 40-character display such as Optrex Corp. model LTN242R-10 (Digit key part No. AMX240-ND) is suitable.
  • the apparatus can be housed in a compact, handheld housing 2 shown in FIG. lC.
  • the keypad 20 can be implemented as a ten-digit push button keyboard and an LCD display 49 can be provided on the front panel of the housing.
  • a tilt-up access door 32' with rear hinges 34 of conventional design enables access to the compact disc drive 32, thereby enabling rapid changing of language discs 33.
  • Command buttons 22 enable entry of translate, play, eject, and seek commands.
  • an earphone jack 45 is shown for audio output (enabling the housing to be compact).
  • a loudspeaker could be mounted on the housing.
  • the entire apparatus can be battery powered or supplied with power from an adapter, coupled to a jack 37.
  • the CPU may command the I/O module to execute certain predefined functions, through the logical interconnection of the hardware components of the system indicated in FIG. 2. Flow of data logically occurs along four main paths: an input/output (I/O) bus 41, a data bus 50, an address bus 60, and an interrupt line 74.
  • CPU 34 includes four main components: a keypad decoder 24, an interrupt generator 40, a microprocessor 35, and a scratch pad memory (RAM) 44.
  • the microprocessor is coupled to the other components of the CPU, and is also coupled to the compact disc drive 32 via the I/O interface 38. As is known in the art, a RAM memory address may be placed on the address bus, and data to be acted on by the receiving component may be placed on the data bus by the microprocessor.
  • the apparatus of FIG. 2 functions as a complete microcomputer having a single input device, namely the keypad, and a single output device, namely the drive.
  • the keypad 20 comprises a plurality of key switches coupled along a key signal line 70 to the decoder/driver 24.
  • a key signal line 70 to the decoder/driver 24.
  • the decoder is coupled on a character line 72 to the interrupt generator.
  • the decoder will translate the signal from the keypad into a digital key code signal representing the number pressed on the keypad.
  • ten numeric keypad switches may be organized on a three-by-four matrix of control lines with each switch operating to short two of the control lines. The control lines are collectively represented by the key signal line.
  • the decoder operates to translate the shorted control lines into a discrete character code signal which is sent to the interrupt generator.
  • the interrupt generator When a key signal is received by the interrupt generator on the character line, the interrupt generator will generate an interrupt signal and transmit it directly to the microprocessor 35 on the interrupt line 74.
  • the interrupt line is separate from the address and data buses, and serves to interrupt the microprocessor from normal address and data functions to force the microprocessor to perform a special function.
  • the special function is reading the keys and responding in an appropriate manner, under control of program subroutines shown in FIGS. 4 and 5A.
  • the microprocessor accesses the RAM and ROM as necessary, and provides appropriate commands to the I/O module 38 to command the CD drive 32 to move or accomplish a specified task.
  • FIG. 3 provides a high-level view of operation of the translator and programs in ROM used to control the translator microprocessor.
  • Program operation begins at block 82, labeled "start", which may present an entry point or bootstrap location of the ROM which is initially accessed by the microprocessor when power is applied to the translator.
  • the translator then begins to execute a short loop represented by block 84 and the negative arrow extending therefrom.
  • the translator tests whether a complete 4-digit number entry has been entered on the keypad, and if not, the translator loops back and conducts the test again until the answer is positive.
  • the test of block 84 includes numerous sub steps, including those of FIG. 4. In one of the substeps, the received number entry is stored at a fixed RAM location.
  • control is passed to block 86 in which the microprocessor reads the fixed RAM location to determine the number entry.
  • Control is passed to block 88 in which the microprocessor tests whether this entry is valid, i.e., whether all digits are within the range 0 to 9, and whether four digits comprise the entry. This test acts as an error trap in the event that an invalid entry is written to the RAM by the interrupt routine of FIG. 4. If the entry is invalid, control is passed back to the test of block 84. If the entry is valid, control is passed to the step of block 90, in which the entry is converted into an absolute address on the compact disc.
  • the step of block 90 comprises numerous substeps, including those of FIG. 5.
  • control is passed to the step of block 92 in which the microprocessor assembles and sends a predefined command to the compact disc drive, requesting that the drive locate or seek the audio data on the compact disc corresponding to the disc address, determined in block 90.
  • the predefined command may comprise a digital seek code coupled to the disc address.
  • the compact disc drive command is sent directly to the drive which immediately responds with audio and/or visual output.
  • complex sentences can be constructed from a plurality of phrases strung together and replayed in real time using a buffered command translation and output method (see FIG. 7 and discussion below).
  • Control is next passed to the test of block 94, in which the microprocessor waits to receive a response from the drive. If a response is not received immediately, control is passed to the test of block 96 in which the microprocessor determines whether an internal timer has expired. If not, control is passed back to block 94 and the microprocessor again tests whether a response has been received. If the test of block 96 is positive, the internal timer has expired and no response has been received from the drive. This represents an error condition such as failure of the drive to complete the seek command, and consequently the microprocessor transfers control back to block 84 to await a new key entry.
  • control is passed to the test of block 98, in which the microprocessor tests whether an error has been reported by the compact disc drive. If so, control is passed to block 108 in which an error message is reported to the user and the remaining process steps are skipped. If not, control is passed to the test of block 100 in which the microprocessor tests whether the audio data track located by the compact disc drive is at the correct address determined in block 90.
  • the microprocessor receives an address location report signal from the drive and determines whether this signal matches the address requested in block 92.
  • the test of block 100 thereby enables the microprocessor to verify that the drive has located the correct data track. If not, control is passed to block 108 in which an error message is reported.
  • the error message report block 108 may comprise any of a plurality of means of reporting errors. For example, an error LED on the chassis of the translator may be illuminated, an audible alarm signal may be produced, or other means may be used.
  • control is passed from the test of block 100 to block 102 in which the microprocessor commands the drive to play back the audio data at the located address.
  • control is passed to block 104 in which the microprocessor commands the drive to park at a specified rest location.
  • Control is then passed to the step of block 106, in which the microprocessor resets or blanks out the fixed RAM location in which the keypad number entry was stored. This prevents retention of prior entries, which can cause the microprocessor to erroneously rely on old data for the next seek cycle. Control is then passed to the step of block 110 in which the process repeats by transferring control to block 84.
  • FIG. 4 illustrates steps taken by an interrupt service routine of the present invention.
  • the steps of block 200 to 208 are executed each time a single digit is pressed on the keypad.
  • the routine starts at an entry location designated 200, from which control is passed to the step of block 202 in response to a key being pressed on the keypad.
  • Control is next passed ta the step of block 204 in which a key code generated by the decoder 24 is read.
  • each numeric key on the keypad 20 is assigned a unique key code number to distinguish it from every other key.
  • Control is next passed to block 206, in which the microprocessor stores the code in a fixed location in RAM. A fixed location is used to enable later program steps to "know" which location in RAM to access to find the key code. Control is next passed to the step of block 208 in which the interrupt routine terminates, enabling the microprocessor to resume normal processing.
  • the microprocessor will loop through the test of block 84 until interrupted by a single key entry, when the routine of FIG. 4 will be triggered.
  • control will be passed to block 86.
  • the circuitry may be arranged so that the microprocessor is triggered to move to the step of block 86 when four digits are entered.
  • an "enter" key may be provided in the keypad which serves as a trigger to continue processing.
  • step 302 the microprocessor transforms the number entry into an absolute address of the ROM 36.
  • the number entry and the absolute address cannot be equal, because each CD disc contains a short control header block or identifier area of non-audio control data.
  • an absolute disc address may be created by adding a predetermined base address value (equal to the length of the header block) to the number entry.
  • the ROM 36 acts as a look-up table having a discrete address location corresponding to each possible number entry.
  • This address is placed on the address bus by the microprocessor, and a control signal is placed on the data bus to request a read of the ROM at the address specified.
  • Control passes to the step of block 304 in which the ROM is read.
  • the data read from the ROM corresponds to an absolute address, less any needed offset, on the compact disc.
  • Control is next passed to the step of block 306 in which the microprocessor constructs a command for the compact disc drive which contains a seek request and the address which the drive should seek. This command is passed to the drive through I/O module 38 in manner known in the art. Control is then passed to the step of block 308 in which the microprocessor returns, effectively passing control to step 92.
  • FIG. A a disc access method is described in which guide book numbers act as addresses for a ROM which contains a table of absolute disc locations.
  • Alternative means of addressing the disc are possible.
  • One alternative is to use a prioritization technique using a bit hierarchy key.
  • the guidebook key number have as few digits as possible.
  • the most often used phrases have a low key number with few digits, enabling rapid entry of frequently needed phrases.
  • the user turns to an appropriate page of the guidebook and selects a desired phrase. The user puts the corresponding foreign language compact disc into the compact disc drive.
  • the microprocessor When the user keys in a number entry, the microprocessor transforms the entry into an address on the disc. The microprocessor commands the drive to play the desired phrase by providing a playback command and a disc address. In response, the drive will play out the selected phrase in the desired language.
  • the invention helps the user learn a foreign language by accurately reproducing recorded speech with proper intonation and inflection.
  • the invention is particularly useful during travel in a foreign country, since the invention permits nearly instantaneous response in a foreign language.
  • the invention employs a battery-operated personal compact disc player and discs to provide the combination of portability, easily changeable mass storage media, and audio/visual output. Phrase concatenation is provided by entering multiple numbers to form complex sentences. Temporary memory buffers in conjunction with stored rules of grammar are used to store the phrases and combine them correctly before providing the audio/visual output.
  • the address formation step of block 302 may be implemented using several alternative methods. For example, it is advantageous to prioritize the text phrases on the compact disc for two reasons: first, to enable rapid access to commonly used phrases; and second, to enable commonly used phrases to be accessed using as few keypad digits as possible. Accordingly, step 302 of FIG. 5A may be replaced with a plurality of substeps shown in FIGs. 5B and 6.
  • FIG. 6 illustrates the general process for preparing a compact disc with prioritized phrases. Steps 604 to 612 form a loop is formed in which each phrase is processed until no more phrases remain, as tested in step 612. i step 606 the phrase is prioritized and provided with a priority code. The code is used to create an absolute disc address in step 608, for example, by adding the code to an offset value as is done in step 302 of FIG. 5A.
  • compact discs and ROMs such as the ROM of FIG. 2 are non-rewritable, non-erasable, "write-once" devices; they provide mass storage but can only be written once.
  • the system of the invention uses both a CD to store audio information and a ROM to store address information. Therefore, in step 610 two substeps are executed: first, the phrase is written on the disc at the absolute address of step 608; second, the priority code and absolute address are written to a ROM.
  • the priority code and absolute address can be written to a disc object file (not shown) for later reading and use by a PROM or EPROM "burner.” This enables use of programmable write-once ROMs in the system.
  • the encoding can be done using a bit hierarchy technique shown on the right portion of FIG. 5B, one form of which is discussed in applicant's co-pending U.S. application serial number 07/676,934, "Apparatus and Method for Using Compressed Codes for Recorder
  • the invention can presume that questions are most common, as opposed to declarative statements or exclamations. Thus, the invention can presume that most people need a translation device when a critical question must be asked in a foreign language ("Where is the train station?"; "Where is the bathroom?”; etc.). So questions are assigned the highest priority. Short-length phrases with few words are also assigned a high priority since most people using language translators choose short phrases rather than long sentences.
  • Encoding of the key numbers can be done on any computer and is done prior to preparation of any index guidebook.
  • a type, subject, and length code 354 is entered in step 352.
  • Step 356 separately reads the priority for the length type, subject, and phrase length (in words) in the priority vector storage 324, which can be stored in ROM 36.
  • the priority vector storage 324 can contain a plurality of tables such as a length priority vector L table 324A, a subject priority vector S table 324B, and other priority vector tables for other desired categories. Some categories can use a table but do not require a true look-up step.
  • the length priority vector L table can contain: length 4 5 6 3 8 2 7 1 priority 0 1 2 3 4 5 6 7 ...
  • the priority data would be 1 3 1 as looked-up in step 356.
  • the priority data is converted to binary.
  • the next step is to reorder the 16 bits according to a bit hierarchy key 320, as seen in step 362.
  • the bit hierarchy key can be any ordering of the 16 bits, such as: bit L 5 S 8 L 4 S- 7 S 6 S 5 S 4 S 3 S 2 S, L 3 Lj L t T 2 T, key loc 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
  • the bit hierarchy key is ordered so that phrases most likely to be selected would have a low value binary number, which would eliminate keystrokes for selecting the most popular phrases. Since all bits of the type have equal priority, the type bits T u T 2 are first. Next L t to Lj are used, because most common phrases have eight or fewer words.
  • the next bit in the hierarchy key is determined by the differential probabilities of the various combinations.
  • the probability for lengths may be: length 4 5 6 3 8 2 7 1 ... priority 0 1 2 3 4 5 6 7 ... probabiIity(%) 20 16 13 11 8 6 5 1
  • the probability for subject matter could be subj [travel] [dining] [museums] [landmarks] priority 0 1 2 3 probability 12 11 9 7
  • the next bit in the hierarchy key could be S 2 or Lj.
  • the differential probabilities calculated from the above tables, are considered for the differences between S 2 S t and Si and LJ , and L t . Accordingly to the tables above, the probability of a length being represented by just the L j bits is 60% (20+ 16+ 13+11). Since the probability of a length being represented by just the Lj bit is 36% , the differential probability between L 2 L t and L_ is 24% (60-36). For S 2 , the probability of a subject being represented by just the S 2 S j bits is 39% (12+11+9+7).
  • bit hierarchy key can be just some arbitrary sequence of the bits. It is also possible to make the priority vectors interdependent, such as making the length priority vector dependent on different groups of subject matter. Another technique is to make the bit hierarchy key 120 and the priority vector tables a function of the clock 39, creating a time-dependent bit hierarchy key which is very difficult to copy.
  • the bits of one parameter can be scrambled as a function of the clock, by switching two bits periodically, such as every day or every week.
  • the priority vector tables can also be scrambled as a function of the clock.
  • bit hierarchy key After the bit hierarchy key is derived using one of the above methods, it is stored in RAM.
  • step 362 the binary bits of T P , S P , and Lp are rearranged according to the bit hierarchy key 320 to create a 16 bit binary number. Then the binary number is converted to a decimal base address in step 364. A fixed, predetermined offset value is added to the base address, resulting in an absolute disc address, and the phrase text is written to the absolute address in step 366. The absolute address is also written to an object file or directly burned into the ROM table.
  • step 312 a key number is obtained from the keypad service routines.
  • the key number is converted to a binary number in step 314.
  • step 316 the binary bits are reordered in step 316 according to the bit hierarchy key 320, which can require reference to the clock.
  • the bits are then converted to decimal digits in step 318.
  • the decimal digits are used as a table lookup index to lookup length, subject, and type in the priority vector tables 324.
  • the foregoing discussion relates to retrieval of audio and visual output data for a single foreign language phrase.
  • a user may desire to string a plurality of phrases together to form a complex sentence.
  • output of both visual and audio data is preferably buffered to enable the entire sentence to be output together, resulting in an uninterrupted
  • the resulting length, subject, and type priority vectors obtained from the priority vector tables can be buffered by storing them in a plurality of internal memory buffers in the RAM before the compact disc is accessed. After the user enters an entire sentence of key codes, all the buffered vectors are output in sequence to the CD drive. The drive plays or displays the requested data and immediately receives the next vector until the entire sentence is translated. The vectors can be provided to the drive in real time using conventional interrupt-driven hardware or software.
  • FIG. 7a shows steps in one buffered, batch method of operation 700 enabling rapid, real-time playback and display of complex sentences. First a buffer is filled in steps 702 to 706. Then the buffer is fed as a batch to the compact disc drive in steps 708 to 712.
  • Li step 702 the CPU generates an absolute address for a phrase to be played back, using a plurality of steps such as those shown in FIGs. 3 and 5C.
  • the resulting address is stored in a first-in, first-out (FIFO) command buffer in RAM in step 704.
  • the buffer is sized to accommodate die largest contemplated complex sentence; storage for sixteen phrase playback commands is considered adequate.
  • the CPU tests whether the user desires to enter another phrase or playback all the buffered phrases. This test can be done by sensing a key code on the keypad or by sensing a dedicated playback key. If further phrases are desired, control is passed to step 702 to receive and translate the next phrase.
  • step 708 control is passed to step 708 to play back phrases corresponding to all data stored in the buffer.
  • step 708 necessarily involves several sub-steps such as steps 714 to 730.
  • the CPU copies or loads the first address in the buffer (corresponding to the first phrase to be played back) and transfers it to the I/O interface coupled to the compact disc drive.
  • the address can be transferred to the I/O interface on the I/O bus or copied to a scratchpad memory space in the I/O interface.
  • the CPU next sends a signal to the I/O interface to command the interface to act using the address provided (step 718). Internally the interface can set a "busy" signal (step 720) to prevent the CPU from requesting another I/O operation. The interface then commands the drive to load and play data corresponding to the command address, at step 722. After playback, the drive can set a ready flag line (step 724) coupled between the drive and the interface to notify the interface that playback is complete.
  • steps 714 to 730 can be replaced with other means of sending addressing data to a compact disc drive and ascertaining when the drive is ready for more data.
  • the buffered playback process uses the steps shown in FIG. 7b. Li this process, steps 700-722 are identical to the steps with like reference numerals in FIG. 7a. However, the structure, sequence, and organization of these steps is different in FIG. 7b.
  • step 702 the CPU initially generates an absolute address for a phrase to be played back, using a plurality of steps such as those shown in FIGS. 3 and 5c. The resulting address is stored in a FIFO command buffer in RAM in step 704.
  • step 716 the command address is copied from the buffer to the I/O interface coupled to the compact disc drive.
  • the CPU sends a signal to the I/O interface to command the interface to act using the address provided.
  • the CPU sets a "busy" flag signal in step 720, to block further access to the I/O interface. Concurrently, a "ready" flag is set to indicate that the compact disc drive is ready for use.
  • the interface commands the drive to load and play audio data corresponding to the command address.
  • the audio played from the CD is intercepted and, without output to the loud speaker, the audio is transferred to an audio buffer. In this manner, the CPU stores the audio read from the CD without providing any audible signal.
  • the CPU tests whether the CD drive is ready for a new address. If not, then the CD is still playing back audio and control is transferred to step 732.
  • step 728 If the ready flag is clear, then the CD drive is ready for further use, and control is passed to step 728.
  • the I/O flag is cleared in step 728 to enable the I/O interface.
  • step 734 the CPU tests whether more phrases remain to be translated. If so, control is transferred back to step 702 to continue the above-discussed process. In this fashion, audio from the compact disc drive is generated for every phrase in a string of phrases, and stored in a buffer memory. No audio output occurs.
  • step 736 after audio for all phrases has been stored in the audio buffer, the CPU causes output of the entire contents of the buffer in serial fashion. This causes an entire concatenated phrase to be output without interruption or pauses between phrases or words in the phrase. After the output operation, as indicated in step 730, the process is done and. control can be transferred back to step 82 of FIG. 3.
  • the foregoing process steps and flow diagrams illustrate that the basic operation of the invention is translation of logical address and buffered transfer of the address to a drive for playback of data on the drive.
  • the apparatus of the invention receives as input a key number from the guidebook.
  • the apparatus operating under control of specific program steps, translates the guidebook key number into an absolute address on the compact disc. This address is accessed, and the corresponding audio data is read and played back, with buffering of multiple phrases if desired.
  • multiple conversion, look-up, and transformation steps are required to convert the guidebook key number into an absolute address.
  • FIGs. 8, 9, and 10 An alternate embodiment of the invention is shown in FIGs. 8, 9, and 10.
  • the three main components of the language translator are a printed guide book 1000, a selection means 1010, and a playback means or compact disc player apparatus 1030.
  • the guide book 1000 comprises a printed hand-held book with a plurality of pages or sheets 1012, 1012' each imprinted witii sentences or phrases 1001a, 1001b separated by spaces 1013 of a pre-determined size. Pages are bound along the center spine 1001 in conventional manner, so as to lie flat when opened.
  • the contents of the guidebook, especially the phrases, are printed in a language known to the user. When consulting the guidebook the user only sees phrases in his known language. Translation of the phrases is accomplished by the apparatus.
  • the book 1000 is mounted on a language translator apparatus 1 as shown in FIG. 10.
  • the book mounts flat in a rectangular recess 1030 having a size approximately equal to the size of the book.
  • each page 1012 of the book 1000 includes a tab 1032 extending outward from the top edge 1013 of the page.
  • the tabs 1032 extend over the top edge 1034 of the recess.
  • the outer covers 1036 of the guidebook are held in place in die recess using any suitable means, such as clips, snaps, hook-and-loop fasteners, or magnetic means, so that the book 1000 lies flat on the apparatus 1 when opened to any particular page.
  • the apparatus 1 receives input from selection means and page detection means to determine which phrase is desired for translation by a user.
  • the selection means 1010 selects a phrase and the detection means 1004 detects a particular page of the guidebook.
  • the combination of phrase selection and page detection provides the translator with a unique address for the phrase entered by the user.
  • the translator locates phrase translations on the compact disc depending on the location of phrases on the particular page.
  • the selection means 1010 shown in FIG. 10 comprises a plurality of selectors 1002. These selectors preferably are conventional touch pads, push buttons, or telephone-type keys.
  • the selectors can comprise commercially available light touch switches, such as Digi-Key part numbers P8038S or P800S, Panasonic part numbers EVQ-QFR02K and EVQ-QFV02K, respectively.
  • Two exemplary selectors 1002 are shown in FIG. 10; one type of selector is oval shape and the other one is rectangular shape although shape is not critical.
  • Each selector is aligned with one phrase of the guide book 1000 so that one selector 1002 corresponds to one phrase.
  • each phrase, which has the same meaning for different language guidebooks is located at the same location for different guidebooks.
  • the phrase "where is the train station" preferably appears on the same page and location for every guidebook.
  • an optical sensor 1004 is provided on the top right portion of the cover 32' of the apparatus, and comprises a strip of a plurality of adjacent photo-sensitive cells 1008, or a matrix of photosensitive cells, which are known to persons of ordinary skill in the art and commercially available.
  • the photo-sensitive cells could each comprise a photo micro sensor commercially available from OMRON, such as a reflective dark-on micro sensor of part number EE-SB5VC or EE-SB5-B.
  • a conventional photo-resistor which provides a variable resistance depending on the amount of light falling on the cell, could also be used.
  • each page of the guidebook is provided with a single tab 1032 on the top of each page 1012.
  • all tabs 1032 cover the cells 1008. Every time the user turns to a consecutive page the tab moves away and a cell 1008 is exposed.
  • tab 1036 will be moved to the left side of the book, thereby exposing sensor 1038 lying under tab 1036. Accordingly, sensor cell 1038 is exposed to light, providing a signal to the CPU 34.
  • a photo-resistor When a photo-resistor is used, its resistance will increase in response to light exposure when a page is turned away from the cell 1008 and the cell 1008 is exposed to more ambient light.
  • FIG. 8 shows electrical components which enable detection of the selectors and the page tabs.
  • the component arrangement of FIG. 8 is similar to the system of FIG. IA.
  • the system additionally includes an address bus 35a and a data bus 35b to connect the RAM, ROM, character generator, D/A converter and I/O interface to the CPU 34.
  • the buses may comprise conventional microprocessor buses.
  • Also coupled to die buses are a selector decoder latch 1012 and a page decoder latch 1010.
  • the selector decoder latch 1012 provides an interface between the selectors 1010 and the CPU buses.
  • the selectors 1010 each electrically comprise a momentary push button 1002.
  • Each of the push buttons has a first pole coupled to ground and a second pole coupled a different input pin of the selector decoder latch 1012.
  • the latch senses one of its input pins pulled to ground by closure of a push button 1002
  • the latch provides, on its output line 1020, a binary coded decimal (BCD) representation of a number corresponding to the push button 1002 selected by the user.
  • BCD binary coded decimal
  • the number placed on the BCD output line 1020 which may comprise a four-bit plurality of lines, which is coupled to the data bus using a bus driver
  • the CPU can address the decoder latch 1012 by asserting the address lines 1018 on the address bus. These operations are conventional.
  • the system of FIG. 8 includes a page decoder latch circuit 1010 interfaced to the address and data bus of the CPU using an address line 1014, a BCD output line 1016, and a bus driver circuit 1024.
  • the page sensor cells 1008 are illustrated as comprising phototransistors.
  • the collector of each phototransistor is coupled to the supply voltage VSS of the system, the base voltage is determined by ambient light falling on the phototransistor, and the collector output of each of the phototransistors is coupled to a different input pin of die page decoder latch 1010.
  • the transistor when ambient light falls on one or more of the phototransistors 1008, the transistor conducts, thereby coupling the supply voltage VSS to the input pin of the decoder latch 1010 corresponding to the phototransistor.
  • the page decoder latch 1010 provides a BCD output representing a number corresponding to the phototransistors exposed to ambient light. This number may be read from the decoder latch by the CPU by asserting the address line 1014 and reading the data line 1016. The detection of each page as it is turned away is accomplished in mis method.
  • the optical sensor 1005 is arranged on the right side of the cover of the compact disc player. By using a longer strip sensor, the detection of a thicker-sized guidebook can be accomplished.
  • the guidebook pages are indented successively from the top page to the bottom page with a cutout 1040. Normally, the cells 1008 are completely covered by all pages of the guidebook. As each page is open or turned, a successive cell 1008 is exposed.
  • the sensor 1005 may comprise a plurality of sensor cells 1008.
  • Each of the sensor cells 1008 corresponds to a page in die guidebook. As successive pages of the guidebook are turned, die cutout 1040 of the page exposes a successive sensor cell 1008.
  • Each of the sensor cells is coupled to a page decoder latch in the arrangement shown in FIG. 8 in the place of the photosensors 1008. Since the photosensors are responsive to ambient light, each time a. page is turned, an exposed photosensor provides a signal to the page decoder latch to enable die CPU to detect die current page on view by a user.
  • each page is imprinted with a bar code 1042 or a matrix of black dots representing the page number.
  • Each page has a different bar code 1042 or dot matrix to correspond to. its page number.
  • a bar code reader 1006 is provided at die top of the apparatus 1 and is provided with a hinge 1044 to mount the reader to the top edge 1046 of the apparatus 1. In operation, the reader 1006 is initially rotated upward on die hinge 1044 by the user. With the reader in the upward position, the user turns pages of the guidebook to locate die desired phrase.
  • Each guidebook page is provided w ⁇ tii a unique, sequential bar code indicia 1042.
  • the user folds die reader 1006 over the bar code, enabling the reader to read the bar code.
  • the bar code reader which may be of conventional design, is coupled to the CPU to enable the CPU to read the bar code using the reader.
  • the bar code reader holds the guidebook in place and detects die bar code on a particular page if desired.
  • the detector can also be a matrix of photodetectors which recognize different dot matrix code for each page.
  • the detector can comprise a plurality of photo detectors arranged in a matrix so that a separate photo detector corresponds to a separate dot matrix position.
  • the detectors are sensitive to a particular dot position, so tiiat a unique matrix of black dots triggers a response from a subset of the plurality of detectors. In this way, a matrix of dots printed on die page can be detected as a unique page number.
  • the size of the matrix is related to die number of pages in the guidebook.
  • each dot in the matrix has two potential states (on and off) the maximum number of pages in the guidebook for a given matrix is equal to a number represented by two raised to a power determined by die number of dots in die matrix.
  • a matrix of six dots, arranged in a two by three array enables representing 2 6 pages or 64 pages, a convenient size for a portable guidebook.
  • a larger number of dots in die matrix would enable representing a larger number of pages.
  • die output of the optical sensor or dot matrix sensor is provided to a decoder circuit which transforms signals received from die sensors or detectors into a binary-coded decimal number usable by the CPU 34.
  • the decoder serves as an interface between the signals received from me sensors and die digital data bus of die microprocessor.
  • Such decoders are commercially available and can be addressed by die microprocessor and read to determine die numeric value represented by signals from the sensors or detectors.
  • a decoder circuit is provided for the selectors to enable the CPU to associate a binary coded decimal number witii the selector chosen by die user.
  • the circuit can comprise a latch decoder which translates a signal line corresponding to die selector into a binary coded decimal output on a plurality of output pins of the decoder circuit.
  • latch decoders are known in the art for use in keyboard switch detection, in which alphanumeric keys of a typewriter-style keyboard are latched and decoded into a unique digital representation of the character pressed by the user of die keyboard.
  • Such a keyboard latch decoder circuit can be adapted for use in die present invention.
  • FIG. 13 Each block of FIG. 13 represents many individual computer program steps or process sub-steps.
  • the process of FIG. 13 preferably is embodied in a stored program contained in die ROM
  • Program execution begins at block 1082, labeled START, which is initially accessed by the CPU 34 when power is applied to die apparatus.
  • the translator executes within the loop 1084 until an entry is received, i.e., when a user presses a selector.
  • block 1084 can comprise steps to read die selector decoder latch 1012.
  • die program enters block 1085 where a detection of a page of the guidebook occurs. No page detection is required until die user presses one of die selectors in order to avoid unnecessary computation and/or power consumption. The user may also want to glance at the guidebook witiiout selecting any particular phrase.
  • Page detection can comprise causing the CPU 34 to assert the address lines 1014 of die page decoder latch 1010, as shown in FIG. 14 step 1202.
  • asserting the address lines of such a device causes die device to place a binary coded decimal output on its BCD output line 1012.
  • the CPU 34 then reads die data bus to determine die BCD value output by the page decoder latch 1010.
  • the CPU transfers the value to a known location in the RAM 44.
  • die program tests whether die entry indicated by die selector is valid or not, indicated by block 1088. This step is provided to enable the system to reject entries when a selector is undefined for a particular guidebook page. If an invalid entry is detected die program returns to block 1082.
  • the CPU next determines which phrase was selected. This can comprise the steps of causing die CPU 34 to assert the address line 1018 of the selector decoder latch 1012, as shown in FIG. 14 1203. As is known in die art, asserting the address line 1018 causes the selector latch to output a binary coded decimal number on its BCD output line 1020. The CPU 34 then reads die data bus to determine die value output by the latch. In this way, the CPU can receive a number on die data bus corresponding to die selector which was pressed by die user.
  • die CPU determines me address on die compact disc corresponding to a translation of die phrase selected by die user.
  • step 1204 the CPU loads and combines the numbers provided as output from the selector decoder latch and d e page decoder latch. The numbers are combined in a string which uniquely represents die phrase selected by die user. For example, if die user selected die fourth phrase on page 12 of die guidebook, the CPU would combine the numbers 12 and 04 into a numeric string "1204."
  • the CPU adds an offset value to the numeric string. The offset value compensates for the fact that a non-linear relationship exists between a numeric string and absolute addresses on the compact disc.
  • the first phrase on page 1 of the guidebook would be encoded as a numeric string 0101, but the audio output corresponding to that phrase is not necessarily located on address 101 of d e compact disc. Therefore, addition of an offset enables die CPU to correcdy address die compact disc drive.
  • the CPU next accesses the CD drive according to steps 92 to 110 in die same manner discussed above for FIG. 3.
  • the system of FIG. IA can additionally include a speech synthesizer coupled between the CPU 34 and die D/A converter 47.
  • the syndiesizer may comprise a conventional speech synthesizer circuit or circuit board. In such a system, die data organization of the compact disc 32 would differ from the organization previously discussed.
  • die compact disc preferably contains a plurality of digital data representing synthesizer output of translated phrases, text for display on die LCD of a translated phrase, pronunciation keys for changing the pronunciation of the output, and grammar rules for changing the grammatical form of the output.
  • the compact disc can be organized as a foreign-language dictionary, in which foreign-language words are arranged alphabetically. Following the dictionary, the compact disc can contain die pronunciation keys and grammatical rules.
  • the general operation of such a system preferably comprises selection of a phrase by a user, construction of text output by the apparatus according to the grammatical rules, retrieval of digital speech data corresponding to each word in die translated string, and application of a text-to-speech synthesis system for output of the text to a speech synthesizer.
  • the text-to-speech synthesis system disclosed in Malsheen et al. U.S. Patent No. 4,979,216 is suitable for such an implementation.
  • Other text-to-speech systems are known in the prior art, as exemplified by Groner et al. U.S. Patent No. 4,716,583, Dorsey et al. U.S. Patent
  • such a. system using speech synthesis would process translation according to die steps of FIG. 15. Steps 802 through 818 of FIG. 15 are executed in place of steps
  • step 802. the CPU loads each word in die desired phrase to a text buffer. Since the compact disc is organized as a dictionary, several mode operations are required to load each word in a multiple-word phrase.
  • the compact disc is organized so that the address corresponding to a particular page and selector of die guide book contains digital numeric data representing words to be retrieved from die dictionary. In this manner, pressing a phrase selector causes the CPU to convert the selector and page numbers into an address on die CD. The CD address is read, causing the CPU to retrieve from the CD numeric pointers to a string of words. Each word represented by die pointers is tiien loaded from the dictionary portion of die compact disc.
  • step 806 the CPU loads a plurality of grammatical rules from the compact disc.
  • die grammar rules are loaded upon power-up of die apparatus, and stored in RAM throughout operation of die apparatus.
  • step 808 the CPU loads a plurality of pronunciation keys and stores them in the RAM 44.
  • the pronunciation keys are loaded upon initialization or power-up of the apparatus, and stored in RAM throughout operation of die system.
  • step 810 die grammatical rules are applied to the phrase as stored in the text buffer. Application of the rules may cause words in die phrase to be re-ordered. After a rule has been applied to die phrase, in step 812 the CPU tests whedier further rules remain. If so, die CPU branches to step 810 and applies anodier rule. Otherwise, control is passed to step 814 in which die CPU performs text-to-speech conversion on the text stored in the buffer.
  • the output comprises a digital representation of speech for output to the syndiesizer.
  • die CPU applies die pronunciation keys to die converted speech in step 815. This step enables the CPU to adjust die converted speech to account for any desired regional accent or difference in pronunciation.
  • ⁇ e CPU outputs the contents of die text buffer to die visual display such as LCD 49.
  • die converted speech is sent to the speech syndiesizer for audio output through a buffer amplifier and loud speaker.
  • die CPU continues processing by transferring control to step 98 of FIG. 3.
  • me keypad can be replaced witii a voice-entry module. Using such a module, die user would speak die key numbers into a microphone and d e module will translate the speech into digital key number data equivalent to data from die keypad.
  • radier should be determined by reference to die appended claims.

Abstract

A keyed language translator (1) is provided, comprising a printed guidebook (10) having a large number of phrases (14) printed therein in a user's native language. A key number (16) is printed adjacent each phrase. A compact disc player apparatus (30), or other audio mass storage playback means (33), is provided, and includes a digital keypad (20) for entering key numbers. At least one compact disc is provided, having a large number of foreign language phrases recorded thereon at discrete addresses defined by the key numbers (16). The player apparatus (30) includes a driver, a microprocessor (34) and other electronic components, coupled to the keypad (20) to receive input from the keypad (20), and operating under firmware program control. The firmware (36) responds to key numbers (16) entered with the keypad (20) and controls the drive to retrieve and play back an audio recording of the phrase in the guidebook (10) corresponding to the entered key number (16). A different compact disc is provided for each foreign language, and each different disc is operative with the same keyed guidebook (10).

Description

KEYED LANGUAGE TRANSLATOR
Field of the Invention
The present invention relates generally to electronic automatic interactive language translators. The invention specifically relates to language translators provided with a visual display of translated phrases, a compact disc or other random access audio mass storage means for translation output, a keypad for data entry, and a keyed guide book containing a table of language phrases and key numbers.
Background of the Invention In learning a foreign language using a written textbook, the greatest difficulty is mastering the nuances of intonation and inflection. Piecing together sentences, by reading and pronouncing individual words from a printed page, simply does not result in understandable speech.
As a result, many persons now use audio cassette tapes for instruction in language. Often such audio tapes are prepared by a native speaker of the foreign language so that intonation and inflection are accurately recorded. However, learning language from a tape is difficult for several reasons. First, the overall learning process is slow. Since conventional audio tapes do not provide random access capability, to locate a desired lesson or phrase, the tape must be rewound or advanced repeatedly. Second, due to limited storage capacity, conventional audio cassettes rarely include every phrase or idiom which the language student wishes to learn.
Various types of electronic dictionaries and language interpreters have been developed in the past. For example, U.S. Patents Nos. 4,489,396 and 4,587,635 (both Hashimoto et al.) disclose language information retrieval systems. However, the Hashimoto et al. systems include the significant disadvantage that the desired word or phrase must be input to the systems using an alphabetic typewriter-style keyboard. This method is slow, especially for long or complicated phrases, or for persons who do not type well. Further, providing a typewriter-style keyboard is inconvenient in compact devices intended for use in travel abroad.
Others have attempted to provide random-access audio sources with less than complete success. For example, U.S. Patent No. 3,605,285 (Ben Daniel) discloses a phonograph record random access system using a keyboard, a keyword overlay, and a multi-spiral phonograph record. However, this system is cumbersome due to the limited amount of information printable on an overlay sheet and the limited data storage capacity of a phonograph record. A similar disadvantage exists in U.S. Patent No. 4,749,354 (Kerman), which employs an overlay with a keyboard. U.S. Patent No. 4,481,412 (Fields) teaches a videodisc training system with a bar code reader used to read bar codes in a printed workbook. The bar codes are locations of information on a videodisc corresponding to the workbook text. Thus, Fields uses absolute addressing in which each bar code corresponds to a unique address on the videodisc. Unfortunately, this approach requires the workbook to be compatible with the hardware, i.e., the particular videodisc player and disc addressing used. It would be advantageous to provide indexing for a disc player which does not require use of absolute disc locations as input. The Fields apparatus uses a videodisc system and television monitor and therefore is not suitable for portable use by travelers or students.
A Concierge 20-number/phrase single language voice translator is known in the art, commercially available from Trendmasters, 1730 N. 11th St., St. Louis, Missouri 63104.
The Concierge apparatus is a fixed single language audio translator using semiconductor memory. The Concierge system is limited in storage capability; a typical memory module stores only 20 statements in a single language.
A Craig M10026-letter/phrase multi-language visual translator is also known, available from Craig Corp., 921 W. Artesia Blvd., Compton, California 90220. The Craig system uses limited storage semiconductor memory chips ("memory capsules") which must be removed with care to change languages. Only a maximum of three different languages can be accommodated simultaneously. Also, the Craig system provides no audio output.
Moreover, students of foreign languages would find desirable a portable, high-capacity random access language translator with easily changeable mass storage means and convenient means to randomly access phrases stored on the storage means. Another desirable feature is simultaneous visual and audible output. Another desirable feature is for the storage means to contain accurately recorded spoken foreign language speech of a native speaker of the foreign language. Yet another desirable feature is to have a large number of phrases and idioms recorded on the storage means. Still another desirable feature is providing a shorthand input means which permits phrase concatenation and eliminates the need to type in an entire phrase for translation. Another desirable feature is a stored set of pronunciation keys relating to syllable emphasis to improve the naturalness of speech output. Another desirable feature is a stored set of grammar rules to enable output in correct word order.
Summary of the Invention The present invention provides a keyed language translator comprising, in one embodiment, a printed guidebook having a large number of phrases printed therein in a user's native language. A key number is provided adjacent each phrase. The invention further includes a compact disc player apparatus, or other audio mass storage playback means, having a digital numeric keypad for entering the key numbers. At least one removable compact disc is provided, having a large number of foreign language phrases recorded thereon at discrete addresses corresponding to the key numbers. The player apparatus includes a microprocessor and other electronic components operating under microprocessor program control. The microprocessor is coupled to the keypad to receive input from the keypad. The microprocessor responds to key numbers entered with the keypad and controls a compact disc drive in the player apparatus to retrieve and play back or display a buffered audio recording or text representation of the phrase in the guidebook corresponding to the entered key number. A different compact disc is provided for each foreign language, and each different disc operates with the same guide book.
Thus, the invention combines the portable, interchangeable, high-capacity random access capability of a compact disc with a guidebook and a shorthand key number coding system, to allow a large number of foreign language phrases to be accessed rapidly through a compact disc player by keying in the number printed adjacent the desired phrase in the guidebook. The invention also enables shorthand entry of phrases, and phrase concatenation, to permit entering multiple numbers to form complex sentences. In an alternate embodiment, the invention provides a printed guidebook removably mounted on a compact disc player apparatus with a microprocessor and a stored control program. The compact disc player apparatus includes a plurality of selectors aligned with phrases printed in the guidebook. The apparatus includes a page detection means capable of determining which page of the guidebook is currently being viewed by a user of the apparatus. The user turns the guidebook to the desired page, presses a selector corresponding to the phrase to be translated, and the apparatus provides visual and audible output of a translated phrase.
In a further alternate embodiment, the mass storage means includes a plurality of stored pronunciation keys which enable natural-sounding output from the apparatus. Alternately, the compact disc player can be replaced with a mass storage device coupled to a speech synthesizer for live synthesis of translated speech. In addition, the apparatus can include grammatical rules stored on the compact disc which are appHed to concatenated phases to ensure that all output is grammatically correct.
Brief Description of the Drawings
FIG. IA is a block diagram of a language translator system of the present invention;
FIG. IB is a schematic representation of a guidebook used in the system of FIG. 1;
FIG. 1C is a perspective view of one embodiment of the invention; FIG. 2 is a block diagram showing logical flow of data and address information among the hardware components of the translator of FIG. 1;
FIG. 3 is a flow diagram showing overall operation of the translator of FIG. 1;
FIG. 4 is a flow diagram showing operation of an interrupt service routine forming a part of the translator of FIG. 1; FIG. 5 A is a flow diagram of a keyboard service routine forming a part of the translator of FIG. 1.;
FIG. 5B is a flow diagram of a key number bit hierarchy encoding method and a key, number bit hierarchy decoding method;
FIG. 6 is a flow diagram of a keyed compact disc making method; FIGS. 7a and 7b are flow diagrams of buffered output methods;
FIG. 8 is a block diagram of an alternate embodiment of the present invention;
FIG. 9 is a schematic representation of a guidebook used in the system of FIG. 8;
FIG. 10 is a top view of the embodiment of FIG. 8; FIG. 11 is a top view of another embodiment of the present invention;
FIG. 12 is a top view of another embodiment of the present invention;
FIG. 13 is a flow diagram showing overall operation of the system in FIG. 8;
FIG. 14 is a flow diagram showing operation of a sentence/phrase address computation forming a part of the system in FIG. 8; and FIG. 15 is a flow diagram of translation processing with speech synthesis used for output.
Detailed Description of the Preferred Embodiments
In the following detailed description of the preferred embodiments, specific terminology is used for the sake of clarity. However, the invention is not intended to be limited to the specific terms so selected, but rather includes every technical equivalent operating in a substantially similar manner to accomplish substantially the same function.
Attention is first invited to the block diagram of FIG. IA in which the components of a language translator 1 are shown. Preferably, the translator includes three main elements: a printed key-number coded guidebook 10, a numeric data entry means or keypad 20, and a playback means or compact disc player apparatus 30. The guidebook 10 preferably comprises a printed, hand-held book having a plurality of sheets 12 each imprinted with pairs of phrases 14. As shown in FIG. IB, each phrase 14 has an associated key number 16 printed adjacent to the phrase. The conte ts of the guidebook, especially the phrases, are printed in a language known to the user, rather than a foreign language. Thus, when consulting the guidebook, the user sees only phrases in his native or known language. Translation of the phrases is provided solely by the apparatus, and foreign language phrases are not contemplated to be printed in guidebook 10.
Preferably, the phrases in the guidebook are arranged in groups or pairs of logically related phrases. For example, the guidebook contents may appear as follows: How are you today? [3212] I am fine, thank you. [3213]
Thus, the phrase pairs comprise logically related statements likely to be encountered in everyday conversation by the user of the translator. The key numbers may comprise any number of numeric digits, but four digits are contemplated as sufficient for most applications. As is known in the art, four digits may represent ten thousand phrases if the digits are each base ten integers. A guidebook containing more than ten thousand phrases is contemplated, but may be unwieldy for most travelers. The key numbers in the guidebook are correlated with specific audio phrases recorded on a compact disc or other mass audio storage means using the remaining apparatus of the invention.
Referring again to FIG. IA, a keypad 20 is included which may comprise a telephone-type or other numeric, 10-digit keypad for entering the digits zero through nine.
Keypad 20 is coupled to the CD player apparatus, which includes a central processing unit (CPU) 34 and a read-only memory (ROM) or firmware means 36 coupled to CPU 34. An input/output driver module (I/O module) 38 is coupled both to the CPU and to a battery-operated compact disc drive 32. Several audio mass storage means or compact discs (33 in FIG. 1C) are provided, each including a plurality of foreign language phrases recorded thereon in the form of audibly replayable digital data on a plurality of separately addressable audio data tracks. Each phrase has a discrete address on the disc. As is known in the art, the drive may comprise a motor, an optical read head and mechanism, a light source such as a laser, and associated electronic components for driving the read mechanism and the motor. The drive 32 is essentially a battery-operated, stand-alone device as known in the art; the drive receives control commands from the I/O module and responds appropriately by moving compact disc in the drive to the desired location. The drive can also respond by providing audio output or control signals indicating the position of the disc in the drive.
The ROM 36 is conventional and contains stored program instructions and data which are accessible by read cycles from the CPU. The apparatus of FIG. IA also includes a conventional digital-to-analog converter (DAC) 47 electronically coupled to receive digital data from CPU 34. The DAC 47 converts the data into an analog signal which is electronically fed to an audio amplifier 46 and a loudspeaker 48. In known manner, the amplifier increases the gain of the output signal of drive 32 to enable audible perception of the signal. As is known in the art, the loudspeaker 48 may be replaced by an output jack 45 (FIG. 2) coupled to a set of earphones worn by the user.
CPU 34 is also electronically coupled to a conventional character generator circuit 52. As is known in the art, the CPU 34 feeds digital data to the character generator 52 which generates display signals and feeds the display signals to a visual display 49, such as a low-power liquid crystal display (LCD) in conventional manner. Preferably the LCD is large enough to display a complete sentence in any of the contemplated languages. A 40-character display such as Optrex Corp. model LTN242R-10 (Digit key part No. AMX240-ND) is suitable.
The apparatus can be housed in a compact, handheld housing 2 shown in FIG. lC. The keypad 20 can be implemented as a ten-digit push button keyboard and an LCD display 49 can be provided on the front panel of the housing. A tilt-up access door 32' with rear hinges 34 of conventional design enables access to the compact disc drive 32, thereby enabling rapid changing of language discs 33. Command buttons 22 enable entry of translate, play, eject, and seek commands. In the embodiment of FIG. 1C an earphone jack 45 is shown for audio output (enabling the housing to be compact). Alternatively, a loudspeaker could be mounted on the housing. The entire apparatus can be battery powered or supplied with power from an adapter, coupled to a jack 37.
The CPU may command the I/O module to execute certain predefined functions, through the logical interconnection of the hardware components of the system indicated in FIG. 2. Flow of data logically occurs along four main paths: an input/output (I/O) bus 41, a data bus 50, an address bus 60, and an interrupt line 74. CPU 34 includes four main components: a keypad decoder 24, an interrupt generator 40, a microprocessor 35, and a scratch pad memory (RAM) 44. The microprocessor is coupled to the other components of the CPU, and is also coupled to the compact disc drive 32 via the I/O interface 38. As is known in the art, a RAM memory address may be placed on the address bus, and data to be acted on by the receiving component may be placed on the data bus by the microprocessor. The components are interconnected in a manner known in the art with a clock signal generated by clock 39 and other utility signals necessary for proper operation. Thus, the apparatus of FIG. 2 functions as a complete microcomputer having a single input device, namely the keypad, and a single output device, namely the drive.
The keypad 20 comprises a plurality of key switches coupled along a key signal line 70 to the decoder/driver 24. Using known and conventional electronics, when any of the numeric keys is depressed by a user, an appropriate signal is generated by the keypad on line
70 and sent to the decoder. The decoder is coupled on a character line 72 to the interrupt generator. The decoder will translate the signal from the keypad into a digital key code signal representing the number pressed on the keypad. In one contemplated embodiment, ten numeric keypad switches may be organized on a three-by-four matrix of control lines with each switch operating to short two of the control lines. The control lines are collectively represented by the key signal line. The decoder operates to translate the shorted control lines into a discrete character code signal which is sent to the interrupt generator.
When a key signal is received by the interrupt generator on the character line, the interrupt generator will generate an interrupt signal and transmit it directly to the microprocessor 35 on the interrupt line 74. As is shown in HG. 2, the interrupt line is separate from the address and data buses, and serves to interrupt the microprocessor from normal address and data functions to force the microprocessor to perform a special function. In the case of the apparatus of FIG. 2, the special function is reading the keys and responding in an appropriate manner, under control of program subroutines shown in FIGS. 4 and 5A. When an interrupt signal is received, the microprocessor accesses the RAM and ROM as necessary, and provides appropriate commands to the I/O module 38 to command the CD drive 32 to move or accomplish a specified task.
This operation is best illustrated by reference to FIG. 3. As persons of ordinary skill in the art will recognize, each block of FIG. 3 represents many individual program steps and process sub-steps. Thus, FIG. 3 provides a high-level view of operation of the translator and programs in ROM used to control the translator microprocessor.
Program operation begins at block 82, labeled "start", which may present an entry point or bootstrap location of the ROM which is initially accessed by the microprocessor when power is applied to the translator. The translator then begins to execute a short loop represented by block 84 and the negative arrow extending therefrom. Thus, the translator tests whether a complete 4-digit number entry has been entered on the keypad, and if not, the translator loops back and conducts the test again until the answer is positive. As the discussion below indicates, the test of block 84 includes numerous sub steps, including those of FIG. 4. In one of the substeps, the received number entry is stored at a fixed RAM location.
When the test of block 84 is positive, control is passed to block 86 in which the microprocessor reads the fixed RAM location to determine the number entry. Control is passed to block 88 in which the microprocessor tests whether this entry is valid, i.e., whether all digits are within the range 0 to 9, and whether four digits comprise the entry. This test acts as an error trap in the event that an invalid entry is written to the RAM by the interrupt routine of FIG. 4. If the entry is invalid, control is passed back to the test of block 84. If the entry is valid, control is passed to the step of block 90, in which the entry is converted into an absolute address on the compact disc. The step of block 90 comprises numerous substeps, including those of FIG. 5.
After the absolute disc address is determined, control is passed to the step of block 92 in which the microprocessor assembles and sends a predefined command to the compact disc drive, requesting that the drive locate or seek the audio data on the compact disc corresponding to the disc address, determined in block 90. The predefined command may comprise a digital seek code coupled to the disc address. In one embodiment, the compact disc drive command is sent directly to the drive which immediately responds with audio and/or visual output. In a second and preferred embodiment, complex sentences can be constructed from a plurality of phrases strung together and replayed in real time using a buffered command translation and output method (see FIG. 7 and discussion below).
Control is next passed to the test of block 94, in which the microprocessor waits to receive a response from the drive. If a response is not received immediately, control is passed to the test of block 96 in which the microprocessor determines whether an internal timer has expired. If not, control is passed back to block 94 and the microprocessor again tests whether a response has been received. If the test of block 96 is positive, the internal timer has expired and no response has been received from the drive. This represents an error condition such as failure of the drive to complete the seek command, and consequently the microprocessor transfers control back to block 84 to await a new key entry. If a response is received from the drive indicating completion of the seek command, control is passed to the test of block 98, in which the microprocessor tests whether an error has been reported by the compact disc drive. If so, control is passed to block 108 in which an error message is reported to the user and the remaining process steps are skipped. If not, control is passed to the test of block 100 in which the microprocessor tests whether the audio data track located by the compact disc drive is at the correct address determined in block 90.
Thus, the microprocessor receives an address location report signal from the drive and determines whether this signal matches the address requested in block 92. The test of block 100 thereby enables the microprocessor to verify that the drive has located the correct data track. If not, control is passed to block 108 in which an error message is reported.
The error message report block 108 may comprise any of a plurality of means of reporting errors. For example, an error LED on the chassis of the translator may be illuminated, an audible alarm signal may be produced, or other means may be used.
If the correct address is located, control is passed from the test of block 100 to block 102 in which the microprocessor commands the drive to play back the audio data at the located address. After the audio data is received from the drive and routed to the speaker, control is passed to block 104 in which the microprocessor commands the drive to park at a specified rest location.
Control is then passed to the step of block 106, in which the microprocessor resets or blanks out the fixed RAM location in which the keypad number entry was stored. This prevents retention of prior entries, which can cause the microprocessor to erroneously rely on old data for the next seek cycle. Control is then passed to the step of block 110 in which the process repeats by transferring control to block 84.
Attention is next invited to the flow diagram of FIG. 4, which illustrates steps taken by an interrupt service routine of the present invention. The steps of block 200 to 208 are executed each time a single digit is pressed on the keypad. The routine starts at an entry location designated 200, from which control is passed to the step of block 202 in response to a key being pressed on the keypad. Control is next passed ta the step of block 204 in which a key code generated by the decoder 24 is read. As is known in the art, each numeric key on the keypad 20 is assigned a unique key code number to distinguish it from every other key.
Control is next passed to block 206, in which the microprocessor stores the code in a fixed location in RAM. A fixed location is used to enable later program steps to "know" which location in RAM to access to find the key code. Control is next passed to the step of block 208 in which the interrupt routine terminates, enabling the microprocessor to resume normal processing.
In practice, the microprocessor will loop through the test of block 84 until interrupted by a single key entry, when the routine of FIG. 4 will be triggered. When a complete four-digit number entry is entered, control will be passed to block 86. To notify the microprocessor that a complete number entry has been entered, several means known in the art may be used. For example, the circuitry may be arranged so that the microprocessor is triggered to move to the step of block 86 when four digits are entered. Alternatively, an "enter" key may be provided in the keypad which serves as a trigger to continue processing.
Attention is next invited to the flow diagram of FIG. 5A, which illustrates substeps of the step of block 90. used by the microprocessor to determine the absolute address on the compact disc. First, after entering the routine at step 300, in step 302 the microprocessor transforms the number entry into an absolute address of the ROM 36. For most commercially available CD drives, the number entry and the absolute address cannot be equal, because each CD disc contains a short control header block or identifier area of non-audio control data. To skip over this area, an absolute disc address may be created by adding a predetermined base address value (equal to the length of the header block) to the number entry. Thus, the ROM 36 acts as a look-up table having a discrete address location corresponding to each possible number entry. This address is placed on the address bus by the microprocessor, and a control signal is placed on the data bus to request a read of the ROM at the address specified. Control passes to the step of block 304 in which the ROM is read. The data read from the ROM corresponds to an absolute address, less any needed offset, on the compact disc.
Control is next passed to the step of block 306 in which the microprocessor constructs a command for the compact disc drive which contains a seek request and the address which the drive should seek. This command is passed to the drive through I/O module 38 in manner known in the art. Control is then passed to the step of block 308 in which the microprocessor returns, effectively passing control to step 92.
In the above discussion of FIG. A, a disc access method is described in which guide book numbers act as addresses for a ROM which contains a table of absolute disc locations. Alternative means of addressing the disc are possible. One alternative is to use a prioritization technique using a bit hierarchy key. To ensure fast disc access and convenient number entry by the user, it is desirable that the guidebook key number have as few digits as possible. Moreover, it is desirable that the most often used phrases have a low key number with few digits, enabling rapid entry of frequently needed phrases. As indicated above, in operation, the user turns to an appropriate page of the guidebook and selects a desired phrase. The user puts the corresponding foreign language compact disc into the compact disc drive. When the user keys in a number entry, the microprocessor transforms the entry into an address on the disc. The microprocessor commands the drive to play the desired phrase by providing a playback command and a disc address. In response, the drive will play out the selected phrase in the desired language.
As indicated, the invention helps the user learn a foreign language by accurately reproducing recorded speech with proper intonation and inflection. The invention is particularly useful during travel in a foreign country, since the invention permits nearly instantaneous response in a foreign language. The invention employs a battery-operated personal compact disc player and discs to provide the combination of portability, easily changeable mass storage media, and audio/visual output. Phrase concatenation is provided by entering multiple numbers to form complex sentences. Temporary memory buffers in conjunction with stored rules of grammar are used to store the phrases and combine them correctly before providing the audio/visual output.
The address formation step of block 302 may be implemented using several alternative methods. For example, it is advantageous to prioritize the text phrases on the compact disc for two reasons: first, to enable rapid access to commonly used phrases; and second, to enable commonly used phrases to be accessed using as few keypad digits as possible. Accordingly, step 302 of FIG. 5A may be replaced with a plurality of substeps shown in FIGs. 5B and 6. FIG. 6 illustrates the general process for preparing a compact disc with prioritized phrases. Steps 604 to 612 form a loop is formed in which each phrase is processed until no more phrases remain, as tested in step 612. i step 606 the phrase is prioritized and provided with a priority code. The code is used to create an absolute disc address in step 608, for example, by adding the code to an offset value as is done in step 302 of FIG. 5A.
As is known in the art, compact discs and ROMs such as the ROM of FIG. 2 are non-rewritable, non-erasable, "write-once" devices; they provide mass storage but can only be written once. The system of the invention uses both a CD to store audio information and a ROM to store address information. Therefore, in step 610 two substeps are executed: first, the phrase is written on the disc at the absolute address of step 608; second, the priority code and absolute address are written to a ROM. As is understood in the art, the priority code and absolute address can be written to a disc object file (not shown) for later reading and use by a PROM or EPROM "burner." This enables use of programmable write-once ROMs in the system.
The encoding can be done using a bit hierarchy technique shown on the right portion of FIG. 5B, one form of which is discussed in applicant's co-pending U.S. application serial number 07/676,934, "Apparatus and Method for Using Compressed Codes for Recorder
Preprogramming" and in applicant's PCT application, International Publication No. W090/07844, published 12 July 1990. That application discusses use of bit hierarchies in the context of videocassette recorder (VCR) programming, in which one goal is to enable selection of popular television programs using as few digits as possible. Programs have channel, date, time and length attributes, each of which are prioritized by popularity. i this invention, phrases can be prioritized using other parameters, depending on categories of interest. For example, phrases can be categorized by type (question, statement, exclamation, etc.), subject matter (travel, dining, cultural activities, etc.), and any other category which enables phrases to be usefully prioritized. To establish the categories, certain assumptions must be made about the content of human conversation. For example, if a particular CD is intended for translation use by overseas travelers the invention can presume that questions are most common, as opposed to declarative statements or exclamations. Thus, the invention can presume that most people need a translation device when a critical question must be asked in a foreign language ("Where is the train station?"; "Where is the bathroom?"; etc.). So questions are assigned the highest priority. Short-length phrases with few words are also assigned a high priority since most people using language translators choose short phrases rather than long sentences.
Similar assumptions and prioritization can be done with different subject matter.
Encoding of the key numbers can be done on any computer and is done prior to preparation of any index guidebook. For each phrase to be printed in the guide, a type, subject, and length code 354 is entered in step 352. Step 356 separately reads the priority for the length type, subject, and phrase length (in words) in the priority vector storage 324, which can be stored in ROM 36. The priority vector storage 324 can contain a plurality of tables such as a length priority vector L table 324A, a subject priority vector S table 324B, and other priority vector tables for other desired categories. Some categories can use a table but do not require a true look-up step. For example, a phrase type can be encoded as STATEMENT = 0 QUESTION = 1 EXCLAMATION = 2.
Since there are few phrase types, and because each type is a text concept, a prioritization program can assign these type codes using IF..THEN statements or other program logic rather than a table look-up.
However, a phrase length priority table is needed because one-word phrases are rarer than four- or five-word phrases. The common four-word phrases should have shorter key numbers than one-word phrases. The length priority vector L table can contain: length 4 5 6 3 8 2 7 1 priority 0 1 2 3 4 5 6 7 ...
Suppose the phrase category information is [declarative] [dining] [5], which means declarative statement, subject matter "dining", 5 word sentence, then the priority data would be 1 3 1 as looked-up in step 356. In step 360 the priority data is converted to binary. The number of binary bits is determined by the number of combinations involved. If three type categories are used, they can be represented in two bits T T2. Eight bits for subject matter, denoted S S2, S3, S4, S5, S6, S7, S8 would provide for 256 possible subject matter categories. Five bits for length, denoted L„ I.-,, L3, L4, L5, would permit prioritizing sentences up to 32 words long. Together there are 3+8+5 = 16 bits of information, which correspond to 216 = 65,536 combinations.
The next step is to reorder the 16 bits according to a bit hierarchy key 320, as seen in step 362. The bit hierarchy key can be any ordering of the 16 bits, such as: bit L5 S8 L4 S-7 S6 S5 S4 S3 S2 S, L3 Lj Lt T2 T, key loc 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 Ideally, the bit hierarchy key is ordered so that phrases most likely to be selected would have a low value binary number, which would eliminate keystrokes for selecting the most popular phrases. Since all bits of the type have equal priority, the type bits Tu T2 are first. Next Lt to Lj are used, because most common phrases have eight or fewer words. The next bit in the hierarchy key is determined by the differential probabilities of the various combinations.
One must know the probabilities of all the lengths and subjects for this computation. For example, the probability for lengths may be: length 4 5 6 3 8 2 7 1 ... priority 0 1 2 3 4 5 6 7 ... probabiIity(%) 20 16 13 11 8 6 5 1
The probability for subject matter could be subj [travel] [dining] [museums] [landmarks] priority 0 1 2 3 probability 12 11 9 7 A separate probability table can be constructed for each feature of interest. Since all type numbers have equal priority a probability table is not used and bits T. and T2 are selected first. But the probabilities shown for the lengths are used to determine proper ordering of the bits in the key number, as follows. The first length bit Lt by itself can only select between 21 = 2 lengths, and the first two lengths have a probability percent of 20 and 16, respectively; therefore, the differential probability of Lj is 20 + 16 = 36%. Similarly, the differential probability of Sj is 12 + 11 = 23%. The type bits Tr and T2 are always needed, so they are placed first. If the rule for ordering the bit hierarchy key are strictly followed, then the bit hierarchy key should be ordered as:
Figure imgf000016_0001
because Lt has a higher differential priority than Sj .
The next bit in the hierarchy key could be S2 or Lj. To determine this, the differential probabilities, calculated from the above tables, are considered for the differences between S2St and Si and LJ , and Lt. Accordingly to the tables above, the probability of a length being represented by just the L j bits is 60% (20+ 16+ 13+11). Since the probability of a length being represented by just the Lj bit is 36% , the differential probability between L2Lt and L_ is 24% (60-36). For S2, the probability of a subject being represented by just the S2Sj bits is 39% (12+11+9+7). Since the probability of a subject being represented by just the Si bit is 23%, the differential probability between βt and S, is 16% (39-23). Thus, in this example, L ~ __ has a greater differential probability than S2, so it is selected as the next bit. Further bits are selected by repeating this procedure until all bits of the key are found.
Alternatively, the bit hierarchy key can be just some arbitrary sequence of the bits. It is also possible to make the priority vectors interdependent, such as making the length priority vector dependent on different groups of subject matter. Another technique is to make the bit hierarchy key 120 and the priority vector tables a function of the clock 39, creating a time-dependent bit hierarchy key which is very difficult to copy.
For example, the bits of one parameter (type, subject, length) can be scrambled as a function of the clock, by switching two bits periodically, such as every day or every week.
The priority vector tables can also be scrambled as a function of the clock.
After the bit hierarchy key is derived using one of the above methods, it is stored in RAM. In step 362 the binary bits of TP, SP, and Lp are rearranged according to the bit hierarchy key 320 to create a 16 bit binary number. Then the binary number is converted to a decimal base address in step 364. A fixed, predetermined offset value is added to the base address, resulting in an absolute disc address, and the phrase text is written to the absolute address in step 366. The absolute address is also written to an object file or directly burned into the ROM table.
Matching the priority vector table and the bit hierarchy key to the conversation habits of the general population will cause the most commonly used phrases to use the lowest disc addresses and only two or three digits for keyboard entry.
The decoding method of the left side of FIG. 5B is the opposite of the encoding technique. In step 312 a key number is obtained from the keypad service routines. The key number is converted to a binary number in step 314. Next, the binary bits are reordered in step 316 according to the bit hierarchy key 320, which can require reference to the clock.
The bits are then converted to decimal digits in step 318. The decimal digits are used as a table lookup index to lookup length, subject, and type in the priority vector tables 324.
The foregoing discussion relates to retrieval of audio and visual output data for a single foreign language phrase. A user may desire to string a plurality of phrases together to form a complex sentence. In such a case, output of both visual and audio data is preferably buffered to enable the entire sentence to be output together, resulting in an uninterrupted
"spoken" sentence.
Therefore, in one preferred embodiment the resulting length, subject, and type priority vectors obtained from the priority vector tables can be buffered by storing them in a plurality of internal memory buffers in the RAM before the compact disc is accessed. After the user enters an entire sentence of key codes, all the buffered vectors are output in sequence to the CD drive. The drive plays or displays the requested data and immediately receives the next vector until the entire sentence is translated. The vectors can be provided to the drive in real time using conventional interrupt-driven hardware or software. FIG. 7a shows steps in one buffered, batch method of operation 700 enabling rapid, real-time playback and display of complex sentences. First a buffer is filled in steps 702 to 706. Then the buffer is fed as a batch to the compact disc drive in steps 708 to 712. Specific operation proceeds as follows. Li step 702 the CPU generates an absolute address for a phrase to be played back, using a plurality of steps such as those shown in FIGs. 3 and 5C. The resulting address is stored in a first-in, first-out (FIFO) command buffer in RAM in step 704. The buffer is sized to accommodate die largest contemplated complex sentence; storage for sixteen phrase playback commands is considered adequate. In step 706, the CPU tests whether the user desires to enter another phrase or playback all the buffered phrases. This test can be done by sensing a key code on the keypad or by sensing a dedicated playback key. If further phrases are desired, control is passed to step 702 to receive and translate the next phrase. Otherwise, control is passed to step 708 to play back phrases corresponding to all data stored in the buffer. As one of ordinary skill in the art will recognize, step 708 necessarily involves several sub-steps such as steps 714 to 730. .In step 716 the CPU copies or loads the first address in the buffer (corresponding to the first phrase to be played back) and transfers it to the I/O interface coupled to the compact disc drive. By design choice the address can be transferred to the I/O interface on the I/O bus or copied to a scratchpad memory space in the I/O interface.
The CPU next sends a signal to the I/O interface to command the interface to act using the address provided (step 718). Internally the interface can set a "busy" signal (step 720) to prevent the CPU from requesting another I/O operation. The interface then commands the drive to load and play data corresponding to the command address, at step 722. After playback, the drive can set a ready flag line (step 724) coupled between the drive and the interface to notify the interface that playback is complete.
Control passes to step 726 in which the CPU (via the I/O interface) queries whether the drive is ready for more data. If the ready flag is not set, the test of step 726 will be false and control will remain at test 726. If the ready flag is set then control is passed to step 728 in which the CPU clears the I/O interface busy signal. The drive and interface are then ready to receive another command address.
The method of FIG. 7a is only one possible way to implement a buffered addressing system. Specifically, steps 714 to 730 can be replaced with other means of sending addressing data to a compact disc drive and ascertaining when the drive is ready for more data.
In an alternate embodiment, the buffered playback process uses the steps shown in FIG. 7b. Li this process, steps 700-722 are identical to the steps with like reference numerals in FIG. 7a. However, the structure, sequence, and organization of these steps is different in FIG. 7b. As shown, in step 702 the CPU initially generates an absolute address for a phrase to be played back, using a plurality of steps such as those shown in FIGS. 3 and 5c. The resulting address is stored in a FIFO command buffer in RAM in step 704. Next, in step 716, the command address is copied from the buffer to the I/O interface coupled to the compact disc drive. In step 718 the CPU sends a signal to the I/O interface to command the interface to act using the address provided. The CPU sets a "busy" flag signal in step 720, to block further access to the I/O interface. Concurrently, a "ready" flag is set to indicate that the compact disc drive is ready for use. In step 722, the interface commands the drive to load and play audio data corresponding to the command address. In step 732, the audio played from the CD is intercepted and, without output to the loud speaker, the audio is transferred to an audio buffer. In this manner, the CPU stores the audio read from the CD without providing any audible signal. In step 726, the CPU tests whether the CD drive is ready for a new address. If not, then the CD is still playing back audio and control is transferred to step 732. If the ready flag is clear, then the CD drive is ready for further use, and control is passed to step 728. The I/O flag is cleared in step 728 to enable the I/O interface. In step 734, the CPU tests whether more phrases remain to be translated. If so, control is transferred back to step 702 to continue the above-discussed process. In this fashion, audio from the compact disc drive is generated for every phrase in a string of phrases, and stored in a buffer memory. No audio output occurs. In step 736, after audio for all phrases has been stored in the audio buffer, the CPU causes output of the entire contents of the buffer in serial fashion. This causes an entire concatenated phrase to be output without interruption or pauses between phrases or words in the phrase. After the output operation, as indicated in step 730, the process is done and. control can be transferred back to step 82 of FIG. 3.
The foregoing process steps and flow diagrams illustrate that the basic operation of the invention is translation of logical address and buffered transfer of the address to a drive for playback of data on the drive. The apparatus of the invention receives as input a key number from the guidebook. The apparatus, operating under control of specific program steps, translates the guidebook key number into an absolute address on the compact disc. This address is accessed, and the corresponding audio data is read and played back, with buffering of multiple phrases if desired. However, because the addresses of audio data on die compact disc do not correspond linearly with the contents of the guidebook, multiple conversion, look-up, and transformation steps are required to convert the guidebook key number into an absolute address.
An alternate embodiment of the invention is shown in FIGs. 8, 9, and 10. The three main components of the language translator are a printed guide book 1000, a selection means 1010, and a playback means or compact disc player apparatus 1030. As shown in FIG. 9, the guide book 1000 comprises a printed hand-held book with a plurality of pages or sheets 1012, 1012' each imprinted witii sentences or phrases 1001a, 1001b separated by spaces 1013 of a pre-determined size. Pages are bound along the center spine 1001 in conventional manner, so as to lie flat when opened. The contents of the guidebook, especially the phrases, are printed in a language known to the user. When consulting the guidebook the user only sees phrases in his known language. Translation of the phrases is accomplished by the apparatus. Preferably, the book 1000 is mounted on a language translator apparatus 1 as shown in FIG. 10. The book mounts flat in a rectangular recess 1030 having a size approximately equal to the size of the book. As shown in FIG. 9, each page 1012 of the book 1000 includes a tab 1032 extending outward from the top edge 1013 of the page. When the book is mounted in the recess 1030, the tabs 1032 extend over the top edge 1034 of the recess. The outer covers 1036 of the guidebook are held in place in die recess using any suitable means, such as clips, snaps, hook-and-loop fasteners, or magnetic means, so that the book 1000 lies flat on the apparatus 1 when opened to any particular page.
In operation, the apparatus 1 receives input from selection means and page detection means to determine which phrase is desired for translation by a user. The selection means 1010 selects a phrase and the detection means 1004 detects a particular page of the guidebook. The combination of phrase selection and page detection provides the translator with a unique address for the phrase entered by the user. The translator locates phrase translations on the compact disc depending on the location of phrases on the particular page.
The selection means 1010, shown in FIG. 10 comprises a plurality of selectors 1002. These selectors preferably are conventional touch pads, push buttons, or telephone-type keys.
For example, the selectors can comprise commercially available light touch switches, such as Digi-Key part numbers P8038S or P800S, Panasonic part numbers EVQ-QFR02K and EVQ-QFV02K, respectively. Two exemplary selectors 1002 are shown in FIG. 10; one type of selector is oval shape and the other one is rectangular shape although shape is not critical. Each selector is aligned with one phrase of the guide book 1000 so that one selector 1002 corresponds to one phrase. Preferably, each phrase, which has the same meaning for different language guidebooks, is located at the same location for different guidebooks. For example, the phrase "where is the train station" preferably appears on the same page and location for every guidebook. When the user wants to use the translator to translate another language, selection of phrases is exactly the same.
Detection of the page 1012 of the guidebook from which the user selects a phrase can be done in a variety of ways. Referring to FIG. 10, in one embodiment, an optical sensor 1004 is provided on the top right portion of the cover 32' of the apparatus, and comprises a strip of a plurality of adjacent photo-sensitive cells 1008, or a matrix of photosensitive cells, which are known to persons of ordinary skill in the art and commercially available. For example, the photo-sensitive cells could each comprise a photo micro sensor commercially available from OMRON, such as a reflective dark-on micro sensor of part number EE-SB5VC or EE-SB5-B. A conventional photo-resistor, which provides a variable resistance depending on the amount of light falling on the cell, could also be used.
As shown in FIG. 10, each page of the guidebook is provided with a single tab 1032 on the top of each page 1012. When the user opens the guidebook at its first page all tabs 1032 cover the cells 1008. Every time the user turns to a consecutive page the tab moves away and a cell 1008 is exposed. For example, when the right hand page 1012' is turned, tab 1036 will be moved to the left side of the book, thereby exposing sensor 1038 lying under tab 1036. Accordingly, sensor cell 1038 is exposed to light, providing a signal to the CPU 34. When a photo-resistor is used, its resistance will increase in response to light exposure when a page is turned away from the cell 1008 and the cell 1008 is exposed to more ambient light.
FIG. 8 shows electrical components which enable detection of the selectors and the page tabs. The component arrangement of FIG. 8 is similar to the system of FIG. IA. In FIG. 8, the system additionally includes an address bus 35a and a data bus 35b to connect the RAM, ROM, character generator, D/A converter and I/O interface to the CPU 34. The buses may comprise conventional microprocessor buses. Also coupled to die buses are a selector decoder latch 1012 and a page decoder latch 1010. The selector decoder latch 1012 provides an interface between the selectors 1010 and the CPU buses. As shown, the selectors 1010 each electrically comprise a momentary push button 1002. Each of the push buttons has a first pole coupled to ground and a second pole coupled a different input pin of the selector decoder latch 1012. As is known in the art, when the latch senses one of its input pins pulled to ground by closure of a push button 1002, the latch provides, on its output line 1020, a binary coded decimal (BCD) representation of a number corresponding to the push button 1002 selected by the user. The number placed on the BCD output line 1020, which may comprise a four-bit plurality of lines, which is coupled to the data bus using a bus driver
1022. The CPU can address the decoder latch 1012 by asserting the address lines 1018 on the address bus. These operations are conventional.
Similarly, the system of FIG. 8 includes a page decoder latch circuit 1010 interfaced to the address and data bus of the CPU using an address line 1014, a BCD output line 1016, and a bus driver circuit 1024. In FIG. 8, the page sensor cells 1008 are illustrated as comprising phototransistors. In this arrangement, the collector of each phototransistor is coupled to the supply voltage VSS of the system, the base voltage is determined by ambient light falling on the phototransistor, and the collector output of each of the phototransistors is coupled to a different input pin of die page decoder latch 1010. As is known in the art, when ambient light falls on one or more of the phototransistors 1008, the transistor conducts, thereby coupling the supply voltage VSS to the input pin of the decoder latch 1010 corresponding to the phototransistor. In response, the page decoder latch 1010 provides a BCD output representing a number corresponding to the phototransistors exposed to ambient light. This number may be read from the decoder latch by the CPU by asserting the address line 1014 and reading the data line 1016. The detection of each page as it is turned away is accomplished in mis method. In another embodiment of the invention, shown in FIG. 11, the optical sensor 1005 is arranged on the right side of the cover of the compact disc player. By using a longer strip sensor, the detection of a thicker-sized guidebook can be accomplished.
The guidebook pages are indented successively from the top page to the bottom page with a cutout 1040. Normally, the cells 1008 are completely covered by all pages of the guidebook. As each page is open or turned, a successive cell 1008 is exposed.
The sensor 1005 may comprise a plurality of sensor cells 1008. Each of the sensor cells 1008 corresponds to a page in die guidebook. As successive pages of the guidebook are turned, die cutout 1040 of the page exposes a successive sensor cell 1008. Each of the sensor cells is coupled to a page decoder latch in the arrangement shown in FIG. 8 in the place of the photosensors 1008. Since the photosensors are responsive to ambient light, each time a. page is turned, an exposed photosensor provides a signal to the page decoder latch to enable die CPU to detect die current page on view by a user.
Another embodiment of the invention is shown in FIG. 12, in which each page is imprinted with a bar code 1042 or a matrix of black dots representing the page number. Each page has a different bar code 1042 or dot matrix to correspond to. its page number. A bar code reader 1006 is provided at die top of the apparatus 1 and is provided with a hinge 1044 to mount the reader to the top edge 1046 of the apparatus 1. In operation, the reader 1006 is initially rotated upward on die hinge 1044 by the user. With the reader in the upward position, the user turns pages of the guidebook to locate die desired phrase. Each guidebook page is provided wϊtii a unique, sequential bar code indicia 1042. When the correct guidebook page is located, the user folds die reader 1006 over the bar code, enabling the reader to read the bar code. The bar code reader, which may be of conventional design, is coupled to the CPU to enable the CPU to read the bar code using the reader. When a guidebook is placed on the apparatus, the bar code reader holds the guidebook in place and detects die bar code on a particular page if desired.
The detector can also be a matrix of photodetectors which recognize different dot matrix code for each page. Thus, the detector can comprise a plurality of photo detectors arranged in a matrix so that a separate photo detector corresponds to a separate dot matrix position. The detectors are sensitive to a particular dot position, so tiiat a unique matrix of black dots triggers a response from a subset of the plurality of detectors. In this way, a matrix of dots printed on die page can be detected as a unique page number. The size of the matrix is related to die number of pages in the guidebook. Since each dot in the matrix has two potential states (on and off) the maximum number of pages in the guidebook for a given matrix is equal to a number represented by two raised to a power determined by die number of dots in die matrix. For example, a matrix of six dots, arranged in a two by three array, enables representing 26 pages or 64 pages, a convenient size for a portable guidebook. A larger number of dots in die matrix would enable representing a larger number of pages.
In each of die embodiments of FIG. 10, 11, and 12, die output of the optical sensor or dot matrix sensor is provided to a decoder circuit which transforms signals received from die sensors or detectors into a binary-coded decimal number usable by the CPU 34. Thus, the decoder serves as an interface between the signals received from me sensors and die digital data bus of die microprocessor. Such decoders are commercially available and can be addressed by die microprocessor and read to determine die numeric value represented by signals from the sensors or detectors. Similarly, a decoder circuit is provided for the selectors to enable the CPU to associate a binary coded decimal number witii the selector chosen by die user. The circuit can comprise a latch decoder which translates a signal line corresponding to die selector into a binary coded decimal output on a plurality of output pins of the decoder circuit. Such latch decoders are known in the art for use in keyboard switch detection, in which alphanumeric keys of a typewriter-style keyboard are latched and decoded into a unique digital representation of the character pressed by the user of die keyboard. Such a keyboard latch decoder circuit can be adapted for use in die present invention.
The operation of the present invention is best illustrated by referring to FIG. 13. Each block of FIG. 13 represents many individual computer program steps or process sub-steps. The process of FIG. 13 preferably is embodied in a stored program contained in die ROM
36. Program execution begins at block 1082, labeled START, which is initially accessed by the CPU 34 when power is applied to die apparatus. The translator executes within the loop 1084 until an entry is received, i.e., when a user presses a selector. One of ordinary skill in the art will recognize that there are odier steps taken by internal computation prior to steps indicated in block 1084 and shown in further detail in FIG. 14. For example, block 1084 can comprise steps to read die selector decoder latch 1012.
When an entry is received die program enters block 1085 where a detection of a page of the guidebook occurs. No page detection is required until die user presses one of die selectors in order to avoid unnecessary computation and/or power consumption. The user may also want to glance at the guidebook witiiout selecting any particular phrase.
Page detection can comprise causing the CPU 34 to assert the address lines 1014 of die page decoder latch 1010, as shown in FIG. 14 step 1202. As is known in the art, asserting the address lines of such a device causes die device to place a binary coded decimal output on its BCD output line 1012. The CPU 34 then reads die data bus to determine die BCD value output by the page decoder latch 1010. The CPU transfers the value to a known location in the RAM 44. After detection of a page is complete, die program tests whether die entry indicated by die selector is valid or not, indicated by block 1088. This step is provided to enable the system to reject entries when a selector is undefined for a particular guidebook page. If an invalid entry is detected die program returns to block 1082.
If a valid entry is detected, then the CPU next determines which phrase was selected. This can comprise the steps of causing die CPU 34 to assert the address line 1018 of the selector decoder latch 1012, as shown in FIG. 14 1203. As is known in die art, asserting the address line 1018 causes the selector latch to output a binary coded decimal number on its BCD output line 1020. The CPU 34 then reads die data bus to determine die value output by the latch. In this way, the CPU can receive a number on die data bus corresponding to die selector which was pressed by die user.
Next, die CPU determines me address on die compact disc corresponding to a translation of die phrase selected by die user. To compute the address, as illustrated in FIG. 14, step 1204, the CPU loads and combines the numbers provided as output from the selector decoder latch and d e page decoder latch. The numbers are combined in a string which uniquely represents die phrase selected by die user. For example, if die user selected die fourth phrase on page 12 of die guidebook, the CPU would combine the numbers 12 and 04 into a numeric string "1204." In step 1206, the CPU adds an offset value to the numeric string. The offset value compensates for the fact that a non-linear relationship exists between a numeric string and absolute addresses on the compact disc. For example, the first phrase on page 1 of the guidebook would be encoded as a numeric string 0101, but the audio output corresponding to that phrase is not necessarily located on address 101 of d e compact disc. Therefore, addition of an offset enables die CPU to correcdy address die compact disc drive. The CPU next accesses the CD drive according to steps 92 to 110 in die same manner discussed above for FIG. 3. In another contemplated embodiment, the system of FIG. IA can additionally include a speech synthesizer coupled between the CPU 34 and die D/A converter 47. The syndiesizer may comprise a conventional speech synthesizer circuit or circuit board. In such a system, die data organization of the compact disc 32 would differ from the organization previously discussed. In die alternate embodiment, die compact disc preferably contains a plurality of digital data representing synthesizer output of translated phrases, text for display on die LCD of a translated phrase, pronunciation keys for changing the pronunciation of the output, and grammar rules for changing the grammatical form of the output. The compact disc can be organized as a foreign-language dictionary, in which foreign-language words are arranged alphabetically. Following the dictionary, the compact disc can contain die pronunciation keys and grammatical rules.
The general operation of such a system preferably comprises selection of a phrase by a user, construction of text output by the apparatus according to the grammatical rules, retrieval of digital speech data corresponding to each word in die translated string, and application of a text-to-speech synthesis system for output of the text to a speech synthesizer. The text-to-speech synthesis system disclosed in Malsheen et al. U.S. Patent No. 4,979,216 is suitable for such an implementation. Other text-to-speech systems are known in the prior art, as exemplified by Groner et al. U.S. Patent No. 4,716,583, Dorsey et al. U.S. Patent
No. 4,659,877, and Asada et al. U.S. Patent No. 4,435,832. An example of a system disclosing die application of grammatical rules to translation is Tokuume et al. U.S. Patent 5,101,349.
Preferably, such a. system using speech synthesis would process translation according to die steps of FIG. 15. Steps 802 through 818 of FIG. 15 are executed in place of steps
90-102 of FIG. 3. As shown in FIG. 15, after a selection of a phrase is made by a user, die CPU must load and play the selected phrase, as shown in step 802. Initially, as shown in step 804, the CPU loads each word in die desired phrase to a text buffer. Since the compact disc is organized as a dictionary, several mode operations are required to load each word in a multiple-word phrase. Preferably, the compact disc ("CD") is organized so that the address corresponding to a particular page and selector of die guide book contains digital numeric data representing words to be retrieved from die dictionary. In this manner, pressing a phrase selector causes the CPU to convert the selector and page numbers into an address on die CD. The CD address is read, causing the CPU to retrieve from the CD numeric pointers to a string of words. Each word represented by die pointers is tiien loaded from the dictionary portion of die compact disc.
After each phrase has been loaded to a text buffer in the RAM, in step 806 the CPU loads a plurality of grammatical rules from the compact disc. In an alternate embodiment, die grammar rules are loaded upon power-up of die apparatus, and stored in RAM throughout operation of die apparatus.
In step 808, the CPU loads a plurality of pronunciation keys and stores them in the RAM 44. In the alternate embodiment, the pronunciation keys are loaded upon initialization or power-up of the apparatus, and stored in RAM throughout operation of die system.
In step 810, die grammatical rules are applied to the phrase as stored in the text buffer. Application of the rules may cause words in die phrase to be re-ordered. After a rule has been applied to die phrase, in step 812 the CPU tests whedier further rules remain. If so, die CPU branches to step 810 and applies anodier rule. Otherwise, control is passed to step 814 in which die CPU performs text-to-speech conversion on the text stored in the buffer.
The output comprises a digital representation of speech for output to the syndiesizer. After text-to-speech conversion, die CPU applies die pronunciation keys to die converted speech in step 815. This step enables the CPU to adjust die converted speech to account for any desired regional accent or difference in pronunciation.
Next, Λe CPU outputs the contents of die text buffer to die visual display such as LCD 49. In step 818, die converted speech is sent to the speech syndiesizer for audio output through a buffer amplifier and loud speaker. Thereafter, die CPU continues processing by transferring control to step 98 of FIG. 3. The present invention contemplates many variations and alternative embodiments. For example, in one contemplated embodiment, me keypad can be replaced witii a voice-entry module. Using such a module, die user would speak die key numbers into a microphone and d e module will translate the speech into digital key number data equivalent to data from die keypad. Thus, the scope of the present invention should not be limited to the foregoing detailed description, but radier should be determined by reference to die appended claims.

Claims

1 WHAT IS CLAIMED IS:
' 1. A keyed language translator comprising: a guidebook including a plurality of language phrases printed in a first language, and a plurality of key numbers, each key number being associated widi one of the phrases; data entry means for entering key numbers; audio mass storage means including a plurality of foreign language phrases recorded diereon, each phrase having a discrete address, die address corresponding to one of die key numbers; 10 playback means for audibly playing said foreign language phrases stored on said audio mass storage means; and microprocessor means, coupled to die data entry means and to die playback means, for receiving data from die data entry means, for translating the data into a command address, for storing at least one command address in a memory buffer, and for commanding ■-5 the playback means to play die phrase at d e command address.
2. The translator of claim 1, wherein the microprocessor means are further for concatenating a plurality of buffered command addresses.
20 3. The translator of claim 1, wherein the playback means comprises a digital compact disc drive.
4. The translator of claim 1, wherein the data entry means comprises a numeric keypad.
25
5. The translator of claim 1, wherein the microprocessor means also comprises means for storing a control program.
6. The translator of claim 5, the microprocessor means further comprising: 30 data storage means coupled to the microprocessor means; a bit hierarchy key in die data storage means; a clock coupled to die microprocessor means and to die bit hierarchy key; decoding means in the control program for using die bit hierarchy key for decoding individual compressed key numbers into sets of type, subject and length codes; 35 conversion means in the control program for converting individual sets of type, subject and length codes into command addresses; buffer means in the data storage means for storing a plurality of command addresses; and means in the control program for combining a plurality of buffered command addresses and for serially providing die command addresses to die playback means.
7. The translator of claim 6, wherein the decoding means is responsive to a function of the clock.
8. The translator of claim 6, wherein the key numbers are each representative of, and compressed in length from, a combination of type, subject matter, and length attributes for one of the language phrases.
9. The translator of claim 6, wherein the control program further comprises means for reordering binary bits of die codes into a reordered binary number witii prioritized bits.
10. The translator of claim 9, wherein the conversion means acts on the reordered binary number.
11. The translator of claim 9, further including priority vector means in the control program for deriving die reordered binary number.
12. The translator of claim 9, further including a plurality of priority vectors stored in the data storage means, each priority vector corresponding to a different one of a plurality of phrase attributes, the conversion means including prioritization means for deriving die reordered binary number using at least one of the vectors.
13. The translator of claim 6, further including buffered output means in the control program for receiving a plurality of key numbers, converting each of the key numbers to a command address, storing the command addresses in die buffer means, and providing die buffered addresses to d e playback means in a sequential batch.
14. A computer program article of manufacture for controlling a keyed language translator, die translator comprising: a guidebook including a plurality of phrases printed in a native language, and a plurality of key numbers, each key number being associated widi one of the phrases; digital data entry means for entering key numbers; audio mass storage means including a plurality of foreign language phrases recorded thereon, each phrase having a discrete disc address, die disc address corresponding to one of die key numbers; playback means for audibly playing said foreign language phrases stored on said audio mass storage means; microprocessor means, coupled to die digital data entry means and to d e playback means, for receiving data from d e digital data entry means, for translating the data into a command address, and for commanding die playback means to play die phrase at die command address; and firmware means coupled to die microprocessor means for storing a computer program; the computer program comprising a plurality of program instructions carrying out die following steps:
(a) responding to key number data from the data entry means and storing the key number data in a fixed location;
(b) translating die key number data into a command address;
(c) commanding die playback means to access die phrase at the disc address corresponding to die command address;
(d) verifying that die disc address corresponds to die command address; and (e) commanding the playback means to audibly play die phrase at die disc address.
15. The computer program article of manufacture of claim 14, wherein the playback means comprises a digital compact disc drive.
16. The computer program article of manufacture of claim 14, wherein the digital data entry means comprises a numeric keypad.
17. The computer program article of manufacture of claim 14, wherein the microprocessor means further includes data storage means, and die computer program further comprises conversion instructions to carry out substeps of step (b) for
(bl) retrieving a bit hierarchy key from die data storage means;
(b2) using die bit hierarchy key for decoding a plurality of compressed key numbers entered using die numeric data entry means and having at least one digit into type, subject and length codes;
(b3) converting the type, subject and length codes into a command address.
' 18. The computer program article of manufacture of claim 14, wherein the decoding step (b2) is a function of the clock.
19. The computer program article of manufacture of claim 14, wherein die key numbers are each representative of, and compressed in length from, a combination of type, subject matter, and length attributes for one of the language phrases.
20. The computer program article of manufacture of claim 14, further including program steps for reordering binary bits of the codes into a reordered binary number with prioritized bits.
21. The computer program article of manufacture of claim 20, wherein die conversion instructions act on the reordered binary number.
22. The computer program, article of manufacture of claim 20, the conversion instructions further including steps for deriving die reordered binary number utilizing priority vectors.
23. The computer program article of manufacture of claim 20, the conversion instructions further including a plurality of priority vectors in the data storage means each corresponding to a different one of a plurality of phrase attributes, and prioritization means in die program for deriving die reordered binary number using at least one of the vectors.
24. The computer program article of manufacture of claim 17 further including concatenation means in die program for receiving a plurality of die key numbers, converting each of the key numbers to a command address, storing die command addresses in a command buffer in die data storage means, and commanding die playback means to play back data at each of the buffered addresses in a sequential batch.
25. A language translation method comprising die steps of:
(a) providing a keyed language translator device comprising: a guidebook including a plurality of phrases printed in a native language, and a plurality of key numbers, each key number being associated widi one of die phrases; data entry means for entering key numbers; audio mass storage means in the playback means including a plurality of foreign language phrases recorded diereon, each phrase having a discrete disc address, the disc address corresponding to one of die key numbers; playback means for audibly playing said foreign language phrases stored on said audio mass storage means; microprocessor means, coupled to die data entry means and to the playback means, for receiving data from the data entry means, for translating the data into a command address, and for commanding die playback means to play the phrase at the command address; and firmware means coupled to die microprocessor means for storing a control program to control the device;
(b) responding to a plurality of key numbers from the data entry means;
(c) translating each of the key numbers into a command address; and
(d) commanding die playback means to access the phrase at the disc address corresponding to die command address; and
(e) commanding the playback means to play die phrase at the disc address.
26. The method of claim 25, wherein die microprocessor means further includes: data storage means; a bit hierarchy key in the data storage means; a clock coupled to the microprocessor means and to die bit hierarchy key; and decoding means in die control program for using die bit hierarchy key for decoding a compressed key number into type, subject and length codes; and conversion means in the control program for converting the type, subject and length codes into a command address.
27. The method of claim 26, wherein the decoding means performs as a function of die clock.
28. The method of claim 26, wherein die key numbers are each representative of, and compressed in length from, a combination of type, subject matter, and length attributes for one of the phrases.
29. The method of claim 26, wherein step (c) further includes substeps for reordering binary bits of the type, subject and length codes into a reordered binary number widi prioritized bits.
30. The method of claim 29, wherein die conversion means acts on die reordered binary number.
31. The method of claim 29, wherein step (c) further includes substeps of deriving the reordered binary number based on priority vectors.
32. The method of claim 29, wherein step (c) further includes substeps of deriving me reordered binary number using at least one of a plurality of priority vectors, each priority vector corresponding to a different one of a plurality of phrase attributes.
33. The method of claim 25, wherein step (d) further includes die substeps of storing a plurality of command addresses corresponding to a multiple-phrase sentence in a first-in first-out (FIFO) buffer coupled to die microprocessor means, and transferring the command addresses in a continuous sequence to die audio mass storage means, by transferring a single command address to die audio mass storage means, waiting for a clear signal, and
Λen transferring the next command address, causing serial playback in real time of data corresponding to all the command addresses in the buffer.
34. A language translator device comprising: a guidebook including a plurality of phrases printed in a native language, and a plurality of key numbers, each key number being associated widi one of the phrases; a compact disc drive unit including an alphanumeric display, an audio output device, a numeric keyboard, and at least one compact disc having a plurality of foreign language phrases recorded thereon, each phrase having a discrete disc address corresponding to one of die key numbers; a microprocessor in the compact disc drive unit, coupled to die keyboard and to die compact disc drive; a read-only memory coupled to die microprocessor containing a stored control program with steps for receiving data from the digital data entry means, for translating the data into a command address, and for commanding die playback means to play the phrase at the command address.
35. The device of claim 34, wherein e control program is operable to respond to key number data from the keypad; translate the key number data into a disc command address; and command die compact disc drive to access die phrase at die disc address corresponding to die command address and to play die phrase at die disc address.
36. The device of claim 35, further comprising: a random access memory coupled to the microprocessor; a bit hierarchy key in die random access memory; a clock coupled to die microprocessor and to the bit hierarchy key; decoding steps in die control program for using the bit hierarchy key to decode a compressed key number entered using the keyboard and having at least one digit into type, subject and length codes; and conversion steps in die control program for converting die type, subject and length codes into a disc command address.
37. The device of claim 36, wherein die decoding steps are responsive to and are a function of die clock.
38. The device of claim 36, wherein the key numbers are each representative of, and compressed in length from, a combination of type, subject matter and length attributes for one of the language phrases.
39. The device of claim 36, wherein die control program further comprises steps for reordering binary bits of the codes into a reordered binary number with prioritized bits.
40. The device of claim 39, wherein die conversion steps act on die reordered binary number.
41. The device of claim 39, wherein die control program further comprises steps of deriving the reordered binary number based on priority vectors.
42. The device of claim 39, wherein die control program further comprises steps of deriving the reordered binary number using at least one of a plurality of priority vectors, each priority vector corresponding to a different one of a plurality of phrase attributes.
43. The device of claim 39 wherein the control program further comprises buffered playback steps to store a plurality of command addresses corresponding to a multiple-phrase sentence in a first-in first-out (FIFO) buffer, and transfer the command addresses in a continuous sequence to die audio mass storage means, by transferring a single command address to the compact disc drive, waiting for a clear signal, and then transferring the next command address, causing serial playback in real time of data corresponding to all the command addresses.
44. A translation apparatus comprising: a guidebook including a sequential plurality of phrases printed in a first language on a plurality of bound pages; display means for visually displaying the text of a phrase; phrase mass storage means including a plurality of foreign language phrase data recorded thereon for selective retrieval therefrom; playback means for audibly playing said phrase data stored on the phrase mass storage means; microprocessor means, coupled to d e phrase mass storage means and the playback means, for retrieval a selected phrase from the mass storage means and transferring said selected phrase to the playback means and the display means for simultaneous visual display and audible playback; phrase selection means coupled to die microprocessor for generating a selection signal corresponding to said selected phrase; and page detection means coupled to the microprocessor and die guidebook for detecting die page of die guidebook on which said selected phrase is printed.
45. The apparatus of claim 44 wherein the guidebook is removably mounted in a recess on d e apparatus.
46. The apparatus of claim 44 wherein the phrase selection means compromises a plurality of touch switches, each switch corresponding to a line location on a page of die guidebook.
47. The apparatus of claim 44, further comprising a selector decoder latch coupled between the touch switches and die microprocessor means for converting activation of each touch switch to a discrete number usable by said microprocessor means.
48. The apparatus of claim 44, said page detection means comprising a plurality a photodetectors aligned widi an edge of die guidebook, and wherein each page of die guidebook comprises an outwardly extending portion aligned to obscure one of the photodetectors.
49. The apparatus of claim 48, further comprising a page decoder latch coupled between the photodetectors and the microprocessor means for converting activation of each photodetector to a discrete number usable by said microprocessor means.
50. The apparatus of claim 48, wherein die outwardly extending portion comprises a tab extending outwardly from a top edge of each page of the guidebook.
51. The apparatus of claim 48, wherein the outwardly extending portion comprises a page edge defined by a cutout in each page of die guidebook.
52. The apparatus of claim 44, wherein each page of the guidebook bears a unique sequential matrix indicia representing a page number of die page, and wherein die page detection means comprises a matrix of photodetectors aligned to respond to die indicia.
53. The apparatus of claim 44, wherein die playback means comprises a speech syndiesizer coupled to a digital-to-analog converter for audible output of synthesized translated phrases.
54. The apparatus of claim 53, wherein said phrase mass storage means further comprises a plurality of pronunciation keys stored tiiereon for modifying pronunciation characteristics of die syndiesized translated phrases.
55. The apparatus of claim 53, wherein said phrase mass storage means further comprises a plurality of grammatical rules stored thereon for modifying grammatical characteristics of the phrase text.
56. The apparatus of claim 44, wherein said phrase mass storage means includes a compact disc and wherein said playback means comprise a compact disc drive.
57. A method of automated foreign language translation comprising the steps of: providing a guidebook including a sequential plurality of phrases printed in a first language on a plurality of bound pages; providing a translation mass storage means containing a plurality of visually displayable translated foreign language phrase texts and a plurality of digital translated audio playback data for at least one translated foreign language phrase stored thereon; selecting a selected phrase from the guidebook; detecting the page of die guidebook on which die selected phrase is printed; retrieving a digital visually displayable translated phrase text and a digital translated audio playback data from the phrase mass storage means; and transferring said translated phrase text to a display device for visual display, and substantially simultaneously therewith, transferring said digital translated audio playback data to a playback device for audible playback of die translated phrase.
58. The method of claim 57, wherein the selecting step further comprises the substep of converting activation of a phrase selector to a discrete number.
59. The method of claim 57, wherein said transferring step further comprises the steps of transferring the audio playback data to a speech syndiesizer coupled to a digital-to- analog converter for audible output of synthesized translated phrases.
60. The method of claim 59, wherein said transferring step further comprises the step of retrieving at least one pronunciation keys stored on a mass storage device and modifying pronunciation characteristics of the synthesized translated phrase.
61. The method of claim 57, wherein said transferring step further comprises the step of retrieving at least one grammatical rule for modifying grammatical characteristics of the phrase text.
62. The translator of claim 1 further including buffered output means in the control program for receiving a plurality of key numbers, converting each of the key numbers into a command address, storing the command addresses in die buffer means, commanding the drive to playback an audio translation at each of the command addresses, storing the audio from the drive in die buffer means, and playing all of die audio output in an unbroken succession.
63. The computer program article of manufacture of claim 24, wherein the concatenation means further includes means in die program for storing die data at each of the buffered addresses in an audio buffer in the data storage means, and means for playing all of die audio corresponding to each of die addresses in an uninterrupted succession.
64. The method of ώe claim 25, wherein step (d) further includes die substeps of: storing a plurality of command addressees corresponding to a multiple-phrase sentence in a buffer coupled to the microprocessor means, transferring the command addresses in sequence to die audio mass storage means, commanding die playback means to play audio data located at each of die transferred command addresses; storing the audio in successive locations in an audio buffer in a data mass storage device; and causing serial playback in real time of all the audio data stored in the audio buffer.
PCT/US1993/004337 1992-05-07 1993-05-07 Keyed language translator WO1993022733A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US88102992A 1992-05-07 1992-05-07
US07/881,029 1992-05-07

Publications (1)

Publication Number Publication Date
WO1993022733A1 true WO1993022733A1 (en) 1993-11-11

Family

ID=25377639

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1993/004337 WO1993022733A1 (en) 1992-05-07 1993-05-07 Keyed language translator

Country Status (2)

Country Link
AU (1) AU4371193A (en)
WO (1) WO1993022733A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0817153A1 (en) * 1996-07-03 1998-01-07 Jen-Chung Lin Multimedia reading and learning auxiliary device and the method of operating the same
US6321188B1 (en) 1994-11-15 2001-11-20 Fuji Xerox Co., Ltd. Interactive system providing language information for communication between users of different languages
US6622123B1 (en) 2000-06-23 2003-09-16 Xerox Corporation Interactive translation system and method
US7383171B2 (en) 2003-12-05 2008-06-03 Xerox Corporation Semantic stenography using short note input data
US7717712B2 (en) 2003-12-19 2010-05-18 Xerox Corporation Method and apparatus for language learning via controlled text authoring

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4481412A (en) * 1982-06-21 1984-11-06 Fields Craig I Interactive videodisc training system with bar code access
US4587635A (en) * 1981-05-29 1986-05-06 Sharp Kabushiki Kaisha Information retrieval system equipped with video disk
US4593356A (en) * 1980-07-23 1986-06-03 Sharp Kabushiki Kaisha Electronic translator for specifying a sentence with at least one key word
US4627023A (en) * 1981-09-22 1986-12-02 Sharp Kabushiki Kaisha Word information retrieval system using video storage medium
US4774596A (en) * 1981-04-17 1988-09-27 Sharp Kabushiki Kaisha Electronic dictionary using a video disk in an information retrieval system
US4879557A (en) * 1986-03-10 1989-11-07 La Souterraine S.A. General purpose keyboard for central processing unit with microprocessor and use of this keyboard with a microcomputer
US5065345A (en) * 1988-11-04 1991-11-12 Dyned International, Inc. Interactive audiovisual control mechanism
US5106097A (en) * 1988-07-12 1992-04-21 Rykodisc Audio quiz game

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4593356A (en) * 1980-07-23 1986-06-03 Sharp Kabushiki Kaisha Electronic translator for specifying a sentence with at least one key word
US4774596A (en) * 1981-04-17 1988-09-27 Sharp Kabushiki Kaisha Electronic dictionary using a video disk in an information retrieval system
US4587635A (en) * 1981-05-29 1986-05-06 Sharp Kabushiki Kaisha Information retrieval system equipped with video disk
US4627023A (en) * 1981-09-22 1986-12-02 Sharp Kabushiki Kaisha Word information retrieval system using video storage medium
US4481412A (en) * 1982-06-21 1984-11-06 Fields Craig I Interactive videodisc training system with bar code access
US4879557A (en) * 1986-03-10 1989-11-07 La Souterraine S.A. General purpose keyboard for central processing unit with microprocessor and use of this keyboard with a microcomputer
US5106097A (en) * 1988-07-12 1992-04-21 Rykodisc Audio quiz game
US5065345A (en) * 1988-11-04 1991-11-12 Dyned International, Inc. Interactive audiovisual control mechanism

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6321188B1 (en) 1994-11-15 2001-11-20 Fuji Xerox Co., Ltd. Interactive system providing language information for communication between users of different languages
EP0817153A1 (en) * 1996-07-03 1998-01-07 Jen-Chung Lin Multimedia reading and learning auxiliary device and the method of operating the same
US6622123B1 (en) 2000-06-23 2003-09-16 Xerox Corporation Interactive translation system and method
US7383171B2 (en) 2003-12-05 2008-06-03 Xerox Corporation Semantic stenography using short note input data
US7717712B2 (en) 2003-12-19 2010-05-18 Xerox Corporation Method and apparatus for language learning via controlled text authoring

Also Published As

Publication number Publication date
AU4371193A (en) 1993-11-29

Similar Documents

Publication Publication Date Title
US6434518B1 (en) Language translator
US4912671A (en) Electronic dictionary
EP0042155B1 (en) Manually controllable data reading apparatus for speech synthesizers
US5480306A (en) Language learning apparatus and method utilizing optical code as input medium
US5914707A (en) Compact portable audio/display electronic apparatus with interactive inquirable and inquisitorial interfacing
EP0572466B1 (en) Document interpreting systems
CA1129194A (en) Portable word translator device
US6525706B1 (en) Electronic picture book
US5091950A (en) Arabic language translating device with pronunciation capability using language pronunciation rules
JPS61259336A (en) Electronic information display unit
US4658374A (en) Alphabetizing Japanese words in a portable electronic language interpreter
US4587635A (en) Information retrieval system equipped with video disk
WO1993022733A1 (en) Keyed language translator
US20070136066A1 (en) Talking book
WO1987006752A1 (en) Language teaching apparatus
KR100372762B1 (en) Multimedia Electronic Book for Exclusive Use for Learning and Memorizing of the Holy Quran
JP4099907B2 (en) Information reproducing apparatus and method, and information providing medium
EP0817153B1 (en) Multimedia reading and learning auxiliary device and the method of operating the same
JPH06324616A (en) Learning device
KR200265464Y1 (en) Studying system of recording medium printed a digital index code
EP0256834A2 (en) Electronic dictionary
CN1102719A (en) Keyed language translator
KR200234568Y1 (en) Multimedia Electronic Book for Exclusive Use for Learning and Memorizing of the Holy Quran
WO2003009258A1 (en) System and method for studying languages
KR100374504B1 (en) Studying system of recording medium printed a digital index code

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AT AU BB BG BR CA CH CZ DE DK ES FI GB HU JP KP KR LK LU MG MN MW NL NO NZ PL PT RO RU SD SE SK UA

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): 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

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
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