An encoding apparatus for lossless-encoding multidimensional data forming a color lookup table for color space conversion, said multidimensional data comprising element data in a multidimensional space expressed by M (M ≥ 3) dimensions, where each of element data to be encoded is a non-negative value represented by N bits, characterized by comprising: an input unit (101; 1301) adapted to update a value α of an axis of one dimension of the multidimensional space in turn, and to input a two-dimensional data assemblage I(α) for each α; a generation unit (103; 1306) adapted to calculate element difference data, which is represented by N bits, indicating differences between two element data at the same position in two-dimensional coordinates in the inputted two-dimensional data assemblage I(α) and an immediately preceding inputted two-dimensional data assemblage I(α-1), and to generate a two-dimensional element difference data assemblage D(α) formed by the element difference data; and an encoding unit (106 to 107; 1307) adapted to predictively encode the two-dimensional element difference data assemblage D(α) generated by said generation unit, wherein, letting V(α) be one element data in the two-dimensional data assemblage I(α), V(α-1) be one element data in the two-dimensional data assemblage I(α-1), and Mod{x, y} be a function which returns a remainder when dividing an integer x by an integer y, said generation unit (103; 1306) is adapted to map one element difference data Di in the two-dimensional element difference data assemblage D(α) into N bits, which is the same as the number of bits of the element data to be encoded, by calculating the element difference data Di using the function: Di = Mod V α − V α − 1 + 2 N − 1, 2 N, and said encoding unit (106 to 107; 1307) is adapted to predictively encode the one element difference data Di in the two-dimensional element difference data assemblage D(α) by referring to one or more neighboring element difference data in the two-dimensional element difference data assemblage D(α), which have already been encoded. an input unit (101; 1301) adapted to update a value α of an axis of one dimension of the multidimensional space in turn, and to input a two-dimensional data assemblage I(α) for each α; a generation unit (103; 1306) adapted to calculate element difference data, which is represented by N bits, indicating differences between two element data at the same position in two-dimensional coordinates in the inputted two-dimensional data assemblage I(α) and an immediately preceding inputted two-dimensional data assemblage I(α-1), and to generate a two-dimensional element difference data assemblage D(α) formed by the element difference data; and an encoding unit (106 to 107; 1307) adapted to predictively encode the two-dimensional element difference data assemblage D(α) generated by said generation unit, wherein, letting V(α) be one element data in the two-dimensional data assemblage I(α), V(α-1) be one element data in the two-dimensional data assemblage I(α-1), and Mod{x, y} be a function which returns a remainder when dividing an integer x by an integer y, said generation unit (103; 1306) is adapted to map one element difference data Di in the two-dimensional element difference data assemblage D(α) into N bits, which is the same as the number of bits of the element data to be encoded, by calculating the element difference data Di using the function: Di = Mod V α − V α − 1 + 2 N − 1, 2 N, and said encoding unit (106 to 107; 1307) is adapted to predictively encode the one element difference data Di in the two-dimensional element difference data assemblage D(α) by referring to one or more neighboring element difference data in the two-dimensional element difference data assemblage D(α), which have already been encoded.