Wednesday, January 23, 2013

Grabbing a still image from AVC video

Here's a series of predictive coding sequences from an MPEG-4 (AVC) video file. Those of you familiar with video coding will recognize the format of the structures. Here's your question for today: that image that you want to grab ... is it an I frame, a P frame or a B frame?

IPPPPPPPPPPPIPP..., i.e. one I-slice followed by 11 P-slices, with one reference frame

IBBPBBPBBPBBIBBP..., i.e. 12-frame GOP with one I-slice, three P-slices and eight B-slices in each GOP.

IBBBBBBBBBBBIBB.., 12-frame GOP, hierarchical prediction.

Earlier, we talked about the structure of MPEG video. Here we ask the question, what happens when the frame that you want is a B or P frame? What do you do? How do you respond to the inevitable questions:

  • Is this an accurate depiction of the scene?
  • Is this an original image?
If you're going to court with digital video - it pays to do your homework. Know the codec and how it works. Know which frame you selected for your exemplar ... and how it was generated. If you do use a B or P frame, know how the pieces were assembled or how object oriented compression works. 

Essentially, be prepared for the worst and you should do fine.

No comments: