Bài tập lớn xử lý dữ liệu đa phương tiện. Mã hóa dự đoán - Kỹ thuật DPCM
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG ********** BÁO CÁO MÔN XỬ LÝ DỮ LIỆU ĐA PHƯƠNG TIỆN Đề tài: Mã hóa dự đoán – Kỹ thuật DPCM Sinh viên thực hiện: Nguyễn Đình Tài Phạm Văn Tiệp Hồ Thị Chắt Giáo viên hướng dẫn: PGS.TS Nguyễn Thị Hoàng Lan Hà Nội, 5-2015 MỤC LỤC Phần 1: I TÌM HIỂU CHUNG VỀ PHƯƠNG PHÁP MÃ HÓA DPCM Nguyên lý Điều xung mã sai phân (DPCM – Differentical Pulse Code Modulation) phương pháp nén liệu có mát thông tin Cơ sở phương pháp dựa mã hóa dự đoán, thường đước sử dụng tín hiệu lấy mẫu có độ tương quan mạnh (nghĩa hai mẫu gần tương tự nhau), có quan hệ lân cận mẫu, tín hiệu ảnh video, tín hiệu tiếng nói… Như có nhiều lợi ích mã hóa khác mẫu kế cận thay cho mã hóa giá trị tuyệt đối mẫu Nguyên tắc mã hóa dự đoán : - Mã hóa sai khác mẫu : mẫu dự đoán theo thời điểm trước mẫu - Giá trị mẫu giải mã dựa sai khác giá trị dự đoán thời điểm trước Như thấy thay truyền toàn thông tin mẫu, ta truyền sai lệch mẫu Điều cho phép đạt hiệu nén cao nhiều so với việc mã hóa truyền giá trị mẫu riêng biệt Hình : Sơ đồ nguyên lý DPCM 1.1 Lấy mẫu ( Sampling) Lấy mẫu trình rời rạc hoá tín hiệu tương tự Đây 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, 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 tín hiệu tương tự, để tái tạo thông tin cách trung thực đầu thu Quá trình lấy mẫu phát biểu 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, hoàn toàn xác định giá trị X(k Dt) lấy khoảng thời gian t =1/2Fmax với Fmax tần số cao phổ làm X(t) Nếu gọi T1m chu kỳ lẫy mẫu F1m tần số lấy mẫu ta có: T1m = 1/2Fmax Hình Quá trình lấy mẫu tính hiệu Ở đầu thu để phục hồi lại tín hiệu ban đầu, người ta dùng lọc Tín hiệu rời rạc qua lọc thông thấp, với tần số tín hiệu cho tín hiệu ban đầu Quá trình phục hồi minh hoạ hình Hình : Quá trình phục hồi tín hiệu 1.2 Lượng tử hóa Là thay tín hiệu tương tự lấy mẫu tập hữu hạn mức tín hiệu biên độ rời rạc Ưu điểm lượng tử hóa tín hiệu lấy mẫu giảm ảnh hưởng nhiễu Các mức tín hiệu rời rạc gọi mức lượng tử hoá, khoảng cách hai mức lượng tử hoá gọi bước lượng tử hoá Hình : Sơ đồ mô tả trình lượng tử hóa 1.3 Bộ dự đoán Do độ tương quan mẫu tín hiệu tín hiệu tiếng nói, tín hiệu video, lớn nên thực dự đoán cách gần giá trị mẫu từ số mẫu trước Bộ dự đoán sử dụng để tính toán dự đoán mẫu tín hiệu theo mẫu thời điểm trước (tín hiệu tham chiếu) Trong trình dự đoán có sai số dự đoán(Pridection error) Cần phân biệt sai số dự đoán sai số lượng tử Hai khái niệm có chất khác : • Sai số dự đoán (prediction error) chênh lệch giá trị dự đoán 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ố định tốc độ bit giảm nhiều hay ít, tức ảnh hưởng đến hiệu suất nén • Sai số lượng tử (quantization error) sai số đặc trưng cho tổn thất liệu dẫn đến làm suy giảm chất lượng ảnh phục hồi 1.4 Bộ mã hóa Bộ mã hóa mã hóa sai số dự đoán thành từ mã nhị phân truyền qua kênh truyền Ở đâu thu, giải mã tiến hành giải mã bit nhị phân nhận , sau tiến hành lượng tử hóa ngược khôi phục lại tín hiệu ban đầu II Các phương pháp mã hóa DPCM DPCM vòng mở (Open-loop DPCM) Hình Open-loop DPCM Gọi q 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] Như thấy với kỹ thuật Open-Loop DPCM, sau vòng lặp sai số lượng tử hóa q[i] lại cộng thêm vào (Quantization error Accumulation) : Tức sai số lượng tử hóa sau mã hóa lớn DPCM vòng đóng ( Closed-loop DPCM) Hình Closed-loop DPCM Với cách bố trí sơ đồ ta có Như sai số lượng tử hóa tích lũy (accumulation) sau vòng lặp => giảm đáng kể sai số lượng tử hóa DPCM tuyến tính Hình : DPCM với Linear Pridiction Cả phương pháp Open-loop DPCM Closed-loop DPCM có chung cách tính sai khác Đó tính sai khác mẫu dựa mẫu dự đoán tín hiệu đứng trước Nếu tính sai khác từ tất mẫu dự đoán trước mẫu sai số lượng tử hóa giảm xuống Như đạt độ nén cao Đây ý tưởng phương pháp DPCM dùng dự đoán tuyến tính (Linear Pridection) DPCM sử dụng hàm P(Z) xác định bẳng tổng tất mẫu dự đoán tính đến thời điểm xét Vì sử dụng hàm tuyến tính nên P(Z) có dạng PHẦN 2: VAI TRÒ VÀ CÔNG NGHỆ CÁC BỘ DỰ ĐOÁN VÀ CÁC BỘ LƯỢNG TỬ HÓA I Bộ dự đoán Bộ dự đoán sai số Công nghệ DPCM thực loại bỏ tính có nhớ thông tin dư thừa nguồn tín hiệu lọc đặc biệt có đáp ứng đầu hiệu số mẫu đầu vào giá trị dự đoán Rất nhiều giá trị vi sai gần điểm ảnh biến đổi đồng Còn với ảnh có nhiều chi tiết, giá trị sai số dự đoán lớn Khi lượng tử hoá chúng bước lượng tử cao đặc điểm mắt người không nhạy cảm với chi tiết có độ tương phản cao, thay đổi nhanh Sự giảm tốc độ bit thu từ trình lượng tử hoá mã hoá Kỹ thuật dự đoán Nếu trực tiếp lượng tử hoá mã hoá mẫu nguồn ảnh với đầy đủ thông tin dư thừa quan hệ tương hỗ điểm ảnh hiệu suất nén thấp lượng thông tin nguồn lớn Do công nghệ nén, cần loại bỏ tính có nhớ nguồn tín hiệu, tức thực “giải tương hỗ” (deccorelation) mẫu điểm lân cận Trong công nghệ nén “điều xung mã vi sai” DPCM, trình giải tương hỗ thực lọc có đáp ứng đầu hiệu số mẫu điểm liên tiếp đầu vào giá trị “dự đoán” mẫu điểm tạo dựa giá trị mẫu lân cận theo qui luật định Sai số dự đoán: Bộ tạo dự đoán có nhiệm vụ tạo giá trị điểm từ giá trị điểm truyền tải trước lưu trữ Quá trình tạo dự đoán tốt sai khác giá trị thực mẫu hành trị dự đoán cho (gọi sai số dự đoán) nhỏ Khi đó, tốc độ dòng bit giảm nhiều Phân biệt sai số dự đoán sai số lượng tử trình bày phần Ảnh hưởng dự đoán đến chất lượng nén Kỹ thuật nén ảnh số đóng vai trò quan trọng hệ thống viễn thông multimedia để giải vấn đề băng thông đường truyền Các kỹ thuật nén video cố gắng làm giảm lượng thông tin cần thiết cho chuỗi ảnh mà không làm giảm chất lượng người xem Nói chung, tín hiệu video thường chứa đựng lượng lớn thông tin thừa, chúng thường chia thành hai loại: thừa tĩnh bên frame (statistical) thừa động frame (subjective) Mục đích nén video nhằm làm giảm số bit lưu trữ truyền cách phát để loại bỏ lượng thông tin dư thừa dùng kỹ thuật Entropy mã hoá để tối thiểu hoá lượng tin quan trọng cần giữ lại Và dự đoán phần quan trọng việc tối ưu hóa chất lượng nén video Như giới thiệu kỹ thuật nén video DPCM, ảnh hưởng dự đoán đến chất lượng nén video sai số dự đoán (prediction error) mà dự đoán tạo Sai số định hiệu suất chất lượng nén Video chất khung ảnh có quan hệ thời gian, nên xử lý nén video xử lý khung hình riêng biệt Giá trị điểm ảnh dự đoán từ giá trị hàng xóm lân cận Các kỹ thuật dự đoán thường dùng dự đoán chiều (1-dimensional prediction) dự đoán hai chiều (2- dimensional prediction) 10 Khả dự đoán tốt giảm số bít phải truyền đi, ngược lại khả dự báo 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 Một số lỗi với sai số dự đoán làm giảm chất lượng ảnh sau sau khôi phục: Hình 22 Nhiễu hạt 14 Với số bit khác nhau: II Bộ lượng tử hóa ảnh hưởng lượng tử hóa đến chất lượng nén video 15 Lượng tử hóa á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 độ tín hiệu vào khoảng biểu diễn giá trị rời rạc mức giá trị hay từ mã Với R bits biểu diễn 2R mã khác mẫu, mã biểu diễn mức biên độ tín hiệu Biên độ tín hiệu có giá trị âm dương phải định nghĩa mã để miêu tả giá trị biên độ âm dương Chúng ta chọn giá trị điển hình cho có cân mức lượng tử cho giá trị âm dương Có hai cách chọn: Chọn sử dụng có mức lượng tử không (midtread) mức lượng tử không (midrise) “Midrise” mức không với tín hiệu đầu vào cho số chẵn mức lượng tử đầu Ngược lại lượng tử hóa “midtread” cho số lẻ mức lượng tử đầu Với R bits lượng tử hóa “midtread” cho 2R1 giá trị khác ngược lại lượng tử hóa “midrise” cho 2R mã Mặc số mức lượng tử nhỏ lượng tử hóa “midtread” trình xử lý tín hiệu audio cho kết tốt Lượng tử hóa tuyến tính Lượng tử hóa tuyến tính kiểu lượng tử hóa đơn giản Lượng tử hóa tuyến tính lượng tử với mức lượng tử Trong kiểu lượng tử, phạm vi giá trị đầu vào số biểu diễn ký pháp nhị phân mã cho tín hiệu đầu số nhị phân khoảng mà giá trị đầu vào rơi vào Để định nghĩa phạm vi mức lượng tử cần thông tin sau: - lượng tử hóa theo kiểu “midtread” hay “midrise” - giá trị lớn giá trị đầu vào xmax - mức lượng tử Δ 16 Thành phần liệu thứ ba định nghĩa số bits cần thiết để biểu diễn mã ví dụ R bít cho phép biểu diễn 2mũR mã khác Với kiểu lượng tử hóa “midrise”, R bits cho phép tập phạm vi đầu vào Δ=2*xmax/2R Kiểu lượng tử hóa “midtread” có phạm vi lớn chút =2*xmax/(2R -1) Khoảng giá trị đầu vào tử -xmax đến xmax, điều xẩy giá trị đầu vào vượt khoảng này? Với giá trị cao giá trị cao khoảng gán giá trị giá trị cao khoảng, giá trị nhỏ giá trị nhỏ khoảng gán giá trị giá trị nhỏ khoảng Midrise quantizers Hình minh họa lượng tử hóa tuyến tính kiểu “midrise” bits Phía tay trái hình biểu diễn khoảng biên độ đầu vào từ -1 đến Từ bits lượng tử hóa midrise, chia khoảng giá trị đầu vào thành mức Như biết mức có độ rộng Mỗi mức biểu diễn giá trị nhị phân tương ứng: [11], [10], [00], [01] tương ứng với giá trị -1, -0 +0, +1 17 Chúng ta lượng tử hóa tín hiệu đầu vào với bits mã, chuyển đổi chúng dạng biên độ tín hiệu Ví dụ với mức [00] mức nằm khoảng biên độ từ 0.0 đến 0.5 tín hiệu đầu vào Giả sử giá trị biên độ phân bố khoảng, chọn mức đầu với mức lỗi nhỏ giá trị trung tâm khoảng nghĩa 0.25 Do mã [11], [10], [00], [01] -0.75, -0.25, 0.25, 0.75 Lượng tử hóa tuyến tính kiểu midrise với nhiều bits làm tương tự Giải thuật lượng tử hóa lượng tử hóa ngược lượng tử hóa tuyến tính kiểu Midrise R bit Ví dụ: biên độ đầu vào 0.6 sau trình lượng tử bits INT (2*0.6) = INT (1.2) =1 Ta chuyển đổi ngược lại (1+ 0.5)/2 = 1.512 = 0.75 Như ta thấy có khoảng chênh lệch biên độ tín hiệu ban đầu biên độ tín hiệu sau khôi phục lại Midtread quantizers 18 Hình minh họa lượng tử hóa tuyến tính kiểu midtread bits Với bits biểu diễn mức biên độ tín hiệu đầu vào Có nghĩa chia khoảng giá trị đầu vào thành mức đo có độ rộng lớn so với trường hợp midrise Các mức có [11], [00], [01] tương ứng với giá trị -1, 0, +1, mã [10] không sử dụng Giá trị lượng tử hóa ngược trung tâm khoảng giá trị trường hợp -2/3, 0, +2/3 Chú ý giá trị giữ Tín hiệu audio thường có khoảng lặng lượng tử hóa biểu diễn tín hiệu với biên độ phù hợp xử lý tín hiệu audio Giải thuật lượng tử hóa lượng tử hóa ngược lượng tử hóa tuyến tính kiểu Midtread R bit Ví dụ: biên độ đầu vào 0.6 sau trình lượng tử bits INT ((3*0.6+1)/2) = INT (1.4) =1 Ta chuyển đổi ngược lại 2*1/3 = 2/3 Như ta thấy có khoảng chênh lệch biên độ tín hiệu ban đầu biên độ tín hiệu sau 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 nửa độ rộng khoảng giá trị nơi, mức đầu vào không tải chồng Tuy nhiên lỗi chở nên nghiêm trọng tín hiệu có biên độ nhỏ Lượng tử hóa phi tuyến Lượng tử với bước lượng tử không yêu cầu phải nhau, với độ rộng bước thay đổi tương ứng với biên độ tín hiệu đầu vào gọi 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ó đầu vào x truyền vào thông qua hàm đơn điệu tăng y = c(x) Lượng tử hóa ngược thực hiện: x’=c-1(y’) 19 Trong hàm c(x) không đối xứng xung quanh x=0 giá trị x âm biểu diễn giá trị âm Chúng ta định nghĩa c(x) thông qua c(|x|) Nếu xét tín hiệu đầu vào lượng tử hóa tuyến tính tín hiệu thuộc khoản -1.0 đến 1.0, sau dùng hàm co giãn c(|x|) cho biểu đồ đầu vào từ đến 1.0 khoảng từ đến 1.0 Với yêu cầu c(x) đơn điệu tăng c(x) dễ dàng đảo ngược lại Để có hình dung co giãn ảnh hưởng đến lượng tử hóa, xem kích cỡ bước lượng tử thay đổi mức tín hiệu đầu vào x Như biết bước lượng tử lượng tử hóa tuyến tính Nếu lượng tử sử dụng lượng lớn bít bước lượng tử nhỏ, y=c(x) xấp xỉ tuyến tính có y(x) ≈ c(x0) + dc/dx(x-x0) Với x0 cố định mức Độ rộng x mức lượng tử thu nhỏ tỷ số dc dx từ độ rộng y Ví dụ, chọn hàm c(x) có độ dốc cao cho giá trị x nhỏ có lượng tử hóa nhiễu nhỏ 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ừ đến 1.0, độ dốc cao cho giá trị x thấp bao hàm độ dốc thấp nhiều lượng tử hóa nhiễu cho giá trị x cao Do đó, 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 Lượng tử hóa phi tuyến sử dụng để làm giảm tỷ lệ nhiễu tạp âm (SNR) 20 Phần 3: I DPCM TRONG NÉN ẢNH, NÉN AUDIO VÀ NÉN VIDEO DPCM nén Image sử dụng thuật toán LMS Nguyên tắc Trong DPCM không truyền tín hiệu x(n) mà e(n) (sai khác x(n) và trị dự đoán y(n)) Tại thu, sinh y(n) từ giá trị mẫu trước Tuy nhiên có khó khăn với lược đồ Tại thu, thay mẫu trước x(n-1), x(n-2),… e(n), có tín hiệu lượng tử hóa xs(n-1), xs(n-2), làm tăng sai số trình xây dựng lại tín hiệu Trong trường họp này, cách tốt để xác định y(n) (dự đoán từ xs(n)) từ mẫu lượng tử hóa xs(n-1), xs(n-2),… thu, giá trị sai khác e(n) = x(n) – y(n) truyền qua PCM Tại thu, sinh y(n) từ e(n) ta xây dựng lại xs(n) Sơ đồ khối DPCM với thuật toán LMS hệ thống nén ảnh Hình biểu diễn dự đoán DPCM nén ảnh Đầu vào dự đoán xs(n) đầu y(n) Sự sai khác liệu ảnh gốc x(n) liệu ảnh dự đoán y(n) gọi sai số dự đoán e(n) Vì e(n) = x(n) – y(n) lượng tử hóa thành eq(n) = e(n) + q(n) với q(n) sai số lượng tử hóa, e(n) tín hiệu lượng tử hóa Khi q(n) = eq(n) - e(n) Đầu dự đoán y(n) quay lại dự đoán thành đầu vào nên xs(n) = y(n) + eq(n) = x(n) - e(n) + eq(n) = x(n) + q(n) Đầu vào dự đoán xs(n) giả thiết Tín hiệu lượng tử hóa eq(n) lúc truyền qua kênh 21 Quy trình công nghệ Khối LMS biểu diễn hình Tín hiệu y(n) qua khối LMS biểu diễn sau: y(n)= wT(n)xs(n) hay wk(n) N hiệp phương sai dự đoán thích nghi, xs(n) liệu ảnh xây dựng lại k giá trị lựa chọn từ pixel ảnh trước dựa vào dự đoán e(n) tính e(n) = x(n) – y(n) Lượng tử hóa sai số gửi tới thu xác đinh eq(n) = e(n) + q(n) Quá trình DPCM nén ảnh JPEG Hình ví dụ DPCM nén ảnh JPEG Khối DPCM dùng để mã hóa thành phần DC khối DC sau trình lượng tử hóa II ADPCM nén âm (theo chuẩn G.726) Nguyên tắc Điều chế mã sung vi sai thích ứng (ADPCM) biến thể DPCM cho phép thay đổi kích thước bước lượng tử, cho phép giảm thêm băng thông cần thiết với tỷ lệ signal-to-noise cho trước 22 Về bản, thích nghi với thống kê tín hiệu ADPCM đơn giản bao gồm hệ số mức thích nghi trước lượng tử hóa sai khác mã hóa DPCM ADPCM phát triển vào đầu năm 1970 phòng thí nghiệm Bell Labs để mã hóa tiếng nói Quy trình công nghệ Hình 9: Lược đồ DPCM nén audio chuẩn G.726 Hình 10: Sơ đồ khối nén audio chuẩn G.926 Đầu tiên tín hiệu vào mã hóa phương pháp điều chế xung mã PCM, mã hóa trực tiếp tín hiệu lấy mẫu tiếng nói, âm với luật lượng tử hóa µ-law a-law Các tín hiệu điều chế PCM s(k) chuyển đổi thành tín hiệu PCM đồng sl(k) 23 Các tín hiệu PCM đồng mã hóa bit để nén Để làm điều này, mã hóa tín hiệu sai khác, thay mã hóa tín hiệu tín hiệu gốc Các tín hiệu sai khác tính toán lượng tử hóa Tín hiệu sai khác chênh lệch mẫu mẫu trước Tín hiệu sai khác chênh lệch mẫu mẫu trước tính theo công thức d(k) = sl(k) - se(k) Bộ lượng tử hóa lượng tử hóa tuyến tính phi tuyến tính Bộ lượng tử hóa tuyến tính sử dụng tín hiệu audio thường biến thiên rời rạc Cũng biến thiên tín hiệu audio không đồng nên lượng tử hóa phi tuyến tính thích nghi chia thành lượng tử hóa thích nghi mức 31, 15, 7, Các lượng tử hóa tương ứng lượng tử hóa cho tín hiệu sai khác hoạt động 40, 32, 24 hay 16 Kbps Tín hiệu d(k) qua lượng tử hóa I(k) Tín hiệu sai khác sau lượng tử hóa I(k) đưa vào lượng tử hóa thích nghi nghịch đảo nhằm chuyển đổi dạng ban đầu dq(k) Bộ dự đoán thích nghi dự đoán mẫu dự đoán se(k) từ tín hiệu sai khác dq(k) tín hiệu xây dựng lại sr(k) Nó tiếp tục đầu vào để tính toán chênh lệch tín hiệu so với đầu vào Quá trình dự đoán kết thúc sau xử lý xong tín hiệu đầu vào III DMPC nén video (chuẩn MPEG) Nguyên tắc Trên lý thuyết, video tập hợp ảnh thị liên tiếp mặt thời gian gọi frame DCPM sử dụng nén video chủ yếu dùng để mã hóa dự đoán frame I, B, P Quy trình công nghệ - Nén frame I: DPCM nén frame I DPCM trongn nén JPEG 24 - Nén frame P, B: Mã hóa dự đoán DPCM nén frame P frame B sử dụng trình đánh giá ước lượng chuyển động 25 Phần 4: I XÂY DỰNG ỨNG DỤNG THỬ NGHIỆM DPCM TRONG NÉN ẢNH JPEG VỚI MATLAB Giới thiệu Matlab Matlab ngôn ngữ lập trình thực hành bậc cao sử dụng để giải toán kỹ thuật Matlab tích hợp việc tính toán, thể kết quả, cho phép lập trình, giao diện làm việc dễ dàng cho người sử dụng Dữ liệu với thư viện lập trình sẵn cho phép người sử dụng có ứng dụng sau • Sử dụng hàm có sẵn thư viện, phép tính toán học thông thường • Cho phép lập trình tạo ứng dụng • Cho phép mô mô hình thực tế • Phân tích, khảo sát hiển thị liệu • Với phần mềm đồ hoạ cực mạnh • Cho phép phát triển, giao tiếp với số phần mềm khác C++, Fortran II Lập trình thử nghiệm Chương trình thử nghiệm sử dụng demo trình nén ảnh jpeg Yu Hen Hu Khởi động Matlab mở file jpegdemo.m Đầu vào chương trình liệu ảnh lưu file lena.mat 26 Sau load ảnh vào chương trình, chương trình tiến hành biến đổi DCT để lấy khối 8x8, lượng tử hóa, mã hóa dự đoán DPCM khối DC quét zigzag khối AC Chương trình tính toán thông số dung lượng khối DC AC sau mã hóa Huffman, tốc độ nén tỉ số nén Dưới kết thu chương trình: III 27 TÀI LIỆU THAM KHẢO Image Compression Using DPCM with LMS Algorithm – Ranbeer Tyagi, Rohit yadav and Shekhar Sharma G.726 Adaptive Differential Pulse Code Modulation (ADPCM) on the TMS320C54x DSP – Peter Dent and Aaron Aboagye Stephen J Solari - Digital Video and Audio Compression https://en.wikipedia.org/wiki/Differential_pulse-code_modulation 28 [...]... trên biểu diễn bộ dự đoán DPCM trong nén ảnh Đầu vào dự đoán là xs(n) và đầu ra là y(n) Sự sai khác của dữ liệu ảnh gốc x(n) và dữ liệu ảnh dự đoán y(n) được gọi là sai số dự đoán e(n) Vì thế e(n) = x(n) – y(n) được lượng tử hóa thành eq(n) = e(n) + q(n) với q(n) là sai số lượng tử hóa, e(n) là tín hiệu được lượng tử hóa Khi đó q(n) = eq(n) - e(n) Đầu ra dự đoán y(n) sẽ quay lại bộ dự đoán thành đầu vào... ngang Cuối cùng là ảnh dự đoán hai chiều (2-dimensional – uD[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: 12 Quá trình tạo dự đoán luôn tồn tại một sai số dự đoán nào đó 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... ADPCM đơn giản bao gồm một hệ số mức thích nghi trước khi lượng tử hóa sự sai khác trong bộ mã hóa DPCM ADPCM được phát triển vào đầu những năm 1970 tại phòng thí nghiệm Bell Labs để mã hóa tiếng nói 2 Quy trình công nghệ Hình 9: Lược đồ của DPCM trong nén audio chuẩn G.726 Hình 10: Sơ đồ khối nén audio chuẩn G.926 Đầu tiên các tín hiệu vào sẽ được mã hóa bằng phương pháp điều chế xung mã PCM, mã hóa. .. frame DCPM sử dụng trong nén video chủ yếu là dùng để mã hóa dự đoán các frame I, B, P 2 Quy trình công nghệ - Nén frame I: DPCM trong nén frame I chính là DPCM trongn nén JPEG 24 - Nén frame P, B: Mã hóa dự đoán DPCM trong nén frame P và frame B được sử dụng trong quá trình đánh giá ước lượng chuyển động 25 Phần 4: I XÂY DỰNG ỨNG DỤNG THỬ NGHIỆM DPCM TRONG NÉN ẢNH JPEG VỚI MATLAB Giới thiệu về Matlab... d(k) qua bộ lượng tử hóa là I(k) Tín hiệu sai khác sau khi được lượng tử hóa I(k) sẽ được đưa vào bộ lượng tử hóa thích nghi nghịch đảo nhằm chuyển đổi về dạng ban đầu dq(k) Bộ dự đoán thích nghi sẽ dự đoán mẫu dự đoán se(k) từ tín hiệu sai khác dq(k) và tín hiệu xây dựng lại sr(k) Nó tiếp tục sẽ là đầu vào để tính toán sự chênh lệch tín hiệu so với đầu vào hiện tại Quá trình dự đoán kết thúc sau khi... = x(n) – y(n) Lượng tử hóa sai số này sẽ được gửi tới bộ thu và được xác đinh bởi eq(n) = e(n) + q(n) Quá trình DPCM trong nén ảnh JPEG Hình trên là một ví dụ về DPCM trong nén ảnh JPEG Khối DPCM được dùng để mã hóa các thành phần DC của khối DC sau quá trình lượng tử hóa II ADPCM trong nén âm thanh (theo chuẩn G.726) 1 Nguyên tắc Điều chế mã sung vi sai thích ứng (ADPCM) là một biến thể của DPCM cho...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 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: 11 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... hành biến đổi DCT để lấy các khối 8x8, lượng tử hóa, mã hóa dự đoán DPCM khối DC và quét zigzag trong khối AC Chương trình sẽ tính toán ra được các thông số như dung lượng của khối DC và AC sau khi mã hóa Huffman, tốc độ nén và tỉ số nén Dưới đây là kết quả thu được của chương trình: III 27 TÀI LIỆU THAM KHẢO 1 Image Compression Using DPCM with LMS Algorithm – Ranbeer Tyagi, Rohit yadav and Shekhar Sharma... q(n) Đầu vào dự đoán đúng là xs(n) như giả thiết Tín hiệu lượng tử hóa eq(n) lúc này sẽ được truyền qua kênh 21 2 Quy trình công nghệ Khối LMS được biểu diễn trong hình trên Tín hiệu y(n) khi qua khối LMS được biểu diễn như sau: y(n)= wT(n)xs(n) hay wk(n) là N hiệp phương sai bộ dự đoán thích nghi, xs(n) là dữ liệu ảnh xây dựng lại và k là giá trị lựa chọn từ các pixel ảnh trước đó dựa vào dự đoán hiện... lượng tử hóa xs(n-1), xs(n-2), nó sẽ làm tăng sai số trong quá trình xây dựng lại tín hiệu Trong trường họp này, cách tốt nhất để xác định y(n) (dự đoán từ xs(n)) cũng như từ các mẫu lượng tử hóa xs(n-1), xs(n-2),… tại bộ thu, giá trị sai khác e(n) = x(n) – y(n) sẽ được truyền qua PCM Tại bộ thu, chúng ta có thể sinh ra y(n) và từ e(n) ta có thể xây dựng lại xs(n) Sơ đồ khối cơ bản của DPCM với thuật ... nhiều lợi ích mã hóa khác mẫu kế cận thay cho mã hóa giá trị tuyệt đối mẫu Nguyên tắc mã hóa dự đoán : - Mã hóa sai khác mẫu : mẫu dự đoán theo thời điểm trước mẫu - Giá trị mẫu giải mã dựa sai khác... trình tạo dự đoán tồn sai số dự đoán Chất lượng nén không đơn dựa vào sai số dự đoán trình mã hóa, phụ thuộc trình tái tạo tín hiệu dự đoán giải mã Quá trình nén thực trình lượng tử hóa hiệu nén... phương pháp mã hóa DPCM DPCM vòng mở (Open-loop DPCM) Hình Open-loop DPCM Gọi q 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] Như thấy với kỹ thuật Open-Loop DPCM, sau