MODULE FOR I, P FRAME

DANNY danijel.gvero at gmail.com
Wed Feb 24 09:28:12 CET 2010


On Feb 24, 3:11 am, "Rhodri James" <rho... at wildebst.demon.co.uk>
wrote:
> On Tue, 23 Feb 2010 10:39:21 -0000, DANNY <danijel.gv... at gmail.com> wrote:
> > @James I am thinkinhg about effect of errors that are within the
> > sequence of P frames. Where the P frames have only the information
> > about the changes in previous frames, so that errors are present until
> > the next Iframe. So I would like to see how is this seen in different
> > GoP sized clips.
>
> Ah, I see.  What I'd suggest you do is to encode your video clip at  
> various GOP sizes (you'll want some quite extreme ones for comparison),  
> then write a little program that reads in the file byte by byte and  
> randomly corrupts the data as it goes through.  "tsplay" from the tstools  
> suite that I mentioned earlier will do that for you (because it was very  
> handy for testing the robustness of our decoders).  Then watch the results  
> using VLC or similar.
>
> My recollection is that when the image isn't static, P frames tend to have  
> enough intra-coded blocks that corrupted video data doesn't have as much  
> effect as you might think.  I've dealt with streams that had ten seconds  
> or more between I frames, and starting at a random spot (simulating  
> changing channel on your digital TV) builds up an intelligible (if  
> obviously wrong) image surprisingly quickly.
>
> PS: my first name is Rhodri, not James.  Don't worry, it catches a lot of  
> people out.
>
> --
> Rhodri James *-* Wildebeeste Herder to the Masses

Well for my simulation of errors I am thinking on using the WANem
(Wide Area Netwrok Emulator) which has a function to simulate dellay,
jitter etc.. http://wanem.sourceforge.net/
I have been downloading the clips from youtube and I surprisengly saw
that I frame occures after 300 frames(at 15fps-so that means after 20
seconds)! That was quite unusal for my perception of the purpose of I
frame, but then I figured out that (as you mentioned) P frames include
intra-coded blocks which hide the effect of the errors.

The goal of my project is to make a program which plays the corrupted
video after being out thru error concealment, and in case when errors
overcome some threshold error value the program doesn't paly any more
frames until the I frame occures and then I would figure out the
optimal threshold value for the different GoP sizes as well as
different content of the clip.



More information about the Python-list mailing list