# US 11,122,150 B2 · Methods and devices for encoding and decoding messages

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,122,150 B2
- Document ID: US11122150B2
- Status: Granted
- Kind: B2
- Application number: 15/855,337
- Filed: 2017-12-27
- Published: 2018-07-05
- Granted: 2021-09-14
- Earliest claimed: 2017-12-27
- Assignees: Canon Kabushiki Kaisha
- Applicants: Canon Kabushiki Kaisha
- Inventors: Romain Bellessort; Youenn Fablet; Hervé Ruellan
- Web page: https://patentgrep.com/patent/US11122150B2

## CPC

- H04L 69/04: Protocols for data compression, e.g. ROHC
- H03M 7/3088: {employing the use of a dictionary, e.g. LZ78}
- H04L 69/22: Parsing or analysis of headers
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H03M: CODING; DECODING; CODE CONVERSION IN GENERAL (using fluidic means F15C4/00; optical analogue/digital converters G02F7/00; coding, decoding or code conversion, specially adapted for particular applications, see the relevant subclasses, e.g. G01D, G01R, G06F, G06T, G09G, G10L, G11B, G11C, H04B, H04L, H04M, H04N; ciphering or deciphering for cryptography or other purposes involving the need for secrecy G09C)

## Abstract

Methods and devices for encoding or decoding messages, each message including a list of information items. The encoding method comprises determining a first list of indexes associated with information items that are already indexed in a local indexing table and a second list of literal values of other information items not yet indexed in said indexing table; encoding the indexes of the first list; binary compressing at least a serialized binary representation of the literal values of the second list; and concatenating the first list and the second list together to obtain an encoded bitstream of the information items. When the messages are sent over a plurality of connections, a global table is shared between the connections to store the indexed items of information; and a local indexing table for each connection associates indexes with references to an entry of the shared global table.

## Claims

### Claim 1

A communication method performed by a communication apparatus comprising:
generating, in a case where a plurality of information items which are to be notified into a same message to another communication apparatus includes both of a registered information item which is registered in an index table and a non-registered information item which is not registered in the index table when the communication method is initiated, wherein the index table is a table for associating one or more information items and one or more respective index values, a message for notifying said registered information item and said non-registered information item to said another communication apparatus, the message comprising a header including all of (i) an index value respectively associated with the registered information item in the index table, (ii) the non-registered information item, and (iii) registration information indicating whether to the non-registered information item has to be registered in the index table, and
transmitting the generated message to said another communication apparatus.

### Claim 2 (depends on 1)

The communication method according to claim 1, wherein the message is compliant with HTTP.

### Claim 3 (depends on 1)

The communication method according to claim 1, wherein the non-registered information item in the header is encoded as a difference between the non-registered information item and a reference registered information item which is already indexed in the index table.

### Claim 4 (depends on 3)

The communication method according to claim 3, wherein the encoding of the non-registered information item in the header further includes providing an index of the reference registered information item already indexed.

### Claim 5 (depends on 3)

The communication method according to claim 3, comprising substituting the reference registered information item with the non-registered information item in the index table after the encoding.

### Claim 6 (depends on 1)

The communication method according to claim 1, wherein the message header further includes reference information indicating whether the non-registered information item is encoded by reference to a reference registered information item already indexed in the local index table.

### Claim 7 (depends on 6)

The communication method according to claim 6, wherein the registration information includes a bit to define whether the non-registered information item has to be added to the local index table as a new table entry or as a replacement table entry substituting the reference registered information item already indexed.

### Claim 8 (depends on 1)

The communication method according to claim 1, wherein index values associated with registered information items of the plurality of information items which are registered in the index table are grouped into a first group of indexes that is prior to a second group made of non-registered information items of the plurality of information items which are not registered in the index table.

### Claim 9 (depends on 1)

The communication method according to claim 1, further comprising binary compressing a serialized binary representation of the message header concatenating the index value, the non-registered information item and the registration information.

### Claim 10 (depends on 1)

The communication method according to claim 1, further comprising updating the index table by associating, within that index table, the non-registered information item with a new index value.

### Claim 11 (depends on 10)

The communication method according to claim 10, further comprising determining a frequency of occurrence of non-registered information items in the plurality of information items, and deciding to register the non-registered information item in the index table depending on the determined frequency.

### Claim 12 (depends on 1)

The communication method according to claim 1, wherein the index table associates each index value with a reference to an entry of a global table, said entry of the global table comprising the registered information item.

### Claim 13 (depends on 12)

The communication method according to claim 12, wherein the global table is shared between a plurality of network connections and referred to by a corresponding plurality of respective index tables, and the method further comprising, at some point during the communication method, migrating current connections from said shared global table to a new global table.

### Claim 14 (depends on 12)

The communication method according to claim 12, wherein the global table is shared between a plurality of network connections and referred to by a corresponding plurality of respective index tables, each registered information item in the shared global table being associated with a connection counter that counts the number of connections using that registered information item, and the communication method further comprising performing a memory saving operation based on connection counters of the registered information items.

### Claim 15 (depends on 14)

The communication method according to claim 14, wherein the memory saving operation comprises removing the registered information item from the shared global table when the corresponding connection counter is zero.

### Claim 16 (depends on 14)

The communication method according to claim 14, wherein the memory saving operation comprises resetting the current connections that use registered information items associated with connection counters of values lower than a threshold value.

### Claim 17 (depends on 1)

The communication method according to claim 1, wherein the message comprises additional information storing the order of the registered and non-registered information items within the plurality of information items.

### Claim 18 (depends on 1)

The communication method according to claim 1, wherein the non-registered information item is not registered in any index table.

### Claim 19 (depends on 1)

A non-transitory computer-readable medium storing a program which, when executed by a microprocessor or computer system in an apparatus, causes the apparatus to execute the method of claim 1.

### Claim 20 (depends on 1)

The communication method according to claim 1, wherein the plurality of information items belong to a same HTTP message to be sent to the another communication apparatus and include HTTP header information items of the same HTTP message.

### Claim 21

A communication apparatus comprising:
a memory;
a computer processing unit coupled to the memory which executes the following:
generating, in a case where a plurality of information items which are to be notified into a same message to another communication apparatus includes both of a registered information item which is registered in an index table and a non-registered information item which is not registered in the index table when the communication method is initiated, wherein the index table is a table for associating one or more information items and one or more respective index values, a message for notifying said registered information item and said non-registered information item to said another communication apparatus, the message comprising a header includes all of (i) an index value respectively associated with the registered information item in the index table, (ii) the non-registered information item, and (iii) registration information indicating whether the non-registered information item has to be registered in the index table, wherein the index table is a table for associating one or more information items and one or more index values, and
transmitting the generated message to said another communication apparatus.
