[Mp4-tech] IPB frames, maybe someone can explain a bit more in detail?

Stefan A. Goor stefan.goor ucd.ie
Thu Jun 3 20:29:53 EDT 2004


Hey again,
I'm still working on reconstructing a YUV video from an m4v bitstream
but I a bit stuck.
The video was transmitted a across a lossy network and filtering was
used at the client to ensure that only full frames were passed 
to the decoder.  So at the client I have an m4v file that contains an
integer number of I P and B VOPs and this is decoded to a YUV file.
I want to use this file for PSNR comparision so I need it to be the 
same length as the original video on the server.  I planned to use
YUV frame replication to cover the case where frames are lost because
I know the decoding timestamps of all the VOPs and from this I can
calculate their corresponding position in the decoded video.
However, there are some IPB configurations that don't output the expected
number of frames.  For example if I have the streamed content:
0  1  2  3  4  5  6  7  8  9  10 11 12 13 14  
I  P  B  B  B  P  B  B  P  B  B  I  B  B  P  
now, lets assume that alot of the content is lost and we only get:
0  10 11 12 
I  B  I  B
when I decode this, the output is:
B B I
but there is only 3 frames decoded! I would have expected 4 frames to be
decoded e.g. I B B I, but the later I frame is discard, why is this?
I would really apreciate if someone could explain why this occurs and
if there are any useful links that discuss IPB coding and decoding in
detail, I'd be very interested.
Any help with this matter would be greatly appreciated,
Regards,
Stefan


More information about the Mp4-tech mailing list