A method for decoding a video signal, comprising: reconstructing a luma block corresponding to a chroma block, wherein the luma block is adjacent to a plurality of reconstructed neighboring luma samples, and wherein the chroma block is adjacent to a plurality of reconstructed neighboring chroma samples; computing a plurality of down-sampled luma samples from the plurality of reconstructed neighboring luma samples; identifying, from the plurality of computed down-sampled luma samples, two down-sampled maximum luma samples, wherein the two down-sampled maximum luma samples correspond to two first reconstructed chroma samples of the plurality of reconstructed neighboring chroma samples, respectively; identifying, from the plurality of computed down-sampled luma sample, two down-sampled minimum luma samples, wherein the two down-sampled minimum luma samples correspond to two second reconstructed chroma samples of the plurality of reconstructed neighboring chroma samples, respectively; averaging the two down-sampled maximum luma samples, the two down-sampled minimum luma samples, the two first reconstructed chroma samples, and the two second reconstructed chroma samples, respectively, to obtain an averaged down-sampled maximum luma sample, an averaged down-sampled minimum luma sample, an averaged first reconstructed chroma sample and an averaged second reconstructed chroma sample; generating a linear model based on the averaged down-sampled maximum luma sample, the averaged down-sampled minimum luma sample, the averaged first reconstructed chroma sample, and the averaged second reconstructed chroma sample; computing down-sampled luma samples from luma samples of the reconstructed luma block, wherein each down-sampled luma sample corresponds to a chroma sample of the chroma block; and predicting chroma samples of the chroma block by applying the linear model to the corresponding computed down-sampled luma samples. reconstructing a luma block corresponding to a chroma block, wherein the luma block is adjacent to a plurality of reconstructed neighboring luma samples, and wherein the chroma block is adjacent to a plurality of reconstructed neighboring chroma samples; computing a plurality of down-sampled luma samples from the plurality of reconstructed neighboring luma samples; identifying, from the plurality of computed down-sampled luma samples, two down-sampled maximum luma samples, wherein the two down-sampled maximum luma samples correspond to two first reconstructed chroma samples of the plurality of reconstructed neighboring chroma samples, respectively; identifying, from the plurality of computed down-sampled luma sample, two down-sampled minimum luma samples, wherein the two down-sampled minimum luma samples correspond to two second reconstructed chroma samples of the plurality of reconstructed neighboring chroma samples, respectively; averaging the two down-sampled maximum luma samples, the two down-sampled minimum luma samples, the two first reconstructed chroma samples, and the two second reconstructed chroma samples, respectively, to obtain an averaged down-sampled maximum luma sample, an averaged down-sampled minimum luma sample, an averaged first reconstructed chroma sample and an averaged second reconstructed chroma sample; generating a linear model based on the averaged down-sampled maximum luma sample, the averaged down-sampled minimum luma sample, the averaged first reconstructed chroma sample, and the averaged second reconstructed chroma sample; computing down-sampled luma samples from luma samples of the reconstructed luma block, wherein each down-sampled luma sample corresponds to a chroma sample of the chroma block; and predicting chroma samples of the chroma block by applying the linear model to the corresponding computed down-sampled luma samples.