An image coding method by an encoder, comprising: performing singular vector decomposition on a prediction block corresponding to a to-be-coded image block, to obtain eigenvector matrices U and V of the prediction block; and performing coding processing to obtain residual data, wherein the residual data is a difference between a pixel value of the to-be-coded image block and a pixel value of the corresponding prediction block, wherein the method further comprises: performing singular vector decomposition on the residual data to obtain eigenvector matrices U1 and V1 of the residual data; acquiring information about a difference between the eigenvector matrix U1 of the residual data and the eigenvector matrix U of the prediction block and information about a difference between the eigenvector matrix V1 of the residual data and the eigenvector matrix V of the prediction block according to the eigenvector matrices U1 and V1 of the residual data and the eigenvector matrices U and V of the prediction block; performing third transformation on the residual data by using the eigenvector matrices U1 and V1 of the residual data to obtain a third transform coefficient of the residual data; and performing coding processing on the third transform coefficient and coding the information about the difference between the eigenvector matrices U and the information about the difference between the eigenvector matrices V. performing singular vector decomposition on a prediction block corresponding to a to-be-coded image block, to obtain eigenvector matrices U and V of the prediction block; and performing coding processing to obtain residual data, wherein the residual data is a difference between a pixel value of the to-be-coded image block and a pixel value of the corresponding prediction block, wherein the method further comprises: performing singular vector decomposition on the residual data to obtain eigenvector matrices U1 and V1 of the residual data; acquiring information about a difference between the eigenvector matrix U1 of the residual data and the eigenvector matrix U of the prediction block and information about a difference between the eigenvector matrix V1 of the residual data and the eigenvector matrix V of the prediction block according to the eigenvector matrices U1 and V1 of the residual data and the eigenvector matrices U and V of the prediction block; performing third transformation on the residual data by using the eigenvector matrices U1 and V1 of the residual data to obtain a third transform coefficient of the residual data; and performing coding processing on the third transform coefficient and coding the information about the difference between the eigenvector matrices U and the information about the difference between the eigenvector matrices V. performing singular vector decomposition on the residual data to obtain eigenvector matrices U1 and V1 of the residual data; acquiring information about a difference between the eigenvector matrix U1 of the residual data and the eigenvector matrix U of the prediction block and information about a difference between the eigenvector matrix V1 of the residual data and the eigenvector matrix V of the prediction block according to the eigenvector matrices U1 and V1 of the residual data and the eigenvector matrices U and V of the prediction block; performing third transformation on the residual data by using the eigenvector matrices U1 and V1 of the residual data to obtain a third transform coefficient of the residual data; and performing coding processing on the third transform coefficient and coding the information about the difference between the eigenvector matrices U and the information about the difference between the eigenvector matrices V.