X5

Table Of Contents
362
The fourth picture we have already explained, and now we need the next P frame, or
picture number 7. Pictures 5 and 6 are B frames again, which are compared to P
frames to both sides of them (picture 4 and 7); these are followed by the last two B
frames. These have a special place, since in closed GOPs, they may contain only
backward predictions, and no references to the next I frame, because it belongs to
the next GOP.
Something else: Since the decoder is no prophet, the P frames are always transmitted
before the B frames! The GOP explained above will be encoded and transmitted in the
order it is written.
Original
GOP
I
0
B
01
B
02
P
01
B
11
B
12
P
02
B
21
B
22 I1
Data stream I
0
P
01
B
01
B
02
P
02
B
11
B
12
B
21
B
22 I1
... for closed GOPs
I
0
P
01
B
01
B
02
P
02
B
11
B
12
I
1
B
21 B22
P
11
... For open GOPs
Due to this nested structure, it is easy to see that during direct editing of MPEG
material, complicated computations have to take place! These are made easier using a
frame table. A frame table contains a list, where the information of every frame in the
data stream is found, identifying the type of frame it is.
Using Movement prediction (view page 357) P and B frames are likewise reduced.
Quantization scaling
The single pictures in MPEG are saved using a compression method comparable to
JPEG with bitmaps and associated with quality loss. For this single images are divided
into 8 x 8 blocks (view page 358).
Each one of th
ese blocks is then transformed into an 8 x 8 matrix (a table with rows
and columns) using a DCT (discreet cosinus transformation) mathematical method.
Each of these values is produced using all 64 individual pixels of the block, but the
values in the matrix are ordered in such a way that the image information is ordered
according to its importance.
This matrix will then be multiplied by another matrix, i.e. the quantization matrix.
Exactly how and why this matrix must be created is the biggest secret of encoder
programmers, since this determines the quality of the whole encoding process. What
is known is that the result should contain as many zeros as possible! These zeros
correspond to the "unimportant" image elements mentioned and will not be
transmitted in the data stream.
Depending on the encoder parameters regarding the target bit rate, fewer or more
values of the matrix will be declared unimportant by dividing the quantization matrix