Betelgeuse in false colors, is this common?
This is a partial and perhaps temporary answer only, posted in order to get to the bottom of this. I think that the comments are correct, you're probably seeing an artifact of image manipulation and the original data is just a 2D intensity map.

I downloaded the original image at https://cdn.eso.org/images/screen/potw1726a.jpg, converted back to .png and analyzed in Python using  matplotlib and numpy. Right now I don't see these mysterious rings, but if you can provide pixel coordinates from the original image and explain more how you made the rings visible, that would be great!

Image breakdown into three color channels:



Line scans in x and y through center and maximum:



Same but multiplied by 256 (8 bits per channel) and plotted on a log scale:



Scatter plot of G and B versus R show that these are correlated. We're probably just looking at artificial coloring from a table, not different channels of data. It could be a similar thing going on here as well.



import numpy as np
import matplotlib.pyplot as plt

fname = 'Betelgeuse in false colors.png'

img = plt.imread(fname)
print(img.shape)

if True:
    plt.figure()
    plt.subplot(2, 2, 1)
    plt.imshow(img)
    plt.title('RGB')
    for i , char in enumerate('RGB'):
        plt.subplot(2, 2, i+2)
        plt.imshow(img[..., i], cmap='gray', vmin=0, vmax=1)
        plt.title(char + ' channel', fontsize=16)
    plt.show()

rgbx_cen = img[640]
rgbx_570 = img[570]

rgby_cen = img[:, 640]
rgby_570 = img[:, 520]

things = rgbx_cen, rgbx_570, rgby_cen, rgby_570
names  = 'rgbx_cen', 'rgbx_570', 'rgby_cen', 'rgby_570'

if True:
    plt.figure()
    for i, (thing, name) in enumerate(zip(things, names)):
        plt.subplot(2, 2, i+1)
        r, g, b = thing.T[:3]
        print(r.shape, g.shape, b.shape)
        plt.plot(r, '-r')
        plt.plot(g, '-g')
        plt.plot(b, '-b')
        plt.title(name, fontsize=16)
    plt.show()

if True:
    plt.figure()
    for i, (thing, name) in enumerate(zip(things, names)):
        plt.subplot(2, 2, i+1)
        r, g, b = thing.T[:3]
        print(r.shape, g.shape, b.shape)
        plt.plot(255*r, '-r')
        plt.plot(255*g, '-g')
        plt.plot(255*b, '-b')
        plt.yscale('log')
        plt.title(name, fontsize=16)
    plt.suptitle('scaled 0 to 255', fontsize=16)
    plt.show()

if True:
    r, g, b = [x.flatten() for x in np.moveaxis(img, 2, 0)[:3, ::8, ::8].copy()]
    plt.figure()
    plt.subplot(1, 2, 1)
    plt.plot(r, g)
    plt.title('green vs. red')
    plt.subplot(1, 2, 2)
    plt.plot(r, b)
    plt.title('blue vs. red')
    plt.show()