1. A method for partitioning a given data segment, P, with length p into smaller segments, P i , that can be compressed separately, said method comprising the step of: dividing said data segment, P into a plurality of 2-partition pairs π where both partitions within each pair having a predefined length of at least μ(P); estimating the compressed length of each partition within each pair; and selecting one of said 2-partition pairs π for partitioning said data segment, P, such that Γ(π)<Γ(P), where Γ(π) represents a compressed length of said partition and Γ(P) represents a compressed length of said data segment, P.