A device for compressing vertex data in three-dimensional, 3D, image data, comprising a residual vector calculating module, a codebook design module, and a codeword search module, wherein the residual vector calculating module is configured for: calculating residual vectors corresponding respectively to vertices in 3D image data using a parallelogram prediction algorithm; and sending the residual vectors to the codebook design module, the codebook design module is configured for: receiving the residual vectors sent by the residual vector calculating module; dividing the residual vectors into a number of groups of residual vectors, the number of groups being a preset integer greater than 1, wherein said dividing comprises: sorting the received residual vectors in an ascending order of moduli of the received residual vectors; consecutively extracting a number of residual vectors from the sorted residual vectors to form a group of residual vectors according to preset grouping proportions; recording a moduli range of the formed group of residual vectors; and obtaining the number of groups of residual vectors by repeating the extraction and recording steps; for each of the groups of residual vectors, generating a sub-codebook corresponding to the each of the groups of residual vectors, so that fewer codewords are assigned to a sub-codebook corresponding to a group of residual vectors with smaller moduli; and sending each generated sub-codebook and the corresponding moduli range of the each generated sub-codebook to the codeword search module; and, the codeword search module is configured for: receiving each sub-codebook and the corresponding moduli range of the each sub-codebook sent by the codebook design module; searching for a codeword of optimal match of a residual vector corresponding to a vertex in 3D image data to be compressed; and taking an index of the codeword of optimal match and an index of a sub-codebook where the codeword of optimal match is located as compressed data of the vertex, the codeword of optimal match of a residual vector being a codeword with a minimal Euclidean distance to the residual vector. calculating residual vectors corresponding respectively to vertices in 3D image data using a parallelogram prediction algorithm; and sending the residual vectors to the codebook design module, receiving the residual vectors sent by the residual vector calculating module; dividing the residual vectors into a number of groups of residual vectors, the number of groups being a preset integer greater than 1, wherein said dividing comprises: sorting the received residual vectors in an ascending order of moduli of the received residual vectors; consecutively extracting a number of residual vectors from the sorted residual vectors to form a group of residual vectors according to preset grouping proportions; recording a moduli range of the formed group of residual vectors; and obtaining the number of groups of residual vectors by repeating the extraction and recording steps; sorting the received residual vectors in an ascending order of moduli of the received residual vectors; consecutively extracting a number of residual vectors from the sorted residual vectors to form a group of residual vectors according to preset grouping proportions; recording a moduli range of the formed group of residual vectors; and obtaining the number of groups of residual vectors by repeating the extraction and recording steps; for each of the groups of residual vectors, generating a sub-codebook corresponding to the each of the groups of residual vectors, so that fewer codewords are assigned to a sub-codebook corresponding to a group of residual vectors with smaller moduli; and sending each generated sub-codebook and the corresponding moduli range of the each generated sub-codebook to the codeword search module; and, receiving each sub-codebook and the corresponding moduli range of the each sub-codebook sent by the codebook design module; searching for a codeword of optimal match of a residual vector corresponding to a vertex in 3D image data to be compressed; and taking an index of the codeword of optimal match and an index of a sub-codebook where the codeword of optimal match is located as compressed data of the vertex, the codeword of optimal match of a residual vector being a codeword with a minimal Euclidean distance to the residual vector.