Sign in to follow this  
korteck

Do you know what's causing this?

Recommended Posts

This is a bliss wallpaper entered into the bliss parody thread. I made a gif out of it with the vacancy sign. Notice that when the sign flashes, it distorts the rest of the whole image, from border to border.

The glowing vacancy lights are on a layer completely alone, yet when that frame flashes, it seems to be affecting the other layers.

I've done a lot of tests. I've made sure that the vacancy lights are on the very top of the layer stack. I've tried merging the picture into only two layers, with the lights on one and everything else on the other, but that didn't fix the problem.

I've made several gif pictures in the past and have never seen this happen before. Albeit, this is the most effect laden gif I've made... with lots of lighting adjustments and glowing. Still, if the layers are stacked properly, then one layer shouldn't effect another layer should it?

Is it possible that it's an issue with the MS animator? I don't see how it could be. Thanks for taking the time to read this.

BLISSBATESMOTELGIF.gif

Share this post


Link to post
Share on other sites

gifs only support up to 256 (or something in that direction) different colors per image; the completely gray image is therefore saved lossless, as all of the gray tones need 256 colors at most; if in another frame of that animated gif (think of it as a separate gif image with its own palette) you insert various orange tones, the palette cannot contain all of the colors and the saved gif images will therefore suffer of quality loss.

Share this post


Link to post
Share on other sites

Thanks guys.

So the lesson learned is to keep gif images simple.

The original photograph was real, and in theory, using a real photograph to make a gif is probably a bad idea. (unless you keep it small enough not to notice the distortion)

A real photograph probably contains way more individual pixels of different color than a hand drawn picture. In fact, every pixel of a real photograph is probably a different color. So if there's a limit to the number of colors in a single gif frame, I guess I was over that limit.

The only thing that still confuses me is this: Didn't the colors of the second layer ( the vacancy sign ) simply overwrite the colors underneath them, keeping the number of different colors the same? If all the colors of the first layer were different to begin with, then any changes of color should have replaced them...not added to them. :?

EDIT:

When you said "gifs only support up to 256 different colors per image," did you actually mean per frame... or per the total of all the frames in the finished gif?

You're talking about lossless compression, so if the first frame was saved whole, then maybe the addition of the new colors in the second frame pushed the total color count for the finished gif too high.

Share this post


Link to post
Share on other sites

I think the palette is measured for each individual frame. So, on the first frame, you're fine, just 256 shades of gray, but then you add the orange in the next frame, it looks like it's about 3-4 shades of orange. That drops the possible shades of gray down to only 252-251. So if you have a gray that's very similar to another, but not exactly the same, it will show up right in the first frame, but it will merge with the other shade of gray when the orange takes over the palette.

Share this post


Link to post
Share on other sites

Yeah that seems perfectly normal to me, given my understanding of palette optimization and quantization. GIF can only support 256 colors: if your image is grayscale (black&white) then it can actually be converted to GIF without any loss of information because even a color image can only have up to 256 shades of grey*. However, when you introduce the colors in the vacancy sign, it "uses up" some of the colors that were being used for other things.

* Color images in PDN are encoded as 32-bit per pixel: red, green, blue, alpha. However, grey pixels have red, green, and blue all equal. So there are still only 256 shades of "pure" gray available.

Share this post


Link to post
Share on other sites

Ok, here's a little test. It's basically the same pic, but in color this time. As you can see, it has the same problem as the grayscale pic.

Say that a color photograph has the maximum of 256 different colors in it. It can be converted to greyscale with no loss of quality, but can't it also be initially converted into shades of different colors with no loss as well? Each of the 256 colors would simply be changed, not added to.

The "loss" factor comes in when you try to introduce additional colors in a second frame of a GIF, whether they are color or gray.

The example shows that this color picture was already maxed out at 256 colors to begin with. When the additional colors of the second frame are introduced, the first colors are disturbed.

For all intents and purposes, gray can be thought of as any other color, right? Does it takes up more or less information than any other color?

colortestgif.gif

Share this post


Link to post
Share on other sites

I don't see any changes in the color version...

Maybe in the grayscale version, the there are 256 shades of gray that make up the picture in the first frame. In the second frame the program has to use one or more palette entries for the red color, thereby reducing the number of grays available.

If those palette entries were blank and unused in the first frame then you wouldn't notice the flicker. If both frames used the same palette, the flicker would go away.

That's my theory, anyway.

Share this post


Link to post
Share on other sites

If you say so, korteck. I just don't see it.

I can see it in the grayscale picture, though. Just not the color picture.

My theory still stands... if the color picture is using all 256 entries in the palette for the first frame yet has to use one or more entries for the new color in the second frame then that is the cause of your distortion.

Share this post


Link to post
Share on other sites

And I agree with you. I think you're probably right.

Yeah, the picture is behaving exactly like the other one. It's a little harder to see since there's not as much contrast, but if you look closely, it's distorting across the entire image just like the first one.

Share this post


Link to post
Share on other sites

Haha, this is weird! It's totally doing the same thing here and I'm looking at the color picture posted on this website. Maybe different monitor screens are making a difference, I don't know.

I will repeat though, it's harder to see due to the lack of contrast, but look as closely as you can. Don't look at the sky in general, because the sky seems to be calmer in this one. Concentrate on the backboard of the big sign. The gray area there shows it more clearly. Then look at the darks of the green grass.

Come on guys, someone back me up here! :):lol:

Share this post


Link to post
Share on other sites

Well thank you very much jamc100! I was beginning to question my sanity. :D

Kaiser Yoshi, would you care to elaborate? It would be appreciated.

EDIT:

After several hours of researching this subject, both here and on the web, I've come to the conclusion that it's mostly the transparency that's negatively affecting this picture. Apparently, transparency does not bold well for gifs.

The original black and white pic has a layer of transparent black across the sky, and the glowing vacancy sign also contains transparency.

In the future, I'll try to keep gifs as simple as possible, with as few colors as possible. Thanks to everyone who chimed in.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this