1. Trang chủ
  2. » Luận Văn - Báo Cáo

báo cáo bài tập lớn môn học phương pháp tính đề tài 21 tìm hiểu về biến đổi cosin rời rạc trong nén ảnh

12 1 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍMINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA

BÁO CÁO BÀI TẬP LỚN MÔN HỌCPHƯƠNG PHÁP TÍNH

ĐỀ TÀI 21

TÌM HIỂU VỀ BIẾN ĐỔI COSIN RỜI RẠCTRONG NÉN ẢNH

Lớp L09Nhóm 13

GVHD: Lê Thị Yến Nhi

Trang 2

MỤC LỤC

I PHẦN MỞ ĐẦU – ĐẶT VẤN ĐỀ 3

II CƠ SỞ LÝ THUYẾT 4

1 Biến đổi cosin rời rạc (DCT) 4

2 Ứng dụng DCT trong nén ảnh 4

2.1 Quy trình nén ảnh 4

2.2 Ưu và nhược điểm 8

III CODE MATLAB 9

Trang 3

I PHẦN MỞ ĐẦU – ĐẶT VẤN ĐỀ

Nhìn chung, truyền hình đã đáp ứng được nhiều nhu cầu quantrọng của con người như giải trí, giáo dục, văn hóa, chính trị,nghệ thuật Với sự phát triển của khoa học công nghệ, truyềnhình không ngừng được cải tiến so với các hệ thống truyền hình thô sơ,truyền hình đen trắng và màu, hệ thống tivi và truyền hình kỹ thuật sốđã có bước nhảy vọt về chất với việc số hóa tín hiệu truyền hình. Sựxuất hiện của công nghệ truyền hình kỹ thuật số có nhiều ưu điểm sovới truyền hình analog như: khả năng chống nhiễu tốt, chất lượng âmthanh, hình ảnh tốt và nhất quán cùng nhiều hiệu ứng đặc biệt màtruyền hình analog không thể làm được.

Đặc biệt trong việc truyền dữ liệu, truyền tải, ghi âm, tínhiệu video hình ảnh đen trắng, lồng tiếng hình ảnh đen trắng, nhânbản hình ảnh màu và quảng cáo đòi hỏi phải kết hợp tín hiệu thànhphần thành một tín hiệu kênh duy nhất. Sau đó, nhu cầu về các dịch vụtruyền hình đa chức năng (multimedia) và tương tác hai chiều giữatrung tâm phát hình và người sử dụng đòi hỏi độ rộng kênh truyền phảilớn mà dải thông của các kênh thông tin hạn chế Do vậy để đáp ứngnhu cầu về truyền dẫn và lưu giữ thông tin ngày càng tăng trưởngmạnh mẽ theo cấp số nhân, bên cạnh việc nghiên cứu và áp dụng cáccông nghệ thông tin mới thì việc áp dụng các kỹ thuật nén dữ liệu cũngđóng vai trò quyết định.Trong những năm gần đây, có rất nhiều cácphương pháp đã và đang được nghiên cứu rộng rãi để thực hiện nénảnh Tất cả đều với một mục đích chung là làm thế nào để biểu diễnmột ảnh với ít “bit” nhất để có thể tối thiểu hoá dung lượng kênhtruyền và không gian lưu trữ trong khi vẫn giữ được tính trung thực củaảnh Điều này tương đương với việc biểu diễn ảnh có độ tin cậy caonhất với tốc độ “bit” nhỏ nhất Để hiểu sâu hơn về lĩnh vực nén dữ liệu

đặc biệt là nén ảnh số, nhóm chúng em đã chọn đề tài: “TÌM HIỂU VỀ

BIẾN ĐỔI COSIN RỜI RẠC ĐỂ NÉN ẢNH”

Trang 4

II CƠ SỞ LÝ THUYẾT

1.Biến đổi cosin rời rạc (DCT)

DCT (Discrete Cosine Transform): biến đổi dữ liệu dưới dạng biên độthành dữ liệu dưới dạng tần số Mục đích: loại bỏ sự dư thừa dữ liệutrong không gian.

J =0M−1

 f (i, j) là cường độ của pixel trong hàng i và cột j;

 F (u, v) là hệ số DCT trong hàng k1 và cột k2 của ma trận DCT.

 Đối với hầu hết các hình ảnh, phần lớn năng lượng tín hiệu nằm ởtần số thấp; chúng xuất hiện ở góc trên bên trái của DCT.

 Nén được thực hiện do các giá trị bên phải thấp hơn biểu thị tầnsố cao hơn và thường nhỏ - đủ nhỏ để bị bỏ qua với ít biến dạngcó thể nhìn thấy.

 Đầu vào DCT là một mảng 8-8 số nguyên Mảng này chứa mức độthang màu xám của mỗi pixel;

 Pixel 8 bit có các mức từ 0 đến 255.

Trang 5

II.1. Quy trình nén ảnh

Chia ảnh thành các khối:

Ảnh được chia thành các khối pixel không chồng lấp (thường là8x8) Mục đích: tính toán DCT cho từng vùng dư thừa dữ liệu khácnhau

Tất cả các block có cùng kích thước và mỗi block là một ma trậnđiểm ảnh 8×8 pixel được lấy từ một ảnh màn hình theo chiều từtrái sang phải, từ trên xuống dưới Kích thước block là 8×8 đượcchọn bởi hai lý do sau:

Kích thước block lớn làm tăng độ phức tạp thuật toán

Khoảng cách giữa các pixel vượt quá 8 sẽ làm cho hàm tươngquan suy giảm nhanh

Biến đổi DCT:

Mỗi khối 8x8 pixel được biến đổi bằng DCT DCT là một phép biếnđổi tuyến tính, chuyển đổi dữ liệu từ miền không gian (pixel) sangmiền tần số Kết quả của biến đổi DCT là một ma trận hệ số DCT,trong đó các hệ số ở góc trên bên trái đại diện cho các tần số thấp(thông tin quan trọng) và các hệ số ở góc dưới bên phải đại diệncho các tần số cao (thông tin chi tiết).

Trang 6

Lượng tử hóa

Ma trận hệ số DCT được lượng tử hóa bằng cách chia mỗi hệ sốcho một giá trị lượng tử tương ứng và làm tròn kết quả Các giá trịlượng tử được lựa chọn dựa trên các đặc tính thị giác của conngười, với các hệ số tần số cao thường được lượng tử hóa mạnhhơn (chia cho giá trị lượng tử lớn hơn) vì mắt người ít nhạy cảm

Chức năng cơ bản: chia các hệ số F(u,v) cho các hệ số ở vị trítương ứng trong bảng lượng tử Q(u,v) để biểu diễn số lần nhỏ hơncác giá trị cho phép của hệ số DCT:

Trong phần lượng tử hóa, để biến đổi mảng hai chiều các hệ sốFq(u,v) thành một chuối số một chiều ta sử dụng qua thuật toánzigzag

Trang 7

Thu được kết quả là một chuỗi các số của ma trận cũ được lấytheo hình zigzag từ ô thứ nhất đến ô cuối cùng.

Mã hóa Entropy:

Mục đích: Làm giảm độ dư thừa thống kê trong các phần tử đượcmã hóa để truyền

Mã hóa entropy sử dụng mã hóa VLC và mã hóa RLC

 RLC (Run Length Code): mã hóa độ dài chạy thực hiện mãhóa một hệ số khác 0 sau giá trị DC bằng một từ mã

VLC (Variable Length Code): Mã hóa độ dài biến đổi được thực thibằng cách đặt các từ mã ngắn cho các mức có xác suất xuất hiệncao và các từ mã dài cho các mức có xác suất xuất hiện thấp

Ghép các khối

Các khối đã mã hóa được ghép lại để tạo thành ảnh nén Thôngtin về các giá trị lượng tử được sử dụng cũng được lưu trữ để giảinén ảnh.

Trang 8

II.2. Ưu và nhược điểm

Ưu điểm của nén ảnh bằng DCT:

Hiệu quả nén cao: DCT có khả năng loại bỏ các tần số cao

không quan trọng, giúp giảm kích thước dữ liệu ảnh đáng kể màkhông làm giảm chất lượng ảnh quá nhiều.

Phổ biến: DCT được sử dụng rộng rãi trong các tiêu chuẩn nén

ảnh như JPEG, MPEG và H.26x.

Nhược điểm của nén ảnh bằng DCT:

Mất mát: Nén ảnh bằng DCT là một phương pháp nén mất mát,

nghĩa là một phần thông tin của ảnh gốc sẽ bị mất đi trong quátrình nén và không thể khôi phục hoàn toàn.

Hiện tượng khối: Ở mức nén cao, ảnh nén bằng DCT có thể

xuất hiện hiện tượng khối, làm giảm chất lượng hình ảnh.

Trang 9

III CODE MATLAB

Dưới đây là ví dụ về cách sử dụng DCT để nén một ảnh trong MATLAB:

1 Đọc và chuẩn bị ảnh:

2 Chia ảnh thành các block 8x8:3 Áp dụng DCT cho từng block:4 Lượng tử hóa:

5 Giải lượng tử hóa và DCT ngược:6 Ghép các block lại thành ảnh:7 Loại bỏ phần đệm và hiển thị:

Trang 10

*NHẬN XÉT CHUNG

Chất lượng hình ảnh: Quan sát ảnh gốc và ảnh tái tạo, bạn có thể

nhận thấy một số khác biệt nhỏ về độ sắc nét và chi tiết Ảnh tái tạo cóthể bị mất một chút chi tiết, đặc biệt là ở các vùng có nhiều chi tiết nhỏhoặc độ tương phản cao.

Kích thước file: So sánh kích thước file của ảnh gốc (Picture1.jpg) và

ảnh tái tạo (thường được lưu dưới dạng file jpg mới) Bạn sẽ thấy kíchthước file ảnh tái tạo nhỏ hơn đáng kể so với ảnh gốc

=> giảm đáng kể kích thước ảnh nhưng chất lượng ảnh giảm tối

thiểu ở mức độ mà mắt người khó nhận ra.

Cải thiện và tối ưu hóa:

1 Tối ưu hóa ma trận lượng tử (Q): Ma trận Q sử dụng là ma trận

lượng tử mặc định của JPEG Tuy nhiên, có thể tinh chỉnh ma trậnnày để đạt được mức nén mong muốn và chất lượng hình ảnh tốthơn Ví dụ, tăng các giá trị trong ma trận Q sẽ làm tăng độ nénnhưng giảm chất lượng hình ảnh.

2 Sử dụng Zigzag Scan: Sau khi lượng tử hóa, nên sắp xếp các hệ

số DCT theo thứ tự zigzag trước khi mã hóa Việc này giúp tậndụng tính chất tập trung năng lượng ở các tần số thấp của ảnh, từđó cải thiện hiệu quả nén.

3 Mã hóa Entropy (RLE hoặc Huffman): Để nén ảnh JPEG hiệu

quả hơn, cần mã hóa entropy dữ liệu sau khi lượng tử hóa và sắp

Trang 11

xếp zigzag Hai phương pháp mã hóa entropy phổ biến là Length Encoding (RLE) và Huffman Coding.

Run-IV KẾT LUẬN

Biến đổi cosin rời rạc (DCT) đã khẳng định vai trò quan trọng trong lĩnhvực nén ảnh, đặc biệt là trong chuẩn JPEG phổ biến Thông qua việcchuyển đổi tín hiệu ảnh từ miền không gian sang miền tần số, DCT chophép loại bỏ hiệu quả các thành phần tần số cao, ít quan trọng đối vớimắt người, từ đó giảm đáng kể kích thước dữ liệu ảnh mà không làmgiảm quá nhiều chất lượng hình ảnh.

Bài tập lớn này đã cung cấp cái nhìn tổng quan về DCT, từ cơ sở lýthuyết đến ứng dụng thực tế trong nén ảnh Việc thực hành vớiMATLAB đã giúp minh họa rõ ràng quá trình biến đổi DCT, lượng tử hóa,và tái tạo lại ảnh từ các hệ số DCT.

Tuy nhiên, DCT cũng có những hạn chế nhất định Quá trình nén ảnhsử dụng DCT là một quá trình nén mất mát, nghĩa là một phần thôngtin của ảnh gốc sẽ bị mất đi sau khi nén Mức độ mất mát này phụthuộc vào ma trận lượng tử hóa được sử dụng Việc lựa chọn ma trậnlượng tử hóa phù hợp là một bài toán cân bằng giữa chất lượng ảnh vàtỷ lệ nén.

Trong tương lai, với sự phát triển của công nghệ, các kỹ thuật nén ảnhmới có thể sẽ được phát triển để khắc phục những hạn chế của DCT vàđạt được hiệu quả nén tốt hơn Tuy nhiên, DCT vẫn sẽ là một công cụquan trọng và không thể thiếu trong lĩnh vực nén ảnh trong nhiều nămtới.

Vì thời gian và kiến thức có hạn nên bài báo cáo của chúng em cònnhiều thiếu sót cùng với đó là một đề tài khá lạ với chương trình họcthường ngày, nên bài báo cáo của chúng em chỉ mới dừng lại ở việc tìmhiểu, đúng như tên đề tài nhóm đã chọn Nhưng với đề tài trên, nhómđã lên kế hoạch làm việc và phân chia công việc cụ thể cho từng thànhviên, các thành viên trong nhóm với tinh thần phối hợp, nâng cao kiếnthức đã hoàn thành được bài báo cáo này Qua bài báo cáo nhóm đãrút ra:

- Về kiến thức

Trang 12

+ Ứng dụng của phép biến đổi cosin rời rạc trong thực tế, cụ thể là quitrình nén ảnh.

+ Hiểu được qui trình và một vài bước mã hóa dữ liệu trong nén ảnh.

- Về kĩ năng

+ Biết cách chọn lọc thông tin đầy đủ

+ Tìm hiểu tổng quát và chi tiết cách hoạt động của qui trình nén ảnh

V TÀI LIỆU THAM KHẢO

 Viblo Asia: Nén ảnh theo chuẩn JPEG: theo-chuan-jpeg-maGK7pzOZj2

https://viblo.asia/p/nen-anh- Scribd: Phương pháp nén ảnh theo chuẩn JPEG:https://www.scribd.com/doc/52683135/Ph

%C6%B0%C6%A1ng-phap-nen-%E1%BA%A3nh-theo-chu%E1%BA%A9n-JPEG

Ngày đăng: 21/06/2024, 09:18

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w