I don’t own any way of compressing the video, but am currently working on a project where I compress afterimages with H.264
My question is more general for video encoders. As I understand it (as Wikipedia explains this), the motion block compensated encoder divides the current frame into several disjoint blocks, for each block it checks in the frame of reference, when the current block arrives, it calculates the difference between the desired block and the block with motion compensation, then it somehow encodes this remainder.
Wikipedia says: “The main drawback of block motion compensation is that it introduces gaps at the block boundaries (blocking artifacts). These artifacts appear in the form of sharp horizontal and vertical edges that are easily detected by the human eye and produce (large coefficients in the high-frequency sub-bands) in the Fourier-related transform used to transform the encoding of residual frames. "
So, since the reference frame already contains block artifacts (since it was encoded), and then these block artifacts are shifted to the current block and the residual is calculated, then the high frequencies generated by block artifacts at the boundaries of the shifted block will also be displayed as gaps in the remainder . And interrupts are generally bad for compression.
Is a motion compensated block encoder arranged with this block artifact before the remainder is compressed? since he knows exactly how the block was shifted, he knows where the boundaries of the blocks are, and can do something with them before or during the coding of the remainder, removing / ignoring unnecessary high frequencies in this place. If something like this is done in a codec such as H.264, can someone explain the basic concept of how the encoder does it, give some terminology and so on? How to deal encoder with block artifacts in the frame of reference?
source share