Mô hình hệ thống thông tin số được mô tả như hình sau:Hình 1.1: Các thành phần cơ bản của một hệ thống thông tin số Trong hình 1.2 đầu ra của nguồn phát tin cũng có thể là tín hiệu tương
Trang 1BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI
KHOA ĐIỆN TỬ
ĐỒ ÁN: TRUYỀN SỐ LIỆU
ĐỀ TÀI: Mã Hóa Nguồn - JPEG.
Giáo viên hướng dẫn : Th.s Tống Văn Luyên
Sinh viên thực hiện : Đoàn Văn Lợi Nguyễn Văn Quảng
Đỗ Trường Sơn
Trang 4M C L C:ỤC LỤC: ỤC LỤC:
Trang 8Mô hình hệ thống thông tin số được mô tả như hình sau:
Hình 1.1: Các thành phần cơ bản của một hệ thống thông tin số
Trong hình 1.2 đầu ra của nguồn phát tin cũng có thể là tín hiệu tương tự như tín hiệu audio hay video hoặc tín hiệu số chẳng hạn như đầu ra của máy điện báo đánh chữ
(teletype) Trong hệ thống thông tin số, các bản tin được tạo ra từ các nguồn phát tin được
chuyển thành chuỗi ký hiệu nhị phân (binary digits) Một cách lý tưởng là chúng ta mong muốn bản tin ở đầu ra nguồn phát tin là có ít hay không có thành phần dư thừa
Quá trình chuyển đổi hiệu quả các bản tin đầu ra của nguồn phát tin tương tự hay
số thành một chuỗi các ký hiệu nhị phân được gọi là mã hóa nguồn hay nén dữ liệu Chuỗi
ký hiệu nhị phân tạo ra bởi bộ mã hóa nguồn mà chúng ta còn gọi là chuỗi thông tin, được đưa qua bộ mã hóa kênh Chuỗi nhị phân tại đầu ra của bộ mã hóa kênh lại được cho qua
bộ điều chế số để tạo dạng thích hợp với kênh truyền thông.
1.3 Hệ thống Truyền số liệu
Ngày nay với sự phát triển của kỹ thuật và công nghệ đã tạo ra một bước tiến dàitrong lĩnh vực truyền số liệu Sự kết hợp giữa phần cứng, các giao thức truyền thông cácthuật toán nhưng chúng được xử lý tinh vi hơn Về cơ bản một hệ thống truyền số liệuhiện đại mô tả như hình 1.2:
Trang 9a) DTE (Data Terminal Equipment – Thiết bị đầu cuối dữ liệu)
Đây là thiết bị lưu trữ và xử lý thông tin Trong hệ thống truyền số liệu hiện đại thiDTE thường là máy tính hoặc máy Fax hoặc là trạm cuối (terminal) Như vậy tất cả các ứng dụng của người sử dụng (chương trình, dữ liệu) đều nằm trong DTE Chức năng của DTE thường lưu trữ các phần mềm ứng dụng, đóng gói dữ liệu rồi gửi ra DCE hoặc nhận gói dữ liệu từ DCE theo một giao thức ( protocol) xác định DTE trao đổi với DCE thông qua một chuẩn giao tiếp nào đó Như vậy mạng truyền số liệu chính là để nối các DTE lạicho phép chúng ta phân chia tài nguyên, trao đổi dữ liệu và lưu trữ thông tin dùng chung
b) DCE (Data Circuit terminal Equipment- Thiết bị cuối kênh dữ liệu)
Đây là thuật ngữ dùng để chỉ các thiết bị dùng để nối các DTE với các đường (mạng) truyền thông nó có thể là một Modem, Multiplexer, Card mạng hoặc một thiết bị
số nào đó như một máy tính nào đó trong trường hợp máy tính đó là một nút mạng và DTE được nối với mạng qua nút mạng đó DCE có thể được cài đặt bên trong DTE hoặc đứng riêng như một thiết bị độc lập Trong thiết bị DCE thường có các phần mềm được ghi vào bộ nhớ ROM phần mềm và phần cứng kết hợp với nhau để thực hiện nhiệm vụ của nó vẫn là chuyển đổi tín hiệu biểu diễn dữ liệu của người dùng thành dạng chấp nhận được bởi đường truyền Giữa 2 thiết bị DTE việc trao đổi dữ liệu phải tuân thủ theo chuẩn,
dữ liệu phải gửi theo một Format xác định Thí dụ như chuẩn trao đổi dữ liệu tầng 2 của
mô hình 7 lớp là HDLC ( High level Data Link Control) Trong máy Fax thì giao tiếp giữa DTE và DCE đã thiết kế và được tích hợp vào trong một thiết bị, phần mềm điều khiển được cài đặt trong ROM
Trang 10c) Kênh truyền tin
Kênh truyền tin là môi trường mà trên đó 2 thiết bị DTE trao đổi dữ liệu với nhau trong phiên làm việc
Trong môi trường thực này 2 hệ thông được nối với nhau bằng một đoạn cáp đồng trục và một đoạn cáp sợi quang, modem C để chuyển đổi tín hiệu số sang tín hiệu tương tự
để truyền trong cáp đồng trục modem D lại chuyển tín hiệu đó thành tín hiệu số và qua Tranducer E để chuyển đổi từ tín hiệu điện sang tín hiệu quang để truyền trên cáp sợi quang cuối cùng Tranducer F lại chuyển tín hiệu quang thành tín hiệu điện để tới DTE
Trang 11Phần 2: TỔNG QUAN VỀ KỸ THUẬT MÃ HÓA NGUỒN – JPEG
2.1: Mã hóa nguồn.
2.1.1: Khái niệm.
Mã hóa nguồn là phương thức mã hóa tín hiệu thành các bít thông tin
để có thể truyền đi, đồng thời cũng để làm tối đa dung lượng kênh truyền Trong mã hóa nguồn, có thể chia theo các loại thông tin khác nhau: thoại, số liệu hoặc hình ảnh.
2.1.2: Mục đích.
Mục đích của mã hóa nguồn là giảm dư thừa dữ liệu cần thiết để truyền thông tin.
2.1.3: Lý thuyết thông tin.
-Lý thuyết Entropy: Entropy là lượng tin trung bình tối thiểu để không mất thông tin.
-Chúng ta mã hóa khi phát hiện trong thông tin có dư thừa về không gian, thời gian.
-Các phương pháp mã hóa:
+ Mất thông tin: khi số bit trung bình mã hóa < Entropy.
+ Không mất thông tin: khi số bit trung bình mã hóa > Entropy.
2.1.4: Kỹ thuật thực hiện mã hóa:
JPEG viết tắt của Joint Photographic Experts Group, một nhóm các
nhà nghiên cứu đã phát minh ra định dạng này để hiể thị các hình ảnh đầy
đủ màu hơn (full-color) cho định dạng di động mà các kích thước file lại nhỏ hơn Đây là 1 phương pháp nén ảnh hiệu quả, nó cho phép làm việc với các ảnh có nhiều màu và kích cỡ lớn, tỷ lệ nén ảnh đạt mức so sánh tới vài chục lần (chứ không phải phần trăm).
2.2.2: Phương pháp nén ảnh JPEG
2.2.2.1: Khái quát về phương pháp nén ảnh tĩnh
Có nhiều cách để nén ảnh, nhưng dựa vào yếu tố bảo toàn thông tin
có thể phân chia thành 2 phương pháp nén ảnh tĩnh, đó là:
Trang 12- Nén không mất mát thông tin: sử dụng các phương pháp mã hóa
dữ liệu.
- Nén không mất mát thông tin: Phương pháp nén dựa trên sự biến đổi ảnh.
Quá trình nén ảnh được mô tả theo sơ đồ:
Trang 13
Phần 3: LÝ THUYẾT NÉN ẢNH JPEG (SỬ DỤNG BIỀN ĐỔI DCT)
3.1 Các khái niệm về ảnh
3.1.1 Điểm ảnh (Picture Element)
Gốc của ảnh (ảnh tự nhiên) là ảnh liên tục về không gian và độ sáng Để xử
lý bằng máy tính (số), ảnh cần phải được số hoá Số hoá ảnh là sự biến đổi gầnđúng một ảnh liên tục thành một tập điểm phù hợp với ảnh thật về vị trí và độ sáng(mức xám) Khoảng cách giữa các điểm ảnh đó được thiết lập sao cho mắt ngườikhông phân biệt được ranh giới giữa chúng Mỗi một điểm như vậy gọi là điểm ảnh(PEL: Picture Element) hay gọi tắt là Pixel Trong khuôn khổ ảnh hai chiều, mỗipixel ứng với cặp tọa độ (x, y)
Hình 2.1 Hình minh họa của pixel
Định nghĩa:
Điểm ảnh (Pixel) là một phần tử của ảnh số tại toạ độ (x, y) với độ xám hoặcmàu nhất định Kích thước và khoảng cách giữa các điểm ảnh đó được chọn thíchhợp sao cho mắt người cảm nhận sự liên tục về không gian và mức xám (hoặc màu)của ảnh số gần như ảnh thật Mỗi phần tử trong ma trận được gọi là một phần tửảnh
3.1.2 Mức xám của ảnh
Một điểm ảnh (pixel) có hai đặc trưng cơ bản là vị trí (x, y) của điểm ảnh và
độ xám của nó Dưới đây chúng ta xem xét một số khái niệm và thuật ngữ thườngdùng trong xử lý ảnh
a) Định nghĩa: Mức xám của điểm ảnh là cường độ sáng của nó được gánbằng giá trị số tại điểm đó
1 pixel
Trang 14Hình 2.2 Hình biểu diễn mức xám của ảnh số
b) Các thang giá trị mức xám thông thường: 16, 32, 64, 128, 256 (Mức 256
là mức phổ dụng Lý do: từ kỹ thuật máy tính dùng 1 byte (8 bit) để biểu diễn mức
và 255 biểu diễn cho mức cường độ sáng nhất
Ảnh nhị phân khá đơn giản, các phần tử ảnh có thể coi như các phần tửlogic Ứng dụng chính của nó được dùng theo tính logic để phân biệt đối tượng ảnhvới nền hay để phân biệt điểm biên với điểm khác
d) Ảnh màu: trong khuôn khổ lý thuyết ba màu (Red, Blue, Green) để tạonên thế giới màu) trong đó R, G, B là một giá trị xám và được biểu biểu diễn bằng
1 byte, khi đó các giá trị màu: 28*3=224≈ 16,7 triệu màu
Trang 15Mỗi màu cũng phân thành L cấp màu khác nhau (thường L=256) Mỗikhoảng này biểu diễn cho cường độ sáng của một trong các màu chính Do đó, đểlưu trữ ảnh màu người ta có thể lưu trữ từng màu riêng biệt, mỗi màu lưu trữ nhưmột ảnh đa cấp xám Do đó, không gian nhớ dành cho một ảnh màu lớn gấp 3 lầnmột ảnh đa cấp xám cùng kích cỡ.
P(x, y) = (R, G, B)
- Hệ màu CMY: là phần bù của hệ màu
RGB (C, M, Y) = (1, 1, 1)-(R, G, B)Hay
C+R=M+G=Y+B=1
=> Hệ màu này thường được dùng trong máy in
- Hệ màu CMYK: trong đó K là độ đậm nhạt của màu K= min (C, M, Y)
P(x, y) = (C-K, M-K, V-K, K)
+ Ví dụ:
Với (C1, M1, Y1) ta sẽ có K=min (C1, M1, Y1)
vậy CMYK = (C1-K, M1-K, Y1-K, K)
Hình 2.3 Hệ tọa độ RGB
3.1.3 Định nghĩa ảnh số
Ảnh số là tập hợp các điểm ảnh với mức xám phù hợp dùng để mô tả ảnhgần với ảnh thật
Trang 16Một ảnh số giả sử được biểu diễn bằng hàm f(x, y) Tập con các điểm ảnh làS; cặp điểm ảnh có quan hệ với nhau ký hiệu là p, q.
3.2 Một số khái niệm nén ảnh số
3.2.1 Nén dữ liệu (Data Compression)
Nén dữ liệu là quá trình làm giảm lượng thông tin "dư thừa" trong dữ liệugốc và do vậy, lượng thông tin thu được sau nén thường nhỏ hơn dữ liệu gốc rấtnhiều Với dữ liệu ảnh, kết quả thường là 10:1 Một số phương pháp còn cho kếtquả cao hơn Theo kết quả nghiên cứu được công bố gần đây tại viện kỹ thuậtGeorgie, kỹ thuật nén fractal cho tỉ số nén là 30 trên 1
Ngoài thuật ngữ "nén dữ liệu”, do bản chất của kỹ thuật này nó còn có một
số tên gọi khác như: giảm độ dư thừa, mã hoá ảnh gốc
3.2.2 Tỷ lệ nén (Compression rate)
Tỷ lệ nén là một trong các đặc trưng quan trọng nhất của mọi phương phápnén Tuy nhiên, về cách đánh giá và các kết quả công bố trong các tài liệu cũng cầnđược quan tâm xem xét Nhìn chung, người ta định nghĩa tỷ lệ nén như sau:
Tỷ lệ nén = 1r x %Với r: là tỷ số nén được định nghĩa: r = kích thước dữ liệu gốc/ kích thước dữ liệuthu được sau nén Như vậy hiệu suất của nén là: (1-tỷ lệ nén) x %
Khi nói đến kết quả nén, chúng ta dùng tỷ số nén, thí dụ như 10 trên 1 cónghĩa là dữ liệu gốc là 10 phần sau khi nén chỉ có 1 phần
Tuy nhiên, cũng phải thấy rằng những số đo của một phương pháp nén chỉ
có giá trị với chính sự nén đó, vì rằng hiệu quả của nén còn phụ thuộc vào kiểu dữliệu định nén Tỷ lệ nén cũng chỉ là một trong các đặc trưng cơ bản của phươngpháp nén Nhiều khi tỷ lệ nén cao cũng chưa thể nói rằng phương pháp đó là hiệuquả hơn các phương pháp khác, vì còn các chi phí khác như thời gian, không gian
và thậm chí cả độ phức tạp tính toán nữa Thí dụ như nén phục vụ trong truyền dữliệu: vấn đề đặt ra là hiệu quả nén có tương hợp với đường truyền không
Cũng cần phân biệt nén dữ liệu với nén băng truyền Mục đích chính củanén là giảm lượng thông tin dư thừa và dẫn tới giảm kích thước dữ liệu Tuy vậy,đôi khi quá trình nén cũng làm giảm băng truyền tín hiệu số hoá thấp hơn so vớitruyền tín hiệu tương tự
Trang 173.2.3 Các loại dư thừa dữ liệu
Như trên đã nói, nén nhằm mục đích giảm kích thước dữ liệu bằng cách loại
bỏ dư thừa dữ liệu Việc xác định bản chất các kiểu dư thừa dữ liệu rất có ích choviệc xây dựng các phương pháp nén dữ liệu khác nhau Nói một cách khác, cácphương pháp nén dữ liệu khác nhau là do sử dụng các kiểu dư thừa dữ liệu khácnhau Nên có 4 kiểu dư thừa chính:
a Sự phân bố ký tự
Trong một dãy ký tự, có một số ký tự có tần suất xuất hiện nhiều hơn một số
dãy khác Do vậy, ta có thể mã hoá dữ liệu một cách cô đọng hơn Các dãy ký tự cótần suất cao được thay bởi một từ mã nhị phân với số bít nhỏ; ngược lại các dãy cótần suất thấp sẽ được mã hoá bởi từ mã có nhiều bít hơn Đây chính là bản chất củaphương pháp mã hoá Huffman
b Sự lặp lại của các ký tự
Trong một số tình huống như trong ảnh, 1 ký hiệu (bit "0" hay bit "1") đượclặp đi lặp lại nhiều lần Kỹ thuật nén dùng trong trường hợp này là thay dãy lặp đóbởi dãy mới gồm 2 thành phần: số lần lặp và kí hiệu dùng để mã Phương pháp mãhoá kiểu này có tên là mã hoá loạt dài RLC (Run Length Coding)
c Những mẫu sử dụng tần suất
Có thể có dãy ký hiệu nào đó xuất hiện với tần suất tương đối cao Do vậy,
có thể mã hoá bởi ít bit hơn Đây là cơ sở của phương pháp mã hoá kiểu từ điển doLempel-Ziv đưa ra và có cải tiến vào năm 1977, 1978 và do đó có tên gọi làphương pháp nén LZ77, LZ78 Năm 1984, Terry Welch đã cải tiến hiệu quả hơn vàđặt tên là LZW (Lempel-Ziv- Welch)
d Độ dư thừa vị trí.
Do sự phụ thuộc lẫn nhau của dữ liệu, đôi khi biết được ký hiệu (giá trị) xuấthiện tại một vị trí, đồng thời có thể đoán trước sự xuất hiện của các giá trị ở các vịtrí khác nhau một cách phù hợp Chẳng hạn, ảnh biểu diễn trong một lưới hai chiều,một số điểm ở hàng dọc trong một khối dữ lệu lại xuất hiện trong cùng vị trí ở cáchàng khác nhau Do vậy, thay vì lưu trữ dữ liệu, ta chỉ cần lưu trữ vị trí hàng và cột.Phương pháp nén dựa trên sự dư thừa này gọi là phương pháp mã hoá dự đoán
Trang 18Cách đánh giá độ dư thừa như trên hoàn toàn mang tính trực quan nhằm biểuthị một cái gì đó xuất hiện nhiều lần Đối với dữ liệu ảnh, ngoài đặc thù chung đó,
nó còn có những đặc thù riêng Thí dụ như có ứng dụng không cần toàn bộ dữ liệuthô của ảnh mà chỉ cần các thông tin đặc trưng biểu diễn ảnh như biên ảnh hayvùng đồng nhất Do vậy, có những phương pháp nén riêng cho ảnh dựa vào biếnđổi ảnh hay dựa vào biểu diễn ảnh
3.2.4 Phân loại các phương pháp nén
Có nhiều cách phân loại các phương pháp nén khác nhau
người ta cũng phân thành hai họ:
• Phương pháp không gian (Spatial Data Compression): Các phương phápthuộc họ này thực hiện nén bằng cách tác động trực tiếp lên việc lấy mẫu của ảnhtrong miền không gian
• Phương pháp sử dụng biến đổi (Transform Coding): Gồm các phươngpháp tác động lên sự biến đổi của ảnh gốc mà không tác động trực tiếp
các phương pháp nén thành 2 họ:
• Các phương pháp nén thế hệ thứ nhất: Gồm các phương pháp mà mức độtính toán là đơn giản, thí dụ như việc lấy mẫu, gán từ mã,
Trang 19• Các phương pháp nén thế hệ thứ hai: Dựa vào mức độ bão hoà của tỷ lệnén Trong các phần trình bày dưới đây, ta sẽ theo cách phân loại này Cũng cònphải kể thêm một cách phân loại thứ tự do Anil K Jain nêu ra Theo cách của Jain,các phương pháp nén gồm 4 họ chính:
đồ dưới đây
Quá trình nén
Dữ liệu gốc Dữ liệu nén
Quá trình giải nén
Hình 2.4 Sơ đồ chức năng quá trình nén dữ liệu.
3.3 Biến đổi cosine rời rạc (DCT- Discrete cosine Transform)
3.3.1 Phương pháp biến đổi
Biến đổi cosine rời rạc (DCT) biểu diễn ảnh dưới dạng tổng của các cosine
của các thành phần biên độ và tần số khác nhau của ảnh Hàm dct2 tính DCT hai
chiều của một ảnh DCT có tính chất mà với các ảnh điển hình, hầu hết các thôngtin về ảnh chỉ tập trung trong một vài hệ số của DCT, trong khi các hệ số còn lạichỉ chứa rất ít thông tin Vì lý do này, DCT thường được sử dụng trong các ứngdụng nén ảnh khác nhau nhờ hiệu suất gần như tối ưu của nó đối với các ảnh có độtương quan cao giữa các điểm ảnh lân cận Chẳng hạn, DCT là trung tâm của giảithuật nén ảnh theo chuẩn quốc tế thường được biết với tên JPEG (tên này do nhómphát triển đặt ra: Joint Photographic Experts Group)
Trang 20DCT hai chiều của ma trận A có kích thước MxN được định nghĩa như sau:
0qq N0 1
được và biến đổi ngược của nó cho bởi công thức :
thể được xem như trọng số cho mỗi hàm cơ sở Với các ma trận 8x8, 64 hàm cơ sởđược minh hoạ bởi ảnh sau:
Hình minh họa ma trận 8x8
3.3.2 Nén tổn hao dựa vào DCT
Trang 21Giải thuật nén có tổn hao được biết đến nhiều nhất có lẽ là giải thuật dùngDCT Đây là giải thuật được chuẩn hóa với tên gọi JPEG (lấy từ tên gọi của tổ chức
đã định ra tiêu chuẩn nén này: Joint Photographic Experts Groups (Nhóm lien kếtcác chuyên gia xử lý ảnh) Chuẩn JPEG được sử dụng để mã hoá ảnh đa mức xám,ảnh màu Nó không cho kết quả ổn định lắm với ảnh đen trắng Chuẩn JPEG cungcấp giải thuật cho cả hai loại nén là nén không mất mát thông tin và nén mất mátthông tin
Sơ đồ khối của giải thuật nén và giải nén ảnh JPEG:
Sơ đồ khối của giải thuật nén và giải nén ảnh JPEG
Để nén ảnh theo giải thuật JPEG, ta chia ảnh thành các khối 8x8 (hoặc16x16) Mỗi khối 8x8 này sẽ được xử lý riêng biệt qua các bước của quá trình nénảnh Đầu tiên, ta thực hiện biến đổi DCT thuận đối với mỗi khối Như chúng ta đãbiết, do các điển ảnh kế cận nhau thường có tính tương quan rất cao, phép biến đổiDCT thuận có xu hướng tập trung hầu hết năng lượng của bức ảnh vào trong một
ẢNH
GỐC
P hâ n
k h ố i
8x88x8
8x8
Lượng
tử hoá
Bảng lượng tử
Mã hoá
Bảng mã
ẢNH NÉNDCT