Trick mode or trick play is a feature of digital video systems, including digital video recorders and video on demand systems, that mimics the visual feedback given during fast-forward and rewind operations that were provided by analogue systems such as VCRs. Trick play manipulates the video stream to include only a subset of frames.[1]
With an analogue system, the visual fast-forward/rewind effect was generated simply by transmitting the frames faster and/or in reverse; there was an inevitable loss of frame synchronization or 'tearing' but this was accepted as the norm. With a digital system, the decoder may not be capable of processing the digital stream significantly faster than normal. Additionally, playback in reverse is not possible with certain types of temporal compression algorithms.
This is made harder by the fact that, in video compression systems such as MPEG-2 and H.264, many frames depend on previous frames for display, and hence cannot be decoded independently. Only certain "I" or "Intra" frames are independent. As a result, a system offering trick mode has to select only those frames for display, which requires analysis of the digital stream either at the time of playback or in advance.
In a single-user disk-based system, it is possible to scan the media file in real time to locate the independent frames, but in a network-based video-on-demand system, the bandwidth allocated to the client is fixed, so the server has to use pregenerated 'hint' or 'index' information to locate suitable frames, and then play them out at the selected fast-forward or rewind speed within the original bandwidth envelope. Alternatively, the server may pregenerate an entirely new video stream with at least one forward and backward speed and switch to it when requested.