suggests a problem because the fourth frame (a P-frame) is needed in order to predict the second and the third (B-frames). So we need to transmit the P-frame before the B-frames and it will delay the transmission (it will be necessary to keep the P-frame). This structure has strong points: It minimizes the problem of possible uncovered areas. P-frames and B-frames need less data than I-frames, so less data is transmitted. But it has weak points: It increases the complexity of the decoder, which can mean more memory needed to rearrange the frames, and a tiny bit more processing power. B-frames may introduce decoding dependency which inevitably increases decoding latency. H.264 Inter frame prediction improvements The most important improvements of this technique in regard to previous H.264 standard are: More flexible block partition Resolution of up to ¼ pixel motion compensation Multiple references Enhanced Direct/Skip Macroblock More flexible block partition Luminance block partition of 16×16 (MPEG-2), 16×8, 8×16, and 8×8. The last case allows the division of the block into new blocks of 4×8, 8×4, or 4×4. The frame to be coded is divided into blocks of equal size as shown in the picture above. Each block prediction will be blocks of the same size as the reference pictures, offset by a small displacement. Resolution of up to ¼ pixel motion compensation Pixels at half-pixel position are obtained by applying a filter of length 6. H=[1 -5 20 20 -5 1] For example: b=A - 5B + 20C + 20D - 5E + F Pixels at quarter-pixel position are obtained by bilinear interpolation. While MPEG-2 allowed a ½ pixel resolution, Inter frame allows up to ¼ pixel resolution. That means that it is possible to search a block in the frame to be coded in other reference frames, or we can interpolate nonexistent pixels to find blocks that are even better suited to the current block. If motion vector is an integer number of units of samples, that means it is possible to find in reference pictures the compensated block in motion. If motion vector is not an integer, the prediction will be obtained from interpolated pixels by an interpolator filter to horizontal and vertical directions. Multiple references Multiple references to motion estimation allows finding the best reference in 2 possible buffers (List 0 to past pictures, List 1 to future pictures) which contain up to 16 frames in total.