>>26 Its not 'an algorithm' its a method for construction of algorithms. Let me explain:
1.Every file,packet,or stream of binary data can be represented as “Arbitrary precision integer”
2.The method isn't about operating on data(dictionary compression) but about finding a novel way to represent the integer.
3.Any algorithm which produces this integer is valid.
4.The compression reduces to the problem of finding this algorithm(or multiple algorithms)
5. To facilitate better convergence towards the integer number, search space is expanded by a scale factor(e.g. 2^64: it must be easily represented).
6.The integer is multiplied by scale factor giving a lower bound for search space,
then (integer+1) is multiplied by scale factor giving the upper bound for search space.
Search space is simply [int*scale]> S e a r c h S p a c e<[(int+1)*scale]
7.After algorithm finds a series/number/parameter which produce a result inside the range, the parameters are saved in file.(thus any compression ratio(upto infinity) can be achieved: it depends on space taken by parameters.)
8.In decoding step,#7 Algorithm(s) is employed to produce the result, which is subsequently divided by scale factor to produce #1 (which is file in integer form). Thus the file is recreated.
example(impractical because small files cannot be represented due overhead of representation):
file is integer 7,scale factor is 100
becomes: search space 700...800
SomeAlgorithm(2) produces 782.329 which is inside the range
Compressed file is :SomeAlgorithmIndexNumber,Parameter1
Decoded by dividing 782.329 by 100 giving 7.82329, and discarding non-integer part it becomes 7, the original file.
________________________________
http://xs135.xs.to/xs135/09042/av922.jpg
Velox Et Astrum gamedev forum:
http://etastrum.phpbb3now.com
To see ourselves as others see us is a most salutary gift. Hardly less important is the capacity to see others as they see themselves.