A method of decoding an image, comprising: determining an intra prediction mode of a current block (400, 410); and performing intra prediction on the current block(400, 410) based on the intra prediction mode, wherein the current block (400, 410) comprises a luma block and a chroma block, wherein the intra prediction mode comprises a luma intra prediction mode for intra prediction of the luma block and a chroma intra prediction mode for intra prediction of the chroma block, wherein the luma intra prediction mode is derived based on an MPM list and an MPM (Most Probable Mode) index, and wherein the MPM list comprises at least one of ModeA, ModeA+n, or ModeA-n, wherein the ModeA represents an intra prediction mode of a neighboring block, wherein performing the intra prediction comprises: specifying a luma region for inter-components reference of the chroma block; performing down-sampling for the luma region; deriving a parameter for the inter-components reference of the chroma block; and predicting the chroma block based on the down-sampled luma region and the parameter, wherein the luma region comprises a luma block and a neighboring region adjacent to the luma block, and performing down-sampling for the luma region comprises: performing down-sampling for the luma block based on one of: pDsY[x][y] = (pY[2 * x][2 * y-1] + pY[2 * x-1][2 * y] + 4 * pY[2 * x][2 * y] + pY[2 * x+1][2 * y] + pY[2 * x][2 * y+1] + 4) >>3, or pDsY[x][y] = (pY[2 * x-1][2 * y] + pY[2 * x-1][2 * y+1] + 2 * pY[2 * x][2 * y] + 2 * pY[2 * x][2 * y+1] + pY[2 * x+1][2 * y] + pY[2 * x+1][2 * y+1] + 4) >> 3 wherein pY[a][b] represents a pixel value of a pixel having coordinates (a,b). determining an intra prediction mode of a current block (400, 410); and performing intra prediction on the current block(400, 410) based on the intra prediction mode, wherein the current block (400, 410) comprises a luma block and a chroma block, wherein the intra prediction mode comprises a luma intra prediction mode for intra prediction of the luma block and a chroma intra prediction mode for intra prediction of the chroma block, wherein the luma intra prediction mode is derived based on an MPM list and an MPM (Most Probable Mode) index, and wherein the MPM list comprises at least one of ModeA, ModeA+n, or ModeA-n, wherein the ModeA represents an intra prediction mode of a neighboring block, wherein performing the intra prediction comprises: specifying a luma region for inter-components reference of the chroma block; performing down-sampling for the luma region; deriving a parameter for the inter-components reference of the chroma block; and predicting the chroma block based on the down-sampled luma region and the parameter, specifying a luma region for inter-components reference of the chroma block; performing down-sampling for the luma region; deriving a parameter for the inter-components reference of the chroma block; and predicting the chroma block based on the down-sampled luma region and the parameter, wherein the luma region comprises a luma block and a neighboring region adjacent to the luma block, and performing down-sampling for the luma region comprises: performing down-sampling for the luma block based on one of: pDsY[x][y] = (pY[2 * x][2 * y-1] + pY[2 * x-1][2 * y] + 4 * pY[2 * x][2 * y] + pY[2 * x+1][2 * y] + pY[2 * x][2 * y+1] + 4) >>3, or pDsY[x][y] = (pY[2 * x-1][2 * y] + pY[2 * x-1][2 * y+1] + 2 * pY[2 * x][2 * y] + 2 * pY[2 * x][2 * y+1] + pY[2 * x+1][2 * y] + pY[2 * x+1][2 * y+1] + 4) >> 3 wherein pY[a][b] represents a pixel value of a pixel having coordinates (a,b). performing down-sampling for the luma block based on one of: pDsY[x][y] = (pY[2 * x][2 * y-1] + pY[2 * x-1][2 * y] + 4 * pY[2 * x][2 * y] + pY[2 * x+1][2 * y] + pY[2 * x][2 * y+1] + 4) >>3, or pDsY[x][y] = (pY[2 * x-1][2 * y] + pY[2 * x-1][2 * y+1] + 2 * pY[2 * x][2 * y] + 2 * pY[2 * x][2 * y+1] + pY[2 * x+1][2 * y] + pY[2 * x+1][2 * y+1] + 4) >> 3 wherein pY[a][b] represents a pixel value of a pixel having coordinates (a,b).