Dự đoán bù trừ chuyển động

**Dự đoán bù trừ chuyển động** (Motion Compensation Prediction, MCP) là một thuật toán sử dụng trong nén video, điển hình trong chuẩn MPEG-2. Kỹ thuật bù trừ chuyển động mô tả bức ảnh dưới dạng một biến đổi tác động lên một ảnh tham chiếu và thu về kết quả là một ảnh mới được tái lập. Ảnh tham chiếu có thể xuất hiện trước hay thậm chí sau ảnh được tái lập (dùng kỹ thuật buffer như trong chuẩn H.264), và cũng có thể là ảnh được tái lập từ ảnh tham chiếu khác nữa. Kỹ thuật này dựa trên một thực tế là hầu hết các thay đổi trong khung cảnh video là do sự chuyển động tương đối của các đối tượng so với khung nền. Việc dự đoán (tái lập) chính xác chuyển động trong các khung ảnh có thể làm tăng đáng kể hiệu suất nén video, tức cho chất lượng video cao với chi phí lưu trữ thấp nhất có thể.

Bù trừ chuyển động là một bước trong nén video hiện đại (H.264), bao gồm đánh giá chuyển động (Motion Estimation - ME), bù trừ chuyển động (Motion Compensation - MC), mã hóa biến đổi (transform coding) và mã hóa entropy. Các chuẩn mã hóa video ngày nay ít nhiều đều thực hiện các quá trình này, bắt đầu từ MPEG-2, đến MPEG-4/Visual, H.263, H.264/MPEG-4 AVC,...

## Động cơ
Động cơ dẫn đến kỹ thuật MCP có thể được kể như sau. Hầu hết các thay đổi trong khung cảnh video là do sự chuyển động tương đối của các vật thể trong mặt phẳng ảnh, và một sự chuyển động dù nhỏ cũng có thể dẫn tới sự sai khác lớn trong các mẫu giữa các khung hình, đặc biệt là gần các cạnh của vật thể. Thông thường, việc dự đoán một vùng ảnh trong khung hình hiện tại đã bị che lấp dựa trên vùng ảnh đã có trong quá khứ có thể làm giảm đáng kể công sức bỏ ra cho việc tinh chỉnh các sai khác nhỏ giữa các khung hình.

Dự đoán bù trừ chuyển động bao gồm hai bước, đó là đánh giá chuyển động và bù trừ chuyển động.

## Đánh giá chuyển động
Đánh giá chuyển động cho một macroblock bao gồm việc tìm kiếm một khối 16x16 mẫu trong khung hình tham chiếu gần giống nhất với macroblock hiện tại. Việc tìm kiếm được thực hiện trên một vùng trên bức ảnh tham chiếu lấy trung tâm là vị trí khối macroblock cần được tìm kiếm. Vùng 16x16 trong vùng tìm kiếm thỏa mãn tốt nhất với điều kiện khớp được chọn như là khối ‘khớp nhất có thể’.

## Bù trừ chuyển động
Vùng khớp nhất được tìm thấy trong ảnh tham chiếu được *[[trừ]]* với macroblock hiện hành để cho ra một ‘residual macroblock’ (macroblock chứa giá trị dư thừa), phép trừ được thực hiện trên cả mẫu luma và chroma. Residual macroblock sau đó được mã hóa và gửi đi cùng với một vector chuyển động trỏ đến vị trí khớp nhất đã được tìm thấy trong quá trình ME. Bên trong bộ giải mã, tín hiệu dư thừa lại được đưa về để giải mã và cộng lại vào vùng khớp để cho ra một macroblock tái dựng và được lưu trữ cho các hoạt động MCP sau này. Lý do cho việc phải tái lập lại macroblock nhằm mục đích đảm bảo cả bộ giải mã lẫn mã hóa sử dụng cùng một vùng tham chiếu cho quá trình MC, từ đó làm cho tất cả bộ giải mã cùng sinh ra các nội dung video tương tự nhau khi đưa vào cùng một tín hiệu video mã hóa.

## Ví dụ minh họa

## Xem thêm
### Wikipedia Tiếng Anh
* :en:Residual frame
* :en:Inter frame
* :en:Motion estimation
* :en:Reference frame (video)
* :en:Motion compensation

## Tham khảo
### Ghi chú

### Sách, báo

# Garnham, N. W., Motion Compensated Video Coding, University of Nottingham PhD Thesis, October 1995, ISBN X763409714