IP Library Granted Patent US 8,164,492
Granted Patent B2
US 8,164,492 · App. 12/773,839 · Granted Apr 24, 2012

Apparatus and method for fast data encoding and decoding

Assignee: Touch Technologies, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,164,492
App. No.
12/773,839
Granted
Apr 24, 2012
Kind
B2
Abstract

An improved method for encoding and decoding data, such as in a base64 system, uses multiple look-up tables to perform the encoding function and to eliminate or reduce bit-shifting and the bit masks in encoding systems through use of pre-populated look-up tables. One example application is converting between media data that is typically quickly viewable on a media device and ASCII or similar data useful in data transfers, such as email. In specific embodiments, a series of pre-fetch encode and decode tables are constructed and indexed to fetch pre-calculated values to, for example, rapidly encode and decode any number of bit representations into any other bit representations.

Claims (33)

1. A method of encoding original data into encoded data using an information processing apparatus comprising:

encoding original data values by:

constructing a first encode table indexed by possible values of first and second original characters and having at each intersection two corresponding values of encoded data;

constructing a second encode table indexed by possible values of second and third original characters and having at each intersection two corresponding values of encoded data;

alternately using the first and second encode tables to encode a sequence of original data values into a sequence of encoded data values;

decoding encoded data by:

constructing a first decode table indexed by possible values of first and second encoded characters and having at each intersection one corresponding value of original data;

constructing a second decode table indexed by possible values of a second and third encoded characters and having at each intersection one corresponding value of original data;

constructing a third decode table indexed by possible values of a third and fourth encoded characters and having at each intersection one corresponding value of original data;

using the first second and third decode tables in order in round robin fashion to decode a sequence of encoded data values into a sequence of encoded data values;

presenting said original values using a computer system to a user;

wherein each table is stored in a computer memory and constructing and encoding and decoding are performed by a computer logic processor.

2. The method of claim 1 further wherein:

the original data is 8-bit bytes;

the encoded data is 6-bit characters.

3. The method of claim 1 further wherein:

the original data represents one or more of text data, image data, sound data, executable data;

the encoded data represents printable characters.

4. An apparatus in a computing system converting original data into encoded data comprising:

a first encode table indexed by possible values of first and second original characters and having at each intersection two corresponding values of encoded data;

a second encode table indexed by possible values of second and third original characters and having at each intersection two corresponding values of encoded data;

a first decode table indexed by possible values of first and second encoded characters and having at each intersection one corresponding value of original data;

a second decode table indexed by possible values of a second and third encoded characters and having at each intersection one corresponding value of original data;

a third decode table indexed by possible values of a third and fourth encoded characters and having at each intersection one corresponding value of original data;

a processor able to receive original or encoded data and use these data to look-up corresponding values in the tables.

5. An apparatus according to claim 4 further comprising a display for presenting results to a user.

6. A method allowing an information handling system with an information processor comprising logic circuits to more quickly execute programs on the processor requiring conversion of original digital data to encoded digital data comprising:

providing a logic module configured to construct a plurality of lookup tables in a memory of said information handling system, said memory and said lookup tables readable by said processor, said lookup tables indexed by two or more original values with entries in said lookup tables representing two or more encoded values; and

providing a logic module configured to establish a logic routine that executes on said processor and causes said processor to accept original values and to use said lookup tables to determine display codes for said encoded values.

7. A method according to claim 6 wherein constructing a plurality of lookup tables in a memory of said information handling system comprises:

constructing a static lookup table in an operating system memory space of said information handling system.

8. A method according to claim 6 further comprising:

providing a logic module configured to construct one or more lookup tables during run-time execution of an application in an application memory space of said computer wherein said lookup tables are indexed by at least two original values and wherein entries in said lookup table represent two or more encoded values that are masked and aligned and ready for transmission or inclusion in an encoded data file.

Assignments (3)
MERGER Recorded Dec 26, 2015
From: ADDAX CELLULAR NV L.L.C.
To: TAMIRAS PER PTE. LTD., LLC
Reel/Frame 037361/0046 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 7, 2012
From: TOUCH TECHNOLOGIES INC.
To: ADDAX CELLULAR NV L.L.C.
Reel/Frame 029259/0297 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2011
From: ESBENSEN, DANIEL
To: TOUCH TECHNOLOGIES, INC.
Reel/Frame 026444/0057 →
Continuity (2)
Provisional Application 61175453 · May 4, 2009
Related Publication 20100283640A1 · Nov 11, 2010