Đánh giá chuyển động (motion estimation)

Một phần của tài liệu Nén ảnh động dùng Wavelet (Trang 25)

Đánh giá chuyển động là quá trình đánh giá xấp xỉ các điểm của frame hiện tại từ frame tham chiếụ

Đánh giá chuyển động phải xác định các véctơ chuyển động, và đ−ợc thực hiện tại bộ mã hoá với nhiều sự tính toán phức tạp. Có nhiều chiến l−ợc tìm kiếm để xác định véctơ chuyển động. Với mỗi chiến l−ợc tìm kiếm, bộ mã hoá cố gắng đối sánh các điểm trong một Macroblock với các điểm trong ảnh đ−ợc mã hoá tr−ớc hoặc sau đó (theo thứ tự hiển thị). Khi quá trình tìm kiếm kết thúc, sẽ tạo ra véctơ chuyển động (motion véctơ) thích hợp nhất (xem hình 1.13).

Hình 1.13. Xác định vectơ chuyển động mv (motion vector) 1.4.5.2. Bù chuyển động (Motion Compensation).

Trong thực tế thì không phải khối t−ơng thích lúc nào cũng giữ nguyên trạng thái cân bằng sau khi dịch chuyển mà trong quá trình dịch chuyển nó bị

quay đi một góc nào đó. Với góc quay nh− vậy sẽ làm cho ảnh sau khi xây dựng lại sẽ bị lệch đi một góc nào đó (lệch hình). Để khắc phục tình trạng đó ng−ời ta đ−a vào khái niệm ảnh lỗi dự đoán. ảnh sai số dự đoán là phần khác nhau nhỏ nhất giữa ảnh hiện tại đ−ợc truyền và ảnh dự đoán tốt nhất có thể đạt đ−ợc. ảnh đó đ−ợc xác định bằng cách lấy ảnh hiện tại trừ đi đi ảnh sau khi dự đoán. Quá trình xây dựng lại ảnh đ−ợc thực hiện bằng cách lấy ảnh dự đoán thông qua véctơ chuyển động cộng với sai số dự đoán. Khi mã hoá thay vì phải mã hoá toàn bộ ảnh ng−ời ta chỉ cần mã hoá véctơ chuyển động và ảnh sai số dự đoán. ảnh sai số dự đoán có kích cỡ nhỏ hơn rất nhiều so với toàn bộ ảnh vì phần ảnh giống nhau sẽ bị triệt tiêu (có giá trị bằng 0) khi xác định ảnh sai số dự đoán, do đó việc mã hoá sẽ đòi hỏi ít byte hơn.

Quá trình khôi phục một ảnh bằng cách dùng các phần ảnh từ ảnh tr−ớc cùng với thông tin về chuyển động (véctơ chuyển động) nh− ở trên gọi là bù

chuyển động (Motion Compensation).

Trong nhóm ảnh trên (hình 1.11), ảnh I1 đ−ợc giải mã mà không cần xét đến véctơ chuyển động, nh−ng ảnh P4 đ−ợc giải mã phải sử dụng véctơ chuyển động từ ảnh I1. Bù chuyển động này gọi là bù chuyển động thuận vì xuôi theo trình tự thời gian. Các ảnh P luôn dùng bù chuyển động thuận từ ảnh I hoặc P đ−ợc truyền tr−ớc đó. Các ảnh B đ−ợc giải mã sử dụng bù chuyển động từ ảnh I hoặc ảnh P tr−ớc hoặc sau đó (theo thứ tự hiển thị).

Dự đoán đ−ợc gọi là thuận nếu ảnh tham chiếu (ảnh I hoặc ảnh P) là ảnh tr−ớc ảnh đang xét; và đ−ợc gọi là ng−ợc nếu ảnh tham chiếu là ảnh sau đang xét (theo thứ tự hiển thị).

Ví dụ trong hình 1.11 ảnh B2 dùng bù chuyển động thuận từ ảnh I1 và bù chuyển động ng−ợc từ ảnh P4. .Do đó, ảnh B2 dùng bù chuyển động hai chiều và kết quả lấy trung bình, nên đ−ợc gọi là bù chuyển động nội suỵ

Quá trình khôi phục frame (với loại frame inter) sử dụng bù chuyển động gồm hai b−ớc:

+ Cộng véctơ chuyển động vào frame tham chiếụ + Cộng sai số dự đoán và kết quả trên.

Hình 1.14 minh hoạ quá trình khôi phục frame.

Giữa những điểm kế tiếp nhau có liên quan lẫn nhau dẫn đến sự d− thừạ Mã dự đoán đ−ợc dùng để loại bỏ sự d− thừa đó. Dựa trên quá trình tạo các điểm tuần tự và luật dự đoán, mỗi giá trị của điểm có thể đ−ợc dự đoán để thay thế điểm hiện tạị Phần chênh lệch giữa điểm dự đoán và điểm hiện tại đ−ợc mã hoá. Thành công trong mã hoá ít bit hơn so với mã hoá trực tiếp điểm hiện tạị

Mã hoá dự đoán đóng vai trò quan trọng trong các chuẩn nén ảnh nh− JPEG và MPEG để có hiệu suất nén và đơn giản hơn.

Hình 1.14. Minh hoạ quá trình khôi phục frame

1.4.6. Biến đổi Cosine rời rạc.

1.4.7. Mã VLC.

Mã hoá VLC là ph−ơng pháp mã hoá thống kê, gán các từ mã cho các giá trị đ−ợc mã hoá. Các giá trị có tần số xuất xuất hiện cao đ−ợc gán từ mã ngắn, các từ mã có tần xuất xuất hiện thấp đ−ợc gán từ mã dài hơn sao cho xâu biểu diễn mã ngắn hơn so với dữ liệu gốc. Với cách gán trên, mã hoá đ−ợc gọi là mã hoá có độ dài thay đổi nhằm tối −u việc mã hoá với số l−ợng bit ít nhất.

1.5. Quá trình nén Video theo chuẩn MPEG-1.

Kỹ thuật nén Video theo chuẩn MPEG -1 chủ yếu ứng dụng cho việc l−u trữ trên CD-ROM và truyền trên mạng. Đầu vào Video theo chuẩn bao gồm một định dạng ảnh Video liên tục (non-interlaced)

1.5.1. Tham số đặc tr−ng.

Tham số đặc tr−ng đề cập đến ở đây là định dạng ảnh đầu vào và cấu trúc lấy mẫụ Định dạng đầu vào là: 720 điểm mỗi dòng, 576 dòng mỗi ảnh và 30 ảnh mỗi giâỵ

Tỉ lệ bit lớn nhất là 1.86 Mbit/s. Cấu trúc lấy mẫu là 4: 2: 0.

1.5.2. Quá trình m hoá.

Hình 1.15. Sơ đồ khối bộ mã hoá video theo chuẩn MPEG-1

Quy trình hoạt động của bộ đánh giá xấp xỉ chuyển động và bù chuyển động theo chuẩn MPEG-1 gồm:

1.5.2.1. Bộ đánh giá chuyển động.

• Thao tác cho từng khối tại mỗi thời điểm.

• Với mỗi khối của frame hiện tại:

• Tìm kiếm khối giống nhất trong frame tr−ớc.

• Tính toán vectơ chuyển động từ khối giống nhất đó.

• Xác định sai lệch giữa khối thuộc frame hiện tại và khối thuộc frame tr−ớc đó.

• Mã hóa véctơ chuyển động.

• Mã hoá khối sai lệch.

1.5.2.2. Bộ bù chuyển động.

• Bộ mã hoá dùng véctơ chuyển động và frame tham chiếu để tạo ra

frame dự đoán bù chuyển động của frame hiện tạị

• Mỗi khối của frame hiện tại (tức mỗi Macroblock 16x16 điểm) đ−ợc dự đoán dựa vào thông tin về chuyển động (tức vectơ chuyển động) và

frame tham chiếụ

• Khối hiện tại trừ đi khối dự đoán để tạo ra khối sai lệch bù chuyển động.

• Khối sai lệch này đ−ợc biến đổi DCT, l−ợng tử hoá và mã hoá.

• Sau khi mã hoá, khối sai lệch này cùng với véctơ chuyển động đ−ợc truyền đị

1.5.2.3. Quá trình mã hoá.

• Một bản sao khôi phục từ frame đã mã hoá đ−ợc l−u trữ trong vùng đệm

frame (frame store), để frame này đ−ợc dùng nh− frame tham chiếu cho đánh giá chuyển động. Thứ tự l−u trữ trong FS của bộ mã hoá phải đồng nhất với thứ tự này trong bộ giải mã.

• Bộ đánh giá chuyển động tính toán véctơ chuyển động cho mỗi khối bằng cách đối sánh frame đầu vào hiện tại với frame tham chiếu gần nhất.

• Bộ bù chuyển động tạo ra frame dự đoán bù chuyển động (là frame giống frame hiện tại nhất).

Frame hiện tại trừ đi frame bù chuyển động để tạo ra frame sai lệch bù

chuyển động.

• Các hệ số sau khi l−ợng tử hoá và các véctơ chuyển động đ−ợc mã hoá và truyền đị

• Đồng thời, các hệ số l−ợng tử hoá đ−ợc l−ợng tử hoá ng−ợc, biến đổi ng−ợc, và cùng với frame dự đoán bù chuyển động để tạo ra frame tham chiếu mớị

Cách hoạt động của bộ mã hoá phụ thuộc vào từng loại frame.

Frame I đ−ợc xử lý theo cách thức t−ơng tự nh− ph−ơng pháp nén ảnh tĩnh theo chuẩn JPEG. Frame I đ−ợc l−u trữ trong bộ đệm frame để làm

frame tham chiếu dùng cho đánh giá chuyển động và tạo ra các frame P

và B.

Frame P không đ−ợc mã hoá trực tiếp nh− frame I, mà mã hoá frame

sai lệch giữa frame P hiện tại và frame dự đoán (thuận) của nó. Frame dự đoán đ−ợc tạo ra nhờ sử dụng véctơ chuyển động và frame I, hoặc P đ−ợc tham chiếu gần nhất.

• T−ơng tự nh− frame P, frame B không đ−ợc mã hoá trực tiếp mà mã hoá

frame sai lệch giữa frame B hiện tại và frame dự đoán (hai chiều) của

nó. Frame dự đoán đ−ợc tạo ra nhờ sử dụng véctơ chuyển động hai chiều và cặp frame I và P, hoặc P và P, hoặc P và I đ−ợc tham chiếu gần nhất.

Hình 1.16. Quá trình mã hoá frame I

Quá trình mã hoá frame sai lệch:

Hình 1.17. Quá trình bù chuyển động và mã hoá frame sai lệch

Tốc độ bit của tín hiệu Video đ−ợc nén không cố định, phụ thuộc vào nội dung ảnh đang xét. Ng−ợc lại, tại đầu ra bộ mã hoá, dòng bit phải cố định

để xác định tốc độ cho dung l−ợng kênh truyền. Do đó, tr−ớc khi truyền đi, tại đầu ra bộ mã hoá phải có bộ nhớ đệm đủ lớn. Bộ mã hoá phải kiểm tra trạng thái đầy (overflow) của bộ nhớ đệm. Khi số liệu trong bộ nhớ đệm gần bằng dung l−ợng cực đại, thì các hệ số biến đổi DCT đ−ợc l−ợng tử hoá ít chính xác hơn. Trong tr−ờng hợp ng−ợc lại, có nghĩa là bộ đệm chứa số liệu quá ít (underflow), thì độ chính xác của việc l−ợng tử hoá các hệ số sẽ tăng lên. Bộ nhớ đệm đ−ợc thiết kế theo kiểu FIFO (First In First Out) và có kích th−ớc khai báo trong dòng dữ liệu ra để giải mã.

1.5.3.Quá trình giải m.

Sơ đồ giải mã:

Hình 1.18. Sơ đồ khỗi bộ giải mã video MPEG-1

Giải mã là phép biến đổi ng−ợc của mã hoá, nh−ng đơn giản hơn do không cần thực hiện đánh giá chuyển động, và cũng ít lựa chọn hơn.

Bộ giải mã thực hiện nh− sau:

- Giải mã các véctơ chuyển động và các hệ số.

- Các hệ số đ−ợc l−ợng tử hoá ng−ợc và biến đổi ng−ợc để tạo ra frame sai lệch.

- Frame đ−ợc khôi phục tr−ớc đó (l−u trữ trong vùng đệm frame) kết hợp với các véctơ chuyển động để tạo ra frame bù chuyển động.

- Khôi phục frame hiện tại bằng cách cộng frame sai lệch với frame bù

chuyển động.

- Frame hiện tại lại đ−ợc l−u trữ trong vùng đệm frame để xây dựng

frame tham chiếu mớị

Tr−ớc khi các cảnh đ−ợc trình diễn, chúng cần phải đ−ợc sắp xếp lại theo thứ tự trình diễn tự nhiên của nó. Sau khi sắp xếp, các ảnh đ−ợc trình diễn theo ph−ơng pháp mà mỗi ứng dụng lựa chọn.

Hình 1.19. Sắp xếp thứ tự hiển thị

Chú ý: Bộ mã hoá và bộ giải mã phải sử dụng thứ tự frame tham chiếu

giống nhau trong vùng đệm frame để tránh tr−ờng hợp bị lệch hình (drift), do các frame tham chiếu bị sai trật tự trong bù chuyển động.

Hình 1.18 và 1.15 là sơ đồ khối đơn giản (không xét tr−ờng hợp mã hoá và giải mã frame B). Trong tr−ờng hợp đối với frame B, cần có 2 vùng đệm

frame và 2 mạch xác định véctơ chuyển động và bù chuyển động.

1.6. Quá trình nén Video theo chuẩn MPEG-2.

Kỹ thuật nén Video theo chuẩn MPEG-2 là siêu tập hợp (superset) các kỹ thuật của chuẩn MPEG-1 và nó đ−ợc thiết kế trên cơ sở kế thừa MPEG- 1.Rất nhiều giải thuật mã hoá Video đã đ−ợc tích hợp và một cú pháp đơn nhằm thoả mãn yêu cầu của các ứng dụng.

Điểm đặc tr−ng mới của ph−ơng pháp nén Video theo chuẩn MPEG-2 là mã hoá đ−ợc Video xen kẽ (interlaced Video). Hơn nữa những mở rộng của

mã hoá Video scalable đã đ−ợc thực hiện để cung cấp thêm các chức năng nh− là mã hoá nhúng của TV và HDTV số, và sự giảm chất l−ợng ít (graceful

degradation) khi xuất hiện các lỗi truyền dẫn.

Tuy nhiên trên thực tế không thể thực hiện đ−ợc cú pháp đầy đủ cho hầu hết các ứng dụng. MPEG-2 đ−a ra hai khái niệm “Profiles” và “Level” qui định sự phù hợp giữa thiết bị không hỗ trợ khả năng thực hiện đầy đủ. Các

Profile và Level cung cấp một ph−ơng tiện cho việc định nghĩa các tập con cú pháp và nh− vậy bộ giải mã có khả năng giải mã một luồng bit cá biệt. Khái niệm này đ−ợc minh hoạ bằng bảng 1.1 và 1.2.

Theo nguyên tắc chung, mỗi Profile định nghĩa một tập mới các giải thuật đ−ợc thêm nh− là một siêu tập hợp vào các giải thuật trong Profile ở d−ớị Một Level xác định dải các tham số đ−ợc cung cấp khi thực hiện nh− kích th−ớc ảnh, tốc độ frame và tốc độ bit. Nòng cốt hạt nhân của MPEG-2 tại MAIN Profile mô tả những nét nổi bật mã hoá Non-scalable của cả nguồn

ảnh Video liên tục (progressive) và xen kẽ (interlaced). Ng−ời ta mong đợi rằng hầu hết các thực hiện MPEG-2 sẽ phù hợp với MAIN Profile tại MAIN

Level. MAIN Profile cung cấp khả năng mã hoá Non-scalable cho ảnh Video

số với các tham số gần giống TV đó là mật độ lấy mẫu cực đại là 720 mẫu với mỗi dòng và 576 dòng cho mỗi frame, tốc độ frame cực đại là 30 frame mỗi giây và tốc độ bit tối đa là 15 Mbit/s.

Profile Thuật toán

HIGH

Hỗ trợ tất cả các tính năng đ−ợc cung cấp bởi Spatial

Scalable Profile cộng với sự cung cấp các hỗ trợ sau:

• 3 lớp với các chế độ mã hoá SNR và Spatial

scalable.

• Biểu diễn YUV với cấu trúc 4: 2: 2 cho cải thiện các yêu cầu chất l−ợng.

SPATIAL Scalable

Hỗ trợ tất cả các tính năng cung cấp bởi SNR Scalable

Profile cộng với một thuật toán cho:

• Mã hoá Spatial Profile (cho phép 2 lớp).

• Biểu diễn YUV với cấu trúc 4: 0: 0.

Hỗ trợ tất cả các tính năng cung cấp bởi MAIN Profile cộng với một thuật toán cho:

• Mã hoá SNR Scalable (cho phép 2 lớp).

• Biểu diễn YUV với cấu trúc 4: 2: 0.

MAIN

Thuật toán mã hoá Non-scalable hỗ trợ các tính năng cho:

• Mã hoá ảnh Video xen kẽ.

• Truy cập ngẫu nhiên.

• Các chế độ dự đoán ảnh B.

• Biểu diễn YUV với cấu trúc 4: 2: 0.

SIMPLE

Bao gồm tất cả các tính năng cung cấp bởi MAIN Profile nh−ng:

• Không cung cấp các chế độ dự đoán ảnh B.

• Biểu diễn YUV với cấu trúc 4: 2: 0.

Level Các tham số HIGH • 1920 mẫu/dòng. • 1152 dòng/frame. • 60 frames/giâỵ • 80 Mbit/s/ HIGH 1440 • 1440 mẫu/dòng • 1152 dòng/frame. • 60 frames/giâỵ • 60 Mbit/s. MAIN • 720 mẫu/dòng • 576 dòng/frame. • 30 frames/giâỵ • 15 Mbit/s. LOW • 352 mẫu/dòng • 288 dòng/frame. • 30 frames/giâỵ • 4 Mbit/s.

Bảng 1.2. Các giới hạn trên của các tham số tại mỗi Level của một Profilẹ

1.6.1. Tham số đặc trng.

Tham số đặc tr−ng đề cập đến ở đây là định dạng ảnh đầu vào và cấu trúc lấy mẫụ Định dạng đầu vào là: 720 điểm ảnh cho mỗi dòng, 576 dòng

cho mỗi frame và 30 frame (ảnh) mỗi giây cho Main Profile và Main Level. Tỉ lệ bit lớn nhất là 15 Mbit/s. Cấu trúc lấy mẫu là 4: 2: 2.

1.6.2. Mô hình m hoá Non-scalable theo MPEG-2.

Đối với MAIN Profile: Nguyên tắc mã hoá ở đây là sự mở rộng trực tiếp của nguyên lý mã hoá trong MPEG-1 để điều chỉnh mã hoá Video xen kẽ, trong khi vẫn duy trì phạm vi đầy đủ của các chức năng cung cấp bởi MPEG- 1.

Cũng giống nh− chuẩn MPEG-1, thuật toán mã hoá MPEG-2 dựa trên nguyên lý mã hoá Hybrid DCT/DPCM nh− hình 1.12.

Đối với SIMPLE Profile: Nguyên lý mã hoá cũng t−ơng tự nh− MAIN

Profile, nh−ng nó không sử dụng các mô hình dự đoán cho frame B ở bộ mã hoá. Nh− vậy, độ phức tạp khi thực hiện và khối l−u trữ các frame tham chiếu cho việc giải mã ảnh B không cần cho bộ giải mã của chuẩn MPEG-2 (chỉ đối vơi SIMPLE Profile).

Để thoả mãn cho việc mã hoá cả Video liên tục và xen kẽ, MPEG-2 đ−a vào khái niệm frame picture và field picture t−ơng ứng với hai chế độ dự đoán là frame prediction và field prediction để điều tiết mã hoá ảnh Video liên tục và xen kẽ. Đối với chuỗi xen kẽ (interlaced sequence), một frame gồm hai tr−ờng: một tr−ờng chẵn (even field-bottom field) và một tr−ờng lẻ (ođ field-

top field). Cả hai tr−ờng này có thể đ−ợc mã hoá độc lập. Khi đó một tr−ờng đ−ợc chia thành các Macroblock và áp dụng mã hoá nh− một frame trong

Một phần của tài liệu Nén ảnh động dùng Wavelet (Trang 25)

Tải bản đầy đủ (PDF)

(124 trang)