High-Voltage
24th April 2008, 20:58
Hi all,
I do have a question about videocoding. I'm not sure if this is the right forum, but I hope someone could help me.
My question handles about the working of a video encoder, so let's say the sourcecode part of the encoder.
The last stage of the encoding proces is the "entropy coder". This block puts the motion vectors, quantised coefficients, headers etc together to create the actual bitstream. But it doesn't put it just togheter, no it compresses also a bit.
One way of compressing is by using "Arithmetic coding". This method divides a domain into smaller domains based on the probability of each symbol. Each domain is again divided into smaller domains based on the probability of the symbols. This is repeated several times. The domain is getting smaller and smaller. Finally we have a lot of small domains each representing a sequence of the original symbols. By sending a fractional number from a specific domain we can actually send the sequence of those symbols.
The decoder decodes this fractional number again in domains to determine the sequence of symbols.
I hope this is a bit clear. But if it isn't you are probably not capable to answer my question.
My question is: How does the decoder know the boundries of each domain? The decoder doesn't know the probablities of the symbols, so I couldn't reconstruct the dividing.
I really hope someone could give me the answer!
Many Thanks
High-Voltage
I do have a question about videocoding. I'm not sure if this is the right forum, but I hope someone could help me.
My question handles about the working of a video encoder, so let's say the sourcecode part of the encoder.
The last stage of the encoding proces is the "entropy coder". This block puts the motion vectors, quantised coefficients, headers etc together to create the actual bitstream. But it doesn't put it just togheter, no it compresses also a bit.
One way of compressing is by using "Arithmetic coding". This method divides a domain into smaller domains based on the probability of each symbol. Each domain is again divided into smaller domains based on the probability of the symbols. This is repeated several times. The domain is getting smaller and smaller. Finally we have a lot of small domains each representing a sequence of the original symbols. By sending a fractional number from a specific domain we can actually send the sequence of those symbols.
The decoder decodes this fractional number again in domains to determine the sequence of symbols.
I hope this is a bit clear. But if it isn't you are probably not capable to answer my question.
My question is: How does the decoder know the boundries of each domain? The decoder doesn't know the probablities of the symbols, so I couldn't reconstruct the dividing.
I really hope someone could give me the answer!
Many Thanks
High-Voltage