Định dạng nén JPEG được sử dụng trong tất cả máy ảnh kỹ thuật số có kích thước rất nhỏ nên thường chụp được nhiều ảnh trên một thẻ nhớ, JPEG dễ hiển thị trên màn hình, ảnh có thể chuyển
Trang 1A Nén JPEG
I Giới thiệu chung về chuẩn JPEG
1 Giới thiệu chung
JPEG được sử dụng để lưu trữ ảnh và truyền qua mạng Internet (World Wide Web) Địnhdạng nén JPEG được sử dụng trong tất cả máy ảnh kỹ thuật số có kích thước rất nhỏ nên thườngchụp được nhiều ảnh trên một thẻ nhớ, JPEG dễ hiển thị trên màn hình, ảnh có thể chuyển nhanhqua thư điện tử (dung lượng từ 300KB đến 700KB), ảnh JPEG chất lượng cao có dung lượngkhoảng vài MB hay lớn hơn, khuyết điểm chính của ảnh JPEG là ảnh có chất lượng thấp, ảnhthường bị suy giảm nếu so với ảnh gốc
Công nghệ nén ảnh JPEG là một trong những công nghệ nén ảnh hiệu quả, cho phép làmviệ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.Thông thường các ảnh màu hiện nay dùng 8 bit (1 byte) hay 256 màu thay cho từng cường độcủa các màu đỏ, xanh lá cây và xanh da trời Như thế, mỗi điểm của ảnh cần 3 byte để lưu mãmàu, và lượng byte một ảnh này chiếm gấp 24 lần ảnh đen trắng cùng cỡ Với những hình ảnhnày các phương pháp nén ảnh như IFF (Image File Format) theo phương pháp RLE (Run LengthEncoding) không mang lại hiệu quả vì hệ số nén chỉ đạt tới 2:1 hay 3:1 (tất nhiên là kết quả néntheo phương pháp RLE phụ thuộc vào cụ thể từng loại ảnh, ví dụ như kết quả rất tốt với các ảnh
ít đổi màu) Ưu điểm cao của phương pháp này là ảnh đã nén sau khi giải nén sẽ trùng khớp vớiảnh ban đầu Một số phương pháp nén khác không để mất thông tin như Lempel – Ziv – Welch(LZW) có thể cho hệ số nén tới 6:1 Nhưng như thế vẫn chưa thật đáp ứng yêu cầu đòi hỏi thựctế
Phương pháp nén ảnh theo chuẩn JPEG có thể đạt hệ số nén tới 80:1 hay lớn hơn, nhưngphải chịu mất mát thông tin (ảnh sau khi giải nén khác với ảnh ban đầu), lượng thông tin mấtmát tăng dần theo hệ số nén Tuy nhiên, sự mất mát thông tin này không bị làm một cách cẩuthả JPEG tiến hành sửa đổi thông tin ảnh khi nén sao cho ảnh mới gần giống như ảnh cũ, khiếnphần đông mọi người không nhận thấy sự khác biệt Và hoàn toàn có thể quản lý sự mất mát nàybằng các hạn chế hệ số nén Như thế người dùng có thể cân nhắc giữa cái lợi của việc tiết kiệm
bộ nhớ và mức độ thông tin của ảnh, để chọn phương án thích hợp
Trang 2b Ưu nhược điểm của phương pháp nén ảnh JPEG
Ưu điểm:
JPEG cho phép ảnh nén với tỷ số nén lên đến 80:1 hoặc cao hơn, hiển thị các hình ảnh đầy
đủ màu hơn (full - color) cho định dạng di động mà kích thước file lại nhỏ hơn JPEG cũng được
sử dụng rất nhiều trên Web Lợi ích chính của chúng là chúng có thể hiển thị các hình ảnh vớimàu chính xác true – color (chúng có thể lên đến 16 triệu màu), điều đó cho phép chúng được sửdụng tốt nhất cho các hình ảnh chụp và hình ảnh minh họa có số lượng màu lớn
Nhược điểm:
Nhược điểm chính của định dạng JPEG là chúng được nén bằng thuật toán lossy (mất dữliệu) Điều này có nghĩa rằng hình ảnh sẽ bị mất một số chi tiết khi chuyển sang định dạngJPEG Đường bao giữa các khối màu có thể xuất hiện nhiều điểm mờ và các vùng sẽ mất sự rõnét, tỉ số nén càng cao thì sự mất mát thông tin trên ảnh JPEG càng lớn Nói một cách khác, địnhdạng JPEG thực hiện bảo quản tất cả thông tin màu trong hình ảnh đó, tuy nhiên với các hìnhảnh chất lượng màu cao (high color) như ảnh chụp thì điều này sẽ không hề hấn gì Các ảnhJPEG không thể làm trong suốt hoặc chuyển động – trong trường hợp này sẽ sử dụng định dạngGIF (hoặc định dạng PNG để tạo trong suốt)
2 Các loại JPEG
a JPEG (1992)
Đây là loại JPEG tiêu chuẩn Phương pháp nén ảnh dựa trên nguyên lý sau: Ảnh màu trongkhông gian của 3 màu RGB (Red Green Blue) được biến đổi về hệ YUV (hay YCBCr) (điều nàykhông phải là nhất thiết, nhưng nếu thực hiện thì cho kết quả nén cao hơn) Hệ YUV là kết quảnghiên cứu của các nhà sản xuất vô tuyến truyền hình hệ Pal, Secam và NTSC, nhận thấy tínhiệu video có thể phân ra thành 3 thành phần Y, U, V (cũng như phân theo màu chuẩn đỏ, xanh
lá cây và xanh da trời) Và một điều thú vị là thị giác của con người rất nhạy cảm với thành phần
Y và kém nhạy cảm với hai loại U và V Phương pháp JPEG đã nắm bắt phát hiện này để táchnhững thông tin thừa của ảnh Hệ thống nén thành phần Y của ảnh với mức độ ít hơn so với U,
V, bởi người ta ít nhận thấy sự thay đổi của U và V so với Y
Giai đoạn tiếp theo là biến đổi những vùng thể hiện dùng biến đổi cosin rời rạc (thôngthường là những vùng 8x9 pixel) Khi đó, thông tin về 64 pixel ban đầu sẽ biến đổi thành matrận có 64 hệ số thể hiện “thực trạng” các pixel Điều quan trọng ở đây là hệ số đầu tiên có khảnăng thể hiện “thực trạng” cao nhất, khả năng đó giảm rất nhanh với các hệ số khác Nói cáckhác thì lượng thông tin của 64 pixel tập trung chủ yếu ở một số hệ số ma trận theo biến đổi trên.Trong giai đoạn này có sự mất mát thông tin, bởi không có biến đổi ngược chính xác Nhưnglượng thông tin bị mất này chưa đáng kể so với giai đoạn tiếp theo Ma trận nhận được sau biến
Trang 3đổi cosin rời rạc được lược bớt sự khác nhau giữa các hệ số Đây chính là lúc mất nhiều thôngtin vì người ta sẽ vứt bỏ những thay đổi nhỏ của các hệ số Như thế khi giải nén ảnh đã nén sẽ cóđược những tham số khác của các pixel Các biến đổi trên áp dụng cho thành phần U và V củaảnh với mức độ cao hơn so với Y (mất nhiều thông tin của U và V hơn) Sau đó thì áp dụngphương pháp mã hóa của Huffman: Phân tích dãy số, các phần tử lặp đi lặp lại nhiều được mãhóa bằng ký hiệu ngắn (marker) Khi giải nén người ta chỉ việc làm lại các bước trên theo quátrình ngược lại cùng với biến đổi ngược.
Vì phương pháp này thực hiện với các vùng ảnh (thông thường là 8 x 8 pixel) nên hay xuấthiện sự mất mát thông tin trên vùng biên của các vùng (block) này Hiện nay người ta đã giảiquyết vấn đề này bằng cách làm trơn ảnh sau khi bung nén để che lấp sự khác biệt của biên giớigiữa các block Một hệ nén ảnh theo chuẩn JPEG cùng thuật toán làm trơn ảnh đã được công tyASDG đưa ra trong hệ Department Professional
b LS – JPEG (Lossness JPEG)
LS – JPEG được phát triển như sự bổ sung muộn màng cho JPEG vào năm 1993, bằng cách
sử dụng một kỹ thuật khác nhau từ tiêu chuẩn JPEG cũ Nó sử dụng 1 hệ thống dự báo được sắpxếp dựa trên ba điểm lân cận (upper, left and upper - left) và entropy mã hóa dựa trên lỗi dự báo.Không giống như chế độ mất dữ liệu dựa trên DCT, các quá trình mã hóa không mất mátthông tin dựa trên mô hình tiên đoán mã hóa đơn giản gọi là chuyển mã xung vi sai (DifferentPulse Code Modulation - DPCM) Đây là một mô hình dự đoán các giá trị mẫu từ các mẫu lâncận đã được mã hóa trong hình ảnh Hầu hết các dự đoán lấy trung bình của các mẫu ngay lậptức ở bên trên và bên trái của mẫu mục tiêu DPCM mã hóa sự khác biệt giữa các mẫu dự đoánthay vì mỗi mẫu mã hóa độc lập Sự khác biệt từ một trong những mẫu tiếp theo thường là gầnbằng không
Các bước chính của chế độ hoạt động không giảm chất lượng được mô tả trong hình 2
Trang 4Trong quá trình này, dự báo các kết hợp tối đa ba mẫu lân cận tại A, B và C được thể hiệntrong hình 3 để dự báo giá trị của mẫu tại vị trí dán nhãn của X.
Ba mẫu láng giềng phải được dự đoán mẫu Bất kỳ một trong những dự đoán cho thấy trongbảng dưới đây có thể được sử dụng để ước tính mẫu tại bất kỳ một trong tám dự đoán được liệt
kê trong bảng có thể được sử dụng Lưu ý rằng các lựa chọn 1, 2 và 3 được dự đoán một chiều
và lựa chọn 4, 5, 6 và 7 được dự đoán hai chiều Giá trị lựa chọn đầu tiên trong bảng bằng 0, chỉđược sử dụng để mã hóa khác biệt ở chế độ phân cấp hoạt động Một khi tất cả các mẫu được dựđoán, sự khác biệt giữa các mẫu có thể được lấy và entropy – mã hóa trong một thời gian khônggiảm chất lượng bằng các sử dụng mã hóa Huffman hoặc mã số học
Thuật toán LoCo – I
Trang 5Cốt lõi của LS – JPEG dựa trên các thuật toán LoCo – I Trong thuật toán LoCo – I, cạnhđược phát hiện ban đầu của các cạnh theo chiều ngang hoặc chiều dọc bằng cách kiểm tra cácđiểm ảnh lân cận của điểm ảnh X hiện thời như trong hình 3 Các điểm ảnh có nhãn B được sửdụng trong trường hợp của cạnh thẳng đứng trong khi điểm có nhãn A sử dụng trường hợp cạnhcủa cạnh nằm ngang Điều dự đoán đơn giản này được gọi là phát hiện cạnh trung vị (MedianEdge Dectection - MED) hay dự đoán LoCo – I (LoCo – I predictor).
Điểm ảnh X được dự đoán bằng LoCo – I predictor theo tiêu chí sau đây:
min( A , B) if C ≥ max ( A , B)
X = max ( A , B) if C ≤ min ( A , B)
A+ B−C otherwise
Ba dự đoán đơn giản được chọn theo các điều kiện:
- Nó có khuynh hướng nhận B trong trường hợp tồn tại cạnh dọc trái của X
- Nhận A trong trương hợp cạnh nằm ngang ở phía trên
- Nhận A + B – C nếu không có cạnh nào được phát hiện
c JPEGSearch
Ngày nay, nhiều định dạng siêu dữ liệu khác nhau tồn tại để mô tả hình ảnh nhưng vẫn cònnhiều vấn đề trong khả năng tương tác Trong bối cảnh đó, trọng tâm chính của JPEGSearch làcung cấp một khả năng tương tác tốt hơn trong tìm kiếm hình ảnh Phiên bản hiện tại của dự ánJPSearch được chia thành 5 phần chính
Phần 1 đã được hoàn thành: Nó mô tả cấu trúc tổng thể của JPSearch, một tập hợp lớn cáctrường hợp và phác thảo một kho phục hồi hình ảnh và các thành phần của nó
Phần 2: Đăng ký, nhận dạng và quản lý các siêu dữ liệu lược đồ (Registration, Identificationand Management of Metadata Schema) cố gắng vượt qua những rắc rối trong mô hình siêu dữliệu
Phần 3: Định dạng truy vấn JPSearch (JPSearch Query Format) cung cấp một giao thứcthông báo chuẩn để khôi phục hình ảnh
Phần 4: Tập tin định dạng cho các siêu dữ liệu nhúng vào dữ liệu hình ảnh (JPEG và JPEG2000)
Phần 5: Định dạng trao đổi dữ liệu giữa Kho Hình Ảnh (Data Interchange Format BetweenImage Repositories)
d JPEGXR
{
Trang 6Là 1 định dạng hình ảnh cung cấp 1 số cải tiến so với JPEG:
- Khả năng nén tốt hơn: JPEG XR định dạng tập tin hỗ trợ tỷ lệ nén cao hơn so với JPEG
để mã hóa một hình ảnh với chất lượng tương đương
- Nén không mất mát
- Hỗ trợ cấu trúc (Tile structure support)
o Chất lượng màu tốt hơn và hỗ trợ High Dynamic Range (HDR) imaging
o Hỗ trợ bản đồ trong suốt (Transparency map support)
o Giảm bớt vùng nén ảnh (Compressed – domain image modification)
o Hỗ trợ siêu dữ liệu (Metadata support)
II Kỹ thuật nén ảnh JPEG
1 Giới thiệu chung về kỹ thuật nén ảnh
Các kỹ thuật nén ảnh hướng tới việc giải quyết bài toán giảm khối lượng thông tin cần thiết
để mô tả ảnh số Nền tảng của quá trình nén là loại bỏ dư thừa có trong tín hiệu Phương phápnén hiệu quả nhất thường sử dụng các biến đổi toán học để biến ma trận các điểm ảnh trongkhông gian hai chiều sang một không gian hai chiều khác, nơi mức độ tương quan giữa các hệ sốbiến đổi mới nhỏ hơn Như chúng ta biết, độ dư thừa trong tín hiệu ảnh số phụ thuộc vào mức độtương quan giữa các điểm ảnh, độ tương quan lớn thì độ dư thừa cũng lớn
Phân loại các phương pháp nén ảnh:
Phân loại theo nguyên lý nén:
- Nén không tổn hao (Lossless data reduction)
- Nén có tổn hao (Loss data reduction)
Phân loại theo các thực hiện nén:
- Phương pháp không gian (Spatial Data Compression): các phương pháp nén bằngcách tác động trực tiếp lên điểm ảnh
- Phương pháp sử dụng biến đổi (Transform Coding): phương pháp nén sử dụngcác phép biến đổi không gian, quá trình nén được thực hiện bằng cách tác độnglên ảnh biến đổi
Dư thừa trong dữ liệu:
Độ dư thừa số liệu là vấn đề trung tâm trong nén ảnh số Độ dư thừa được xác định như sau:nếu và là lượng số liệu trong hai tập hợp số liệu cùng được dùng để biểu diễn lượng thôngN1 N2tin cho trước thì độ dư thừa số liệu tương đối RDcủa tập số liệu thứ nhất so với tập số liệu thứ hai
có thể được định nghĩa như sau:
Trang 7Chất lượng ảnh nén có thể thay đổi tùy theo đặc điểm của hình ảnh nguồn và nội dung ảnh.
Có thể đánh giá chất lượng ảnh nén theo chỉ số bit cho một điểm trong ảnh nén ( ) Nb Nbđược xácđịnh bằng tổng số bit dùng để mô tả ảnh nén chia cho tổng số điểm ảnh:
Nb = Số bit nén / Số điểmTrong lý thuyết nén ảnh số, có thể phân biệt ba loại dư thừa số liệu khác nhau:
- Dư thừa mã (Coding Redundancy)
- Dư thừa trong pixel (Interpixel Redundancy)
- Dư thừa tâm sinh lý
Tiêu chí đánh giá chất lượng hình ảnh:
Quá trình nén ảnh thường đi đôi với việc ảnh nén bị biến dạng so với ảnh gốc Vì vậy, cầnxác định tiêu chí và phương pháp đánh giá một cách khách quan lượng thông tin về ảnh đã bịmất đi sau khi nén Có thể đánh giá mức độ sai số giữa hai ảnh thông qua mức sai lệch trungbình bình phương – RMS (Root Mean Square)
Cho f ( x , y ) là ảnh gốc, f '( x , y ) là ảnh khôi phục sau khi nén Khác biệt tuyệt đối giữahai ảnh là:
e (x , y )= f ' ( x , y )−f ( x , y )Sai số trung bình bình phương được tính theo công thức:
Trang 8∑ ∑ ( f ' ( x , y )−f x , y( ))2 x=0 y = 0
SNR (Signal to Noise Ratio) – tỷ lệ tín hiệu / nhiễu
Bộ mã hóa nguồn:
Bộ mã hóa nguồn thực hiện quá trình loại bỏ các thành phần dư thừa trong ảnh gốc Thôngthường, bộ mã hóa nguồn có cấu trúc như trên hình sau:
Hình 6: Sơ đồ bộ mã hóa nguồn
Bộ chuyển đổi: Thường dùng các phép biến đổi không gian để chuyển ảnh trongkhông gian thực sang một không gian khác, nơi các hệ số chuyển đổi có mức độtương quan thấp hơn Kết quả nhận được là ma trận các hệ số biến đổi
Bộ lượng tử hóa: Sử dụng phương pháp lượng tử không đồng đều nhằm triệt tiêu các
hệ số biến đổi có năng lượng thấp hoặc đóng vai trò không quan trọng khi khôi phụcảnh Quá trình lượng tử hóa không có tính thuận nghịch: ảnh khôi phục sẽ bị biếndạng so với ảnh gốc
Bộ mã hóa: Gán một tử mã (một dòng bit nhị phân) cho một mức lượng tử
Bộ giải mã nguồn:
Trang 9Hình 7: Sơ đồ bộ giải mã nguồn
Bộ giải mã: Thực hiện giải mã tín hiệu nhận được để cho ra ma trận các hệ số của ảnh biến đổi
Bộ chuyển đổi: Thực hiện biến đổi nghịch (so với quá trình biến đổi ở bộ mã hóa) đểkhôi phục lại ảnh số ban đầu
Bộ mã hóa và giải mã kênh:
Khi truyền tín hiệu qua kênh truyền có nhiễu, để làm giảm ảnh hưởng của nhiễu tới tín hiệungười ta thường sử dụng các phương pháp mã bằng cách thêm một số thông tin dư thừa vàochuỗi tín hiệu cần truyền đi Tùy thuộc vào phương pháp mã hóa, tại phía thu, sau khi giải mãkênh, có thể phát hiện được lỗi trong chuỗi tín hiệu vừa nhận được (do nhiễu kênh gây ra) hoặc
có thể đồng thời thực hiện sửa các lỗi đó
2 Phương pháp nén ảnh JPEG lũy tiến (JPEG progressive)
Khai triển DCT là kỹ thuật then chốt trong JPEG vì nó cho phép nén ảnh với chất lượng tốtnhất tại tốc độ bit thấp, giải thuật chuyển đổi nhanh và dễ dàng thực hiện bằng phần cứng
a Sơ đồ khối
Trang 10Hình 8: Sơ đồ khối bộ mã hóa ảnh theo JPEGTrước khi đưa tới bộ chuyển đổi DCT, ảnh màu gốc phải được phân tích thành các ảnh đơn sắc và được số hóa theo một trong những tiêu chuẩn hiện hành.
Ánh chói (Y) và hai màu đơn sắc UV (chuẩn PL) hoặc (chuẩn NTSC) được chia thành các block 8*8 và đưa tới bộ chuyển đối DCT Kích thước các block 8*8 được chọn bởi 2 lý do:
Các công trình nghiên cứu cho thấy hàm tương quan giữa các điểm ảnh suy giảm rất nhanh khi khoảng cách giữa các pixel vượt quá 8
Kích thước 8*8 tiện lợi cho việc tính toán và thiết kế phần cứng
Bộ chuyển đổi DCT biến đổi ma trận ảnh f i , j( ) 8*8 thành ma trận hệ số F u , v( ) cùngkích thước Ma trận F u , v( ) được đưa tới bộ lượng tử hóa Các hệ số DCT sẽ được lượng tửhóa đựa trên các bảng lượng tử Tín hiệu chói và tín hiệu màu sẽ được lượng tử theo các bảnglượng tử khác nhau Ma trận hệ số DCT nhận được sau bộ lượng tử Fq(u , v ) Hệ số Fq(0 , 0)
là thành phần trung bình (thành phần DC) của mỗi block được đưa tới bộ mã hóa vi sai (DPCM).Các hệ số khác (thành phần AC) trong từng block được đọc ra theo trình tự zigzag và đưa tới bộ
mã hóa loạt dài (RLC) Cuối cùng chuỗi dữ liệu từ hai bộ mã hóa DPCM và RLC được mã hóamột lần nữa bằng mã Entropy Dữ liệu nén cùng các bảng mã và bảng lượng tử được kết hợp lạithành file ảnh nén theo chuẩn JPEG
b Phân tích sơ đồ khối
Trang 11 Biến đổi DCT
Công đoạn đầu tiên của quá trình nén theo JPEG là biến đổi cosin rời rạc DCT (DiscreteCosine Transform) DCT biến đổi dữ liệu từ miền không gian sang miền tần số DCT được sửdụng tương đối rộng rãi vì nó có đặc tính “gói” năng lượng tốt, biến đổi DCT cho kết quả là các
số thực, ngoài ra có các thuật toán nhanh để thực hiện biến đổi này
Biến đổi DCT được thực hiện trong phạm vi các khối 8*8 mẫu tín hiệu chói Y và các khốitương ứng của tín hiệu màu (UV hoặc IQ)
Biến đổi DCT hai chiều (2-D) được dùng cho các khối ảnh có kích thước 8x8 Quá trình biếnđổi thuận DCT (Forward DCT) dùng trong tiêu chuẩn JPEG được định nghĩa như sau:
C
( u ) C ( v ) 7 7
( 2 j +
Phép biến đổi DCT hai chiều là biến đổi đối xứng và biến đối nghịch cho phép tái tạo lại cácgiá trị mẫu f j , k ( ) trên cơ sở các hệ số F u , v( ) theo công thức sau:
C (u) , C ( v
Trang 12Bản thân phép biến đổi DCT không nén được dữ liệu, từ 64 mẫu nhận được 64 hệ số Trongcác hệ DCT, thành phần DC thường có giá trị lớn nhất, các hệ số nằm kề nó ứng với tần số thấp
có giá trị nhỏ hơn, các hệ số còn lại ứng với tần số cao thường có giá trị rất nhỏ
Trên hình vẽ 9 là một ví dụ minh họa quá trình biến đổi DCT hai chiều cho một block 8x8điểm ảnh (chói) được trích ra từ một ảnh thực Thành phần Y sau khi số hóa sẽ có biên độ cácmẫu nằm trong khoảng 0 – 255, các mẫu của thành phần màu CR, CB có biên độ cực đại là ±
128 Để có thể sử dụng một bộ mã hóa DCT cho cả tín hiệu chói và màu, tín hiệu Y được dịchxuống dưới bằng cách trừ 128 từ mỗi giá trị pixel trong block 8x8 Ở bộ giải mã DCT, giá trị này
sẽ được cộng thêm vào các giá trị chói sau khi giải nén Giá trị hệ số DCT của khối DCT daođộng trong khoảng từ −210 đến 210 1−
Hình 9: Kết quả các bước nén ảnh theo JPEG và bảng lượng tử Q(u, v)
Để thực hiện quá trình nén dữ liệu, ma trận các hệ số khai triển sau DCT phải được chia chobảng trọng số Q u , v ( ) để loại bỏ một phần các hệ số DCT có biên độ giá trị lớn hơn, kết quả sẽđược làm tròn (bỏ đi các phần thập phân):
Trang 15Hình 13: Bảng mã Huffman cho thành phần DC
Hình 14: Block hệ số DCT cần được mã hóaThành phần DC trong block trên hình 14 có giá trị D Cn = 15 Giả sử thành phần DC củablock trước đó là D Cn = 12 Như vậy, kết quả mã hóa DPCM sẽ là giá trị
∆ DC =DCn−D Cn−1=3 Trên bảng 12, ∆ DC = 3 thuộc “loại” 2 Dựa vào bảng mã Huffman
ta có từ mã tương ứng với “loại” 2 là (01) → 2 chính là độ dài từ mã Giá trị ∆ DC = 3 được biểudiễn bằng chuối nhị phân “11” Như vậy từ mã DC sẽ là 0111
Mã hóa thành phần AC
Sơ đồ khối của bộ mã hóa thành phần AC được biểu diễn trên hình 15:
Hình 15: Bộ mã hóa thành phần AC
Trang 16Chuỗi các hệ số AC được lần lượt đưa vào bộ mã hóa RLC Ở đầu ra ta nhận được các từ mãbao gồm hai thành phần:
1) Giá trị chạy – là số lượng bit "0" đứng trước hệ số khác "0" đang được mã hóa.2) Biên độ của hệ số khác "0" nói trên Từ mã Huffman ứng với cặp giá trị trên đượctìm ra trong bảng phân loại 12 và bảng mã Huffman cho thành phần AC (hình 16)
Từ mã AC sẽ bao gồm từ mã Huffman và giá trị biên độ (nhị phân) của hệ số AC
Ví dụ: Sau quá trình quét zig-zag, từ block hệ số DCT trên hình 14 ta nhận được chuỗi hệ số
AC sau:
0, -2, -1, -1, -1, 0 , 0, -1, 0 , 0……
Chuỗi bít nhận được sau bộ mã RLC là:
(1,-2) (0, -1) (0, -1) (0, -1) (2,-1) (EOB)
Sau hệ số khác "0" cuối cùng, đặt từ mã đặc biệt để báo hiệu kết thúc khối, từ mã này có tên
là EOB – End Of Block Sử dụng bảng phân loại (hình 12) chúng ta tìm được loại của biên độcác hệ số Tín hiệu được đưa vào mã hóa Huffman có cấu trúc sau:
(1,2)(-2), (0,1)(-1), (0,1)(-1), (0,1)(-1) (2,1)(-1), (0,0)
Ý nghĩa của các giá trị trong chuỗi trên được giải thích trong hình sau:
Hình 16: Bảng mã Huffman cho thành phần AC
Từ mã Hufman cho từng cặp giá trị chạy và loại có thể được tìm ra sau khi tra bảng trên hình
16 Kết quả mã hóa các thành phần AC và DC được tập hợp lại thành chuỗi bít có dạng như sau:
Trang 17Có thể thấy rằng chỉ cần 35 bits để truyền đi block 64 điểm ảnh, như vậy hiệu quả nén củaphương pháp JPEG trong trường hợp này là 0.5 bit/điểm ảnh.
Giải nén
Sơ đồ khối bộ giải nén ảnh JPEG biểu diễn trên hình 17 Quá trình giải nén JPEG được thựchiện với trình tự ngược với quá trình mã hóa Đầu tiên, bộ giải mã tách thông tin ghi trong phầnHeader của ảnh nén: đó là bảng mã và bảng lượng tử
Hình 17: Sơ đồ khối bộ giải mã tín hiệu JPEGCác bảng này được đưa tới khối giải mã entropy và khối lượng tử ngược Dữ liệu mang tintức về ảnh được lần lượt đưa qua bộ giải mã entropy, giải mã DPCM và RLC Các hệ số DC và
AC sau khi giải mã sau đó sẽ được sắp xếp theo thứ tự để tạo ra block hệ số DCT giống như ởphía coder Quá trình lượng tử ngược được thực hiện theo công thức:
F (u , v )=Fq (u , v ) Q (u , v)
Q (u , v ) – là bảng lượng tử giống như bảng lượng tử dùng ở coder
Tập hệ số DCT F(u,v) được đưa vào khối biến đổi DCT nghịch theo công thức trên để tạo rablock ảnh giải nén
c Giải thích mục đích
Trang 18Nén JPEG thông thường các block ảnh được khôi phục theo trình tự từ trái sang phải, từ trênxuống dưới Ảnh chỉ được hiển thị khi nhận được tất cả các gói tin phía phát Vì vậy khi truyềnảnh số chất lượng cao qua mạng băng thông hẹp, thời gian truyền ảnh có thể tương đối lâu,người xem phải chờ một thời gian dài Phương pháp nén JPEG lũy tiến thực hiện ghi dữ liệutheo cách đặc biệt (đọc các block vào khối DCT) để decoder có thể giải mã toàn bộ ảnh ở “mứcthô” ngay mà không cần chờ đến khi quá trình truyền ảnh kết thúc.
d Đặc điểm của nén JPEG lũy tiến
Có 3 giải thuật ghi dữ liệu:
Giải thuật lựa chọn phổ: Các hệ số DCT ứng với tần số thấp của các block 8*8 đượctruyền đi trước, ví dụ, tất cả các hệ số F(0,0) của các block được truyền lần lượt theo thứ
tự từ trái sang phải, từ trên xuống dưới Kế tiếp là chuỗi các hệ số F(0,1), F(1,0) v.v Phíathus au khi nhận được các hệ số F(0,0), decoder đã có thể nhanh chóng khôi phục đượcảnh thô, với độ phân giải thấp hơn 64 lần ảnh gốc, vì các điểm ảnh trong khối 8*8 điểmđều có giá trị bằng F(0,0) ( tức giá trị tring bình của block)
Giải thuật xấp xỉ: Tất cả các hệ số DCT được gửi đi trước có độ chính xác thấp hơn, thí
dụ bước 1 truyền 4 bits, bước 2 truyền thêm 4 bits, bước 3 truyền nốt, 2 bits còn lại của
số nhị phân biểu diễn biên độ hệ số AC
Giải thuật kết hợp: Dựa trên nguyên tắc kết hợp cả 2 giải thuật chia phổ và xấp xỉ.Minh họa cho phương pháp JPEG lũy tiến:
Hình gốc