Reference frame/ Key Frame /I, P, B frame
Frame type - In terms of video encoding "Frame type" (or more common term "Picture type") describes a set of temporal prediction encoding tools used for compressing a picture. There are three general types of pictures: I,P and B.
I-frame(picture) - Intra-coded picture. It is a picture encoded independently without reference to any other pictures. In general compression algorithms for intra-coded pictures are less effective than algorithms with temporal prediction, so I-frames encoding requires more bits than other types. Typically I-frames are used as random access points, it allows the decoder to navigate in the bitstream and start decoding properly.
P-frame(picture) - predicted picture. Sometimes it may be called an inter-coded picture. P-frames may contain both intra macroblocks and inter macroblocks with motion vectors referenced to some other picture. P-frames can reference previous frames in decoding and display order. Starting from H.264 standard P-frames can use multiple reference frames. Typically P-frames encoding is more effective than I-frames and takes fewer bits in bitstream.
B-frame(picture) - Bi-directional predicted picture. B-frames may contain both intra macroblocks and inter macroblocks with motion vectors referenced to some other pictures. B-frames can reference previous frames in decoding order. Some reference frames may be future references (followed in display order). Starting from H.264 standard B-frames can use multiple reference frames (including future references) and also can be a reference for other frames. Typically B-frames encoding is more effective than even P-frames and takes fewer bits in bitstream.
Reference frame - in terms of video encoding, it's a frame used by inter-frame compression algorithms to encode other frames.
Key frame - in terms of video encoding, it's a frame that can be decoded independently from other frames. So actually it is a synonym of I-frame.