The present invention relates to a user interface that allows a user to easily correct text recognized from a natural input technique. More particularly, the invention relates to a graphical object for accessing a correction interface and the correction interface accessed through the graphical object.
As computers become more and more integrated into our modern society, there is a growing need for tools that will allow a user to efficiently enter data into a computer. Some of the most desired input tools are those that allow a user to enter data using natural input techniques rather than typing on a physical or software QWERTY keyboard. These natural input techniques, which include handwriting and speech, offer users the promise of a familiar and convenient method of creating data that requires no special skills. To this end, great strides have been made in developing software applications that recognize text from such natural input. For example, some voice recognition applications will accurately transcribe text from a user's speech. Similarly, some handwriting recognition applications will recognize text from both block print and cursive handwriting.
One important advantage to these natural input techniques is that they potentially offer users a much higher throughput than entering data through a keyboard. The typical user can speak considerably faster than he or she can type. Thus, a user can quickly input text by speaking words that would have otherwise taken much longer to input by typing on a keyboard. Likewise, if a user has not memorized the position of keys on a QWERTY keyboard, that user may be able to handwrite words with a stylus and a digitizer faster than he or she can type those words on a keyboard.
While natural input offers the potential for high throughput in theory, in actuality the inherent inaccuracies of natural input can significantly reduce that potential. For example, a user may dictate voice input that initially is translated into text at a rate of 120 words per minute. After the user proofreads and corrects any errors in the recognized text, however, the user's actual throughput may drop to only 80 words per minute or less. Typed text generally has a few typographical errors, but text recognized from speech or handwriting usually will contain many errors as a result of inaccurate recognition. To compound this drawback, conventional natural input correction methods for correcting these errors are time consuming.
A conventional natural input correction method typically requires a user to first move a pointer to select the text to be corrected. Next, the user must move the pointer to a command button at a different location, such as a button on a toolbar, in order to retrieve a menu listing alternate selections for the inaccurately recognized text. The user must then move the pointer to still a third location to select the correct alternate selection on the alternates list. Because the user must continuously move the pointer from the text to a command button and then to an alternate list, the user suffers a significant delay in correcting even a single inaccurately recognized word. Thus, the very process of correcting text recognized from natural input may substantially reduce the throughput of that natural input technique. Correspondingly, any reduction in the speed of the correction process will help increase the throughput for natural input and generally improve the user's experience for natural input. Accordingly, there is a need for a natural input correction tool that allows a user to quickly and efficiently correct text.
Advantageously, the correction widget tool according to the invention allows a user to correct text with only a minimal amount of pointer movement. The correction widget tool displays a graphical object, hereafter referred to as correction widget, when a user acts to correct text. More particularly, if the user places an insertion point in or to the immediate left of the text, or selects the text, the tool displays the correction widget immediately to the left of the selected text. The user can then quickly access a correction interface for correcting the text simply by moving the pointer the short distance from the insertion point to the correction widget. When the user activates the correction widget, the tool displays the correction interface immediately proximal to the correction widget. Thus, the user need only move the pointer a small distance further to then correct the text using the correction interface.
The foregoing summary of the invention, as well as the following detailed description of preferred embodiments, will be better understood when read in conjunction with the accompanying drawings.
Overview
The present invention relates to a correction tool for quickly and efficiently correcting text that has been, for example, incorrectly recognized from natural input. A correction tool according to the invention may be implemented with instructions that can be executed on a computing device. Accordingly, an exemplary computing environment for executing such instructions will be described. The components and functions of a correction tool according to the invention will be described in detail as well, along with the correction interface employed by the correction tool and the graphical object provided to access the correction interface.
Exemplary Operating Environment
As previously noted, the text correction tool of the invention may be implemented using software. That is, the correction tool may be described in the general context of computer-executable instructions, such as program modules, executed by one or more computing devices. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. Typically the functionality of the program modules may be combined or distributed as desired in various embodiments.
Because the invention may be implemented using software, it may be helpful for a better understanding of the invention to briefly discuss the components and operation of a typical programmable computer on which various embodiments of the invention may be employed. Such an exemplary computer system is illustrated in
Computer 100 typically includes at least some form of computer readable media. Computer readable media can be any available media that can be accessed by the computer 100. By way of example, and not limitation, computer readable media may comprise computer storage media and communication media. Computer storage media includes volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer 100.
Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. The term “modulated data signal” means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. Combinations of any of the above should also be included within the scope of computer readable media.
The computer 100 typically includes a processing unit 110, a system memory 120, and a system bus 130 that couples various system components including the system memory to the processing unit 110. The system bus 130 may be any of several types of bus structures including a memory bus or memory controller, a peripheral bus, and a local bus using any of a variety of bus architectures. The system memory 120 includes read only memory (ROM) 140 and random access memory (RAM) 150. A basic input/output system 160 (BIOS), containing the basic routines that help to transfer information between elements within the computer 100, such as during start-up, is stored in the ROM 140.
The computer 100 may further include additional computer storage media devices, such as a hard disk drive 170 for reading from and writing to a hard disk (not shown), a magnetic disk drive 180 for reading from or writing to a removable magnetic disk 190, and an optical disk drive 191 for reading from or writing to a removable optical disk 192, such as a CD ROM or other optical media. The hard disk drive 170, magnetic disk drive 180, and optical disk drive 191 are connected to the system bus 130 by a hard disk drive interface 192, a magnetic disk drive interface 193, and an optical disk drive interface 194, respectively. The drives and their associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program modules, and other data for the personal computer 100.
Although the exemplary environment described herein employs a hard disk drive 170, a removable magnetic disk drive 180 and a removable optical disk drive 191, it should be appreciated by those skilled in the art that other types of computer readable media which can store data that is accessible by a computer, such as magnetic cassettes, flash memory cards, digital video disks, Bernoulli cartridges, random access memories (RAMs), read-only memories (ROMs) and the like may also be used in the exemplary operating environment. Also, it should be appreciated that more portable embodiments of the computer 100, such as a tablet personal computer or personal digital assistant, may omit one or more of the computer storage media devices discussed above.
A number of program modules may be stored on the hard disk drive 170, magnetic disk 190, optical disk 192, ROM 140, or RAM 150, including an operating system 195, one or more application programs 196, other program modules 197, and program data 198. A user may enter commands and information into the computer 100 through various input devices, such as a keyboard 101 and a pointing device 102 (for example, a mouse, touchpad, or pointing stick). As previously noted, the invention is directed to a correction tool that is very useful for correcting text inaccurately recognized from a natural input technique. Accordingly, the computing device will typically also include input devices for accepting natural input. For example, the computer 100 may include a digitizer 165 and a stylus 166, which a user may employ to create handwriting data. The computer 100 may also include a microphone 167, through which a user can input speech information for recognition by a voice recognition process. The computer 100 may also have additional input devices, such as a joystick, game pad, satellite dish, scanner, touch screen, or the like.
These and other input devices often are connected to the processing unit 110 through a serial port interface 106 that is coupled to the system bus 130, but may be connected by other interfaces, such as a parallel port, game port, or a universal serial bus (USB). Further still, these devices may be coupled directly to the system bus 130 via an appropriate interface (not shown). A monitor 107 or other type of display device is also connected to the system bus 130 via an interface, such as a video adapter 108. In addition to the monitor 107, personal computers typically include other peripheral output devices (not shown), such as speakers and printers. As will be appreciated by those of ordinary skill in the art, the monitor 107 may incorporate the digitizer 165 so that the input area of the digitizer 165 is coextensive with the display area of the monitor 107. This arrangement conveniently allows a user to employ the stylus 166 to point directly to objects displayed on the monitor 107.
The computer 100 may operate in a networked environment using logical connections to one or more remote computers, such as a remote computer 109. The remote computer 109 may be a server, a router, a network PC, a peer device, or other common network node, and typically includes many or all of the elements described above relative to the computer 100, although only a memory storage device 111 with related applications programs 196 have been illustrated in
When used in a LAN networking environment, the computer 100 is connected to the local area network 112 through a network interface or adapter 114. When used in a WAN networking environment, the personal computer 100 typically includes a modem 115 or other means for establishing a communications link over the wide area network 113, e.g., to the Internet. The modem 115, which may be internal or external, may be connected to the system bus 130 via the serial port interface 106. In a networked environment, program modules depicted relative to the personal computer 100, or portions thereof, may be stored in a remote memory storage device. Of course, it will be appreciated that the network connections shown are exemplary and other techniques for establishing a communications link between the computers may be used. The existence of any of various well-known protocols such as TCP/IP, Ethernet, FTP, HTTP and the like is presumed, and the system may be operated in a client-server configuration to permit a user to retrieve web pages from a web-based server. Any of various conventional web browsers may be used to display and manipulate data on web pages.
The Correction Widget Tool
The keyboard 101 allows a user to directly enter text data into the computer 100. When the user depresses a key on the keyboard 101, it sends a first signal identifying the depressed key to the computer 100. The keyboard 101 then sends a second signal to the computer 101 when the user releases the key. The text input panel module 209 also allows a user to enter data into the computer 101, but it provides a user interface for receiving natural input rather than text data. For example, the text input panel module 209 may provide an interface that allows the user to enter data through handwriting. It may additionally or alternately provide a user interface that allows the user to enter speech data through the microphone 167. Still further, the text input panel module 209 may provide an interface that includes a soft keyboard with keys a user may “press” with the stylus 166. In the illustrated embodiment, the text input panel module 209 allows a user to input data through both speech and handwriting.
The recognition module 211 recognizes text data from data that was input through natural input techniques, and thus may include a variety of subcomponents for recognizing speech and/or handwriting. For example, if the computer 100 allows a user to input data through handwriting, the recognition module 211 includes a handwriting recognition process that recognizes the shapes of the handwriting to produce text. Similarly, if the computer 100 allows a user to enter data through speech, the recognition module 211 includes a voice recognition process that recognizes the sounds being spoken by the user and generates text corresponding to those sounds.
As will be appreciated by those of ordinary skill in the art, the recognition module 211 recognizes text from natural input by identifying one or more text objects corresponding to each discrete natural input object from a recognition dictionary. For example, if the natural input object is the handwritten word “dog,” the recognition module 211 may identify a list of words in the recognition dictionary that correspond to the shape of the handwritten letters, such as the words “clog,” “log,” “lag,” “log,” and “bog.” The recognition module 211 then assigns a ranking to each word based upon its correspondence to the natural input, and selects the highest-ranked word to be the text recognized from the natural input. Thus, the recognition module 211 does not typically identify only a single word corresponding to a natural input, but instead identifies a list of alternate words in addition to the selected word recognized from the natural input.
Referring now to the correction widget tool 201, the user interface module 203 graphically displays information to the user, and receives input data provided by the user through, for example, the stylus 166 pressing upon the digitizer 165 or the use of some other pointing device 102. More particularly, as will be discussed in detail below, the user interface module 203 detects when a user designates text for correction by placing an insertion point (that is, a cursor) in or near the text, selects the text, issues a voice command to correct the text, or employs some other technique for designating the text. The user interface module 203 also displays the graphical object or correction widget. Further, the user interface module 203 detects when the user has activated the correction widget, and displays a correction interface that the user may employ to correct the designated text.
As shown in
The Correction Widget
The operation of the correction widget tool 201 shown in
To use the correction widget tool 201, in step 701 the user first designates the text 301a for correction. With some embodiments of the invention, a user can designate the text 301a for correction by placing an insertion point 401 in or to the immediate left of the text 301a. As used with regard to the illustrated embodiment, the term “immediate left” refers to the space between the text to be corrected and the preceding text. For example, as shown in
It should also be noted that, in addition to placing the insertion point 401 in or to the immediate left of text, a user may also designate the text 301a for selection by selecting the text. For example, a user may wish to correct adjacent words simultaneously. The user can thus easily initiate the correction widget tool 201 for both words by selecting them in a conventional manner. Of course, with alternate embodiments of the invention, still other triggers can be used to initiate the operation of the correction widget tool 201. For example, some embodiments may initiate the correction widget tool 201 when the user simply positions or hovers a pointer (that is, a graphical object whose location on a display is controlled by a pointing device) over the desired text. As previously noted, the operation of the correction widget tool 201 also may be initiated by voice command. The type of technique employed to initiate the correction widget tool 201 may be independent of the original natural input from which the text 301 was recognized.
In response to the user placing an insertion point 401 in or to the immediate left of the desired text (or selecting the text), the correction widget tool 201 displays a correction widget 403 in step 703. Thus, as shown in
As shown in
In the illustrated embodiment, the correction widget 403 is initially displayed with a relatively small footprint. More particularly, the L-shaped correction widget 403 shown in
Of course, with alternate embodiments of the invention, the correction widget 403 may be displayed at other locations relative to the text 301a, such as below, above or to the right of the text 301a. Further, the correction widget 403 may be displayed with a different shape. For example, the correction widget 403 may alternately be displayed as a squiggle line below or above the text, as a chevron positioned to the left or to the right of the text 301, or as another suitable shape positioned at a convenient location. With most embodiments of the invention, however, it will be desirable to display the correction widget 403 at a position that will not obscure the text 301a. As will be apparent to those of ordinary skill in the art, this presentation of the correction widget 403 is similar to that of the Smart Tags employed in software applications such as the Microsoft® Office XP Suite of software applications by Microsoft Corporation of Redmond, Wash. Thus, the display of the correction widget 403 will be familiar to those already using one or more of these software applications.
Under some circumstances, it will not be desirable to display the correction widget 403 even if the user places an insertion point within or to the immediate left of the text 301a (or selects the text 301a). For example, if the user is typing the text 301a, then the insertion point will continuously be in the text 301a. Accordingly, with the illustrated embodiment, the keyboard 101 informs the input interface module 205 each time the user presses a key and when the user subsequent releases the key. While the keyboard is being used, the input interface module 205 will prevent the user interface module 203 from displaying the correction widget 403. The correction widget 403 will continue to remain hidden until the user moves the insertion point 401 or selects text for correction.
Similarly, if the user concatenates two different pieces of text into a single piece of text, thereby inadvertently placing the insertion point 401 within the resulting single piece text, the correction widget 403 should not be displayed. Thus, the input interface module 205 will prevent the user interface module 203 from displaying the correction widget 403 between the upstroke and downstroke of a key on the keyboard 101. The correction widget 403 also will not be displayed in an existing document until the user makes a correction to some text within that document.
In order to be unobtrusive, the correction widget 403 will disappear if it is not selected by the user. For example, the correction widget 403 may be configured to disappear if the user does not select the correction widget 403 within a few seconds of its display. With various embodiments of the invention, the user may also actively dismiss the correction widget 403. For example, a user may dismiss the correction widget 403 by activating a designated key on the keyboard 101 such as the “escape” key. Further, the correction widget tool 201 may provide the user with an option of permanently disabling the correction widget 403 from being displayed. Still other embodiments of the invention may provide an option that allows a software developer to prevent the correction widget 403 from being displayed for an application created by the developer. Of course, it will be apparent to those of ordinary skill in the art that various embodiments of the invention may employ other techniques for conveniently allowing the correction widget 403 to be dismissed or prevented from appearing when it is not desired.
If the user wishes to employ the correction widget 403 to correct the text 301a, the user subsequently places the pointer 501 over an active region 405 associated with the correction widget 403 in step 705. Typically, when correcting the text 301a, the user will have just employed the pointer 501 to place the insertion point 401 within or to the left of the text 301a. The pointer 501 will therefore already be very close to the active region 405 of the correction widget 403, requiring only a minimal amount of movement of the pointer 501 by the user. As shown in
As shown in
Thus, the correction widget 403 provides convenient access to a correction interface requiring only a minimal amount of movement of the pointer 501 from the user. As discussed above, the reduction in the necessary movement of the pointer significantly increases a user's throughput. It should be noted that, with some embodiments of the invention, the user may dismiss the correction interface simply by selecting the expanded correction widget 503 a second time. With still other embodiments of the invention, the user may dismiss the correction interface by placing the insertion point 401 in a new location.
The Correction Interface
As previously noted, the correction widget tool 201 may conveniently be used to correct text that was inaccurately recognized from a natural input object. If the text 301a was recognized from a natural input object, then the alternate list area 603 will include alternate text choices 611 that also correspond to the natural input object. More particularly, as explained in detail above, when selecting the text 301a corresponding to a natural input object, the recognition module 211 may additionally determine a list of one or more alternate text choices that also correspond to the natural input object. Thus, the alternate list area 603 displays the alternate text choices 611 that were the next highest-ranked by the recognition module 211 below the recognized text 611a (corresponding to the text 301a recognized from the natural input object). If the user determines that one of the alternate text choices 611 accurately corresponds to the natural input object, the user may select that correct one of the alternate text choices 611. In response to the user selecting one of the alternate text choices 611 displayed in the alternate list area 603, the user interface module 203 replaces the text 301a (recognized text 611a) with the selected one of the alternate text choices 611.
As illustrated in
It should also be noted that the initial alternate text choices 611 displayed in the alternate list area 603 may always be the reverse capitalization of the text 301a. With handwriting, a handwriting recognition process may have difficulty distinguishing the lower-case form of a letter from its upper-case form. Similarly, a voice recognition process usually will be unable to distinguish between text that should begin with an upper case letter and text that should begin with a lower-case letter. Thus, by providing the reverse capitalization of the text 301a as the first one of the alternate text choices 611 displayed in the alternate list area 603, the correction interface 601 allows a user to very quickly correct this common type of recognition error.
With some embodiments of the invention, the order in which the alternate text choices 611 are displayed in the alternate list area 603 may be based upon the confidence that the recognition module 211 has in their accuracy. For example, alternate text choices 611 for which the recognition module 211 has a high level of confidence can be displayed in green, while alternate text choices for which the recognition module 211 has a low-level of confidence can be displayed in red. Of course, the alternate list area 603 can display the alternate text choices 611 according to a variety of different confidence levels. A technique for determining the confidence level of recognized text is disclosed in the copending U.S. patent application Ser. No. 10/120,153, entitled “Assignment And Use Of Confidence Levels For Recognized Text,” filed on Apr. 9, 2002, and naming Manish Goyal et al. as inventors, which application is incorporated entirely herein by reference.
The original input object area 605 displays the original input object from which the text 301a was recognized. In the example shown in
The command menu area 607 displays various commands for editing the text 301a. For example, in the illustrated embodiment, the command menu area 607 includes the command “delete” 613, which the user may activate to delete the text 301a. The command menu area 607 also includes the command “re-write/speak” 615. When the user activates the re-write speak command 615, the input interface module 205 summons the text input panel 209, and transfers focus from the command menu area 607 to the user interface provided by the text input panel 209. The user can then subsequently write or speak the desired text employing the text input panel 209, and the text input panel 209 will replace the text 301a with the new text entered through the text input panel 209.
The command menu area 607 further includes the command “ignore” 617. This command may be used when, for example, the application in which the text 301a appears has indicated that the text 301a is misspelled or grammatically incorrect, and the user disagrees with the application's assessment. In addition, the command menu area 607 includes the command “add to dictionary” 619. This command may be used when, for example, the text 301a has been recognized from individual handwriting characters or speech phonemes, and does not correspond to one or more specific words in the recognition dictionary. This command adds the text 301a to the recognition dictionary employed by the recognition module 211. It should be noted that, where the recognition module 211 supports both voice and handwriting recognition, activating the command 619 may add the text 301a to both the recognition dictionary for the voice recognition process and the recognition dictionary for the handwriting recognition process. Alternately, the command 619 may add the text 301a to a recognition dictionary shared between the voice recognition process and the handwriting recognition process.
Additional Features and Variations
As previously noted, text may be designated for correction by selection. With some embodiments of the invention, however, an entire word of text need not be designated. Instead, the user may select only a portion of a word, as illustrated in
When the user selects the correction widget 403, the correction widget tool 201 displays the correction interface 601. Unlike the correction interface 601 shown in
Thus, the partial word correction feature of the correction widget tool 201 of the invention allows a user to limit the alternate text choices 611 in the alternate list area 603 to those that differ from the recognized text 611a (corresponding to text 301a) only by its incorrectly recognized characters. The correction interface 601 can then quickly filter through alternate text choices 611 that the user has indicated do not correspond to the correct text. This better ensures that the correct text is displayed in the listing of text alternate choices 611. Further, by emphasizing only the letters in the alternate text choices 611 corresponding to the in correctly recognized characters and the designated text 301a, the correction interface 601 allows the user to more quickly identify the correct one of the alternate text choices 611. Of course, with still other embodiments of the invention, the user may alternately, or additionally, select a portion of the text 301a that was accurately recognized, instead of a portion of the text 301a that was incorrectly recognized.
Also, while the correction interface 601 shown in
The features of the correction widget 403 and the correction interface 601 have been discussed above primarily with regard to the correction of text 301a incorrectly recognized from a natural input object. It should be appreciated, however, that either the correction widget 403 or the correction interface 601 may be used to correct text that was not recognized from a natural input object. In these instances, the correction interface 601 may simply omit the alternate list area 603, the original input object area 605 and the selected text area 609. Alternately, the correction interface 601 may display the alternate list area 603, but include only the reverse capitalization of the text 301a as an alternate text choice.
Further, it should be noted that the correction widget 403 and the correction interface 601 can be used to convert phonetic text into a character in a multi-byte language. As known to those of ordinary skill in the art, a multi-byte language is one that has more characters than can be uniquely identified in a single byte of information. These languages include, for example, Japanese kanji and Chinese characters. Conventionally, a user will employ a non multi-byte language to phonetically describe the sound of a desired multi-byte character, and a conversion application will display one or more multi-byte characters corresponding to that phonetic sound. The correction widget 403 of the invention can be used to access a correction interface 601 displaying a list of multi-byte characters corresponding to a phonetically described sound in a single byte language. Of course, in these embodiments, the correction interface 601 may omit portions that are inapplicable to the recognition of multi-byte characters, or include additional commands or functions that are prepared to the recognition of multi-byte characters. Also, if the correction interface 601 is being used to correct or specify text that are characters in a multi-byte alphabet, then the alternate list area 603 may include a button, link, or other object for accessing additional alternate character choices 611. For example, the alternate list area 603 may include a button that, when activated, expands the length of the alternate list area 603, thereby displaying additional character choices 611.
Although the invention has been defined using the appended claims, these claims are exemplary in that the invention may include the elements and steps described herein in any combination or sub combination. Accordingly, there are any number of alternative combinations for defining the invention, which incorporate one or more elements from the specification, including the description, claims, and drawings, in various combinations or sub combinations. It will be apparent to those skilled in the relevant technology, in light of the present specification, that alternate combinations of aspects of the invention, either alone or in combination with one or more elements or steps defined herein, may be utilized as modifications or alterations of the invention or as part of the invention.
For example, the correction widget 403 can be used to access a correction interface other than the correction interface 601. Alternately, the correction interface 601 may be used without the correction widget 403. It is intended that the written description of the invention contained herein covers all such modifications and alterations. For instance, in various embodiments, a certain order to the data has been shown. However, any reordering of the data is encompassed by the present invention. Also, where certain units of properties such as size (e.g., in bytes or bits) are used, any other units are also envisioned.
This application is a continuation of prior U.S. application Ser. No. 10/145,425, filed May 13, 2002, now U.S. Pat. No. 6,986,106 the entire contents of which are incorporated herein by reference.
Number | Name | Date | Kind |
---|---|---|---|
4829576 | Porter | May 1989 | A |
4866778 | Baker | Sep 1989 | A |
5331431 | Jasinski et al. | Jul 1994 | A |
5406480 | Kanno | Apr 1995 | A |
5502774 | Bellegarda et al. | Mar 1996 | A |
5513278 | Hashizume et al. | Apr 1996 | A |
5517578 | Altman et al. | May 1996 | A |
5550930 | Berman et al. | Aug 1996 | A |
5583543 | Takahashi et al. | Dec 1996 | A |
5590257 | Forcier | Dec 1996 | A |
5596694 | Capps | Jan 1997 | A |
5615378 | Nishino et al. | Mar 1997 | A |
5649027 | Mahajan et al. | Jul 1997 | A |
5659771 | Golding | Aug 1997 | A |
5666139 | Thielens et al. | Sep 1997 | A |
5682439 | Beernink et al. | Oct 1997 | A |
5710916 | Barbara et al. | Jan 1998 | A |
5715469 | Arning | Feb 1998 | A |
5717939 | Bricklin et al. | Feb 1998 | A |
5764799 | Hong et al. | Jun 1998 | A |
5787455 | Seybold | Jul 1998 | A |
5802388 | Zetts et al. | Sep 1998 | A |
5812697 | Sakai et al. | Sep 1998 | A |
5841901 | Arai et al. | Nov 1998 | A |
5850480 | Scanlon | Dec 1998 | A |
5855000 | Waibel et al. | Dec 1998 | A |
5870702 | Yamabana | Feb 1999 | A |
5883986 | Kopec et al. | Mar 1999 | A |
5907839 | Roth | May 1999 | A |
5956739 | Golding et al. | Sep 1999 | A |
5960447 | Holt et al. | Sep 1999 | A |
5966464 | Kojima | Oct 1999 | A |
6005973 | Seybold et al. | Dec 1999 | A |
6014460 | Fukushima et al. | Jan 2000 | A |
6052482 | Arai et al. | Apr 2000 | A |
6055333 | Guzik et al. | Apr 2000 | A |
6108445 | Uehara | Aug 2000 | A |
6111985 | Hullender et al. | Aug 2000 | A |
6154579 | Goldberg | Nov 2000 | A |
6167376 | Ditzik | Dec 2000 | A |
6185333 | Arai et al. | Feb 2001 | B1 |
6205261 | Goldberg | Mar 2001 | B1 |
6285785 | Bellegarda et al. | Sep 2001 | B1 |
6285875 | Bellegarda et al. | Sep 2001 | B1 |
6337698 | Keely, Jr. et al. | Jan 2002 | B1 |
6340967 | Maxted | Jan 2002 | B1 |
6424743 | Ebrahimi | Jul 2002 | B1 |
6438523 | Obertcuffer et al. | Aug 2002 | B1 |
6473517 | Tyan et al. | Oct 2002 | B1 |
6513005 | Qin et al. | Jan 2003 | B1 |
6583798 | Hoek et al. | Jun 2003 | B1 |
6618697 | Kantrowitz et al. | Sep 2003 | B1 |
6701023 | Gaither et al. | Mar 2004 | B1 |
6735341 | Horie et al. | May 2004 | B1 |
6782510 | Gross et al. | Aug 2004 | B1 |
6788815 | Lui et al. | Sep 2004 | B2 |
6847734 | Hamamura | Jan 2005 | B2 |
6904405 | Suominen | Jun 2005 | B2 |
6912498 | Stevens et al. | Jun 2005 | B2 |
20020180689 | Venolia | Dec 2002 | A1 |
20020194223 | Meyers et al. | Dec 2002 | A1 |
20030007018 | Seni et al. | Jan 2003 | A1 |
20030014252 | Shizuka et al. | Jan 2003 | A1 |
20030016873 | Nagel et al. | Jan 2003 | A1 |
20030189603 | Goyal et al. | Oct 2003 | A1 |
20030233237 | Garside et al. | Dec 2003 | A1 |
20040021700 | Iwema et al. | Feb 2004 | A1 |
20050128181 | Wang et al. | Jun 2005 | A1 |
20050135678 | Wecker et al. | Jun 2005 | A1 |
Number | Date | Country |
---|---|---|
1363229 | Nov 2003 | EP |
1363232 | Nov 2003 | EP |
1365349 | Nov 2003 | EP |
63095590 | Apr 1988 | JP |
04290184 | Oct 1992 | JP |
63095590 | Apr 1998 | JP |
Number | Date | Country | |
---|---|---|---|
20050273713 A1 | Dec 2005 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10145425 | May 2002 | US |
Child | 11189984 | US |