ĐẠI HỌC THÁI NGUYÊN ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG KHOA CÔNG NGHỆ ĐIỆN TỬ VÀ TRUYỀN THÔNG - BÁO CÁO THỰC HÀNH MÔN: MATLAB VÀ ỨNG DỤNG Chủ đề:NÉN TỔN HAO DỰA VÀO DCT Giảng viên hướng dẫn: Th.S Vũ Thúy Hằng Sinh viên thực hiện: Phan Minh Huệ Chu Thị Thu Huyền Phan Thanh Quyền Trịnh Ngọc Sơn Nguyễn Thị Thu Trà Lớp: Kỹ thuật Y sinh K13 Thái Nguyên, tháng 11, năm 2016 LỜI NÓI ĐẦU Ngày nay, với phát triển không ngừng khoa học cơng nghệ máy tính đóng vai trị ngày quan trọng khơng thể thiếu sống xã hội loài người Việc trao đổi thông tin người tất ngành, lĩnh vực đời sống ngày trở nên cần thiết với đời phát triển mạng Internet Xử lí ảnh ngành khoa học tương đối mẻ so với nhiều ngành khoa học khác tập trung nghiên cứu phát triển ứng dụng thực tiễn nhiều ngành, lĩnh vực khác Trong nén ảnh phần xử lí ảnh có ứng dụng to lớn truyền thơng lưu trữ Đã có nhiều phương pháp nén ảnh đời không ngừng cải tiến để ngày hoàn thiện đem lại hiệu nén cao cho chất lượng ảnh tốt Trong thảo luận này, nhóm chúng em tìm hiểu số phương pháp nén ảnh phổ biến “Nén ảnh tổn hao dựa vào DCT” I 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 tốn kỹ thuật.Matlab tích hợp việc tính tố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 tố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 Phương pháp nén ảnh số Mục đích việc nén ảnh số mã hoá liệu ảnh dạng thu gọn, tối thiểu hoá số bit dùng để biểu diễn ảnh lẫn sai khác q trình nén gây Nói chung, phương pháp nén ảnh chủ yếu phân thành nhóm: nhóm khơng tổn hao nhóm có tổn hao Các phương pháp nén ảnh không tổn hao cho phép biểu diễn ảnh với chất lượng hoàn toàn ngang với ảnh gốc Các phương pháp dựa giải thuật nén áp dụng cho tất đối tượng liệu nói chung khơng riêng liệu ảnh, ví dụ mã Huffman, mã số học, mã Golomb Tuy nhiên, phương pháp không lợi dụng đặc tính riêng liệu ảnh tỷ lệ nén thấp Do đó, thực tế, phương pháp nén có tổn hao phương pháp sử dụng chủ yếu Với phương pháp này, ln có đánh đổi dung lượng ảnh với chất lượng ảnh III Nén tổn hao dựa vào DCT 3.1 Ý tưởng Giải thuật nén có tổn hao biết đến nhiều có lẽ giải thuật dùng DCT (DCT- Discrete cosine Transform) Đây giải thuật chuẩn hóa với tên gọi JPEG (lấy từ tên gọi tổ chức định tiêu chuẩn nén này: Joint Photographic Experts Groups ( nhóm liên kết chuyên gia xử lý ảnh ) Tiêu chuẩn ứng dụng nhiều lĩnh vực: lưu trữ ảnh, Fax màu , truyền ảnh báo chí, ảnh cho y học, camera số…Tiêu chuẩn JPEG định cho nén ảnh tĩnh đơn sắc màu Tuy nhiên sử dụng cho nhiều ứng dụng với ảnh động có chất lượng ảnh khơi phục tốt tính tốn so với nén MPEG Sơ đồ khối giải thuật nén giải nén ảnh JPEG: ẢNH GỐC Phân khố i Lượng tử hoá 8x8 Mã hoá DCT 8x8 Bảng lượng tử Bảng mã 8x8 Hình 3.1.Sơ đồ khối giải thuật nén ảnh ẢNH NÉN Giải mã ẢNH NÉN Giải lượng tử IDCT Bảng lượng tử Bảng mã ẢNH TÁI TẠO Hình 3.2.Sơ đồ khối giải thuật giải nén ảnh JPEG Giải thuật nén: - Ban đầu ảnh gốc chia thành khối 8x8 - (16x16) Thực biến đổi DTC thuận khối Lượng tử hóa giá trị 64 hệ số biến đổi DCT theo - bảng lượng tử Mã hóa giá trị vừa lượng tử mã RLC 3.2 Phương pháp lượng tử hóa Mỗi hệ số DCT chia cho trọng số tương ứng ma trận lượng tử 8x8 Sau làm trịn số ngun gần theo cơng thức: Trong đó: D ma trận hệ số DCT Q ma trận lượng tử Với cấp chất lượng k với k ≠50, ma trận lượng tử định nghĩa phương trình sau: 3.3 Hàm thực nén ảnh DCT - Hàm dctcompr () Cú pháp: >>im=dctcompr(infile,coeff,outfile) Trong đó: Infile: Tên file ảnh gốc Outfile: Tên file ảnh sau nén Coeff: Số hệ số DCT giữ lại tồn ảnh 3.4 Ví dụ thực giải thuật nén DCT dùng hàm dctcompr in=imread(‘E:\anh\10440697_277559792416626_883928331288357919_n.jpg ’); % đọc ảnh out=dctcompr(‘E:\anh\10440697_277559792416626_883928331288357919_n jpg’,50,‘E:\anh\10440697_277559792416626_883928331288357919_comp.jp g’); % nén ảnh sử dụng hàm DTC imshow(in) % hiển thị hình ảnh gốc figure, imshow(out) % hiển thị hình ảnh sau nén IV Kết luận 4.1 Ưu điểm Việc phân khối làm giảm phần thời gian tính tốn hệ sốchung, mặt khác biến đổi cosin khối nhỏ làm tăng độ xác tính tốn với dấu phẩy tĩnh, giảm thiểusai số làm trịn sinh Biến đổi DCT khơng làm thơng tin DCT biến đổi tuyến tính chuyển giá trị điểm ảnh từ miền không gian thành hệ số miền tần số Nén ảnh tổn hao dựa vào DCT tính tốn đơn giản,chất lượng tốt dễ dàng thực mặt phần cứng… 4.2 Nhược điểm Vì ảnh đầu vào phân chia thành nhiều khối độc lập, khối nàyđược thực biến đổi DCT riêng có tương quan dọc đường biên khối Điều gây lỗi khối thực mã hoá với tốc độ bit thấp 3.3 Hướng phát triển Nén ảnh tổn hao dựa vào DCt đời từ nhiều năm trước cần nghiên cứu cải tiến để nâng cao hiệu nén Nghiên cứu thêm giải thuật SPIHT, EZW ứng dụng chúng TÀI LIỆU THAM KHẢO [1] Giáo trình Matlap ứng dụng, khoa Cơng nghệ điện tử truyền thông, Đại học CNTT & TT [2] http://www.mathworks.com/help/images/f21-16366.html#f21-16149 ... ảnh phổ biến “Nén ảnh tổn hao dựa vào DCT” I 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 tốn, thể kết quả, cho phép lập... >>im=dctcompr(infile,coeff,outfile) Trong đó: Infile: Tên file ảnh gốc Outfile: Tên file ảnh sau nén Coeff: Số hệ số DCT giữ lại tồn ảnh 3.4 Ví dụ thực giải thuật nén DCT dùng hàm dctcompr in= imread(‘E:anh10440697_277559792416626_883928331288357919_n.jpg... lẽ giải thuật dùng DCT (DCT- Discrete cosine Transform) Đây giải thuật chuẩn hóa với tên gọi JPEG (lấy từ tên gọi tổ chức định tiêu chuẩn nén này: Joint Photographic Experts Groups ( nhóm liên