I-frame: in-frame encoded frames, I-frames represent keyframes, you can understand the full retention of this frame screen, only need to decode the frame data can be completed (because the full picture is included)
I-Frame features:
1. It is a full frame compression encoded frame. It will encode and transmit the full frame image information in JPEG compression.
2. Decoding the full image can be reconstructed with the data of I-frame only;
3.I frame describes the image background and the details of the moving body;
4.I frames do not need to refer to other images to generate;
The 5.I frame is a reference frame of P-frame and B-frame (its mass directly affects the quality of subsequent frames in the same group);
The 6.I frame is the base frame of the frame group GOP (first frame), with only one I frame in a group;
7.I frames do not need to consider motion vectors;
The amount of data that the 8.I frame occupies is relatively large.
P Frame: Forward prediction encoded frame. The P-frame represents the difference between this frame and a previous keyframe (or P-frame), which needs to be decoded to create the final picture by overlaying the differences defined by this frame with the previously cached screen. (That is, the difference frame, p frame does not have the complete picture data, only with the previous frame of the picture difference of data)
P-Frame Prediction and reconstruction: P-Frame is based on I-frame as reference frame, in I-frame to find the P-frame "a point" of the predicted value and motion vector, take the predicted difference and the motion vector transmission together. A complete P-frame can be obtained by finding the predicted value of the P-frame "point" from the I-frame at the receiving end and adding it to the difference to get the P-frame "some" sample value.
P-Frame Features:
The 1.P frame is an encoded frame that is separated by one or more frames after the I frame;
The 2.P frame uses the motion compensation method to transmit its difference and motion vectors (prediction error) with the previous I or P frames.
3. Decoding must sum the predicted value in I frame with the prediction error to reconstruct the complete P-frame image;
4.P frames belong to the inter-frame encoding of the forward prediction. It refers only to the I-frame or P-frame closest to it;
A 5.P frame can be a reference frame of the P-frame behind it, or a reference frame of a B-frame before and after it.
6. Since P-frame is a reference frame, it may cause the spread of decoding errors;
7. Due to the difference in transmission, p-frame compression is relatively high.
B-Frame: bidirectional prediction interpolation encoded frames. B-Frame is a two-way differential frame, that is, B-frame recording is the difference between this frame and the front and back frames (more complex, there are 4 cases, but I say simple), in other words, to decode B-frame, not only to obtain the previous cache screen, but also to decode the screen after the screen and the frame of the data overlay B-Frame compression rate is high, but the CPU will be more tired when decoding.
Prediction and reconstruction of B-frame
The B-frame is the reference frame of the front I or P frame and the following P-frame, "finds" the predicted value of "a point" of B-frame and two motion vectors, and takes the predicted difference and motion vector transmission. The receiving end "finds out" the predicted value according to the motion vector in two reference frames and sums it with the difference, obtains the B-frame "Some point" sample value, thus obtains the complete B-frame.
B-Frame Features
1.B frames are predicted by the front I or P frames and the following p-frames;
The 2.B frame transmits the prediction error and the motion vector between it and the front I or p frame and the back p frame;
3.B frames are bidirectional predictive coded frames;
The 4.B frame compression ratio is the highest, because it only reflects the change of the moving body between the reference frames, the prediction is more accurate;
5.B frames are not reference frames and do not cause a spread of decoding errors.
Note: I, B, p frames are based on the needs of the compression algorithm, are human-defined, they are real physical frames. In general, I-frame compression rate is 7 (similar to JPG), p-frame is 20,b frame can reach 50. The use of B-frames can be seen to save a lot of space, saving space can be used to save more I-frames, so that at the same bitrate, can provide better picture quality.