摘要:
A system used with a virtual device inputs or transfers information to a companion device, and includes two optical systems OS1, OS2. In a structured-light embodiment, OS1 emits a fan beam plane of optical energy parallel to and above the virtual device. When a user-object penetrates the beam plane of interest, OS2 registers the event. Triangulation methods can locate the virtual contact, and transfer user-intended information to the companion system. In a non-structured active light embodiment, OS1 is preferably a digital camera whose field of view defines the plane of interest, which is illuminated by an active source of optical energy. Preferably the active source, OS1, and OS2 operate synchronously to reduce effects of ambient light. A non-structured passive light embodiment is similar except the source of optical energy is ambient light. A subtraction technique preferably enhances the signal/noise ratio. The companion device may in fact house the present invention.
摘要:
A user inputs digital data to a companion system such as a PDA, a cell telephone, an applicance, device using a virtual input device such as an image of a keyboard. A sensor captures three-dimensional positional information as to location of the user's fingers in relation to where keys would be on an actual keyboard. This information is processed with respect to finger locations and velocities and shape to determine when virtual keys would have been struck. The processed digital information is output to the companion system. The companion system can display an image of a keyboard, including an image of a keyboard showing user fingers, and/or alphanumeric text as such data is input by the user on the virtual input device.
摘要:
A signature capture device includes a CPU that executes a routine to losslessly compress signature data in realtime such that decompression recovers a legally acceptable replica of the original signature. Digital data representing the pixel start point of a signature run is stored in preferably 10-bit or 9-bit format, and is then reduced to a common lower format of 9-bit or 8-bits. Subsequent data points within a run are reduced to the same common lower format and are compared to the common lower format version of the start point data. The differential between the start point and the adjacent second point is calculated and encoded with 4-bits if possible, or with 8-bits otherwise. The differential between the third point and second point is calculated and encoded with 4-bits or 8-bits, as required, and so on, within the run. A run is initiated by a pen-down status, or if a present run exceeds a predetermined length, or if a differential can no longer be encoded with 4-bits and requires 8-bit encoding. For each run, the start position and differential pixel positions are encoded with a preferably 32-bit start block the provides pen-up and pen-down status (1-bit), run length (10 bit), encoding 4-bit or 8-bit status (1-bit) and up to 10 bits each for initial x and y pixel position. The routine is stored in device ROM or as firmware, and incoming data is CPU processed and stored in RAM for export as a compressed data stream.