No MPEG, existe um processo em que uma imagem é dividida em macroblocos e um vetor de movimento é calculado para cada um desses blocos de macro. Em seguida, você transmite esses vetores, juntamente com os erros de previsão, para reconstruir a próxima imagem na sequência de vídeo.
Estou tentando entender com firmeza como isso funciona. Cada macrobloco possui um vetor de movimento associado a ele, que (se o vetor for [1,0]), diz: all the pixels in this block move 1 in the x direction and 0 in the y direction for the next frame.
Se todos os vetores de movimento não estiverem alinhados corretamente, isso não deixará áreas da imagem inexplicáveis (como a área em que esse macrobloco estava em primeiro lugar)?
Por exemplo, tenho a seguinte pergunta que encontrei.
Considere a seguinte imagem no momento t:
7 7 7 7
7 7 5 5
7 5 5 8
8 8 8 8
9 9 9 9
9 9 9 9
Essa imagem foi dividida em macroblocos 2x2 e os seguintes vetores de movimento foram enviados para recriá-la:
(0,0) (0,0) (0,1) (-1,1) (0,0) (0,0)
A imagem na etapa anterior, t-1, tinha a seguinte aparência:
7 7 7 7
7 7 5 4
7 7 7 7
7 5 8 8
8 9 8 9
9 9 9 9
Quais foram os erros transmitidos?
Como você resolveria isso?
fonte