A method for coding video data, comprising: obtaining, from a bitstream, a plurality of luma samples and a plurality of chroma samples corresponding to a plurality of pixel groups of a video frame; and for each pixel group of the plurality of pixel groups: identifying a respective chroma sample and a set of luma samples corresponding to the pixel group, the respective chroma sample having a chrominance value, and each luma sample having a respective luminance value; determining an anchor luma sample according to a predefined rule, the anchor luma sample having an anchor luminance value; generating a chroma refinement value based on the set of luma samples, further including obtaining a difference between the respective luminance value of each luma sample in the set of luma samples and the anchor luminance value, and applying a cross component adaptive loop filter to differences corresponding to the set of luma samples to generate the chroma refinement value; and deriving an updated chrominance value of the respective chroma sample using the chroma refinement value and the chrominance value of the respective chroma sample, wherein the set of luma samples includes six luma samples located at six angles of a hexagon, the hexagon enclosing the respective chroma sample and two luma samples. obtaining, from a bitstream, a plurality of luma samples and a plurality of chroma samples corresponding to a plurality of pixel groups of a video frame; and for each pixel group of the plurality of pixel groups: identifying a respective chroma sample and a set of luma samples corresponding to the pixel group, the respective chroma sample having a chrominance value, and each luma sample having a respective luminance value; determining an anchor luma sample according to a predefined rule, the anchor luma sample having an anchor luminance value; generating a chroma refinement value based on the set of luma samples, further including obtaining a difference between the respective luminance value of each luma sample in the set of luma samples and the anchor luminance value, and applying a cross component adaptive loop filter to differences corresponding to the set of luma samples to generate the chroma refinement value; and deriving an updated chrominance value of the respective chroma sample using the chroma refinement value and the chrominance value of the respective chroma sample, wherein the set of luma samples includes six luma samples located at six angles of a hexagon, the hexagon enclosing the respective chroma sample and two luma samples. identifying a respective chroma sample and a set of luma samples corresponding to the pixel group, the respective chroma sample having a chrominance value, and each luma sample having a respective luminance value; determining an anchor luma sample according to a predefined rule, the anchor luma sample having an anchor luminance value; generating a chroma refinement value based on the set of luma samples, further including obtaining a difference between the respective luminance value of each luma sample in the set of luma samples and the anchor luminance value, and applying a cross component adaptive loop filter to differences corresponding to the set of luma samples to generate the chroma refinement value; and deriving an updated chrominance value of the respective chroma sample using the chroma refinement value and the chrominance value of the respective chroma sample, wherein the set of luma samples includes six luma samples located at six angles of a hexagon, the hexagon enclosing the respective chroma sample and two luma samples.