Help with a UIRT Condensed Code lookup table!

OK, I have been trying to work with the condensed codes for a project, and I have found I'll need between 800 and 2400 entries in the lookup table! Any suggestions on how to shorten the list of entries in the look up table?
Modulation is PWM, the carrier is 38900 Hz
The signal starts with a header of three spaces: Pulses, Pause, Pulses. The widths can be 3 milliseconds, 6 milliseconds, or 9 milliseconds. The first pulse is always 3 milliseconds.
After the header is 5 - 9 data bits (I don't know why they chose a variable length protocol, probably to save battery time)
1 = 2 milliseconds pause, 2 milliseconds burst
0 = 2 milliseconds pause, 1 millisecond burst
The long burst are because this is outdoor equipment. I am adapting to someone else’s firmware, and cannot change the protocol.
Any help shortening the table will be appreciated!
-AndyH
Modulation is PWM, the carrier is 38900 Hz
The signal starts with a header of three spaces: Pulses, Pause, Pulses. The widths can be 3 milliseconds, 6 milliseconds, or 9 milliseconds. The first pulse is always 3 milliseconds.
After the header is 5 - 9 data bits (I don't know why they chose a variable length protocol, probably to save battery time)
1 = 2 milliseconds pause, 2 milliseconds burst
0 = 2 milliseconds pause, 1 millisecond burst
The long burst are because this is outdoor equipment. I am adapting to someone else’s firmware, and cannot change the protocol.
Any help shortening the table will be appreciated!
-AndyH