Zarxrax
18th April 2002, 21:59
I dont really know if this relates too closely to xvid, but perhaps it COULD be implemented into xvid in some form or another, or if not maybe someone could take the idea and devlope a different codec. Anyways this is just an idea i've had, and I'm tossing it up to all you guys that know more than me regarding video encoding.
I've noticed that in anime, there is often LOTS of repetitive animation. Could it be possible to take advantage of this fact in order to make anime content more compressable?
For example, when a character talks, there is typically 3 different mouth positions. Open, middle, and closed. Now say you have a scene, and all that happens is the character talks for about 10 seconds. For the sake of simplicity lets say that this is the only movement occuring onscreen. Now in typical compression, it would store the image of the mouth in each delta frame. Now if it can examine the "closed" mouth position, when that same "closed" frame comes up again, it could see that it has already compressed that exact same stuff already, so it could just extract the data from that previous frame.
Now this is all fine and dandy, but of course usually you have lots of stuff moving onscreen at once, for example the background could be panning while the character is standing there talking. You could still take advantage of the repetitiveness by examining the similarities in motion between frames. For example when encoding a character talking against a panning background, it would store the information for the difference in the background, but on the mouth part of the image, it could still reference the previous data.
I'm not really sure if this would be practical though, and it would likely put an insane demand on the cpu :p
I've noticed that in anime, there is often LOTS of repetitive animation. Could it be possible to take advantage of this fact in order to make anime content more compressable?
For example, when a character talks, there is typically 3 different mouth positions. Open, middle, and closed. Now say you have a scene, and all that happens is the character talks for about 10 seconds. For the sake of simplicity lets say that this is the only movement occuring onscreen. Now in typical compression, it would store the image of the mouth in each delta frame. Now if it can examine the "closed" mouth position, when that same "closed" frame comes up again, it could see that it has already compressed that exact same stuff already, so it could just extract the data from that previous frame.
Now this is all fine and dandy, but of course usually you have lots of stuff moving onscreen at once, for example the background could be panning while the character is standing there talking. You could still take advantage of the repetitiveness by examining the similarities in motion between frames. For example when encoding a character talking against a panning background, it would store the information for the difference in the background, but on the mouth part of the image, it could still reference the previous data.
I'm not really sure if this would be practical though, and it would likely put an insane demand on the cpu :p