Patent ID: 7571152

Claim:
An encoding method for encoding a group of at least two structured fragments, each comprising information elements nested in each other and each being associated with an information type or sub-type, each structured fragment being associated with at least one structure schema defining a document tree-like structure and comprising structure components nested in each other, each type or sub-type of information element in a fragment being defined by a component in one of the schemas, the encoding method comprising: compiling the structure schemas in order to obtain at least one sequence of executable instructions for each component of the structure schemas, said at least one executable instruction sequence comprising instructions for inserting into a bit stream, control codes representing the structure of the fragments, values of the information elements, instructions for calling an instruction sequence of a component, and instructions for controlling the execution of the sequence as a function of the control codes; executing the at least one executable instruction sequence on each of the structured fragments of the group so as to obtain an encoded binary stream containing the control codes values and the information elements values of the fragments; inserting the control codes of the fragments into a single structure block; distributing the values of the information elements of the fragments, having predefined information element types or sub-types in at least one data block as a function of the respective element types of the information elements, each at least one data block corresponding to a respective set of element types or sub-types, each at least one data block being distinct from the structure block; storing in a pointer table for each fragment, the respective positions of the control codes in the structure block and the positions of the information element values of the fragment in each of the at least one data blocks; applying to each of the data blocks a compression algorithm adapted to the types of data contained in the data block; and concatenating into a binary encoded container the respective contents of the pointer table, the single structure block and the data blocks.