Patent ID: 7480584

Claim:
A method for encoding two-dimensional data f(m, n) including m×n elements to be encoded into a plurality of adaptive bases, each adaptive base including a one-dimensional array variable X(m) storing m data and a one-dimensional array variable Y(n) storing n data, comprising: (a) an initializing step of allocating an i-th adaptive base in a memory and initializing the i-th adaptive base by setting a random value into the one-dimensional array variable X i ( ) and the one-dimensional array variable Y i ( ), where “i” is “1” in an initial stage; (b) a reconstruction step of reconstructing two-dimensional data f′(m, n) including m×n elements from the adaptive bases represented by {X 1 ( ), Y 1 ( )}, . . . , {X i ( ), Y i ( )}using a predetermined conversion; (c) an error calculation step of calculating an error between two-dimensional data f(m, n) to be encoded and the reconstructed two-dimensional data f′(m,n) using a predetermined error evaluation function; (d) a correction step of correcting the i-th adaptive base by correcting the one-dimensional array variable X i ( ) and the one-dimensional array variable Y i ( ) based on said error calculated in said step (c); (e) a step of determining if said error calculated in said error calculation step (c) has converged; (f) a step of, if it is determined in said step (e) that said error has not converged, repeatedly performing the processing of steps (b)-(e); (g) a step of, if it is determined in said step (e) that said error has converged, determining if said error is larger than a predetermined admissible error; (h) a step of, if it is determined in said step (g) that said error is not larger than the predetermined admissible error, outputting array variables {X 1 ( ), Y 1 ( )}, . . . , {X i ( ), Y i ( )} of the first to i-th adaptive bases stored in the memory as encoded data; and (i) a step of, if it is determined in said step (g) that said error is larger than the predetermined admissible error, increasing the variable “i” to prepare a new adaptive base and repeatedly performing processing after said step (a).