Kỹ thuật điều xung mã sai phân – DPCM TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN SƯ PHẠM KỸ THUẬT ----------o0o----------
BÁO CÁO CÁO BÀI TẬP TẬP LỚN XỬ LÝ DỮ LIỆU ĐA PHƯƠNG TIỆN
THUẬT MÃ HÓA ĐIỀU XUNG XUNG MÃ ĐỀ 1 :KỸ THUẬT SAI PHÂN DPCM
Sinh viên thực hi hiện
:
Nguyễn Quốc Ph Phương Vũ Hoàng Lâm Nguyễn Trung Trung Hiếu Hoàng Thế Đại Chu Quỳnh Nga Nguyễn Văn Trường Đặng Thu Hương Lê Thanh Trà
Giản Giảngg viê viên n hướ hướng ng dẫn dẫn :
GS.T GS.TS. S. Ngu Nguyễn yễn Thị Thị Hoàn Hoàngg Lan Lan
Lớp
SPKT Tin – K53
:
Nhóm 1- Sư S ư phạm kỹ thuật
MỤC LỤC I. GIỚI THIỆU CHUNG...... ................ ................ ................ ............... ................ .......... 4 1. Khái niệm về kĩ thuật nén ................... ............................ ................... .................... ................... ................... .................... ...................4 .........4 1.1. Khái quát chung...... ................. ............... ................ ............... ................. ............ 4 1.2. Mô hình nén video ................ ................ ............... ................. ............... ............... 4 1.3. Dư thừa thông tin trong tín hiệu video ................... ............................. .................... ................... ................... ................5 ......5 II. KỸ THUẬT MÃ HÓA ĐIỀU XUNG MÃ SAI PHÂN (DPCM) TRONG NÉN NÉN VIDEO VIDEO .................. ............................ .................... .................... ................... ................... .................... ................... ................... .................... ................... .................5 ........5 1. Các phương pháp nén............ ................ ................ ................ ............... ................ .. 5 1.1. Nén không mất thông tin....... ................ ............... ................ ................ ............... 5 1.2. Nén có mất thông tin....... ................. ............... ................ ............... ................. .... 6 1.3. Một số mã dùng trong kỹ thuật nén.................... nén............................. ................... .................... ................... ...................6 ..........6 2. Tìm hiểu chung về phương pháp mã mã hóa DPCM........ ................. ............... .......... 6 2.1. Nguyên lý ................ ................ ............... ................. ............... ................ ............ 6 2.2. Các phương pháp mã hóa DPCM....... DPCM....... ................ ............... ................. ............... .. 9 3. Mã hóa dự đoán trong DPCM............... ................ ................ ................ ............... 13 3.1. Bộ dự đoán đoán sai số ................ ................ ............... ................. ............... ............. 13 3.2. Kỹ thuật dự đoán ................ ................ ............... ................. ............... ............. 14 4. Ảnh hưởng hưởng của bộ dự đoán đến chất lượng lượng nén ................... ............................. .................... ................... ........... 21 5. Bộ lượng tử hóa và ảnh hưởng hưởng của bộ lượng tử hóa đến chất lượng lượng nén video 26 5.1. Lượng tử hóa tuyến tính........ ................ ............... ................ ................ ............. 27 5.2. Lượng tử hóa phi tuyến...... ................ ............... ................. ............... ................ 31 5.3. Lượng tử hóa sai số số dự đoán ................. ............... ................ ................ ............. 33 6. Phương pháp DPCM DPCM với kỹ thuật bù chuyển động động ............... ................ ............. 34 6.1. Kỹ thuật bù chuyển động ............... ................. ............... ................ ............... ... 34 6.2. Các kiểu khung hình ............... ................. ............... ................ ................ .......... 36 6.3. Các kỹ thuật bù chuyển động ................ ................ ............... ................ ............. 36 7. Phương pháp DPCM DPCM với kĩ thuật thuật ước lượng lượng chuyển động ................ ................ 40 7.1. Kỹ thuật ước lượng chuyển động......................... động................................... .................... ................... .................... ................ ..... 40 7.2. Kĩ thuật DPCM và ước lượng chuyển động trong nén video......................... video............................. .... 41 7.3. Lượng tử hóa thích nghi........ ................ ............... ................ ................ ............. 44 7.4. Ảnh hưởng của IntraFrame và InterFrame trong lượng tử hóa......................... .. 45 TÀI LIỆU THAM KHẢO ............... ................ ............... ................. ............... ............. 48
Hà Nội Nội – tháng tháng 05/201 05/20122 Page Page 2
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư S ư phạm kỹ thuật
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư S ư phạm kỹ thuật
I. GIỚI THIỆU CHUNG PHÂN CÔNG NHIỆM VỤ 1. Nguyễn 1. Nguyễn Quốc Phương : Phương : Tìm hiểu chung về kỹ thuật DPCM Tìm hiểu hiểu về sai số lượng lượng tử Sai số dự đoán đoán Ảnh hưởng của nó đến tỉ số nén và mất mát thông tin. tin. 2. Vũ Hoàng Hoàng Lâm Lâm : Ảnh hưởng hưởng của bộ dự đoán đến chất chất lượng lượng nén ảnh tĩnh tĩnh 3. Nguyễn Văn Văn Trường: Ảnh hưởng của bộ dự đoán đoán đến chất lượng nén audio 3. Chu Quỳnh Nga: Nga: Ảnh hưởng của bộ dự đoán đến chất lượng nén video video 4. Nguyễn 4. Nguyễn Trung Hiếu+Lê Thanh Trà : Bộ lượng lượng tử hóa hóa và ảnh hưởng hưởng của của bộ lượng tử hóa đến chất lượng nén video 5. Hoàng 5. Hoàng Thế Đại: Đại: Phương pháp DPCM với kỹ thuật bù chuyển động 6. Đặng 6. Đặng Thu Hương : Hương : Phương Phương pháp DPCM DPCM với với kỹ thuật đánh giá giá chuyển chuyển động
1. Khái Khái niệmvề kĩ thuật thuật nén 1.1. Khái quát chung Trong tất cả các dạng tín hiệu thì tín hiệu truyền hình chiếm dải tần lớn nhất cho một kênh thông tin.Tín hiệu video số thành phần (số hóa 8 bit) có tốc độ bit bằng 216 Mbit/s.Dải phổ cần thiết để truyền tín hiệu này phải có bề rộng không dưới (3/4) x 216 = 162 MHz.Trong studio, truyền tín hiệu bằng cáp, giắc nối chất lượng cao và với khoảng cách ngắn việc nén dải tần chỉ mang tính kinh tế, việc truyền tín hiệu có thể thực hiện mà không cần nén.Song sẽ rất khó khăn, thậm chí không thể thực hiện được việc truyền tín hiệu video số qua vệ tinh với độ rộng dải tần một kênh 27 MHz hoặc qua hệ thống truyền hình quảng quảng bá trên mặt đất với tiêu tiêu chuẩn 7 – 8 MHz cho một kênh kênh truyền hình hình tiêu chuẩn.Do vậy, nén tín hiệu video là công đoạn không thể thiếu để khắc phục được những khó khăn trên. Nén về cơ bản là một quá trình trong đó lượng số liệu (data) biểu diễn lượ ng thông tin của một ảnh hoặc nhiều ảnh được giảm bớt bằng cách loại bỏ những số liệu dư thừa trong tín hiệu video.Các chuỗi ảnh truyền hình có nhiều phần ảnh giống nhau.Vậy nhau.Vậy tín hiệu truyền hình có chứa nhiều dữ liệu dư thừa, ta có thể bỏ qua mà không làm mất thông tin hình ảnh.Đó là các phần xóa dòng, xóa mành, vùng vùng ảnh tĩnh hoặc chuyển động rất chậm, vùng ảnh nền giống giống nhau, mà ở đó các phần tử liên tiếp giống giống nhau hoặc hoặc khác nhau rất rất ít.Thường thì chuyển động trong ảnh truyền hình có thể được dự báo, do đó chỉ cần truyền các thông tin về chuyển động.Các phần tử lân cận trong ảnh thường giống nhau, do đó chỉ cần truyền các thông tin biến đổi.Các hệ thống nén sử dụng đặc tính này của tín hiệu video và các đặc trưng của mắt người (là kém nhậy với sai số trong hình ảnh có nhiều chi tiết và các phần tử chuyển động).Quá động).Quá trình sau nén ảnh là dãn ảnh để tạo lại ảnh gốc hoặc một xấp xỉ ảnh gốc. 1.2. Mô hình nén video Hệ thống nén video gồm ba thành phần cơ bản :
Hình 1. Mô hình hệ thống nén video Ở tầng đầu tiên của bộ mã hóa video, tín hiệu video được trình bày dưới dạng thuận tiện để nén có hiệu quả nhất.Điểm cốt yếu là phải xác định cái gì được mã hóa.Sự biểu diễn có thể chứa nhiều mẩu thông tin để mô tả tín hiệu hơn là chính tín hiệu, nhưng hầu hết Page Page 3
Page Page 4
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
các thông tin quan trọng chỉ tập trung trong một phần nhỏ của sự mô tả này.Trong cách biểu diễn có hiệu quả, chỉ có phần nhỏ dữ liệu là cần thiết để truyền cho việc tái tạo lại tín hiệu video. Hoạt động thứ hai của bộ mã hóa là lượng tử hóa, giúp rời rạc hóa thông tin được biểu diễn.Để truyền tín hiệu video qua một kênh số, những thông tin biểu diễn được lượng tử hóa thành một số hữu hạn các mức. Hoạt động thứ ba là gán các từ mã.Các từ mã này là một chuỗi bit dùng để biểu diễn các mức lượng tử hóa.Các quá trình sẽ ngược lại trong bộ giải mã video. Mỗi hoạt động cố gắng loại bỏ phần dư thừa trong tín hiệu video và tận dụng sự giới hạn của hệ thống nhìn của mắt người.Nhờ bỏ đi các phần tử dư thừa, các thông tin giống nhau hoặc có liên quan đến nhau sẽ không được truyền đi.Những thông tin bỏ đi mà không ảnh hưởng đến việc nhìn, cũng sẽ không được truyền đi. 1.3. Dư thừa thông tin trong tín hiệu video Nén số liệu là quá trình giảm lượng số l iệu cần thiết để biểu diễn cùng một lượng thông tin cho trước.Cần phải phân biệt giữa số liệu và thông tin.Thực tế số liệu và thông tin không đồng nghĩa với nhau.Số liệu (và do đó tín hiệu) chỉ là phương tiện dùng để truyền tải thông tin.Cùng một lượng thông tin cho trước có thể biểu diễn bằng các lượng số liệu khác nhau.Ví dụ, nếu hai người khác nhau dùng số từ khác nhau để kể cùng một câu truyện, sẽ có hai phiên bản khác nhau của câu truyện và một có chứa số liệu không chủ yếu, nó bao gồm số liệu hoặc từ không cho thông tin thích hợp lẫn xác định đã biết.Đó là do nó đã chứa độ dư thừa số liệu.
II. KỸ THUẬT MÃ HÓA ĐIỀU XUNG MÃ SAI PHÂN (DPCM) TRONG NÉN VIDEO 1. Các phương pháp nén 1.1. Nén không mất thông tin Nén không mất thông tin cho phép phục hồi lại đúng tín hiệu ban đầu sau khi giải nén.Đây là một quá trình mã hóa có tính thuận nghịch.Hệ số nén phụ thuộc vào chi tiết ảnh được nén.Hệ số nén của phương pháp nén không mất thông tin nhỏ hơn 2:1.Các kỹ thuật nén không mất thông tin bao gồm : -
Mã hóa với độ dài (của từ mã) thay đổi (VLC) Mã hóa với độ dài (của từ mã) động (RLC) Sử dụng khoảng xóa dòng và mành Biến đổi cosin rời rạc (DCT)
Page 5
Kỹ thuật điều xung mã sai phân – DPCM
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
1.2. Nén có mất thông tin Nén có mất thông tin sử dụng hai hoặc nhiều hơn cá c kỹ thuật xử lý nhằm đạt được một sự biểu diễn mã hóa thuận lợi tín hiệu hình ảnh.Nén có mất thông tin đạt được hệ số nén cao hơn so với phương pháp nén không mất thông tin, vào cỡ 2:1 đến 100:1.Sau khi nén, một số thông tin sẽ bị mất và chất lượng ảnh bị suy hao do quá trình làm tròn và loại bỏ giá trị trong phạm vi khung hình hay giữa các khung hình.Suy hao chất lượng ảnh sẽ không trầm trọng khi kỹ thuật nén nằm trong giới hạn của sự cảm nhận của mắt người.Hệ số nén có thể thay đổi theo chi tiết ảnh, và cho phép tạo ra dòng bit có tốc độ không đổi, phục vụ cho các ứng dụng lưu trữ và truyền dẫn.Tốc độ dòng số liệu đạt được trong hệ thống nén có mất thông tin phụ thuộc vào yêu cầu chất lượng ảnh cần có. Bao gồm : - Lấy mẫu con (subsampling) - Điều xung mã vi sai (DPCM) - Lượng tử hóa và mã hóa VLC các hệ số DCT 1.3. Một số mã dùng trong kỹ thuật nén - Mã RLC - Mã Shannon-fano - Mã Huffma n 2. Tìm hiểu chung về phương pháp mã hóa DPCM 2.1. Nguyên lý Điều xung mã sai phân (DPCM – Differentical Pulse Code Modulation) là phương pháp nén dữ liệu có mất mát thông tin. Cơ sở của phương pháp này dựa trên mã hóa dự đoán, thường đước sử dụng đối với các tín hiệu lấy mẫu có độ tương quan mạnh (nghĩa là hai mẫu gần nhau là khá tương tự nhau), có quan hệ lân cận giữa các mẫu, như tín hiệu ảnh video, tín hiệu tiếng nói… Như vậy sẽ có nhiều lợi ích khi mã hóa sự khác nhau giữa các mẫu kế cận thay cho mã hóa giá trị tuyệt đối của mỗi mẫu. Nguyên tắc của mã hóa dự đoán : Mã hóa sự sai khác giữa các mẫu : mẫu dự đoán theo thời điểm trước và mẫu hiện tại. Giá trị mẫu được giải mã dựa trên sự sai khác và giá trị dự đoán ở thời điểm trước nó. Như vậy có thể thấy rằng thay vì truyền đi toàn bộ thông tin của các mẫu, ta chỉ truyền đi sự sai lệch giữa các mẫu. Điều này cho phép đạt được hiệu quả nén cao hơn nhiều so với việc mã hóa và truyền đi giá trị của từng mẫu riêng biệt.
Page 6
Nhóm 1- Sư phạm kỹ thuật
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
Hình 3. Sơ đồ minh hoạ quá trình lấy mẫu Ở đầu thu để phục hồi lại được tín hiệu ban đầu, người ta dùng bộ lọc. Tín hiệu rời rạc khi qua bộ lọc thông thấp, với tần số cơ bản của tín hiệu sẽ cho ra tín hiệu ban đầu. Quá trình phục hồi đó được minh hoạ ở hình 4 Sơ đồ nguyên lý DMCP
Hình 4. Sơ đồ biểu diễn minh hoạ sự phục hồi tín hiệu liên tục. 2.1.2. Lượng tử hóa (Quantization) Là thay thế một tín hiệu tương tự đã được lấy mẫu bằng tập hữu hạn của các mức biên độ, tức là biến đổi tín hiệu liên tục theo các mức thành tín hiệu biên độ rời rạc. Ưu điểm của lượng tử hóa tín hiệu đã lấy mẫu là giảm được ảnh hưởng của nhiễu. Các mức tín hiệu rời rạc này gọi là mức lượng tử hoá, khoảng cách giữa hai mức lượng tử hoá gọi là bước lượng tử hoá. Hình 2. Sơ đồ nguyên lý DPCM 2.1.1. Lấy mẫu (Sampling) Lấy mẫu chính là quá trình rời rạc hoá tín hiệu tương tự. Đây là bước chuyển tín hiệu mang thông tin dạng liên tục thành tín hiệu mang thông tin rời rạc, bằng phương pháp lấy mẫu (Sampling). Sao cho tín hiệu rời rạc phải mang đẩy đủ thông tin của tín hiệu tương tự, để tái tạo được thông tin một cách trung thực ở đầu thu. Quá trình lấy mẫu được phát biểu như sau: Một tín hiệu X(t) liên tục theo thời gian có phổ hạn chế từ (0¸Fmax)Hz, được hoàn toàn xác định bởi những giá trị X(k Dt) của nó lấy các khoảng thời gian t =1/2Fmax với Fmax là tần số cao nhất của phổ làm X(t). Nếu gọi T1m là chu kỳ lẫy mẫu và F1m là tần số lấy mẫu ta có: T1m = 1/2Fmax.
Page 7
Hình 5. Sơ đồ mô tả lượng tử hoá 2.1.3. Bộ dự đoán (Pridector) Do độ tương quan giữa các mẫu tín hiệu như tín hiệu tiếng nói, tín hiệu video,... là khá lớn nên có thể thực hiện dự đoán một cách gần đúng một giá trị mẫu nào đó từ một số mẫu trước đó. Bộ dự đoán được sử dụng để tính toán dự đoán ra các mẫu tín hiệu theo mẫu tại thời điểm trước (tín hiệu tham chiếu). Trong quá trình dự đoán sẽ có sai số dự đoán(Pridection error). Cần phân biệt giữa sai số dự đoán và sai số lượng tử. Hai khái niệm này có bản chất khác nhau : Sai số dự đoán (prediction error) chỉ là sự chênh lệch giữa giá trị dự đoán và giá trị thực. Nó không làm tổn thất thông tin dẫn đến suy giảm chất lượng ảnh. Giá trị sai số này quyết định tốc độ bit giảm đi nhiều hay ít, tức ảnh hưởng đến hiệu suất nén. Sai số lượng tử (quantization error) là sai số đặc trưng cho sự tổn thất dữ liệu dẫn đến làm suy giảm chất lượng ảnh phục hồi. Page 8
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
Kỹ thuật điều xung mã sai phân – DPCM ^
2.1.4. Bộ mã hóa Bộ mã hóa sẽ mã hóa các sai số dự đoán thành các từ mã nhị phân và được truyền đi. Để mã hóa tín hiệu có thể dùng các phương pháp : Mã hóa tuyến tính Mã hóa phi tuyến
Giải mã : x [n] =
^
+ x [n-1]
Ta thấy ^
^
d [0] = d[0] + q[0]; d [1] = d[1] + q[1] ^
x [0]
2.2. Các phương pháp mã hóa DPCM 2.2.1. DPCM vòng mở (open-loop DPCM)
^
d [n]
Nhóm 1- Sư phạm kỹ thuật
^
x [1]
^
= d [0] = d[0] + q[0] ^
^
= d [1] + x [0] = d[1] + q[1] + d[0] + q[0] = x[1] – x[0] + q[1] + x[0] + q[0]
^
=> [1] = x[1] + q[1] + q[0] x
.... n
^
=> [n] = x[n] + q[i] x
i 0
Như vậy có thể thấy với kỹ thuật Open-Loop DPCM, sau mỗi vòng lặp sai số lượng tử hóa q[i] lại được cộng thêm vào (Quantization error Accumulation) n
^
| q[i] | = [n] - x[n] x
i 0
Tức là sai số lượng tử hóa sau khi mã hóa sẽ rất lớn. 2.2.2. DPCM vòng đóng (closed-loop DPCM) Để khắc phục nhược điểm sai số dự đoán lớn của phương pháp Open-loop DPCM, ta đưa bộ lượng tử hóa và lượng tử hóa ngược vào trong vòng lặp. Hình 6. Open-loop DPCM \
^
gọi q là sai số lượng tử hóa, ta có d [n] = d[n] + q[n] Mã hóa :d[n] = x[n] - x[n-1]
Page 10
Page 9
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
2.2.3. DPCM dùng bộ dự đoán tuyến tính (Linear Pridection) Cả 2 phương pháp Open-loop DPCM và Closed-loop DPCM ở trên đều có chung một cách tính sự sai khác. Đó là tính sự sai khác của mẫu hiện tại chỉ dựa trên mẫu dự đoán của tín hiệu đứng ngay trước nó. Nếu như có thể tính sự sai khác từ tất cả các mẫu dự đoán trước mẫu hiện tại thì sai số lượng tử hóa còn được giảm xuống nữa. Như vậy sẽ đạt được độ nén cao hơn. Đây chính là ý tưởng của phương pháp DPCM dùng bộ dự đoán tuyến tính (Linear Pridection).
Hình 7. Closed-loop DPCM Với cách bố trí như trong sơ đồ ta có Mã hóa : d[n] = x[n] ^
Giải mã : x [n] =
^
x
^
[n-1] ^
d [n] + x
[n-1]
Có thể thấy ngay rằng : ^
x [0] ^
x [1]
^
= d [0] = d[0] + q[0] = x[0] + q[0] ^
Hình 8. DPCM với Linear Pridiction
^
^
= d [1] + x [0] = d[1] + q[1] + x[0] + q[0] = x[1] - [0] + q[1] + x[0] + q[0] x
^
=> [1] = x[1] + q[1] x
....
Sử dụng hàm P(Z) được xác định bẳng tổng của tất cả các mẫu dự đoán tính đến thời điểm đang xét. Vì sử dụng hàm tuyến tính nên P(Z) sẽ có dạng ^
^
^
x
x
N
^
p[n] ={ x [n] | , [n-1], [n-2], ..., x [n-N]} = ^
=> [n] = x[n] + q[n] x
=> q[n] =
^
x
i 1
[n] - x[n]
Như vậy sai số lượng tử hóa đã không có sự tích lũy (accumulation) sau mỗi vòng lặ p => giảm được đáng kể sai số lượng tử hóa.
Mã hóa : d[n] = x[n] ^
Giải mã : x [n] =
^
^
p
[n] ^
d [n] + p
[n]
Quá trình giải mã tương tự như phương pháp Open-loop DPCM Page
Page
^
ai x[n i]
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
3.2. Kỹ thuật dự đoán Nếu trực tiếp lượng tử hoá và mã hoá các mẫu của một nguồn ảnh với đầy đủ thông tin dư thừa và quan hệ tương hỗ giữa các điểm ảnh thì hiệu suất nén sẽ rất thấp do lượng thông tin của nguồn quá lớn. Do vậy trong các công nghệ nén, cần loại bỏ đi tính có nhớ của nguồn tín hiệu, tức thực hiện “giải tương hỗ” (deccorelation) giữa các mẫu điểm lân cận nhau. Trong công nghệ nén “điều xung mã vi sai” DPCM, quá trình giải tương hỗ được thực hiện bằng một bộ lọc có đáp ứng đầu ra là hiệu số giữa các mẫu điểm liên tiếp đầu vào và một giá trị “dự đoán” của mẫu điểm đó tạo được dựa trên giá trị các mẫu lân cận theo một qui luật nhất định. 3. Mã hóa dự đoán trong DPCM 3.1. Bộ dự đoán sai số
3.2.1. Sai số dự đoán (Prediction error) Bộ tạo dự đoán có nhiệm vụ tạo ra giá trị điểm tiếp theo từ giá trị các điểm đã truyền tải trước đó được lưu trữ. Quá trình tạo dự đoán càng tốt thì sự sai khác giữa giá trị thực của mẫu hiện hành và trị dự đoán cho nó (gọi là sai số dự đoán) càng nhỏ. Khi đó, tốc độ dòng bit càng được giảm nhiều. Phân biệt giữa sai số dự đoán và sai số lượng tử như đã trình bày ở phần trên. 3.2.2. Dự doán cho ảnh truyền hình (prediction for television pictures) Dự đoán cho ảnh truyền hình được thực hiện với dòng dữ liệu ảnh đơn thuần (không chứa đựng tín hiệu âm thanh). Phương pháp quét điển hình trong truyền hình là quét cách dòng. Các dòng không được quét liên tiếp nhau mà chia làm hai mảnh: mảnh chẵn chứa thông tin của dòng chẵn, mảnh lẻ gồm các dòng lẻ xuất hiện giữa hai mảnh chẵn liên tiếp nhau. Một khung (frame) tương ứng với một ảnh sẽ gồm một mảnh chẵn và một mảnh lẻ kề nhau. Từ phương pháp quét đó, có các phương pháp tạo dự đoán như sau: a. Dự đoán Intrafield (Intrafield Prediction): Chỉ sử dụng các điểm thuộc nửa ảnh (một mảnh) để tạo dự đoán. Dự đoán trong mảnh không tận dụng được quan hệ giữa các điểm ảnh lân cận nhau theo chiều đứng nên có thể cho sai số dự đoán cao.
Hình 9. DPCM với Bộ dự đoán Công nghệ DPCM thực hiện loại bỏ tính có nhớ và các thông tin dư thừa của nguồn tín hiệu bằng một bộ lọc đặc biệt có đáp ứng đầu ra là hiệu số giữa mẫu đầu vào và giá trị dự đoán của chính nó. Rất nhiều giá trị vi sai này gần 0 nếu các điểm ảnh biến đổi đồng đều. Còn với ảnh có nhiều chi tiết, giá trị sai số dự đoán có thể lớn. Khi đó có thể lượng tử hoá chúng bằng bước lượng tử cao hơn do đặc điểm của mắt người không nhạy cảm với những chi tiết có độ tương phản cao, thay đổi nhanh. Sự giảm tốc độ bit ở đây thu được từ quá trình lượng tử hoá và mã hoá. Page 13
Kỹ thuật điều xung mã sai phân – DPCM
b. Dự đoán Intraframe (Intraframe Prediction): Với sự hỗ trợ của một bộ nhớ mảnh, dự đoán trong ảnh sử dụng tất cả các điểm thuộc cả hai mảnh của một khung để tạo dự đoán. Như vậy sẽ lợi dụng được quan hệ tương hỗ của các điểm lân cận theo cả Phương ngang và Phương đứng nên dự đoán chính xác hơn, cho sai số dự đoán nhỏ hơn. Page 14
Nhóm 1- Sư phạm kỹ thuật
c. Dự đoán Interfield (Interfield prediction): Phương pháp tạo dự đoán này sử dụng cả khung hiện hành và khung tham chiếu khác. Dự đoán liên mảnh chỉ sử dụng một mảnh (chẵn hoặc lể) ở các khung khác nhau. d. Dự đoán interframe (Interframe prediction): Phương pháp này sử dụng cả hai mảnh ở các ảnh kề nhau.
Kỹ thuật điều xung mã sai phân – DPCM c: Dự báo liên mảnh (Interfield)
Nhóm 1- Sư phạm kỹ thuật d: Dự báo liên ảnh (Interframe
3.2.3. Dự đoán Intra (Intra prediction) Đối với dự đoán intra, giá trị dự đoán của điểm hiện hành sẽ là tổng giá trị các điểm lân cận a, b, c, d của nó theo một trọng số xác định. S(n) = k a.s(a) + k b.s(b) + k c.s(c) + k d.s(d) Thông th−ờng, k a + k b + k c + k d = 1 vì giá trị điểm truyền tải th−ờng không vượt quá giá trị trung bình xung quanh. Nếu k a = 1, k b = c a = k d = 0 ta có dự đoán một chiều (1_D prediction). Dự đoán này cho giá trị tốt nếu ảnh có rìa theo chiều ngang. Nếu ảnh có rìa đứng (theo chiều ngang giá trị điểm ảnh biến đổi nhiều) thì sai số tạo ra sẽ lớn. Như vậy, 1_D prediction sẽ cho sai số dự đoán nhỏ nếu rìa ảnh đúng chiều dự đoán.
Hình 11. Dự báo trong mảnh 2 chiều đơn giản Bộ tạo dự báo hai chiều (2_D prediction) sử dụng tất cả các giá trị a, b, c, d theo luật trọng số lớn nhất tập trung cho điểm sát bên trái điểm cần dự báo. Dự báo 2_D tốt cho ảnh bề mặt (tức ảnh không có sự thay đổi theo rìa). Nếu ảnh có sự thay đổi rõ rệt giá trị các điểm ảnh theo một đường rìa nhất định thì dự đoán 2_D lại cho sai số dự đoán lớn hơn khi sử dụng dự đoán 1_D có chiều phù hợp. Chính vì lí do này, trong nén ảnh số, có một phương pháp tạo trị dự đoán sử dụng kết hợp tất cả các loại dự đoán intra gọi là “dự đoán thích nghi”.
Hình 10. a: Dự báo trong mảnh (Intrafield)b: Dự báo trong ảnh (Intraframe) Page 15
Tạo dự đoán thích nghi (Adaptive prediction): Trong Phương pháp tạo dự đoán này, tuỳ thuộc đặc điểm của từng vùng ảnh, sẽ có sự lựa chọn bộ tạo dự đoán phù hợp. Đối với vùng ảnh có rìa đứng, sử dụng dự đoán 1_D theo Page
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
chiều đứng, nếu vùng ảnh có rìa ngang, dùng dự đoán 1_D chiều ngang. Còn vùng ảnh bề mặt (sự biến đổi giá trị điểm ảnh theo hai chiều là như nhau) thì phù hợp với tạo dự đoán 2 chiều. Luật tạo dự đoán này thích nghi theo tín hiệu nên chất lượng dự đoán rất cao, sai số dự đoán nhỏ. Nếu quan sát ảnh tạo bới tín hiệu sai số dự đoán thích nghi ta sẽ thấy mức đen của ảnh rất cao hơn khi sử dụng các phương pháp tạo dự đoán riêng rẽ. Sau đây là minh hoạ chất lượng các phương pháp tạo dự đoán. Ảnh quan sát được từ nguồn tín hiệu sai số dự đoán càng đen tức tín hiệu sai số dự đoán càng nhỏ và quá trình dự đoán càng chính xác. Dự đoán thích nghi đơn giản nhất là trong trường hợp chỉ phải lựa chọn giữa hai bộ tạo dự đoán một chiều theo phương ngang và phương thẳng đứng. Khi đó, một phép so sánh giá trị điểm ảnh theo hai phương được thực hiên. Nếu sự biến đổi giá trị ảnh lân cận theo chiều nào lớn hơn, bộ tạo dự đoán theo chiều đó được sử dụng. 3.2.4. Tạo dự đoán Inter Việc tạo dự đoán sẽ có chất lượng cao hơn nếu sử dụng nhiều điểm ảnh có cùng toạ độ (x, y) trong một chuỗi ảnh liên tiếp nhau. Trong dự đoán Inter còn có khái niệm “bù chuyển động”. Tạo dự đoán Inter có bù chuyển động được sử dụng trong các công nghệ nén nhằm đạt được hiệu suất nén cao. a. Khái niệm bù chuyển động Phương pháp bù chuyển động là phương pháp khôi phục ảnh bằng cách sử dụng vecto chuyển động và sai số chuyển động (phần sai lệch nhỏ nhất giữa hai ảnh). b. Vai trò của bù chuyển động Trong tín hiệu video thông thường các khung liền nhau thường giống nhau. Do vậy trong dự báo Interframe một chiều giá trị dự báo là rất gần với giá trị ảnh thực tế dẫn đến sai số dự báo nhỏ, tốc độ dòng bít dữ liệu nhỏ. Khi có chuyển động xảy ra ví dụ như cảnh di chuyển của một quả bóng.
Hình 12. Xem xét di chuyển của quả bóng trong bù chuyển động Nếu chúng ta xem xét nội dung của điểm ảnh tương tự trong khung hình kế tiếp, chúng ta sẽ thấy rằng các điểm có cùng vị trí trong vùng chuyển động trong khung tạm thời và khung trước là rất khác biệt. Không khó khi phát hiện điểm tương đồng giữa các điểm ảnh, các hình ảnh khác biệt bị thu tín hiệu cải thiện đáng kể ở khu vực chuyển động. Kết quả là nhiều dữ liệu dư thừa phải truyền cho các khung hình khác biệt. Do vậy sai số dự báo tăng lên, tốc độ bít tăng lên và hiệu số nén giảm. Do vậy với ảnh chuyển động thì phương pháp dự báo trong khung là không hợp lý. Một phương pháp dự đoán để tìm ra các chi tiết ảnh thay thế giữa hai khung hình liền nhau và tạo ra một vector chuyển động chỉ rõ vị trí mới của chi tiết ảnh này trong khung hình tương ứng . Theo đó vector chuyển động sẽ phối hợp tất cả các khối được nén trong khung hình trước đó mà khối các điểm ảnh này lại được lặp lại tại một vị trí mới. Phương pháp này được gọi là dự đoán bù chuyển động. c. Kỹ thuật bù chuyển động Kỹ thuật tiên đoán bù chuyển động được sử dụng như là một trong những công cụ mạnh để làm giảm sự dư thừa về không gian giữa các bức ảnh. Khái niệm về bù chuyển động là dựa trên sự phán đoán hướng chuyển động của các bức ảnh tức là các ảnh thành phần trong dãy video sẽ được thay thế gần đúng. Kỹ thuật tiên đoán bù chuyển động giữa các bức ảnh được xem như là biệ n pháp để hạn chế bớt cá c thông số của chuyển động bởi việc dùng các vector chuyển động để mô tả sự dịch chuyển của các điểm ảnh. Kết quả tiên đoán tốt nhất của một điểm ảnh là dựa trên sự tiên đoán bù chuyển động từ một bức ảnh đã mã hoá được truyền phía rước của nó. Cả hai thông số, sai số chuyển động (biên độ) và các vectors chuyển động (hướng chuyển động) đều được truyền tới phía bên nhận. Dự đoán chuyển động được thực hiện bằng cách sử dụng cấu trúc khối cho các điểm chói.Hình dưới đây minh họa các phần tử của một cấu trúc khối.Vectơ thay thế được dự đoán cho mỗi cấu trúc các khối (macroblock).Các vectơ chuyển động và các mã hóa DCT
Page 17
Kỹ thuật điều xung mã sai phân – DPCM
Page 18
Nhóm 1- Sư phạm kỹ thuật
khác nhau của cấu trúc khối hiện tại và các cấu trúc khối tham chiếu, được chỉ ra bằng các vectơ này, sẽ được truyền đi – sẽ tạo ra một phương pháp có hiệu quả hơn là mã hóa trực tiếp cấu trúc khối hiện tại bằng DCT.
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
d. Bù chuyển động trong dự đoán inter Đo lường chuyển động là một phần của bù chuyển động, trong đó chuyển động của tất cả đối tượng cũ sang khung mới được đo và biên của đối tượng được quy định. Ví dụ hình ảnh một quả bóng di chuyển từ trái sang phải, được biểu diễn bởi hình sau:
Hình 13. Vectơ chuyển động giữa 2 khung hình liền nhau Các khối phối hợp trong số các khối của khung hình trước sử dụng như thành phần dự đoán trong bộ mã hóa DPCM, thành phần dự đoán được lấy từ đầu vào để tạo ra một khung dự đoán sai số ít thông tin.Sai lệch giữa khối hiện tại và dự đoán của nó thuộc khung hình trước sẽ tạo ra khối dự đoán bù chuyển động. Vùng tìm kiếm được xác định quanh cấu trúc các khối trong khung hình hiện tại bao phủ toàn bộ các chuyển động giữa hai khung hình.Các tọa độ của vùng tìm kiếm xác định được truyền đi trong khung hình trước đó để tìm ra vị trí trước đó của cấu trúc khối này.
Hình 14. Bù chuyển động làm giảm dữ liệu của ảnh khác biệt khi có chuyển động Sau khi đo, bóng được chuyển vào trong frame trước đó liên quan đến chuyển động của nó, và ta thu được một khung hình bù chuyển động.Kết quả của bù chuyển động này là một hình ảnh khác biệt rất tối, thậm chí ở các vùng có trong chuyển động. Toàn bộ quá trình truyền tín hiệu của hệ thống interframe –DPCM bù chuyển động được thể hiện qua sơ đồ sau:
Kích thước vùng tìm kiếm được xác định bằng độ phức tạp của quá trình phối hợp khối.Trên vùng tìm kiếm có kích thước 16x16 điểm, có vị trí khối theo chiều ngang phối hợp với 16 vị trí khối theo chiều đứng. Để giảm quá trình tính toán vectơ chuyển động, độ phân giải của ảnh có thể được giảm xuống theo cả hai chiều ngang và chiều thẳng đứng.Bằng cách này có thể làm giảm số bit cần xử lý và dự đoán các phần chính được thay thế trong khung hình.Chẳng hạn một ảnh với độ phân giải đầy đur 720x480 có thể được giảm đến mức 360x240.Ảnh với độ phân giải thấp có thể sử dụng cho vùng dự đoán lớn hơn.Một dự đoán chuyển động mức thô (gần đúng) đầu tiên sẽ được tiến hành trên các ảnh có độ phân giải thấp này.Sau đó, một phép dự đoán vectơ chuyển động chính xác sẽ thực hiện tính toán vị trí thay thế chính xác của các đối tượng giữa hai khung hình. Quá trình dự báo sẽ được thực hiện qua nhiều bước để thu được sự dự báo chính xác cuối cùng. Page
Page
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
chứa đựng một lượng lớn các thông tin thừa, chúng thường được chia thành hai loại: thừa tĩnh bên trong từng frame (statistical) và thừa động giữa các frame (subjective). Mục đích của nén video là nhằm làm giảm số bit khi lưu trữ và khi truyền bằng cách phát hiện để loại bỏ các lượng thông tin dư thừa này và dùng các kỹ thuật Entropy mã hoá để tối thiểu hoá lượng tin quan trọng cần giữ lại. Và bộ dự đoán là một phần quan trọng trong việc tối ưu hóa chất lượng nén video Như đã giới thiệu trong kỹ thuật nén video DPCM, ảnh hưởng của bộ dự đoán đến chất lượng nén video chính là sai số dự đoán (prediction error) mà bộ dự đoán tạo ra. Sai số này quyết định hiệu suất cũng như chất lượng nén. Video về bản chất là những khung ảnh có quan hệ về thời gian, vậy nên xử lý nén video cũng là xử lý trên từng khung hình riêng biệt. Giá trị của điểm ảnh có thể được dự đoán từ giá trị hàng xóm lân cận.
Hình 15. Nén bù chuyển động interframe DPCM
Các kỹ thuật dự đoán thường dùng là dự đoán một chiều (1-dimensional prediction) và dự đoán hai chiều (2- dimensional prediction).
Các ảnh dự báo trong phần nén bao gồm, một bộ nhớ khung hình, một khối thực hiện việc đo chuyển động bằng cách so sánh các khung cũ và mới. Tiếp theo, một khung hình bù chuyển động được tạo tại đầu ra của dự báo với sự trợ giúp của các thông tin chuyển động (đối tượng dự đoán và các vector chuyển động). Chú ý rằng việc đo chuyển động thực hiện tại đầu vào sử dụng khung tạm thời mà vẫn chưa biết đến đầu ra. Các thông tin chuyển động được truyền thêm thông qua một kênh phụ. Điều đó được thể hiện trong sơ đồ sau: Hình 17 : dự đoán lân cận ngang Trong dự đoán một chiều, thứ tự của các điểm ảnh có giá trị tượng tự sẽ được tìm thấy cùng một hàng hay cột của hình ảnh. Còn trong dự đoán 2 chiều sẽ gồm có dự đoán hàng và cột
Hình 16. Giải nén bù chuyển động interframe DPCM
4. Ảnh hưởng của bộdự đoán đến chất lượng nén Kỹ t huật nén ảnh số đang đóng một vai trò cực kỳ quan trọng trong các hệ thống viễn thông và multimedia để giải quyết vấn đề băng thông của đường truyền. Các kỹ thuật nén video đều cố gắng làm giảm lượng thông tin cần thiết cho một chuỗi các bức ảnh mà không làm giảm chất lượng của nó đối với người xem. Nói chung, tín hiệu video thường Page 21
Kỹ thuật điều xung mã sai phân – DPCM
Page 22
Nhóm 1- Sư phạm kỹ thuật
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
biến đổi nhiều) thì sai số tạo ra sẽ lớn (nổi rõ hơn và khác nhiều hơn so với phần ảnh có rìa theo chiều ngang). Cũng tương tự khi quan sát ảnh được dự đoán một chiều theo chiều dọc ( vertical – uV [x,y]), các phần ảnh có rìa theo chiều dọc mờ hơn và gần đúng với giá trị ảnh gốc hơn là các phần ảnh có rìa hướng theo chiều ngang. Cuối cùng là ảnh dự đoán hai chiều (2-dimensional – u D[x,y]), ta có thể thấy được sự đồng nhất tương đối giữa cả phần ảnh chiều ngang và dọc. Ví dụ với một bức ảnh khác
Hình 18 : mô hình dự đoán một chiều và hai chiều Sự ảnh hưởng tới chất lượng ảnh của các kiểu dự đoán trên có thể được thấy khá rõ qua các ví dụ dưới đây:
Hình 20 : dự đoán một chiều và hai chiều Quá trình tạo dự đoán luôn tồn tại một sai số dự đoán nào đó
Hình 19 : dự đoán một chiều và hai chiều Ta thấy như ảnh trên thì giá trị điểm ảnh ban đầu được ký hiệu s[x,y]. Với dự đoán một chiều theo chiều ngang (horizontal – u H [x,y]) có thể thấy dự đoán này cho giá trị tốt với phần ảnh có rìa theo chiều ngang. Phần ảnh có rìa đứng (theo chiều ngang giá trị điểm ảnh Page
Page
Kỹ thuật điều xung mã sai phân – DPCM
Tín hiệu ảnh
Nhóm 1- Sư phạm kỹ thuật
Kỹ thuật điều xung mã sai phân – DPCM
Tín hiệu sai số dự đoán
Nhóm 1- Sư phạm kỹ thuật
Hình 22 : Nhiễu hạt
Hình 21: tín hiệu ảnh và tín hiệu sai số dự đoán Chất lượng nén không đơn thuần dựa vào sai số dự đoán trong quá trình mã hóa, nó còn phụ thuộc quá trình tái tạo các tín hiệu dự đoán ở bộ giải mã. Quá trình nén còn được thực hiện cả trong quá trình lượng tử hóa và hiệu quả nén cũng được quyết định bởi cách lượng tử hóa mẫu tín hiệu ban đầu. Khả năng dự đoán tốt sẽ giảm số bít phải truyền đi, ngược lại khả năng dự báo kém sẽ khiến cho số lượng bít phải truyền tăng lên, ảnh hưởng tới hiệu suất nén
Ảnh ban đầu
Ảnh khôi phục lại
Sai số dự đoán
Hình 23 : Nhiễu quá tải Với số bít khác nhau:
Một số lỗi với sai số dự đoán làm giảm chất lượng ảnh sau sau khi khôi phục:
5. Bộ lượng tử hóa và ảnh hưởng của bộ lượng tử hóa đến chất lượng nén video Lượng tử hóa là ánh xạ không tuyến tính có tổn hao từ khoảng biểu diễn liên tục biên độ Ảnh ban đầu
Page Ảnh khôi phục lại
Sai số dự đoán
25
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
Page 26
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
tín hiệu vào khoảng biểu diễn bởi các giá trị rời rạc của các mức giá trị hay các từ mã. Với R bits chúng ta có thể biểu diễn 2 R mã khác nhau trên mỗi mẫu, mỗi mã có thể biểu diễn một mức biên độ của tín hiệu. Biên độ của tín hiệu có cả giá trị âm và dương do đó chúng ta phải định nghĩa mã để miêu tả cả giá trị biên độ âm và dương. Chúng ta chọn các giá trị điển hình sao cho ở đó có sự cân bằng các mức lượng tử cho cả giá trị âm và dương. Có hai cách chọn: Chọn sử dụng có mức lượng tử bằng không (midtread) hoặc không có mức lượng tử bằng không (midrise). “Midrise” không có mức không do vậy với một tín hiệu đầu vào sẽ cho một số chẵn mức lượng tử ở đầu ra. Ngược lại lượng tử hóa “midtread” sẽ cho ra một số lẻ mức lượng tử ở đầu ra. Với R bits thì lượng tử hóa “midtread” sẽ cho 2R -1 giá trị khác nhau ngược lại lượng tử hóa “midrise” cho 2R mã. Mặc dù cho số mức lượng tử nhỏ hơn nhưng lượng tử hóa “midtread” trong quá trình xử lý tín hiệu audio cho kết quả tốt hơn
Hình 32. Lượng tử hóa tuyến tính kiểu Midrise dùng 2 bit Hình 31. Lượng tử hóa kiểu Midtread và Midrise 5.1. Lượng tử hóa tuyến tính Lượng tử hóa tuyến tính là một kiểu lượng tử hóa đơn giản nhất. Lượng tử hóa tuyến tính là lượng tử với các mức lượng tử bằng nhau. Trong một kiểu lượng tử, phạm vi giá trị đầu vào là một số được biểu diễn bằng ký pháp nhị phân và mã cho một tín hiệu đầu ra là một số nhị phân trong khoảng mà giá trị đầu vào rơi vào. Để định nghĩa phạm vi và mức lượng tử chúng ta cần các thông tin sau: - lượng tử hóa theo kiểu “midtread” hay “midrise” - giá trị lớn nhất của giá trị đầu vào xmax - mức lượn g t ử Δ Thành phần dữ liệu thứ ba định nghĩa số bits cần thiết để biểu diễn một mã ví dụ như R bít cho phép chúng ta biểu diễn 2R mã khác nhau. Với kiểu lượng tử hóa “midrise”, R bits cho phép chúng ta một tập các phạm vi đầu vào là Δ=2*xmax/2R Kiểu lượng tử hóa “midtread” sẽ có phạm vi lớn hơn một chút là Δ=2*xmax/(2R -1) Khoảng giá trị đầu vào là tử -xmax đến xmax, vậy điều gì sẽ xẩy ra khi giá trị đầu vào vượt quá khoảng này? Với các giá trị cao hơn giá trị cao nhất của khoảng thì sẽ được gán giá trị bằng giá trị cao nhất của khoảng, còn các giá trị nhỏ hơn giá trị nhỏ nhất của khoảng thì sẽ được gán giá trị bằng giá trị nhỏ nhất của khoảng. Midrise quantizers
Page
Hình trên minh họa lượng tử hóa tuyến tính kiểu “midrise” 2 bits. Phía tay trái của hình biểu diễn khoảng biên độ đầu vào từ -1 đến 1. Từ 2 bits lượng tử hóa midrise, chúng ta có thể chia khoảng giá trị đầu vào thành 4 mức. Như đã biết thì 4 mức này sẽ có độ rộng bằng nhau. Mỗi mức được biểu diễn bằng giá trị nhị phân t ương ứng: [11], [10], [00], [01] lần lượt tương ứng với các giá trị -1, -0. +0, +1. Chúng ta đã lượng tử hóa tín hiệu đầu vào với 2 bits mã, chúng ta cũng có thể chuyển đổi chúng về dạng biên độ của tín hiệu. Ví dụ với mức [00] là mức nằm trong khoảng biên độ từ 0.0 đến 0.5 của tín hiệu đầu vào. Giả sử rằng các giá trị biên độ được phân bố đều trong mỗi khoảng, chọn mức đầu ra với mức lỗi nhỏ nhất sẽ là giá trị trung tâm của khoảng nghĩa là 0.25. Do đó các mã [11], [10], [00], [01] sẽ lần lượt là -0.75, -0.25, 0.25, 0.75 Lượng tử hóa tuyến tính kiểu midrise với nhiều hơn 2 bits cũng được làm tương tự.
Page
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
Hình 33. Lượng tử hóa tuyến tính kiểu Midtread dùng 2 bit
Giải thuật lượng tử hóa và lượng tử hóa ngược đối với lượng tử hóa tuyến tính kiểu Midrise R bit Ví dụ: biên độ đầu vào là 0.6 thì sau quá trình lượng tử 2 bits sẽ là INT (2*0.6) = INT (1.2) =1 Ta chuyển đổi ngược lại sẽ là (1+ 0.5)/2 = 1.512 = 0.75 Như vậy ta thấy có một khoảng chênh lệch giữa biên độ của tín hiệu ban đầu và biên độ của tín hiệu sau khi được khôi phục lại. Midtread quantizers
Page 29
Kỹ thuật điều xung mã sai phân – DPCM
Hình trên minh họa lượng tử hóa tuyến tính kiểu midtread 2 bits. Với 2 bits chúng ta chỉ biểu diễn đượ c 3 mức biên độ của tín hiệu đầu vào. Có nghĩa là chúng ta chỉ có thể chia khoảng giá trị đầu vào thành 3 mức đo đó sẽ có độ rộng lớn hơn so với trường hợp của midrise. Các mức chúng ta có là [11], [00], [01] lần lượt tương ứng với các giá trị -1, 0, +1, và mã [10] không được sử dụng. Giá trị lượng tử hóa ngược vẫn là trung tâm của khoảng giá trị trong trường hợp này sẽ lần lượt là -2/3, 0, và +2/3. Chú ý rằng giá trị 0 vẫn được giữ. Tín hiệu audio thường có khoảng lặng do đó lượng tử hóa có thể biểu diễn tín hiệu với biên độ bằng 0 rất phù hợp trong xử lý tín hiệu audio.
Page 30
Nhóm 1- Sư phạm kỹ thuật
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
c(|x|) sẽ cho một biểu đồ đầu vào từ 0 đến 1.0 trên khoảng từ 0 đến 1.0. Với yêu cầu c(x) đơn điệu tăng do đó c(x) dễ dàng có thể đảo ngược lại. Để có một hình dung về sự co giãn ảnh hưởng như thế nào đến lượng tử hóa, chúng ta xem kích cỡ của các bước lượng tử thay đổi như thế nào đối với mức tín hiệu đầu vào x. Như chúng ta đã biết các bước lượng tử trong lượng tử hóa tuyến tính là đều nhau. Nếu chúng ta lượng tử sử dụng một lượng lớn các bít thì bước lượng tử sẽ nhỏ, y=c(x) xấp xỉ tuyến tính và chúng ta có y(x) ≈ c(x0) + dc/dx(x-x0) Với x0 cố định trong mỗi mức. Độ rộng trong x của một mức lượng tử được thu nhỏ bởi tỷ số giữa dc và dx từ độ rộng trong y. Ví dụ, nếu chúng ta chọn một hàm c(x) có độ dốc cao cho giá trị x nhỏ thì chúng ta có lượng tử hóa nhiễu nhỏ hơn so với lượng tử hóa tuyến tính. Tuy nhiên, hàm c(|x|) phải chạy tuyến tính từ 0 đến 1.0, độ dốc cao cho giá trị x thấp bao hàm độ dốc thấp hơn và nhiều hơn lượng tử hóa nhiễu cho các giá trị x cao hơn. Do đó, chúng ta có sử dụng hàm co giãn để di chuyển lượng tử hóa nhiễu từ biên độ đầu vào thấp đến biên độ đầu vào cao hơn. Lượng tử hóa phi tuyến có thể được sử dụng để làm giảm tỷ lệ nhiễu trên tạp âm (SNR)
Giải thuật lượng tử hóa và lượng tử hóa ngược đối với lượng tử hóa tuyến tính kiểu Midtread R bit Ví dụ: biên độ đầu vào là 0.6 thì sau quá trình lượng tử 2 bits sẽ là INT ((3*0.6+1)/2) = INT (1.4) =1 Ta chuyển đổi ngược lại sẽ là 2*1/3 = 2/3 Như vậy ta thấy có một khoảng chênh l ệch giữa biên độ của tí n hiệu ban đầu và biên độ của tín hiệu sau khi được khôi phục lại. Lượng tử hóa tuyến tính có giá trị làm tròn lỗi lớn nhất bằng nửa độ rộng của khoảng giá trị tại mọi nơi, mức đầu vào không tải chồng. Tuy nhiên lỗi này sẽ chở nên nghiêm trọng đối với các tín hiệu có biên độ nhỏ 5.2. Lượng tử hóa phi tuyến Lượng tử với các bước lượng tử không yêu cầu phải bằng nhau, với độ rộng của mỗi bước thay đổi tương ứng với biên độ của tí n hiệu đầu vào gọi là lượng tử hóa phi tuyến. Lượng tử hóa phi tuyến thường sử dụng phương thức co giãn Trong phương thức co giãn, có một đầu vào x được truyền vào thông qua một hàm đơn điệu tăng y = c(x) Lượng tử hóa ngược sẽ được thực hiện: x’=c-1(y’) Trong đó hàm c(x) không đối xứng xung quanh x=0 do đó giá trị x âm sẽ được biểu diễn bằng giá trị âm. Chúng ta có thể định nghĩa c(x) thông qua c(|x|). Nếu xét tín hiệu đầu vào và lượng tử hóa tuyến tính thì tín hiệu thuộc khoản -1.0 đến 1.0, sau đó dùng hàm co giãn Page
Hình 34. Hiệu ứng co giãn trên bộ lượng tử hóa kiểu Midtread 4 bit Có hai kiểu hàm thường được dùng trong co giãn - Co giãn theo luật hàm mũ - Co giãn theo luật hàm logarit Co giãn theo luật hàm mũ Trong co giãn theo luật hàm mũ chúng ta sử dụng công thức c power (|x|)=|x| p Chọn tham số p trong khoảng 0 đến 1.0 sao cho độ dốc của c(x) cao đối với cac giá trị x nhỏ. Co giãn theo luật hàm logarit Trong co giãn theo luật hàm logarit chúng ta sử dụng một hàm co giãn dựa trên hàm log(x). Tuy nhiên do log (0) bằng -∞ do đó hàm này không thể được dùng để điều chỉnh. Một biểu thức thường dùng cho co giãn theo luật hàm logarit là “luật µ” Page
Kỹ thuật điều xung mã sai phân – DPCM
c
(|
x
|)
lo g
b
(1
Nhóm 1- Sư phạm kỹ thuật
|
x
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
|)
l o g b ( 1 ) Cơ số b không ảnh hưởng đến hàm và tham số µ quyết định đến độ dốc của dc/dx đến gần không. Độ dốc của c(x) gần x=0 bằng µ/ln(1+µ) và giá trị của µ>>1. Một dạng khác của co giãn theo luật hàm logarit là “luật A” c
A
1 ln ( A | x |) fo r | x | 1 / A 1 ln ( A ) ( | x |) A | x | fo r | x | 1 / A 1 ln ( A )
A>>1; Cả “luật µ” và “luật A” đều có những ứng dụng quan trọng trong kỹ thuật viễn thông và được chuẩn hóa bởi CCITT. Các giá trị µ và A được chọn trong chuẩn là µ=255 và A=87.56 6. Phương pháp DPCM với kỹ thuật bù chuyển động 5.3. Lượng tử hóa sai số dự đoán Giá trị biên độ vi sai phụ thuộc vào tính chất ảnh. Trong vùng ảnh thuần nhất, giá trị này thường nhỏ. Đối với các rìa ảnh và ảnh có nhiều chi tiết, giá trị dự đoán sẽ kém chính xác đi dẫn tới sai số dự đoán sẽ lớn lên. Do những đặc điểm này, nếu sử dụng bộ lượng tử hoá tuyến tính với một bước lượng tử, sẽ gây ra nhiều lỗi: Tại vùng ảnh thuần nhất, giá trị dự đoán vi sai sấp xỉ bằng 0. Bước lượng tử lớn gây ra nhiễu hạt (granular noise) Tại vùng ảnh có rìa hoặc nhiều chi tiết, bậc độ tương phản giữa các điểm ảnh cao dẫn tới một giá trị sai số dự đoán lớn làm quá tải thang lượng tử (slope overload). Độ dốc tín hiệu giải mã không theo kịp độ dốc tín hiệu thực tế tại các rìa. Bởi vậy các nét ảnh không rõ ràng, nhoè nhoẹt. Tất cả vấn đề này sẽ giải quyết được nếu sử dụng bộ lượng tử phi tuyến có bước lượng tử lớn dần theo độ lớn mẫu đưa vào lượng tử. Mặt khác sử dụng lượng tử hoá phi tuyến còn tận dụng được đặc tính của mắt người là kém nhạy cảm với các sai số tại vùng ảnh có rìa và nhiều chi tiết. Do vậy tiết kiệm được số bit cần dùng để mã hoá thông tin.
Page 33
Kỹ thuật điều xung mã sai phân – DPCM
6.1. Kỹ thuật bù chuyển động Kỹ thuật bù chuyển động được dùng trong bộ dự đoán DPCM với phương pháp tạo dự đoán Inter. Điều này giúp cho hiệu quả nén đạt hiệu suất cao. Bộ tạo dự báo ở bên thu có khối nhớ chung (frame memory hoặc frame store ) lưu trữ dữ liệu khung trước đó để tính toán đo đạc chuyển động bằng cách so sánh giữa khung cũ và khung mới. Từ đó tạo khung dự báo có bù chuyển động ở đầu ra bộ tạo dự báo. Việc thực hiện đo đạc chuyển động ở bên phát căn cứ vào khung hiện tại mà bên thu chưa có, bởi vậy một phép đo như vậy không thể đồng thời tiến hành ở cả bên thu và bên phát mặc dù thông tin vecto chuyển động là cần cho bên thu để tạo dự báo. Cho nên thông tin về chuyển động (các vecto chuyển động của các MB (Macroblock)) được truyền tới bên thu nhờ một kênh phụ.
Page 34
Nhóm 1- Sư phạm kỹ thuật
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
dự đoán được từ các khung hình trước ( khi cửa đóng). Trong trường hợp này Macroblock trong P-frame không thể được miêu ta hiệu quả bởi bù chuyển động.
Kỹ thuật tiên đoán bù chuyển động giữa các khung hình được xem như là biện pháp để hạn chế bớt các thông số của chuyển động bởi việc dùng các vector chuyển động để mô tả sự dịch chuyển các điểm ảnh. Kỹ thuật tiên đoán bù chuyển động đươc sử dụng như là một trong những công cụ mạnh để làm giảm sự dư thừa về không gian và thời gian giữa các khung hình. Kết quả tiên đoán tốt nhất của một điểm ảnh là dựa trên sự tiên đoán bù chuyển động từ một khung hình đã mã hóa được truyền phía trước của nó. Cả hai thông số, sai số chuyển động (biên độ) và các vector chuyển động ( hướng chuyển động) đều được truyền tới phía bên nhận. Tuy nhiên do có mối quan hệ tương quan chặt chẽ giữa các điểm ảnh về không gian ( trùng về không gian ), một vector chuyển động có thể được dùng cho một khối các điểm ảnh gồm các pixel lân cận nhau. Mặt khác phương pháp DPCM với bù chuyển động được dùng chủ yếu trong việc nén video theo chuẩn MPEG. Nên bù chuyển động được coi là công nghệ cải tiến của việc nén P-frame và B-frame bằng việc loại bỏ dư thừa, thuật toán bù chuyển động làm việc ở mức Macroblock. Khi macroblock được bù chuyển động, file nén chứa các thông tin sau: - Vector không gian giữa Macroblock tham chiếu và Macroblock được mã hóa (Motion vertor). - Sự khác nhau giữa Macroblock tham chiếu và Macroblock được mã hóa (Eror term ) Không phải tất cả các thông tin trong khung hình có thể được dự đoán từ khung hình trước. Chẳng hạn một cảnh với cửa phòng mở: các chi tiết của căn phòng không thể Page 35
6.2. Các kiểu khung hình Có ba kiểu khung hình thông dụng: I-frame, B- frame, P-frame - I-frame (Intra frame - khung hình độc lập) : I-frame là khung hình được mã hóa độc lập mà không cần tham khảo tới các khung hình khác. Hiệu quả nén tín hiệu đạt được do loại bỏ sự thừa kế về không gian ( không có yếu tố thời gian tham gia quá trình). I-frame được dùng một cách tuần hoàn để tạo các điểm tựa cho dòng dữ liệu trong quá trình giải mã. I-frame cung cấp khả năng truy xuất ngẫu nhiên các điểm trong dữ liệu video nén và cung cấp độ nén vừa phải được dùng với 2 bit mỗi pixel. - P-frame ( Predicted frame- khung hình dự đoán): P- frame có thể sử dụng các I- frame hay P- frame ngay trước nó để mã hóa. Mỗi Macrobloc trong Pframe có thể được mã hóa theo kiểu tiên đoán (Predicted) hoặc được mã hóa độc lập (intra- coded). Cũng như I-frame, P-frame được dùng như một tham chiếu cho việc dự đoán B- frane và P- frame kế tiếp. P- frame dùng để bù chuyển động và cũng cấp nhiều khả năng nén hơn I-frame do sử dụng cả nén không gian và thời gian. P-frame có thể sinh ra các lỗi do P- frame được dự đoán từ I- frame hoặc P-frame trước đó. - B- frame (Bidirectional frame - khung hình hai hướng ) : B-frame là các khung hình sử dụng các khung hình trong quá khứ và tương lai để tham khảo. B- frame cung cấp khả năng nén lớn hơn và không sinh ra lỗi do nó không được dùng cho việc tham chiếu. 6.3. Các kỹ thuật bù chuyển động 6.3.1. Kỹ thuật bù chuyển động một chiều Kỹ thuật bù chuyển động một chiều được sử dụng khi dự đoán ảnh P bằng việc loại bỏ dư thừa, thuật toán bù chuyển đông làm việc ở mức Macroblock. Ảnh P cung cấp hệ số nén cao hơn ảnh I và có thể sử dụng làm một ảnh so sánh cho việc bù chuyển động cho các ảnh P và B khác. Phương pháp sử dụng xác suất các ảnh liên tục trong chuỗi ảnh truyền hình. Nhờ xác suất này, phần lớn các ảnh trong chuỗi có thể nhận biết gần giống nhau trên cơ sở thông tin chứa đựng trong ảnh ( xuất hiện trong chuỗi trước). Như vậy ảnh dự đoán trước là các frame dự báo theo hướng thuận (nghĩa là các dự báo từ các pixel của frame hiển thị trước). Phương pháp này rất có hiệu quả khi chuỗi ảnh biểu diễn là ảnh tĩnh hoàn toàn. Trong trường hợp này chỉ truyền ảnh đầu tiên là đủ và thông tin lần lượt mỗi ảnh không khác mấy so với ảnh trước. Khi xuất hiện vật thể chuyển động nào đó trong ảnh, thì cần phải phát hiện các vật thể này và biểu diễn đặc trưng về sự thay đổi vị trí của nó. Bằng cách này và trên cơ sở phân tích các ảnh trước, có thể dự báo gần đúng nội dụng ảnh đang xét. Page
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
Trong trường hợp khi ảnh đang xét khác với dự báo của nó, thì cần phải truyền thêm các thông tin về sự khác nhau giữa các ảnh nói trên. Nếu tất cả các vật thể chuyển động được phát hiện, thì dự báo ảnh sẽ rất gần với ảnh thực và để truyền thông tin giữa chúng, t a chỉ cần số liệu nhỏ là đủ. Tuy nhiên, vật thể xuất hiện trong ảnh có thể có nhiều loại và ta phải tim giải pháp kết hợp để từ đó phát hiện và xếp loại chún g. Khi đó vị trí block được biểu diễn bằng vecto biểu diễn sự dịch block này so với vị trí trong ảnh dự đoán trước. Vecto này biểu diễn sự phối hợp ( từng phần hoặc tất cả) được gọi là “ vecto chuyển động”.
Hình 24. Dự đoán bù chuyển động một chiều Tuy nhiên, các chuyển động ngoài vùng tìm kiếm không thể được thực hiện dự đoán bù chuyển động từ khung hình trước, như trong hình trên. Một khối điểm ảnh cho trước trong khung hình hiện tại nằm ngoài vùng tìm kiếm như vậy sẽ không có phối hợp khối trong khung hình trược. Hình sau chỉ ra quá trình tạo ảnh dự báo trước, ảnh trước đó (Previous frame) được lưu trữ trong bộ nhớ với đầy đủ độ phân giải, đầy đủ dữ liệu.
Page 37
Kỹ thuật điều xung mã sai phân – DPCM
Hình 25. quá trình tạo ảnh dự báo trước Trong khối “ xác định vecto chuyển động”, với vector chuyển động tính toán sao cho ảnh hiện tại được dự đoán một cách chính xác nhất. Hiệu giữa ảnh hiện tại và ảnh dự đoán sẽ cho ảnh khác biệt ở đầu ra. Số liệu về vector chuyển động và ảnh khác biệt sẽ được truyền đi. Trong trường hợp vector chuyển động được xác định đúng, thì ảnh khác biệt sẽ chứa rất ít thông tin và công nghệ nén đạt hiệu quả mong muốn. Tuy nhiên, hạn chế của mô hình trên là không thể biểu diễn phần lớn các chuyển động có thể có như các chuyển động quay, giảm hoặc tăng lên và các chuyển động phức tạp khác. 6.3.2. Kỹ thuật bù chuyển động hai chiều Là kỹ thuật loại bỏ các dư thừa của ảnh dự đoán ( ảnh B ) bằng cách sử dụng bù chuyển động từ các ảnh I hoặc P ở phía trước và ở phía sau. Ảnh B cho tỉ lệ nén cao nhất. Bù chuyển động hai chiều theo thời gian, hay còn gọi là nội suy bù chuyển động, sử dụng thông tin trong một khung hình trước và một khung hình tham chiếu xuất hiện sau khung hình hiện tại để dự đoán khung hình hiện tại – gọi là khung hình B ( ví dụ nhự hình sau)
Page 38
Nhóm 1- Sư phạm kỹ thuật
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
Hình 27. quá trình tạo và truyền các khung hình
Hình 26. Bù chuyển động hai chiều Bù chuyển động hai chiều cho khả năng nén số liệu cao hơn so với bù chuyển động một chiều, hiệu ứng nhiễu trong khung hình hiện tại giảm bằng mức nhiễu trung bình của khung hình trước và khung hình sau và có khả năng dực đoán ngoài phạm vi của vùng tìm kiếm nhờ các khung hình tiếp theo. Tuy nhiên, việc thực hiện bù chuyển động ngược chỉ xảy ra khi khung hình tham chiếu xuất hiện sau được truyền đi trước khung hình hiện tại B. Sự khác nhau cơ bản giữa hai mạch, mạch tạo ảnh dực đoán trước và mạch tạo ảnh dự đoán hai chiều, là bộ nhớ ảnh so sánh. Để tạo ảnh dự đoán trước ta chỉ cần nhớ ảnh trước đó. Trong khi đó, để tạo được ảnh dự đoán hai chiều ta phải nhớ cả hai ảnh : ảnh trước và ảnh sau ảnh đang xét. Có thể coi ảnh dự đoán hai chiều như là kết quả nội suy giữa hai ảnh để xác định chuẩn của nó. Vì để tạo được ảnh dự đoán hai chiều, bộ giải mã phải xác định nội dung của hai ảnh xác định chuẩn của nó, nên sẽ làm thay đổi thứ tự truyền của các ảnh. Bộ mã hóa đầu tiên phải truyền cả hai ảnh chuẩn, sau đó mới truyền đến ảnh dự đoán hai chiều. Điều này dẫn đến kết quả là: - Bộ mã hóa và giải mã phải đánh số lại các frame lên làm tăng số công viêc. - Bộ mã hóa và giải mã phải dùng bộ nhớ lớn ( để có thể lưu trữ các ảnh chuẩn). Hình sau minh họa quá trình tạo và truyền các khung hình theo thứ tự. Quá trình sắp xếp lại khi mã hóa và giải mã tạo ra một thời gian trễ phụ thuộc vào số khung hình B giữa hai khung tham chiếu.
Page
Có thể có nhiều hơn một khung hình được dự đoán B giữa hai khung hình tham chiếu xuất hiện trước và sau nó. Số lượng các khung hình dự đoán phụ thuộc vào nhiều yếu tố. Khi số các khung hinh B tăng lên quan hệ giữa các khung hinh B và khung tham chiếu giảm xuống, và do vậy số bít cần dùng để mã hóa khung B tăng lên. Hơn nữa, khi đó quan hệ giữa các khung tham chiếu cũng giảm do chúng cách xa nhau. Với các chương trình video có nhiều cảnh ngắt sẽ cần có ít khung B hơn đối với các chương trình ít cảnh ngắt. Mã hóa dự đoán giữa các khung hình thường áp dụng cho các chương trình có ít sự chuyển động hoặc chuyển động với tốc độ chậm, và sự dư thừa không gian giữa các khung hình nhiều hơn là sự dư thừa không gian trong các mảnh . Trong khi đó, mã hóa dự đoán theo mành có hiệu quả cao khi ứng dụng cho nén các ảnh có tốc độ chuyển động cao, các vector chuyển động trong mành chứa đựng các thành phần tần số cao. 6.3.3. Sự khác nhau giữa bù chuyển động trong B – frame và P- frame Sự khác nhau giữa bù chuyển động trong việc dự đoạn hai ảnh trên là các Macroblock trong P-frame chỉ được tham chiếu từ các khung hình trước còn các Macroblock trong Bframe được mã hóa phối hợp giữa các khung hình tham chiếu trước và sau nó. Qua đó ta thấy được hiệu quả của việc dự đoán B- frame tốt hơn so với P- frame, giúp cho chất lượng nén video được cải tiến. 7. Phương pháp DPCM với kĩ thuật ước lượng chuyển động 7.1. Kỹ thuật ước lượng chuyển động Mã hóa dự đoán chuyển động trên thực tế trong nén video có thể được chia thành ba giai đoạn. Đầu tiên, là giai đoạn phân tích chuyển động, các vector được di chuyển trên mỗi điểm ảnh hoặc một tập các điểm ảnh trong mặt phẳng ảnh từ các ảnh liên tiếp được ước lượng. Giai đoạn thứ hai, khung hiện tại được dự đoán bằng cách sử dụng các vector chuyển động được dự đoán và các khung trước. Sai số dự đoán sau đó được tính. Giai đoạn này gọi là dự đoán và sai khác. Giai đoạn thứ ba là mã hóa. Sai số dự đoán (là sự sai khác giữa khung hiện tại và khung hiện tại được dự đoán) và các vector chuyển động Page
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
được mã hóa. Thông qua cách tiếp cận này, tổng số lượng dữ liệu cho cả vector chuyển động và sai số dự đoán được kì vọng nhỏ hơn dữ liệu thô tồn tại trong các frame ảnh và do đó sẽ cho chúng ta dữ liệu nén. Kỹ thuật ước lượng chuyển động là quá trình tìm ra vector chuyển động và tính sai số dự đoán cho việc má hóa video. Về nguyên tắc để mã hóa tín hiệu video, nếu quỹ đạo chuyển động của mỗi điểm ảnh có thể đo được sau đó chỉ frame tham chiếu ban đầu và thông tin vector chuyển động cần phải được mã hóa. Theo cách đó thì sự dư thừa interfra me sẽ được gỡ bỏ. Để tái tạo các ảnh, một cách đơn giản có thể là truyền từng điểm ảnh dọc theo quỹ đạo chuyển động của nó. Bởi vì đó cũng là chi phí để truyền thông tin vector chuyển động, trong thực tế, một đợn vị vector chuyển động được nhóm trong các điểm ảnh, mà sẽ chia sẻ chi phí để truyền các thông tin chuyển động. Dĩ nhiên ở cung thời điểm các điểm ảnh được nhóm cung nhau được giả định là có cùng thông tin chuyển. Điều này không phải lúc nào cũng đúng vì các điểm ảnh trong cùng một khối có thể chuyển động theo những hướng khác nhau, hoặc một số điểm ảnh thuộc dưới nền. Do đó cả vector chuyển động và sự sai khác dự đoán phải được truyền tải. Thông thường phương pháp đối sánh khối được sử dụng cho ước lượng chuyển động đối với phần cứng kém phức tạp. Trong phương pháp đối sánh khối, mỗi khung ảnh được chia thành các khối hình chữ nhật nhỏ kích thước 16x16 hoặc 8x8 trong mã hóa video MPEG. Mỗi khối được giả định chịu sự thay đổi tuyến tính và vector chuyển vị của mỗi khối và dự đoán lỗi được mã hóa và truyền tải. 7.2. Kĩ thuật DPCM và ước lượng chuyển động trong nén video Chúng ta xem một chuỗi video tạo ra trong một hệ thống phát sóng truyền hình. Các tín hiệu truyền hình được tạo ra với một cảnh được quét một cách cụ thể để duy trì một hình ảnh ổn định cho người xem cho dù có sự thay đổi cảnh hay không. Mặc dù không có thay đổi từ một khung hình kế tiếp, cảnh vẫn còn quét liên tục. Do đó có rất nhiều tương quan khung tới khung. Khi truyền các khung hình, hầu hết thời gian mà những thay đổi giữa các khung hình kế tiếp chủ yếu là chuyển động biểu kiến của các đối tượng trong cảnh diễn ra trong khoảng thời gian khung hình. Điều này cho ta thấy một mối tương quan cao giữa các bức ảnh liên tiếp hay có một sự thừa interframe. Có nhiều sự tương quan giữa các phần tử của ảnh dọc theo chiều thời gian của khung hơn là giữa các thành phần lân cận trong một khung duy nhất dọc theo chiều không gian. Điều đó cho thấy có sự tương quan. Lợi dụng sự tương quan interframe, tức là, loại bỏ hoặc giảm các khung không chắc chắn của khung hình kế tiếp, dẫn tới nén dữ liệu video. Điều này tương tự với các trường hợp vẫn còn ảnh mã hóa với DPCM, mà có thể dự đoán một phần của một ảnh bởi đã biết các phần khác. Ví dụ : Phương pháp mã hóa DPCM với ước lượng chuyển động trong nén video MPEG1 và MPEG2 Phương pháp mã hóa DPCM thường được sử dụng cho chuẩn mã hóa video dạng MPEG. Trong chuẩn mã hóa MPEG, chuỗi các video được chia nhỏ nhóm các hình ảnh hoặc frame (gọi là GOP). Mỗi GOP gồm có ba loại frame là I-frame, P-frame, B-frame. Frame I là một frame có sẵn, chúng được sử dụng cố định cho các dự đoán trước và sau. Frame Page 41
Kỹ thuật điều xung mã sai phân – DPCM
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
P được mã hóa sử dụng dự đoán bù chuyển động một chiều từ frame cố định trước đó (có thể là frame I hoặc P)
Hình 28. Nhóm các ảnh của video hiển thị theo thứtự Để khai thác độ dư thừa thời gian trong chuỗi video, các vector chuyển động cho mỗi Macroblock (MB) được ước lượng từ hai ảnh với độ chói ban đầu bằng cách sử dụng một giải thuật đối sánh khối. Tiêu chuẩn so sánh phù hợp nhất giữa MB hiện tại và MB trong khung cố định là giá trị trung bình tuyệt đối tối thiểu của lỗi (mean absolute error - MSE). Khi các vector chuyển động cho mỗi MB được ước lượng, giá trị điểm ảnh cho MB tại đích có thể được dự đoán từ khung giải mã trước đó. Tất cả MB trong khung I được mã hoá nội suy mà không có bù chuyển động. Các MB tại khung P và khung B có thể được mã hóa trong một số chế độ. Giữa các chế độ là mã hóa nội bộ trong khung và mã hóa giữa các khung với bù chuyển động. Điều này được thực hiện bằng cách lựa chọn chế độ. Hầu hết các bộ mã hóa phụ thuộc vào các giá trị của sai số dự đoán sẽ có quyết định này. Trong thời hạn mỗi ảnh, các giá trị của các vector chuyển động và giá trị DC của mỗi MB được mã hoá bằng cách sử dụng DPCM. Cấu trúc của MPEG cho thấy rằng nếu lỗi xảy ra trong dữ liệu của khung I, nó sẽ được lan truyền qua tất cả các khung trong GOP. Tương tự, nếu có một lỗi trong một khung P sẽ có liên quan và ảnh hưởng đến những khung P và B khác,trong khi lỗi trong khung B sẽ được cô lập. Trong quá trình giải nén video, có thể sinh ra lỗi dữ liệu (dữ liệu bị mất trong quá trình truyền tới bên nhận trên hệ thống vô tuyến). Do đó việc khôi phục dữ liệu là rất quan trọng trong quá trình giải mã video. Đối với khung I, dữ liệu bị hư hỏng có thể được tái tạo bằng cách thay thế tạm thời từ khung cố định đã được giải mã hoặc bằng cách nội suy không gian từ những MB hàng xóm tốt. Đối với các khung P và khung B, các chiến lược chính để che giấu các dữ liệu bị mất là thay thế các vùng với các điểm ảnh từ vị trí tương ứng (và có thể là bù chuyển động) trong khung cố định giải mã trước đó. Thay thế các vectơ chuyển động này đóng một vai trò rất quan trọng. Nói cách khác, nếu ước lượng tốt về thông tin chuyển động có thể thu được, sử dụng của nó có thể được điều chỉnh ít nhất. Vì mã hóa DPCM cho các vector chuyển động chỉ khai thác những tương Page 42
Nhóm 1- Sư phạm kỹ thuật
quan giữa chiều ngang của các MB láng giềng, sự dư thừa giữa các vùng theo chiều dọc vẫn còn tồn tại sau khi mã hóa. Do đó, thông tin chuyển động bị mất có thể được ước tính từ các MB láng giềng theo chiều dọc.
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
Hình 35. Ảnh hưởng của lượng tử hóa
Hình 36. Một số lỗi trong lượng tử hóa
Hình 29. Che giấu lỗi sử dụng nội suy không gian với các dữ liệu từ các láng giềng tốt Ngoài ra, những không gian tương ứng trong các dữ liệu trước đó được giải mã với bù chuyển động sẽ thay thế các khối bị hỏng trong khung hiện tại nếu thông tin chuyển động có sẵn. Phương pháp này khai thác thời gian dự phòng trong các tín hiệu video được xây dựng lại và cung cấp kết quả khả quan trong khu vực có chuyển động nhỏ và do đó vector chuyển động được cung cấp. Nếu thông tin bị mất chuyển động, phương pháp này sẽ không thành công trong các vùng chuyển động
7.3. Lượng tử hóa thích nghi Với cách tiếp cận như trên bộ lượng tử hóa dựa vào thống kê tất cả các sự sai khác của toàn bộ ảnh. Tuy nhiên, sự phân bố sai khác trên toàn bộ ảnh là khác nhau và thống kê cục bộ có thể thay đổi từ vùng này qua vùng khác. Do đó việc thiết kế một bộ lượng tử hóa làm thích nghi đối với thống kê cục bộ là rất cần thiết. Một ảnh có thể được chia thành một số khối không giao nhau và dựa vào phân bố cục bộ, bộ lượng tử hóa có thể làm thích nghi trên một khối gần khối cơ sở. Tuy nhiên, cần phải truyền sự phân bố sai khác cho mọi khối khác như thông tin đầu. Một chiến lược thay thế cho việc sử dụng số cố định của bộ lượng tử hóa cho sự phân bố sai khác như hình sau:
Hình 30. Che giấu lỗi sử dụng bổ sung bù chuyển động
Page
Page
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
Hình 38. Tạo dự đoán trong khung(Intraframe Prediction) Tuy nhiên phương pháp này không không tận dụng được quan hệ tương hỗ của các điểm ảnh trong hai khung liên tiếp. Do đó, ta có phương pháp tạo dự đoán liên khung (Interframe prediction)
Hình 37, Bộ lượng tử hóa thích nghi dùng 4 mức lượng tử Ví dụ trên sử dụng 4 mức lượng tử. Do đó chúng ta phải chọn một trong 4 mức lượng tử bằng cách so sánh giá trị theo 4 mức trên nếu giá trị sau lượn g tử nào gần với giá t rị gốc nhất thì lấy. Sự chọn lựa này quyết định trực tiếp đến chất lượng của tín hiệu sau khi được lượng tử hóa ngược lại..
7.4.2. Tạo dự đoán liên khung (Interframe prediction) Tạo dự đoán liên khung là phương pháp tạo dự đoán dựa vào điểm ảnh cùng tọa độ ở khung trước để tạo dự đoán. Do các khung liên tiếp thường có quan hệ tương hỗ lẫn nhau nên phương pháp này cũng cho sai số dự đoán nhỏ
7.4. Ảnh hưởng của IntraFrame và InterFrame trong lượng tử hóa Như đã biết trong phương pháp lượng tử hóa sai số dự đoán thì giá trị sai số dự đoán càng nhỏ thì chất lượng sau khi qua bộ dự đoán càng tốt. Có hai phương pháp thường được dùng để tạo dự đoán: - Tạo dự đoán trong khung (Intraframe Prediction) - Tạo dự đoán liên khung (Interframe prediction) 7.4.1. Tạo dự đoán trong khung (Intraframe Prediction) Tạo dự đoán trong khung là phương pháp tạo dự đoán sử dụng tất cả các điểm thuộc cả hai mành của một khung để tạo dự đoán. Như vậy sẽ lợi dụng được quan hệ tương hỗ của các điểm lân cận theo cả phương ngang và phương đứng nên dự đoán chính xác hơn, cho sai số dự đoán nhỏ hơn. Hình 39. Tạo dự đoán liên khung(Interframe prediction) Tuy nhiên, phương pháp này lại không tận dụng được quan hệ tương hỗ của các điểm ảnh Page 45
Kỹ thuật điều xung mã sai phân – DPCM
Page 46
Nhóm 1- Sư phạm kỹ thuật
trong cùng một khung. Do đó, trong nén video chúng ta thường sử dụng cả hai phương pháp này song song với nhau vì nó sẽ hỗ trợ nhau trong quá tr ình tạo dự đoán. Giúp ta có được giá trị sai số dự đoán nhỏ nhất có thể làm cho quá trình lượng tử hóa sai số tốt nhất.
Kỹ thuật điều xung mã sai phân – DPCM
Nhóm 1- Sư phạm kỹ thuật
TÀI LIỆU THAM KHẢO
1. http://en.wikipedia.org/wiki/DPCM 2. http://inst.eecs.berkeley.edu/~ee290t/sp04/lectures/dpcm_girod.pdf 3. Stephen J. Solari - Digital Video and Audio Compression 4. TS. Nguyễn Thanh Bình - Xử lí Âm thanh, hình Ảnh
Hình 40. Sơ đồ khối trong kỹ thuật nén video sử dụng cả phương pháp dự đoán intraframe và intreframe
Page
Page