In a local region of a color image, the color distribution often takes the form of a linear line in the RGB space. We call this property "Color Line". We propose a denoising method based on this property. When the noise is added on an image, the color distribution spreads from Color Line. The denoising is achieved by reducing the spread. In conventional methods, Color Line is assumed to be only a single line, but actual distribution takes various shapes such as a single line, two lines, and a flat surface and so on. In our method, we estimate the distribution in more detail using surface approximation and denoise each patch by reducing the spread depending on the color distribution types. In this way, we can achieve better denoising result than a conventional method.