[go: up one dir, main page]

WO1993005580A1 - Method of compressing data code and apparatus for using the compressed data code - Google Patents

Method of compressing data code and apparatus for using the compressed data code Download PDF

Info

Publication number
WO1993005580A1
WO1993005580A1 PCT/EP1992/001919 EP9201919W WO9305580A1 WO 1993005580 A1 WO1993005580 A1 WO 1993005580A1 EP 9201919 W EP9201919 W EP 9201919W WO 9305580 A1 WO9305580 A1 WO 9305580A1
Authority
WO
WIPO (PCT)
Prior art keywords
code
bins
data
key
specific
Prior art date
Legal status (The legal status 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 status listed.)
Ceased
Application number
PCT/EP1992/001919
Other languages
French (fr)
Inventor
Eric Diehl
Marc Amstoutz
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Vantiva SA
Technicolor USA Inc
Original Assignee
Thomson Consumer Electronics SA
Thomson Consumer Electronics Inc
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 Thomson Consumer Electronics SA, Thomson Consumer Electronics Inc filed Critical Thomson Consumer Electronics SA
Publication of WO1993005580A1 publication Critical patent/WO1993005580A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C19/00Electric signal transmission systems
    • G08C19/16Electric signal transmission systems in which transmission is by pulses
    • G08C19/28Electric signal transmission systems in which transmission is by pulses using pulse code

Definitions

  • the present invention relates to a method of compressing data code, for example IR remote control code, and to an apparatus for using the compressed data code.
  • IR infra-red remote control code
  • Categorization is a technique which consists of creating a table with the different duration classes found in the code. A duration class number is called a bin. The code can be so expressed as a suite of bins.
  • An IR code is composed of a beginning frame called preamble (which cannot exist) and some repeated frames called repeats (always existing) . The repeat frame is normally played while the key is pressed.
  • US 4,623,887 gives an algorithm to automatize -the removing-repeat method.
  • the inventive method consists in compressing data code, for example remote control code, using pulse width categorization and removing-repeats, whereby data code can be coded for controlling different devices and the compressed code consists of an invariant device-specific part and of a variant function-specific part, whereby patterns are identified in the data of the code sequences for said devices and assigned to a device table and function-specific data are assigned to a keys table, whereby respective data of said device table point to th corresponding data within said keys table.
  • data code for example remote control code
  • the compressed code consists of an invariant device-specific part and of a variant function-specific part, whereby patterns are identified in the data of the code sequences for said devices and assigned to a device table and function-specific data are assigned to a keys table, whereby respective data of said device table point to th corresponding data within said keys table.
  • the inventive apparatus consists of a memory 61 - for example a ROM - which stores program code and data code for code sequences which are compressed according to the inventive method, of a keyboard 63, of a following microprocessor 62 which reads from memory 61 the respective compressed code and de ⁇ compresses this code and sends it via an IR transmitter 64 to a device which shall be controlled.
  • a memory 61 for example a ROM - which stores program code and data code for code sequences which are compressed according to the inventive method
  • a keyboard 63 of a following microprocessor 62 which reads from memory 61 the respective compressed code and de ⁇ compresses this code and sends it via an IR transmitter 64 to a device which shall be controlled.
  • the inventive code compression goes beyond the known compression methods.
  • the first purpose is to recognize some specific patterns within function and key codes, respectively, which represent data digits, and extract these patterns from the code sequence signal.
  • the second purpose is to store the code sequences of different functions and keys from the same hand set, respectively, in a stronger compressed format. The more key and/or device codes are compressed, the more efficient the compression is.
  • One principle of this inventive compression method is to dis ⁇ tinguish the invariant part of all the key codes called device- specific part and the variant part of the frame called key- specific part. Patterns of digits of code sequences for different devices which shall be controlled are then identified. Thereafter the compression reduces the data of the key-specific part for all the keys and generates an increased device-specific part and a decreased key-specific part of data. Finally, the code is formatted corresponding to the defined format for the specific handset.
  • the total code compression is the result of several steps. Each step corresponds to a different compression principle. To achieve the full compression the following steps are used:
  • IR code frame In an IR code frame, some parts represent functional data. Within the data of all used functions for different devices multiple existing patterns are extracted which can be coded with fewer bytes than the original code sequences. Each data digit corresponds to a specific transmission mode. There are many existing transmission modes but the most common are Pulse Period Modulation (P.P.M.) and Phase Modulation (P.M.). The inventive code format will preferably code these transmission modes. As most of the codes contain binary digits only binary coded data become integrated.
  • All the code sequences of a specific device contain some common parts. There are some fixed parameters (Carrier frequency. Preamble period, Repeat period, Preamble length, Repeat number, Bins table) , synchronization bins ( Mark, Space, Sync, Frame space) , and some custom-specific data. The non-common parts are formed to pure key-specific data.
  • a table defines the sequence of elements which compose the code (device-specific or key- specific bins and data) , the device table. The format consists of a device-specific part containing the fixed parameters and the device table, and a key-specific part containing the keys data.
  • inventive code compression is not limited to IR remote control codes. Also codes in other technical fields can be compressed, for example ultrasonically transmitted code se ⁇ quences or codes for remote controlled car port door openers.
  • Fig. 3 explains the data structure of a compressed IR code; shows the block diagram of an inventive apparatus.
  • Fig. 1 shows an example of categorization.
  • the code pulses can be divided into four different time duration groups: 1, 2, 3 and 5. In the bins table these time duration groups are matched to four numbers (0, 1, 2 and 3) which can be expressed with a reduced number of bits.
  • the total code sequence can than be expressed as 0,2,0,2,0,1,0,1,3.
  • Fig. 2a shows a P.P.M. code sequence and Fig. 2b a P.M. code sequence for the same data.
  • a code sequence is depicted which consists of a part DEVICE SPECIFIC and a part KEY SPECIFIC.
  • the device-specific part of the compressed code uses the following data:
  • P.P.M. Pulse Period Modulation
  • Phase Modulation P.M.
  • the binary digit '0* is expanded as a bin 0 at low level followed by a bin 0 at high level (rising edge) .
  • the binary digit '1• is expanded as a bin 0 at high level followed by a bin 0 at low level (falling edge) .
  • Common bin is the first one, so digit '0* is represented by BIN0-BIN1 and digit '1' by BIN0-BIN2.
  • Common bin is the second one, so digit '0* is represented by BIN1-BIN0 and digit '1' by BIN2-BIN0.
  • Preamble period length in 8/3.5MHZ 2.286 ⁇ s units (0 ... 2396.7 ms) . This period is used to compute the space to add at the end of the preamble frame.
  • Repeat period length in 2.286 ⁇ s units. This period is used to compute the space to add at the end of the repeat frame.
  • This table contains the bin durations used for the code se ⁇ quences.
  • This table is unique and describes each code sequence as a suite of CODE characters and DATA characters.
  • This character indicates that a device-specific information constituted of bins is to be played.
  • the information is stored in the next (BINS_NUMBER div 2) + (BINS_NUMBER mod 2) characters where BINS_NUMBER is the value coded in bits 5 ... 0 of the dev- bins character.
  • the first bin (nibble) to play is stored is the high nibble of the character next to the dev-bins character and so on. If the bins number is odd, the low nibble of the last character is unused.
  • the BITS_NUMBER value (bits 5 ... 0) is the number of bits to play. These bits are contained in the (BITS_NUMBER div 8) + ( (BITS_NUMBER mod 8) > 0) characters contiguous to the dev_bits character.
  • the first bit to play (a) is stored in the MSB of the character following the dev-bits character and so on (b ... j) . If the bits number is not a multiple of 8, the lasts bits of the last character are unused. The way to play these bits depends of the DIGITS_CODING parameter. 7 6 5 4 3 2 1 0
  • This character identifies a key-specific part in the frame coded as a suite of bins.
  • the value coded in bits 5 ... 0 is the number of bins to play (BINS_NUMBER) , contained in the keys table.
  • the bins are stored in (BINS_NUMBER div 2) + (BINS_NUMBER mod 2) characters in the keys table.
  • the first bin (nibble) to play stored is the high nibble of the first character of this group in the keys table and so on. If the bins number is odd, the low nibble of the last character is unused.
  • the BITS_NUMBER value (bits 5 ... 0) is the number of bits to play. The bits are stored in (BITS_NUMBER div 8) + ((BITS_NUMBER mod 8) > 0) characters in the keys table. Th first bit to play is stored in the MSB of the first character o this group in the keys table and so on. If the bits number is not a multiple of 8, the lasts bits of the last character are unused. The way to play these bits depends of the DIGITS_CODING parameter.
  • the keys-specific part of the compressed code uses the followin data:
  • This table is accessed when encountering a Key_Bins or a Key_Bits character during the Device table reading.
  • This table contains a succession of character groups which represent either some bins (corresponding to a Key_Bin character of the device table) , or bits (which corresponds to a KeyJBits character of the device table) .
  • the information is represented in nibbles (bins) or bits, it is filled with '0' in order to be stored in byte cells. 7 6 5 4 3 2 1 0
  • Fig. 4 shows the resulting compressed code of the signal of Fig. 3 which is stored in a memory using 35 bytes for 3 keys which represents a compression rate of 6 in comparison with the above mentioned categorization plus removing-repeats method.
  • the following data and bits, respectively are depicted:
  • Fig. 4b Value PERSHH with two nibbles « 0'; Fig. 4c) Preamble period PBPER '0';
  • Fig. 4g A number of five elements is contained in the bins table, therefore BINS__NUMBER '5• . These bins have durations of 219, 438, 247, 1750 and 3500 times 2.286 ⁇ s (0.5, 1, 0.565, 4 and 8 ms) ; Fig. 4h) A number of nine elements is contained in the device table, therefore device TABLE_LENGHT '9'.
  • the table contains:
  • Fig. 5 summarizes the general data structure of a compressed IR code.
  • MODFRQ the values for DIG- ITS_CODING 501 and COMMON_BIT 502 are arranged.
  • the corresponding data stored in the keys table is read. According to the controlled device the respective device table is selected. If the respective key does need also key-specific code which can not be expressed alone with the patterns contained in the device table, the code in the device table points to respective bits in the keys table.
  • FIG. 6 shows the block diagram of an inventive device, for example an IR remote control unit, which uses compressed code.
  • a memory 61 for example a ROM, stores program code and the data for the code sequences which had been compressed according to the inventive method. If a user presses a key of keyboard 63, a following microprocessor 62 reads from memory 61 the respective compressed code for the selected device, de-compresses this code and sends it via an IR transmitter 64 to the device which shall be controlled.
  • the inventive device can read and compress code received from other IR remote control units using a light sensitive element or an other data input.
  • a secon memory connected to microprocessor 62 may store the compressed code.
  • the memory 61 stores the program for compressing the received code sequences.
  • the inventive Patterns identification permits to reduce the siz of n bins coded in n*4 bits (nibbles) to n/2 bits (plus a control byte).
  • the compression rate tends to 8.
  • some I codes do not have the patterns identified (P.P.M. and P.M.) the inventive code compression is useful for 90% of the existing IR codes.
  • the efficiency of the inventive handset-oriented format is more variable between some IR codes. It depends on the key-specific proportion of the code and almost the keys number. In the example shown in Fig. 4, one can see that an additional key onl needs two supplementary bytes. For three keys, the medium compression rate approximately equals 3.3 and for 5 keys it is 4.6 . For 10 keys, it raises to 7.

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

For compressing IR remote control code sequences the methods of categorization and removing-repeats are known. Categorization is a technique which consists of creating a table with the different duration classes found in the code. With the method of removing-repeats the bins suite representing a code sequence can be reduced to the bins representing the preamble and one repeat plus the additional informations repeat number and preamble length. But the compression factor is low. According to the invention, within the data of all used functions for different devices multiple existing patterns are extracted which can be coded with fewer bytes than the original code sequences. There are some fixed parameters (Carrier frequency, Preamble period, Repeat period, Preamble length, Repeat number, Bins table), synchronization bins (Mark, Space, Sync, Frame space), and some custom-specific data. The non-common parts are the key-specific data. A bins table contains all existing bins. A device table defines the sequence of elements which compose the code (device-specific or key-specific bins and data). A key table stores data of the key-specific part.

Description

Method of Compressing Data Code and Apparatus for Using t Compressed Data Code
The present invention relates to a method of compressing data code, for example IR remote control code, and to an apparatus for using the compressed data code.
Background
For compressing IR (infra-red) remote control code some methods are known. In US 4,623,887 the methods of categorization and removing-repeats are described. Categorization is a technique which consists of creating a table with the different duration classes found in the code. A duration class number is called a bin. The code can be so expressed as a suite of bins. An IR code is composed of a beginning frame called preamble (which cannot exist) and some repeated frames called repeats (always existing) . The repeat frame is normally played while the key is pressed. US 4,623,887 gives an algorithm to automatize -the removing-repeat method.
Invention
It is one object of the invention to disclose a method of even stronger data code compression. This object is reached by the inventive method disclosed in claim 1.
In principle the inventive method consists in compressing data code, for example remote control code, using pulse width categorization and removing-repeats, whereby data code can be coded for controlling different devices and the compressed code consists of an invariant device-specific part and of a variant function-specific part, whereby patterns are identified in the data of the code sequences for said devices and assigned to a device table and function-specific data are assigned to a keys table, whereby respective data of said device table point to th corresponding data within said keys table.
Advantageous additional embodiments of the inventive method are resulting from the respective dependent claims.
It is a further object of the invention to disclose an apparatus which utilizes the inventive method. This object is reached by the inventive apparatus disclosed in claim 6.
In principle the inventive apparatus consists of a memory 61 - for example a ROM - which stores program code and data code for code sequences which are compressed according to the inventive method, of a keyboard 63, of a following microprocessor 62 which reads from memory 61 the respective compressed code and de¬ compresses this code and sends it via an IR transmitter 64 to a device which shall be controlled.
Advantageous additional embodiments of the inventive apparatus are resulting from the respective dependent claims.
The inventive code compression goes beyond the known compression methods. The first purpose is to recognize some specific patterns within function and key codes, respectively, which represent data digits, and extract these patterns from the code sequence signal. The second purpose is to store the code sequences of different functions and keys from the same hand set, respectively, in a stronger compressed format. The more key and/or device codes are compressed, the more efficient the compression is.
One principle of this inventive compression method is to dis¬ tinguish the invariant part of all the key codes called device- specific part and the variant part of the frame called key- specific part. Patterns of digits of code sequences for different devices which shall be controlled are then identified. Thereafter the compression reduces the data of the key-specific part for all the keys and generates an increased device-specific part and a decreased key-specific part of data. Finally, the code is formatted corresponding to the defined format for the specific handset.
The total code compression is the result of several steps. Each step corresponds to a different compression principle. To achieve the full compression the following steps are used:
- Categorization;
- Removing-repeats;
- Patterns identification;
- Handset oriented format.
1) Categorization
The principle is described in paragraph 'background'.
2) Removing-repeats
The principle is described in paragraph 'background'. With these observations the bins suite representing a code sequence can be reduced to the bins representing the preamble and one repeat plus two additional informations: repeat number and preamble length.
3) Patterns identification
In an IR code frame, some parts represent functional data. Within the data of all used functions for different devices multiple existing patterns are extracted which can be coded with fewer bytes than the original code sequences. Each data digit corresponds to a specific transmission mode. There are many existing transmission modes but the most common are Pulse Period Modulation (P.P.M.) and Phase Modulation (P.M.). The inventive code format will preferably code these transmission modes. As most of the codes contain binary digits only binary coded data become integrated.
4) Handset oriented format
All the code sequences of a specific device contain some common parts. There are some fixed parameters (Carrier frequency. Preamble period, Repeat period, Preamble length, Repeat number, Bins table) , synchronization bins ( Mark, Space, Sync, Frame space) , and some custom-specific data. The non-common parts are formed to pure key-specific data. A table defines the sequence of elements which compose the code (device-specific or key- specific bins and data) , the device table. The format consists of a device-specific part containing the fixed parameters and the device table, and a key-specific part containing the keys data.
Because of the high code compression one may advantageously control without the need of high code storage capacity a lot of devices which need different codes, e.g. TV's, VCR's, CD players, amplifiers, even if they stem from different manu¬ facturers.
The inventive code compression is not limited to IR remote control codes. Also codes in other technical fields can be compressed, for example ultrasonically transmitted code se¬ quences or codes for remote controlled car port door openers.
Drawings
Preferred embodiments of the invention will now be described with reference to the accompanying drawings, in which:
shows an example of categorization; shows data expressed in P.P.M. and P.M. format; shows an IR signal with different compression steps; depicts compressed code obtained from the signal of
Fig. 3; explains the data structure of a compressed IR code;
Figure imgf000006_0001
shows the block diagram of an inventive apparatus.
Preferred embodiments
Fig. 1 shows an example of categorization. The code pulses can be divided into four different time duration groups: 1, 2, 3 and 5. In the bins table these time duration groups are matched to four numbers (0, 1, 2 and 3) which can be expressed with a reduced number of bits. The total code sequence can than be expressed as 0,2,0,2,0,1,0,1,3.
Fig. 2a shows a P.P.M. code sequence and Fig. 2b a P.M. code sequence for the same data.
In Fig. 3 a code sequence is depicted which consists of a part DEVICE SPECIFIC and a part KEY SPECIFIC.
In general, the device-specific part of the compressed code uses the following data:
dl) Digits coding/Frequency: 2 bytes (with bits 0 ... F)
F E D C B A 9 8 7 6 5 4 3 2 1 0
+ + + + +
DIGITS_CODING COMMON_BIN U U FREQUENCY
dl.l) DIGITS_CODING
0: Pulse Period Modulation (P.P.M.). The binary digits are expanded as two bins at opposite levels. The level of the first bin is also the opposite level of the preceding bin (or high level if it is the first bin) . The bins value depends of the
COMMON_BIN value.
1: Phase Modulation (P.M.). The binary digit '0* is expanded as a bin 0 at low level followed by a bin 0 at high level (rising edge) . The binary digit '1• is expanded as a bin 0 at high level followed by a bin 0 at low level (falling edge) .
dl.2) COMMON_BIN (used if DIGITS_CODING is 0)
0: Common bin is the first one, so digit '0* is represented by BIN0-BIN1 and digit '1' by BIN0-BIN2. 1: Common bin is the second one, so digit '0* is represented by BIN1-BIN0 and digit '1' by BIN2-BIN0.
dl.3) U Unused bit. dl.4) FREQUENCY
0: No modulation (flash mode) .
1 4095: 8*Carrier frequency [kHz] (carrier frequency 0
... 511.875 kHz can be coded).
d2) Preamble and Repeat period: 5 bytes
7 6 5 4 3 2 1 0
PERSHH
F E D C B A 9 8 7 6 5 4 3 2 1 0
+ +
PREAMBLE_PERIOD
F E D C B A 9 8 7 6 5 4 3 2 1 0
+ +
REPEAT_PERIOD
d2.1) PERSHH (2 nibbles)
[PERSHH ]*65535+PREAMBLE_PERIOD
0 ... 1048576: Preamble period length in 8/3.5MHZ = 2.286μs units (0 ... 2396.7 ms) . This period is used to compute the space to add at the end of the preamble frame.
[PERSHH3_Q]*65535+REPEAT_PERIOD
0 ... 1048576 : Repeat period length in 2.286μs units. This period is used to compute the space to add at the end of the repeat frame.
d2.2) PREAMBLE_PERIOD
0 ... 65535 times 2.286μs units
d2.3) REPEAT_PERIOD
0 ... 65535 times 2.286μs units d3) Preamble length: 1 byte
7 6 5 4 3 2 1 0
+ +
PREAMBLE_LENGTH
d3.1) PREAMBLE_LENGTH
0 ... 255: Number of bins composing the preamble.
d4) Repeat number: 1 byte
7 6 5 4 3 2 1 0
+ +
REPEAT__NUMBER
d4.1) REPEAT_NUMBER
0 ... 255: Number of times to play the repeat (repetition part of the code) .
dS) Bins table: 1+2*BINS_NUMBER bytes
This table contains the bin durations used for the code se¬ quences. The BIN0-2 are ordered in such a way that for P.P.M. coding (DIGITS_CODING = 0) , BIN0 is the common digit-bit and BIN1-2 the two other digit-bins. For P.M. coding (DIGIT_CODING 1) , BIN0 is the base bin.
7 6 5 4 3 2 1 0
+-+-+-+-+ +
U U U U BINS_NUMBER
F E D C B A 9 8 7 6 5 4 3 2 1 0
+ +
BIN 0 BIN 1 d5.1) U Unused bit.
d5.2) BINS_NUMBER
0 ... 16: Number of elements (bins) of this table.
d5.3) BIN n
0 ... 65535: Bin. duration in 2.286μs units (0 ... 149.794ms) .
d6) Device table: 1 + TABLEJLENGTH bytes.
This table is unique and describes each code sequence as a suite of CODE characters and DATA characters.
7 6 5 4 3 2 1 0
+ +
TABLEJLENGTH CODE 0 CODE 1 DATA 1
d6.1) TABLE_LENGTH
0 ... 255: Number of elements (bytes) of this table.
d6.2) CODE n
There are 4 types of code characters in this table which are identified by their bits 7 and 6. Bit 7 indicates if the in¬ formation is device-specific (bit 7 = 0) or key-specific (bit 7 = 1) . Bit 6 indicates if the information is constituted of bins (bit 6 = 0) or bits (bit 6 = 1).
d6.2.1) Dev_Bins character: bit 7 = 0, bit 6 = 0. This character indicates that a device-specific information constituted of bins is to be played. The information is stored in the next (BINS_NUMBER div 2) + (BINS_NUMBER mod 2) characters where BINS_NUMBER is the value coded in bits 5 ... 0 of the dev- bins character. The first bin (nibble) to play is stored is the high nibble of the character next to the dev-bins character and so on. If the bins number is odd, the low nibble of the last character is unused.
7 6 5 4 3 2 1 0
0 0 BINS_NUMBER
BINO BIN1 BIN2 U
d6.2.1.1) BINS_NUMBER
0 ... 63: Number of bins (nibbles) to play contained after this character.
d6.2.1.2) BIN0 ... BINBINS^NUMBER (DATA characters) 0 ... 16: Values of the bins to play.
d6.2.1.3) U Unused nibble.
d6.2.2) Dev_Bits character: bit 7 = 0, bit 6 = 1. This character identifies a digits section of the device- specific part of the code. The BITS_NUMBER value (bits 5 ... 0) is the number of bits to play. These bits are contained in the (BITS_NUMBER div 8) + ( (BITS_NUMBER mod 8) > 0) characters contiguous to the dev_bits character. The first bit to play (a) is stored in the MSB of the character following the dev-bits character and so on (b ... j) . If the bits number is not a multiple of 8, the lasts bits of the last character are unused. The way to play these bits depends of the DIGITS_CODING parameter. 7 6 5 4 3 2 1 0
0 1 BITS_NUMBER
4—+—1—+-+-+-+-+-+ a b c d e f g h i j U U U U U U
d6.2.2.1) BITS_NUMBER
0 ... 63: Number of bits to play contained after this charac ter.
d6.2.2.2) a ... j (bits in DATA characters) 0 or l: Bit values of BitQ ... BitβITS NUMBER.
C.6.2.2.3) U Unused bit.
d6.2.3) Key_Bins character: bit 7 = 1, bit 6 = 0. This character identifies a key-specific part in the frame coded as a suite of bins. The value coded in bits 5 ... 0 is the number of bins to play (BINS_NUMBER) , contained in the keys table. The bins are stored in (BINS_NUMBER div 2) + (BINS_NUMBER mod 2) characters in the keys table. The first bin (nibble) to play stored is the high nibble of the first character of this group in the keys table and so on. If the bins number is odd, the low nibble of the last character is unused.
7 6 5 4 3 2 1 0
1 0 BINS_NUMBER
dβ.2.3.1) BINS_NUMBER
0 ... 63 : Number of bins (nibbles) to play contained in the keys table.
d6.2.4) Key_Bits character: bit 7 = 1, bit 6 = 1, This character identifies a digits section of the key-specific part of the code. The BITS_NUMBER value (bits 5 ... 0) is the number of bits to play. The bits are stored in (BITS_NUMBER div 8) + ((BITS_NUMBER mod 8) > 0) characters in the keys table. Th first bit to play is stored in the MSB of the first character o this group in the keys table and so on. If the bits number is not a multiple of 8, the lasts bits of the last character are unused. The way to play these bits depends of the DIGITS_CODING parameter.
7 6 5 4 3 2 1 0
1 1 BITS_NUMBER
d6.2.4.1) BITS_NUMBER
0 ... 63: Number of digits (bits) to play contained in the keys table.
The keys-specific part of the compressed code uses the followin data:
kl) Keys (Function) table: 2 + KEY_SIZE * KEYS_NB bytes
This table is accessed when encountering a Key_Bins or a Key_Bits character during the Device table reading. This table contains a succession of character groups which represent either some bins (corresponding to a Key_Bin character of the device table) , or bits (which corresponds to a KeyJBits character of the device table) . As the information is represented in nibbles (bins) or bits, it is filled with '0' in order to be stored in byte cells. 7 6 5 4 3 2 1 0
+ +
KEY_SIZE
KEYS_NB CHARACTER 0 CHARACTER 1
kl.l) KEY_SIZE
0 ... 255: Size of a key in bytes.
Figure imgf000014_0001
0 ... 255: Number of keys (in order to know the size of the keys table) .
From the top to the bottom in Fig. 3 one can see the code signal, the corresponding pulse durations, the bins obtained with categorization, the P.P.M. binary digits and data they represent.
Fig. 4 shows the resulting compressed code of the signal of Fig. 3 which is stored in a memory using 35 bytes for 3 keys which represents a compression rate of 6 in comparison with the above mentioned categorization plus removing-repeats method. The following data and bits, respectively are depicted:
Fig. 4a) DIGITS_CODING DC = '0', COMMON_BIN CB = '1', a fre¬ quency code of '320* which represents a carrier frequency of 320/8kHz = 40kHz;
Fig. 4b) Value PERSHH with two nibbles «0'; Fig. 4c) Preamble period PBPER '0';
Fig. 4d) Repeat period PRTPER '34143' which corresponds to a lenght Of 8/(3.5MHz)*34143 = 78.04ms; Fig. 4e) PREAMBLE_LENGHT '0'; Fig. 4f) REPEAT_NUMBER '10';
Fig. 4g) A number of five elements is contained in the bins table, therefore BINS__NUMBER '5• . These bins have durations of 219, 438, 247, 1750 and 3500 times 2.286μs (0.5, 1, 0.565, 4 and 8 ms) ; Fig. 4h) A number of nine elements is contained in the device table, therefore device TABLE_LENGHT '9'. The table contains:
- 3 Dev_Bins with BINO = 4, BIN1 = 3, BIN2 = 0; these bins correspond to period 30 in Fig. 3;
- 16 Dey_Bits 01011111 10100000; these bits correspond to periods 31 and 32 in Fig. 3;
- 2 Dev__Bins with BINO = 3, BIN1 = 0; these bins correspond to period 35 in Fig. 3;
- 16 Key_Bits; these bits are contained in the keys table in Fig. 4i and correspond to periods 33 and 34 in Fig. 3.
Fig. 4i) KEY_SIZE '2', KEYS_NB '2', KEYS TABLE with 16 bits •10111111 01000000' for key Nr.l and 16 bits '00111010 11000101• for key Nr. 2.
Fig. 5 summarizes the general data structure of a compressed IR code. At the beginning of bar MODFRQ the values for DIG- ITS_CODING 501 and COMMON_BIT 502 are arranged. MODFRQ corre¬ sponds to Fig. 4a, SGNPER to Fig. 4b-d, PBLENGTH to FIG. 4e, RPTNB to Fig. 4f, BINSTAB to Fig. 4g, DEVTAB to Fig. 4h and KEYSTAB to Fig. 4i.
If, for example, a key of an IR remote control is pressed, the corresponding data stored in the keys table is read. According to the controlled device the respective device table is selected. If the respective key does need also key-specific code which can not be expressed alone with the patterns contained in the device table, the code in the device table points to respective bits in the keys table.
Fig. 6 shows the block diagram of an inventive device, for example an IR remote control unit, which uses compressed code. A memory 61, for example a ROM, stores program code and the data for the code sequences which had been compressed according to the inventive method. If a user presses a key of keyboard 63, a following microprocessor 62 reads from memory 61 the respective compressed code for the selected device, de-compresses this code and sends it via an IR transmitter 64 to the device which shall be controlled. Advantageously the inventive device can read and compress code received from other IR remote control units using a light sensitive element or an other data input. In this case a secon memory connected to microprocessor 62 may store the compressed code. The memory 61 stores the program for compressing the received code sequences.
The inventive Patterns identification permits to reduce the siz of n bins coded in n*4 bits (nibbles) to n/2 bits (plus a control byte). The compression rate tends to 8. Although some I codes do not have the patterns identified (P.P.M. and P.M.) the inventive code compression is useful for 90% of the existing IR codes.
The efficiency of the inventive handset-oriented format is more variable between some IR codes. It depends on the key-specific proportion of the code and almost the keys number. In the example shown in Fig. 4, one can see that an additional key onl needs two supplementary bytes. For three keys, the medium compression rate approximately equals 3.3 and for 5 keys it is 4.6 . For 10 keys, it raises to 7.

Claims

Claims
1. Method of compressing data code, for example remote contro code, using pulse width categorization and removing- repeats, characterized in that data code for controlling different devices can be coded and that the compressed cod consists of an invariant device-specific part and of a variant function-specific part, whereby patterns are identified in the data of the code sequences for said devices and assigned to a device table and function- specific data are assigned to a keys table, whereby respective data of said device table point to the corresponding data within said keys table.
2. Method according to claim l, characterized in that pulse period modulation code and/or phase modulation code is coded with said patterns.
3. Method according to claim 1 or 2, characterized in that said device-specific part contains said preamble length an said frame repeat number and said bins table and/or the carrier frequency and/or the preamble period and/or the frame repeat period and/or synchronization bins - e.g. mark, space, sync, frame space - and/or custom-specific data.
4. Method according to any of claims 1 to 3, characterized in that said carrier frequency is coded with a binary integer number which equals eight times the carrier frequency.
5. Method according to any of claims 1 to 4, characterized in that said preamble period and said frame repeat period and the duration of said bins is coded with binary integer numbers which equal respective times a time unit.
6. Apparatus for a method according to any of claims 1 to 5, consisting of memory (61) - for example a ROM - which stores program code and data code for code sequences which are compressed according to the method disclosed in claims 1 to 6, of a keyboard (63) , of a following microprocessor (62) which reads from memory (61) the respective compresse code and de-compresses this code and sends it via an IR transmitter (64) to a device which shall be controlled.
7. Apparatus according to claim 6, characterized in that said apparatus reads using a light sensitive element or an othe data input and compresses code received from other IR remote control units, whereby an additional memory connected to said microprocessor (62) stores said compressed code.
PCT/EP1992/001919 1991-08-30 1992-08-21 Method of compressing data code and apparatus for using the compressed data code Ceased WO1993005580A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP91402339 1991-08-30
EP91/402339.5 1991-08-30

Publications (1)

Publication Number Publication Date
WO1993005580A1 true WO1993005580A1 (en) 1993-03-18

Family

ID=8208606

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP1992/001919 Ceased WO1993005580A1 (en) 1991-08-30 1992-08-21 Method of compressing data code and apparatus for using the compressed data code

Country Status (1)

Country Link
WO (1) WO1993005580A1 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2168857C1 (en) * 2000-04-25 2001-06-10 Военный университет связи Method and device for compressing sequence of ordered m-th alphabet characters being coded into coded sequence of binary characters
WO2002093528A1 (en) * 2001-05-10 2002-11-21 Thomson Licensing S.A. Economical extension of the operating distance of an rf remote link accommodating information signals having differing carrier frequencies
WO2002093527A1 (en) * 2001-05-10 2002-11-21 Thomson Licensing S.A. Economical extension of the operating distance of an rf remote link accommodating ir remote controls having differing ir carrier frequencies
WO2003032272A1 (en) * 2001-10-05 2003-04-17 Koninklijke Philips Electronics N.V. Method of operating a remote control system and a remote control system comprising an rf transmission and receiving system
RU2254674C2 (en) * 2003-07-22 2005-06-20 Закрытое акционерное общество "БИНОР" Device for functional coding of pulse-width signals
CN106971528A (en) * 2017-03-31 2017-07-21 上海智觅智能科技有限公司 A kind of algorithm for compressing infrared Air Conditioner Remote code storehouse
CN107331147A (en) * 2017-07-28 2017-11-07 杭州聪普智能科技有限公司 A kind of efficient infrared coding-decoding method of intelligent home control system
CN111009111A (en) * 2019-12-12 2020-04-14 上海龙旗科技股份有限公司 Data coding modulation method and system based on SPI bus

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4623887A (en) * 1984-05-15 1986-11-18 General Electric Company Reconfigurable remote control
EP0320066A2 (en) * 1987-12-09 1989-06-14 Philips Electronics North America Corporation Data compression technique for reconfigurable remote control apparatus
US4866434A (en) * 1988-12-22 1989-09-12 Thomson Consumer Electronics, Inc. Multi-brand universal remote control

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4623887A (en) * 1984-05-15 1986-11-18 General Electric Company Reconfigurable remote control
EP0320066A2 (en) * 1987-12-09 1989-06-14 Philips Electronics North America Corporation Data compression technique for reconfigurable remote control apparatus
US4866434A (en) * 1988-12-22 1989-09-12 Thomson Consumer Electronics, Inc. Multi-brand universal remote control

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2168857C1 (en) * 2000-04-25 2001-06-10 Военный университет связи Method and device for compressing sequence of ordered m-th alphabet characters being coded into coded sequence of binary characters
WO2002093528A1 (en) * 2001-05-10 2002-11-21 Thomson Licensing S.A. Economical extension of the operating distance of an rf remote link accommodating information signals having differing carrier frequencies
WO2002093527A1 (en) * 2001-05-10 2002-11-21 Thomson Licensing S.A. Economical extension of the operating distance of an rf remote link accommodating ir remote controls having differing ir carrier frequencies
US6895252B2 (en) 2001-05-10 2005-05-17 Thomson Licensing Sa Economical extension of the operating distance of an RF remote link accommodating information signals having differing carrier frequencies
CN100407245C (en) * 2001-05-10 2008-07-30 汤姆森许可公司 RF transmission system for information signal with variable carrier frequency
CN100430970C (en) * 2001-05-10 2008-11-05 汤姆森许可公司 Device for extending the effective control range of a control unit
WO2003032272A1 (en) * 2001-10-05 2003-04-17 Koninklijke Philips Electronics N.V. Method of operating a remote control system and a remote control system comprising an rf transmission and receiving system
RU2254674C2 (en) * 2003-07-22 2005-06-20 Закрытое акционерное общество "БИНОР" Device for functional coding of pulse-width signals
CN106971528A (en) * 2017-03-31 2017-07-21 上海智觅智能科技有限公司 A kind of algorithm for compressing infrared Air Conditioner Remote code storehouse
CN107331147A (en) * 2017-07-28 2017-11-07 杭州聪普智能科技有限公司 A kind of efficient infrared coding-decoding method of intelligent home control system
CN111009111A (en) * 2019-12-12 2020-04-14 上海龙旗科技股份有限公司 Data coding modulation method and system based on SPI bus
CN111009111B (en) * 2019-12-12 2021-08-27 上海龙旗科技股份有限公司 Data coding modulation method and system based on SPI bus

Similar Documents

Publication Publication Date Title
US4866434A (en) Multi-brand universal remote control
US4412218A (en) Remote control signal transmitter capable of setting custom codes individually alloted to a plurality of controlled instruments
US4623887A (en) Reconfigurable remote control
US5396595A (en) Method and system for compression and decompression of data
US5374916A (en) Automatic electronic data type identification process
US5467087A (en) High speed lossless data compression system
US4482947A (en) Multi-function, multi-unit remote control system and method therefor
EP0083393A2 (en) Method of compressing information and an apparatus for compressing English text
WO1993005580A1 (en) Method of compressing data code and apparatus for using the compressed data code
US5023610A (en) Data compression method using textual substitution
US5353024A (en) Method for data compression having an improved encoding algorithm which utilizes a token stacking technique
JPH0799812B2 (en) Signal coding apparatus, signal decoding apparatus, and signal coding / decoding apparatus
US5901177A (en) High speed variable length code decoding apparatus and method
EP0789495A3 (en) Syntax parsing apparatus for video decoder
JP3442217B2 (en) High-speed variable-length code decoding device
US7592931B2 (en) Method and apparatus for coding information, method and apparatus for decoding coded information, method of fabricating a recording medium, the recording medium and modulated signal
US4945214A (en) Digital data apparatus with datastrip compression and expansion
US4866440A (en) Method for compressing and restoring data series and apparatus for realizing same
Bender et al. A universal algorithm for generating optimal and nearly optimal run-length-limited, charge-constrained binary sequences
US5736946A (en) High speed apparatus and method for decoding variable length code
JP3429623B2 (en) High-speed variable-length code decoding device
WO2001018973A1 (en) Compression and decompression coding scheme and apparatus
JPH03143028A (en) Decoding circuit for variable length code
JPS6467086A (en) Method of compressing information and compression circuit
JP2002517123A (en) Writing / reading device for communication with a transponder, having a first coding means and a second coding means

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): CS HU JP KR US

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 SE

122 Ep: pct application non-entry in european phase