Một trong các kỹ thuật lượng tử hóa thường được sử dụng trong nén ảnh hiện naylà kỹ thuật lượng tử hóa vector (VQ). Khác với kỹ thuật lượng tử hóa thông thường, VQ không lượng tử từng giá trị tín hiệu riêng biệt mà lượng tử từng nhóm giá trị tín hiệu, nhờ đó VQ không chỉ giúp nén dữ liệu tốt hơn mà còn giữ lại được phần nào mối liên hệ giữacác giá trị gần nhau của tín hiệu ban đầu. Chính vì lý do này mà hiện nay, VQ đang đượcsử dụng trong rất nhiều trong các kỹ thuật nén ảnh.
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 BÀI TẬP LỚN XỬ LÝ DỮ LIỆU ĐA PHƯƠNG TIỆN Giáo viên hướng dẫn : PGS.TS NGUYỄN THỊ HOÀNG LAN Nhóm sinh viên: Thân Xuân Quỳnh Cấn Việt Anh Hà Nội, tháng năm 2015 Mục Lục 20112004 20114627 LỜI NÓI ĐẦU Các liệu đa phương tiện như: text, audio, graphic, animation, image, motion, video có đặc điểm là: đa dạng từ nhiều nguồn phương tiện, có dung lượng tin lớn, nhiều dạng chuẩn khác có không phụ thuộc vào thời gian Do vậy, để lưu trữ, xử lý, tuyền tải cách đơn giản hiệu với liệu thường chuyển chúng sang dạng tín hiệu số (số hóa) Một hai công đoạn quan trọng trình số hóa lượng tử hóa Lượng tử hóa trình rời rạc hóa tín hiệu mặt biên độ sau rời rạc thời gian (lấy mẫu) cách xấp xỉ giá trị tín hiệu ban đầu giá trị đơn giản lựa chọn từ trước Lượng tử hóa giúp ánh xạ tập liệu lớn sang tập liệu nhỏ có tác dụng nén liệu, nhiên với gây sai số so với tín hiệu ban đầu gọi sai số lượng tử Một kỹ thuật lượng tử hóa thường sử dụng nén ảnh kỹ thuật lượng tử hóa vector (VQ) Khác với kỹ thuật lượng tử hóa thông thường, VQ không lượng tử giá trị tín hiệu riêng biệt mà lượng tử nhóm giá trị tín hiệu, nhờ VQ không giúp nén liệu tốt mà giữ lại phần mối liên hệ giá trị gần tín hiệu ban đầu Chính lý mà nay, VQ sử dụng nhiều kỹ thuật nén ảnh Trong khuôn khổ đề tài này, nhiều hạn chế kiến thức tài liệu tham khảo, chúng em xin trình bày vấn đề VQ, ứng dụng rộng rãi VQ thực tế PHÂN CÔNG CÔNG VIỆC Công việc Sinh viên thực Tổng Quan trình lượng tử hóa vector Cấn Việt Anh Các phương pháp xây dựng codebook Thân Xuân Quỳnh Ứng dụng thử nghiệm VQ vào nén ảnh Cấn Việt Anh + Thân Xuân Quỳnh I TÌM HIỂU CHUNG VỀ KỸ THUẬT VQ 1.1 Lý thuyết lượng tử hóa Lượng tử hóa trình ánh xạ tập liệu lớn sang tập liệu nhỏ Do đó, làm tảng nhiều thuật toán nén liệu Trong xử lí tín hiệu số trình rời rạc hóa mặt biên độ sau rời rạc hóa mặt thời gian cách xấp xỉ giá trị tín hiệu ban đầu giá trị đơn giản lựa chọn từ trước Quá trình lượng tử hóa tín hiệu liệu ban đầu gây sai số gọi sai số lượng tử hóa Thiết bị hàm thuật toán dùng để lượng tử hóa gọi lượng tử hóa (quantizer) Do lượng tử hóa phép ánh xạ từ tập lớn sang tập nhỏ nên trình không tuyến tính tính thuận nghịch- tức với liệu đầu ta thu lại (recover) cách xác liệu ban đầu Trong lượng tử hóa, tập liệu đầu vào vô hạn,liên tục không đếm tập liệu đầu hữu hạn vô hạn đếm Lượng tử hóa chia làm hai loại : - Rounding quantization (lượng tử hóa làm tròn): dạng lượng tử hóa sử dụng nhiều ứng dụng cho phép việc sử dụng đại diện xấp xỉ đơn giản tập số lượng dùng để đo để sử dụng tính toán khác Dạng bao gồm phép lấy xấp xỉ làm tròn đơn giản sử dụng số học hàng ngày Nó có kĩ thuật chuyển đổi từ tín hiệu tương tự sang tín hiệu số hệ thống xử lý tín hiệu số phép toán thực hầu hết trình xử lý lọc số Mục đích chủ yếu kĩ thuật ứng dụng giữ lại đa số tín hiệu ban đầu cách xác loại bỏ tín hiệu không cần thiết giữ cho tín hiệu gần với thực tế - Rate-distortion optimized quantization (lượng tử hóa với độ lệch tối ưu): loại sử dụng mã nguồn thuật toán nén liệu có gây mát (“lossy” data compression) với mục đích quản lí độ lệch giới hạn tốc độ bit hỗ trợ kênh truyên thông phương tiện lưu trữ Mức độ lệch quản lý cẩn thận kĩ thuật phức tạp đưa mức độ lệch đáng kể tránh khỏi Bộ lượng tử hóa dạng thiết kế với mục đích hoàn toàn khác phức tạp phép lượng tử hóa làm tròn Việc phân tích lượng tử hóa liên quan đến việc nghiên cứu mức liệu (the amount of data) đầu lượng tử hóa, nghiên cứu xác trình lượng tử Các lĩnh vực chung nghiên cứu thường tỉ lệ độ lệch (sai số) gọi rate-distortion theory (thuyết sai số) 1.2 a Lượng tử hóa vector (VQ) Các khái niệm Lượng tử hóa vector cách thức nén liệu có gây mát dựa nguyên tắc mã hóa khối Đây kĩ thuật sử dụng nhiều ứng dụng nén ảnh, nén âm thanh, nhận dạng âm thanh… Trước việc thiết kế lượng tử hóa vector xem vấn đề nan giải cần phải tích hợp đa chiều Vào năm 1980, Linde, Buzo Gray đưa thuật toán thiết kế lượng tử hóa vector (LBG) dựa tập học nhờ tránh việc phải tích hợp đa chiều Phép lượng tử hóa vector phép ánh xạ vector k chiều không gian vector k chiều sang tập xác định vector Y = {yi: i=1, 2,…, N} Mỗi vector yi gọi codevector hay gọi codeword tập codevector gọi codebook Đối với codeword yi, vector nằm gần so với tất codeword lại tạo thành vùng (Vi) gọi vùng mã hóa (encoding regions hay voronoi region): Tập encoding region gọi phân vùng không gian Rk: Một phân vùng không gian Như thấy, phép lượng tử hóa vector gần cách lấy xấp xỉ giá trị đầu vào Ví dụ ta xét phép lượng tử hóa vector chiều: Ở đây, giá trị xấp xỉ mã hóa bit, số nhỏ -2 lấy xấp xỉ -3 mã hóa 00 , số thuộc khoản từ -2 đến lấy xấp xỉ -1 mã hóa 01, số nằm khoảng từ đến lấy xấp xỉ mã hóa 10, số khoảng lại lấy xấp xỉ mã hóa 11.Tập số nguyên trục số tập vector đầu vào chiều; -3,-1,1,3 codeword tập {3,-1,1,3} codebook Không gian xét tập số nguyên Z Đây gọi phép lượng tử hóa vector 2bits, chiều (1-dimensional, 2-bit VQ) Một ví dụ phép lượng tử hóa vector bits, chiều: Các (chính codeword) kết việc lấy xấp xỉ cặp số khu vực (encoding region) chứa hình vẽ Mỗi mã hóa bit (16 sao) b Vấn đề thiết kế lượng tử hóa vector (vector quantizator) a Đặt vấn đề Như trình bày phần lý thuyết lượng tử hóa mục đích lượng tử giá trị đầu phải có độ lệch giới hạn tái lại nguồn ban đầu, độ lệch bé tín hiệu giống tín hiệu nguồn Để đạt điều sai số trình lượng tử phải quan tâm Đối với phương pháp VQ mục đích phải chọn codevector cho độ lệch trung bình codevector với vector vùng mã hóa định codevector thấp Xét tập học T gồm M phần tử: Tập học thu từ số sở liệu lớn Ví dụ nguồn tín hiệu tiếng nói, tập nguồn thu từ việc ghi âm vài hội thoại dài điện thoại Ở đây, M giả thiết đủ lớn để tập T thể hết thuộc tính nguồn giả thiết vector nguồn có k chiều Gọi N số lượng codevector, tập codebook C: Trong đó, cn (n=1,2,…,N) codevector k chiều: Số vùng mã hóa N Gọi Sn (n=1,2,…,N) encoding region định từ codevector cn , P phân vung không gian chứa Sn Như tất vector xn nằm vùng Sn lấy xấp xỉ gần cn Ta có hàm lượng tử hóa: Và độ lệch trung bình phép lượng tử là: Như vậy, vấn đề cho tập học T định số lượng codevector N, cần phải tìm tập C, P để Dave có giá trị nhỏ b Tiêu chuẩn tối ưu Các tập C, P thỏa mãn vần đề nêu phải thỏa mãn điều kiện sau: - Nearest Neighbor Condition: Khoảng cách vector nằm vùng Sn với codevector cn so với codevector khác phải nhỏ - Centroid Condition: Codevector cn có giá trị giá trị trung bình vector nằm vùng Sn Trong thực nghiệm, vùng có vector tập học ban đầu (do mẫu biểu thức khác 0) c Quá trình lượng tử hóa vector giai đoạn(2 pha): Giai đoạn 1: Huấn luyện (trainning) Giai đoạn 2: Thực mã hóa giải mã o Huấn luyện Huấn luyện dựa theo mô hình toán học, bước thực hiện: • Không gian liệu nguồn k chiều: • X= {x1, x2, … , xi} với xi vector k chiều • Chọn tập liệu huấn luyên T ( T X): T={x1, … , xn} • Theo thuật toán huấn luyên , tạo codebook : • C={C1,C2,….CN} với Ci = {Ci1, Ci2, …, Cik} (code-vector) • Phân hoạch P chia tập T thành N tập con: • P={S1, S2, … , SN} Yêu cầu thỏa mãn tiêu chuẩn tối ƣu: • Láng giềng gần Sn tập vector x gần với code-vector cn code- vector khác • Điều kiện trọng tâm: Cn trọng tâm phân hoạch Si o Thực mã hóa giải mã o Sơ đồ mã hóa giải mã: o Mã hóa: Không gian liệu nguồn X ( tập huấn luyện nhiều vector liệu khác) Với vector xm, tìm code-vector cn thỏa mãn điều kiện khoảng cách gần từ xm đến cn Q(xm) = cn Thay giá trị xm số cn codebook o Giải mã: Từ số cn, tái tạo liệu X ta đặt giá trị Cn vào vị trí tương ứng xm II PHƯƠNG PHÁP XÂY DỰNG CODEBOOK 2.1 Giới thiệu Nén ảnh sử dụng VQ thực cách so sánh liệu ảnh ban đầu (gọi vector training) với giá trị codebook Kết đưa số codeword có sai số bé so với liệu ảnh ban đầu Chỉ số sử dụng thay cho giá trị cần lượng tử Điều làm giảm không gian lưu trữ làm tăng tỉ số nén Vấn đề cần tạo codebook với codevector cho trình lượng tử hóa nén ảnh có sai số tối thiểu Ta có thuật toán mạnh mẽ để giải vấn đề Lloyd, vấn đề khó khăn quan trọng thuật toán Lloy chọn N vector khởi đầu, điều giải thuật toán mở rộng cụ thể thuật toán LBG Ví dụ từ ảnh nguồn ban đầu với kích thước (512x512), Ta phân chia ảnh thành block nhỏ có kích thước (4x4) ta 16384 block Mỗi block ánh xạ sang miền không gian 16 chiều tương ứng với vector (1x16) gọi training vector Ta muốn lấy codebook có kích thước (256x16) Bảng 1:Training vector (16384x16) Bảng 2: Codebook (256x16) 2.2 Xây dựng codebook thuật toán LBG Từ tập training vector ta xây dựng codebook: Thuật toán xuất phát với vector mã ban đầu nhân đôi dần lên đủ số lượng vector mã cần thiết, trình nhân đôi vector mã xếp lại theo thuật toán Lloyd, sau bước cụ thể thuật toán: Cho T, chọn > nhỏ định, (ví dụ = 0,001 ) Đặt N = tính: Tách: Cho i = 1,2, ,N đặt Và N = 2N Lặp: = Đặt số lặp i = a Cho m = 1,2, M, tìm giá trị nhỏ Với n = 1, 2, N, n* số mà đạt giá trị nhỏ xét Đặt Q(Xm)= b Cho n = 1, 2, , N Ta cập nhật vector mã c Đặt i = i + d Tính: e Nếu: >, quay lại bước 4a f Đặt = Cho n = 1, 2, , N Đặt = giá trị cuối vector mã Lặp lại bước 3, đạt số lượng vector mã mong muốn 2.3 Sơ đồ thuật toán nhận xét a Sơ đồ thuật toán b Nhận xét: Mang đặc điểm chung kỹ thuật lượng tử hoá, VQ thực ánh xạ từ không gian lớn liệu ban đầu (tập trainning) sang không gian nhỏ nhiều (codebook) Việc lựa chọn kích thước codebook (cũng số bit/chiều) VQ định độ nén liệu Ngoài ra, việc truyền số (index) codevector codebook thay truyền giá trị thực tế liệu, VQ giúp làm giảm không gian lưu trữ, qua làm tăng cường độ nén liệu Tuy nhiên, độ nén cao đồng nghĩa với việc thông tin sau sử dụng VQ có sai số so với liệu ban đầu lớn Ngoài ra, với đặc điểm riêng lượng tử hoá theo khối (block) liệu, VQ giữ lại phần mối liên quan liệu ban đầu (về vị trí, giá trị…) Vấn đề lớn kỹ thuật VQ việc xây dựng codebook phù hợp để đạt hiệu nén cao giảm sai số lượng tử Có nhiều phương pháp để xây dựng codebook: random, median cut, split Trong đó, phương pháp xây dựng codebook phù hợp phức tạp Hiện nay, phương pháp split codebook với giải thuật LBG sử dụng rộng rãi Nó không phức tạp đạt hiệu nén cao, sai số lượng tử chấp nhận Phương pháp phân phối ngẫu nhiên – LBG : + Có hiệu nén cao + Tuy nhiên yêu cầu tính toán phức tạp tốn tài nguyên để xử lý liệu III ÁP DỤNG VÀO NÉN ẢNH 3.1 Thiết kế chương trình: Đặc trưng: tốc độ nén chậm (do bước tạo codebook), tốc độ giải nén nhanh, linh hoạt việc lựa chọn thuật toán tạo codebook tham số đầu vào a Các vấn đề: • Công cụ sử dụng: matlab • Dữ liệu ảnh trước mã hóa: ảnh số • Dữ liệu sau nén: o File ảnh nén: nhị phân o Codebook: nhị phân • Dữ liệu ảnh sau giải nén: dựa vào file ảnh nén codebook, giải nén ta ảnh số có dung lượng với ảnh gốc • Phương pháp xây dựng codebook: phương pháp tạo codebook phân phối ngẫu nhiên cụ thể sử dụng thuật toán LBG • Lựa chọn tham số: o Tập vector huấn luyện: toàn tập vector nguồn o Các tham số khác thay đổi linh hoạt theo yêu cầu người dùng b Xử lý liệu Sơ đồ chương trình: o Dữ liệu ảnh vào(ảnh xám chiều, ảnh màu BMP chiều) chuyển thành dạng ma trận số, phần tử ma trận từ 256 o Mỗi vector tương ứng với khối điểm ảnh gần (2*2, 4*4, 8*8, ) o Biến đổi ma trận ban đầu thành ma trận cho vector k chiều biểu diễn dạng ma trận hàng N cột o Tạo codebook – hàm makecb(x, s, cbookleng): x ma trận số ảnh đầu vào, s tham số độ lớn khối điểm ảnh (ví dụ khối 4x4 s =4 ), cbookleng số vector mã codebook o Mã hóa – hàm vqencode(x, cbook, s): x a trận số ảnh đầu vào, cbook ma trận vector mã, s tham số độ lớn khối điểm ảnh Chia nhỏ ma trận số ảnh theo s, block so sánh với codebook từ rút ma trận số index tương ứng với code vector o Giải mã – vqdecode(): đầu vào file nén file codebook., hàm tái tạo lại ma trận ban đầu vector mã tương ứng với số index lưu hiển thị hình c Đánh giá kết quả: o Hàm psnr(x,y): x ma trận số ảnh đầu vào, y ma trận số ảnh sau giải nén Hàm trả giá trị tỉ số tín hiệu cực đại nhiễu (peak signal to noise ratio), cho ta biết chất lượng chương trình nén o Hàm ratio(): tính tỉ số ảnh đầu vào file nén Trả tỉ số nén 3.2 Chạy chương trình đánh giá kết Ta chạy thử chương trình với tham số đầu vào thay đổi: kích thước khối điểm ảnh số lượng vector mã codebook Sử dụng ảnh gốc lana.bmp, có kích thước 256*256 Lần thứ nhất: lấy tham số đầu vào sau: Khối điểm ảnh tạo thành vector nguồn: 4*4*3 Số lượng vector mã: 64 Thu được: PSNR = 25.5825 Tỉ số nén: 63.9584 Nhận xét: chất lượng ảnh giải nén kém, tỉ số nén cao Lần thứ hai: lấy tham số đầu vào sau: Khối điểm ảnh tạo thành vector nguồn: 2*2*3 Số lượng vector mã: 64 Thu được: PSNR = 28.6109 Tỉ số nén: 15.9974 Nhận xét: Chất lượng ảnh giải nén tăng lên, tỉ số nén giảm xuống Lần thứ ba: lấy tham số đầu vào sau: Khối điểm ảnh tạo thành vector nguồn: 4*4*3 Số lượng vector mã: 256 Thu được: PSNR = 27.7434 Tỉ số nén: 47.9766 Nhận xét: So với lần thứ nhất, chất lượng ảnh tăng lên đáng kể, tỉ số nén giảm xuống thấp hơn, không thấp lần thứ hai Nhận xét chung: thực nghiệm cho thấy giảm độ lớn vector nguồn (số chiều) tăng số vector mã codebook, chất lượng ảnh tăng lên tỉ số nén giảm ngược lại KẾT LUẬN Dữ liệu lưu trữ truyền tải mạng máy tính ngày gia tăng, đặc biệt liệu hình ảnh video, với ưu điểm linh hoạt mà phương pháp lượng tử hóa vector sử dụng nhiều thực tế (ví dụ Twin vector quantization- dạng cải tiến VQ MPEG-4) tiếp tục cải tiến sử dụng tương lai Trên chúng em nói đến vấn đề chung VQ, để nghiên cứu sâu VQ, tìm hiểu sâu ứng dụng VQ thực tế cần có thêm nhiều thời gian, nhiều kiến thức lý thuyết thực hành Hi vọng, nghiên cứu thêm kiến thức này, chúng em trình bày cụ thể, chi tiết VQ Do nhiều hạn chế kiến thức lý thuyết, tài liệu tham nên đề tài chúng em nhiều thiếu sót, mong thầy bạn đóng góp ý kiến để hoàn thiện đề tài Một lần chúng em xin gửi lời cảm ơn đến cô giáo Nguyễn Thị Hoàng Lan bạn lớp giúp đỡ chúng em hoàn thành đề tài TÀI LIỆU THAM KHẢO [1] Bài giảng môn Xử lý liệu đa phương tiện – PGS.TS Nguyễn Thị Hoàng Lan [2] Vector quantization: www.data-compression.com/vq.shtml [3] Digital audio and video compression – Stephen J.Solari [4] Image Compression with Vector Quantization- Ivan Assen Ivanov [5] “An algorithm for Vector Quantizer Design”, IEEE Transactions on Communications – Y.Linde, a.Buzo, R M Gray [...]... riêng của mình là lượng tử hoá theo từng khối (block) dữ liệu, VQ còn giữ lại được phần nào mối liên quan giữa các dữ liệu ban đầu (về vị trí, giá trị…) Vấn đề lớn nhất trong kỹ thuật VQ là việc xây dựng được một codebook phù hợp để đạt hiệu quả nén cao và giảm sai số lượng tử Có nhiều phương pháp để xây dựng codebook: random, median cut, split Trong đó, phương pháp nào càng xây dựng được codebook phù hợp... (256x16) Bảng 1:Training vector (16384x16) Bảng 2: Codebook (256x16) 2.2 Xây dựng codebook bằng thuật toán LBG Từ tập training vector ta xây dựng codebook: Thuật toán này xuất phát với một vector mã ban đầu và nhân đôi dần lên cho đến khi đủ số lượng vector mã cần thiết, trong quá trình nhân đôi đó các vector mã được sắp xếp lại theo thuật toán Lloyd, sau đây là các bước cụ thể của thuật toán: 1 Cho T,... bước tạo codebook) , tốc độ giải nén nhanh, linh hoạt trong việc lựa chọn thuật toán tạo codebook và các tham số đầu vào a Các vấn đề: • Công cụ sử dụng: matlab • Dữ liệu ảnh trước mã hóa: ảnh số • Dữ liệu sau nén: o File ảnh nén: nhị phân o Codebook: nhị phân • Dữ liệu ảnh sau giải nén: dựa vào file ảnh nén và codebook, giải nén ta được ảnh số có dung lượng bằng với ảnh gốc • Phương pháp xây dựng codebook: ... Đặt Q(Xm)= b Cho n = 1, 2, , N Ta cập nhật các vector mã c Đặt i = i + 1 d Tính: e Nếu: >, quay lại bước 4a f Đặt = Cho n = 1, 2, , N Đặt = là giá trị cuối cùng của vector mã 5 Lặp lại các bước 3, 4 cho đến khi đạt được số lượng vector mã mong muốn 2.3 Sơ đồ thuật toán và nhận xét a Sơ đồ thuật toán b Nhận xét: Mang đặc điểm chung của kỹ thuật lượng tử hoá, VQ đã thực hiện ánh xạ từ không gian lớn... (gọi là các vector training) với các giá trị trong codebook Kết quả là sẽ đưa ra chỉ số của codeword có sự sai số bé nhất so với dữ liệu ảnh ban đầu Chỉ số này sẽ được sử dụng thay cho giá trị cần lượng tử Điều này làm giảm không gian lưu trữ và làm tăng tỉ số nén Vấn đề ở đây cần tạo ra được codebook với các codevector sao cho quá trình lượng tử hóa trong nén ảnh có sai số tối thiểu Ta có thuật toán... giải mã: o Mã hóa: Không gian dữ liệu nguồn X ( ngoài tập huấn luyện còn nhiều vector dữ liệu khác) Với mỗi vector xm, tìm code -vector cn thỏa mãn điều kiện khoảng cách gần nhất từ xm đến cn Q(xm) = cn Thay giá trị của xm bằng chỉ số của cn trong codebook o Giải mã: Từ chỉ số của cn, khi tái tạo dữ liệu X ta đặt giá trị của Cn vào vị trí tương ứng của xm II PHƯƠNG PHÁP XÂY DỰNG CODEBOOK 2.1 Giới... random, median cut, split Trong đó, phương pháp nào càng xây dựng được codebook phù hợp thì càng phức tạp Hiện nay, phương pháp split codebook với giải thuật LBG đang được sử dụng rộng rãi nhất Nó không quá phức tạp trong khi vẫn đạt được hiệu quả nén cao, sai số lượng tử chấp nhận được Phương pháp phân phối ngẫu nhiên – LBG : + Có hiệu quả nén cao + Tuy nhiên yêu cầu tính toán còn phức tạp và tốn tài nguyên... Theo thuật toán huấn luyên , tạo codebook : • C={C1,C2,….CN} với Ci = {Ci1, Ci2, …, Cik} (code -vector) • Phân hoạch P chia tập T thành N tập con: • P={S1, S2, … , SN} Yêu cầu thỏa mãn 2 tiêu chuẩn tối ƣu: • Láng giềng gần nhất Sn là tập các vector x gần với code -vector cn hơn các code- vector khác • Điều kiện trọng tâm: Cn là trọng tâm của phân hoạch Si o Thực hiện mã hóa và giải mã o Sơ đồ mã hóa và... dựng codebook: phương pháp tạo codebook phân phối ngẫu nhiên cụ thể sử dụng thuật toán LBG • Lựa chọn tham số: o Tập vector huấn luyện: toàn bộ tập vector nguồn o Các tham số khác có thể thay đổi linh hoạt theo yêu cầu người dùng b Xử lý dữ liệu Sơ đồ chương trình: o Dữ liệu ảnh vào(ảnh xám 2 chiều, ảnh màu BMP 3 chiều) được chuyển thành dạng ma trận số, mỗi phần tử ma trận từ 0 256 o Mỗi vector tương... điểm ảnh tạo thành một vector nguồn: 4*4*3 Số lượng vector mã: 256 Thu được: PSNR = 27.7434 Tỉ số nén: 47.9766 Nhận xét: So với lần thứ nhất, chất lượng ảnh đã tăng lên đáng kể, nhưng tỉ số nén giảm xuống thấp hơn, nhưng không quá thấp như lần thứ hai Nhận xét chung: thực nghiệm cho thấy khi giảm độ lớn của vector nguồn (số chiều) hoặc tăng số vector mã trong codebook, chất lượng ảnh sẽ tăng lên ... tử hóa thường sử dụng nén ảnh kỹ thuật lượng tử hóa vector (VQ) Khác với kỹ thuật lượng tử hóa thông thường, VQ không lượng tử giá trị tín hiệu riêng biệt mà lượng tử nhóm giá trị tín hiệu, nhờ... từ trước Quá trình lượng tử hóa tín hiệu liệu ban đầu gây sai số gọi sai số lượng tử hóa Thiết bị hàm thuật toán dùng để lượng tử hóa gọi lượng tử hóa (quantizer) Do lượng tử hóa phép ánh xạ từ... số lượng tử Có nhiều phương pháp để xây dựng codebook: random, median cut, split Trong đó, phương pháp xây dựng codebook phù hợp phức tạp Hiện nay, phương pháp split codebook với giải thuật LBG