Patent ID: 8862531

Claim:
A method comprising: receiving encoded data into a computer memory, wherein the encoded data represents an encoded form of unencoded data; and recovering the unencoded data from the encoded data, using a processor, based at least in part on one or more knowledge representations describing the unencoded data; wherein the knowledge representations describing the unencoded data represent one or more of: a formal language structure of the unencoded data, the formal language structure being defined by one or more of a grammar, a regular expression, a schema language, a programming language, and an interface definition language, data types of the unencoded data, likelihood of occurrence of one or more data items in the unencoded data, one or more ignorable data items in the unencoded data, one or more re-orderable data items in the unencoded data, one or more parameters used to control encoding of the in the unencoded data or decoding of the encoded data, one or more identifiers for algorithms used to encode the unencoded data, or one or more associations between data types and encoding algorithms; and wherein the unencoded data has more number of bits than the encoded data.