12
sfdaasPhương pháp nén nh theo chun JPEG Xem bai viet bang font ABC PTS. Đinh Tiến Sơn. PC World VN Bài này giới thiệu tiếp phương pháp nén ảnh theo chuẩn JPEG để các độc giả quan tâm có khái niệm tổng quan về các phương pháp nén ảnh hiện đại, rút ra những điểm yếu mạnh, để có thể áp dụng chúng trong những lĩnh vực cụ thể có hiệu quả, hay nghiên cứu nâng cấp các phương pháp này. Công nghệ nén ảnh JPEG (joint Photographic Experts Group) là một trong những công nghệ nén ảnh hiệu quả, 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). Tuy nhiên được cái này bạn phải mất cái khác, đó là quy luật cộng trừ tự nhiê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 mức 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 màu này chiếm gấp 24 lần ảnh trắng đen cùng cỡ. Với những ảnh này các phương pháp nén ảnh như IFF (Image File Format) theo phương pháp RLE (Run Length Encoding) 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én theo 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 loại ảnh ít đổi màu). Ưu điểm cao của phương pháp này là ảnh đã nén sau khi bung 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ư của Lempel - Ziv - Welch (LZW) có thể cho hệ số nén tới 6:1. Nhưng như thế cũng chưa thật đáp ứng yêu cầu đòi hỏi thực tế. Phương pháp nén ảnh theo thuẩn JPEG có thể cho hệ số nén tới 80:1 hay lớn hơn, nhưng bạn phải chịu mất thông tin (ảnh sau khi bung nén khác với ảnh ban đầu), lượng thông tin mất má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ẩu thả. 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ến phần đông mọi người không nhận thấy sự khác biệt. Và bạn hoàn toàn có thể quản lý sự mất mát này bằng cách 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 độ mất thông tin của ảnh, để chọn phương án thích hợp. Phương pháp nén ảnh JPEG dựa trên nguyên lý sau: Aảnh màu trong không gian của 3 màu RGB (red Green Blue) được biến đổi về hệ YUV (hay YCBCr) (điều này khô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ín hiệu video có thể phân ra 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à hệ nhãn thị 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 nén ảnh theo chuẩn JPEG

Embed Size (px)

DESCRIPTION

DSP

Citation preview

Page 1: Phương pháp nén ảnh theo chuẩn JPEG

sfdaasPhương pháp nén ảnh theo chuẩn JPEG

Xem bai viet bang font ABC

PTS. Đinh Tiến Sơn. PC World VN

Bài này giới thiệu tiếp phương pháp nén ảnh theo chuẩn JPEG để các độc giả quan tâm có khái niệm tổng quan về các phương pháp nén ảnh hiện đại, rút ra những điểm yếu mạnh, để có thể áp dụng chúng trong những lĩnh vực cụ thể có hiệu quả, hay nghiên cứu nâng cấp các phương pháp này.

Công nghệ nén ảnh JPEG (joint Photographic Experts Group) là một trong những công nghệ nén ảnh hiệu quả, 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). Tuy nhiên được cái này bạn phải mất cái khác, đó là quy luật cộng trừ tự nhiê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 mức 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 màu này chiếm gấp 24 lần ảnh trắng đen cùng cỡ. Với những ảnh này các phương pháp nén ảnh như IFF (Image File Format) theo phương pháp RLE (Run Length Encoding) 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én theo 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 loại ảnh ít đổi màu). Ưu điểm cao của phương pháp này là ảnh đã nén sau khi bung 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ư của Lempel - Ziv - Welch (LZW) có thể cho hệ số nén tới 6:1. Nhưng như thế cũng chưa thật đáp ứng yêu cầu đòi hỏi thực tế.

Phương pháp nén ảnh theo thuẩn JPEG có thể cho hệ số nén tới 80:1 hay lớn hơn, nhưng bạn phải chịu mất thông tin (ảnh sau khi bung nén khác với ảnh ban đầu), lượng thông tin mất má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ẩu thả. 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ến phần đông mọi người không nhận thấy sự khác biệt. Và bạn hoàn toàn có thể quản lý sự mất mát này bằng cách 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 độ mất thông tin của ảnh, để chọn phương án thích hợp.

Phương pháp nén ảnh JPEG dựa trên nguyên lý sau: Aảnh màu trong không gian của 3 màu RGB (red Green Blue) được biến đổi về hệ YUV (hay YCBCr) (điều này khô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ín hiệu video có thể phân ra 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à hệ nhãn thị 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.

Page 2: Phương pháp nén ảnh theo chuẩn JPEG

Phương pháp JPEG đã nắm bắt phát hiện này để tách nhữ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ông thường là những vùng 8x8 pixel). Khi đó thông tin về 64 pixel ban đầu sẽ biến đổi thành ma trận có 64 hệ số thể iện "thực trạng" các pixel. Điều quan trọng là ở đây 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ách khá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ưng lượ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 đổ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ông tin vì người ta sẽ vứt bỏ những thay đổi nhỏ của các hệ số. Như thế khi bung ảnh đã nén bạ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ụng phương pháp mã hóa của Hoffman: Phân tích dãy số, các phần tử lặp lại nhiều được mã hóa bằng ký hiệu ngắn (marker). Khi bung ảnh 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 các 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ất hiệ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ải quyế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ới giữa các block. Một hệ nén ảnh theo chuẩn JPEG cùng algorithm làm trơn ảnh đã được công ty ASDG đưa ra trong hệ Art Department Professional.

JPEG - JPEG2000: Những bước đi ngoạn mục của kỹ thuật nén hình ảnh

Tác giả: Theo Thanh Niên Bản gốc: http://www5.tintucvietnam.com/vitinh/2004/9/68072.ttvn

5 năm trước đây sự cố Y2K đã làm cho mọi người phải rất vất vả để khắc phục. Cùng thời điểm đó một tiêu chuẩn được hình thành để rồi lặng lẽ từng bước phục vụ chúng ta trong giai đoạn hiện nay và chắc rằng sẽ định dạng rất phổ biến trong thời gian tới. Đó là định dạng nén hình ảnh JPEG2000. Với tiêu chí dung lượng nhỏ hơn nhưng chất lượng hình ảnh cao hơn.

Page 3: Phương pháp nén ảnh theo chuẩn JPEG

Nhiều định dạng khác nhau để mô tả việc lưu trữ một file hình ảnh như: .bmp; .tif; .pcx; .gif; .jpg... Trong số đó hai định dạng .gif và .jpg (hay .jpeg) được sử dụng rộng rãi nhất do khả năng nén ảnh tốt của chúng, còn .bmp thường cho file ảnh với dung lượng lớn hơn nhiều so với .jpeg.

Có nhiều phương pháp nén ảnh, nhưng đều dựa trên nguyên tắc tìm ra các “phần tử thừa” trong dữ liệu và mã hóa chúng theo nhiều mức độ khác nhau. Một công nghệ nén ảnh tương đối hiệu quả có thể làm việc với các ảnh kích cỡ lớn, nhiều màu đó là công nghệ JPEG - viết tắt của Joint Photographic Experts Group (Hiệp hội các chuyên gia hình ảnh). Kỹ thuật này có thể đạt được hệ số nén hơn tám mươi lần so với ảnh gốc. Tuy nhiên, hệ số nén càng cao thì hình ảnh sau khi giải nén sẽ càng bị sai lệch nhiều hơn, nó chỉ gần giống như ban đầu chứ không đạt hoàn toàn như hình ảnh gốc. Dù sao thì với mắt thường rất khó nhận ra điều khác biệt.

Nguyên lý

N

của phương pháp nén JPEG là: Cắt hình ảnh thành từng khối nhỏ, phân tích tất cả các dữ liệu về màu sắc, độ sáng mà các khối đó chứa bằng các phương trình ma trận. Ảnh màu trong không gian RGB (Red, Green, Blue) được chuyển đổi qua hệ YUV. Trong khi thị giác của con người lại rất nhạy cảm với hệ Y, ít nhạy cảm hơn nhiều với hệ U, V. Hệ thống sẽ nén thành phần Y của ảnh ở mức độ ít hơn nhiều so với U và V. Kế tiếp là dùng biến đổi Cosin rời rạc, sau nữa là mã hóa theo phương pháp Hoffman. Khi giải nén ảnh, các bước thực thi sẽ làm ngược lại quá trình nói trên.

Như đã trình bày, kỹ thuật nén JPEG sẽ làm mất thông tin lúc giải nén, càng nén với hệ số cao thì thông tin càng mất nhiều khi bung. Vì vậy để giải quyết vấn đề này, tháng 12/1999 một bản phác thảo tiêu chuẩn nén hình ảnh theo công nghệ mới JPEG2000. Tháng 8/2000, bản phác thảo về tiêu chuẩn JPEG2000 đã được lưu hành trong giới chuyên gia hình ảnh. Sau đó nó đã được công nhận là tiêu chuẩn quốc tế vào tháng 12/2000 và được ISO hợp thức hóa năm nay để cho phép ứng dụng vào các hệ xử lý

, phân phối.

Với JPEG2000 kỹ thuật xử lý hình ảnh sẽ đạt được những kết quả rất ngoạn mục vì có thể nén nhỏ từ 100-200 lần mà hình ảnh không sai sót bao nhiêu so với hình ảnh gốc. Nhưng đâu là điểm khác biệt để kỹ thuật JPEG2000 vượt trội hơn hẳn so với JPEG?

JPEG2000 là hệ thống mã hóa hình ảnh mà kỹ thuật nén dựa trên kỹ thuật sóng ngắn. Là một tiện ích toán học cho phép mô tả bằng một công thức đơn

Page 4: Phương pháp nén ảnh theo chuẩn JPEG

giản những gì xảy ra tại một thời điểm chính xác của tín hiệu. Với một chuỗi sóng ngắn, chỉ cần biểu diễn bằng vài công thức, đường biểu diễn không đều mà không cần phải mô tả đặc tính của từng điểm một. Và lẽ dĩ nhiên sẽ rất đắc lực khi phân tích tỉ mỉ một file ảnh kỹ thuật số.

Thuật toán trong kỹ thuật JPEG2000 là chọn một số nhỏ các sóng ngắn, các sóng này được lập lại ở những nơi khác nhau, tỷ lệ khác nhau đã mô tả chính xác tín hiệu của hình ảnh. File ảnh nén không chứa nhiều hơn số lượng chỉ vị trí và giãn nở của từng sóng ngắn. Và kỹ thuật mã hóa theo từng khối, theo từng khu vực ưu tiên của hình ảnh (ROI -Regional Of Interest) được áp dụng cũng là một tiến bộ đáng kể trong thuật toán mã hóa JPEG2000

Được ISO công nhận cũng có nghĩa là trong một tương lai gần JPEG2000 sẽ được thương mại hóa thông qua nền công nghiệp kỹ thuật số mà lợi ích mang lại phù hợp nhất đó là chẩn đoán hình ảnh từ xa trong Y khoa, hình ảnh trên Internet, thậm chí có thể là phim ảnh kỹ thuật số thông qua định dạng Motion JPEG2000. Chắc chắn các thiết bị di động như máy tính cầm tay và điện thoại di động cũng sẽ không bỏ qua chuẩn nén hình ảnh này…

Bạn là người yêu thích hình ảnh kỹ thuật số có thể tham khảo thêm trên địa chỉ:

http://www.jpeg.orghttp://jj2000.epfl.ch http://ltswww.epfl.ch/~eurostill http://spear.jpeg.org

Một số phần mềm ứng dụng của JPEG 20001. Morgan JPEG 2000 ToolBox V2

Cách sử dụng rất đơn giản, chỉ cần chạy chương trình, chọn hình cần chuyển đổi định dạng. Ra lệnh lưu (Save as), chỉ vị trí lưu và đặt tên cho file mới. Hộp JPEG2000 Setting xuất hiện cho phép người dùng thiết lập các tùy chọn nén có mất dữ liệu không. Và quan trọng hơn hết là ứng dụng kỹ thuật ROI (Regional Of Interest) để dùng chuột đánh dấu chọn khu vực trong hình muốn đạt chất lượng cao hơn những khu vực còn lại.

Tải bản dùng thử về từ địa chỉ http://www.morgan-multimedia.com/

Page 5: Phương pháp nén ảnh theo chuẩn JPEG

2. Lead Tools JPEG2000

Dung lượng 6,47MB dùng thử 60 ngày, cách sử dụng gần giống với phần mềm Morgan JPEG2000.

Các phương pháp sử dụng trong chuẩn nén ảnh JPEG

Tốc độ bit đối với ảnh đen trắng khi chưa được nén là 8 bit/pixel và đối với ảnh màu là 24 bit/pixel. Các kỹ thuật nén hiên nay cho phép dung lượng ảnh được nén giảm 30 đến 50 lần so với ảnh gốc mà ảnh vẫn giữ được độ trung thực cao. Độ trung thực của ảnh được đánh giá dựa trên tiêu chí như lỗi trung bình bình phương (MSE: Mean Square Error) hoặc tỷ số tín hiệu trên tạp âm (SNR: Signal-to-Noise ratio) giữa ảnh gốc và ảnh nén.

ThS. Nguyễn Hoài Nam

GIỚI THIỆU CHUNG

Cùng với sự phát triển mạnh mẽ của máy tính và sự ra đời của Internet thì việc tìm một phương pháp nén ảnh để giảm bớt không gian lưu trữ thông tin và truyền thông tin trên mạng nhanh chóng đang là một yêu cầu cần thiết. Trong những năm gần đây, có rất nhiều các phươ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ễn một ảnh với ít bit nhất để có thể tối thiểu hoá dung lượng kênh truyề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 cao nhất với tốc độ bit nhỏ nhất.

Tốc độ bit được đo bằng số bit trên một điểm ảnh (pixel). Tốc độ bit đối với ảnh đen trắng khi chưa được nén là 8 bit/pixel và đối với ảnh màu là 24 bit/pixel. Các kỹ thuật nén hiên nay cho phép dung lượng ảnh được nén giảm 30 đến 50 lần so với ảnh gốc mà ảnh vẫn giữ được độ trung thực cao [2]. Độ trung thực của ảnh được đánh giá dựa trên tiêu chí như lỗi trung bình bình phương (MSE: Mean Square Error) hoặc tỷ số tín hiệu trên tạp âm (SNR: Signal-to-Noise ratio) giữa ảnh gốc và ảnh nén.

CÁC NGUYÊN TẮC CỦA NÉN ẢNH

Một tính chất chung nhất của tất cả các ảnh số đó là tương quan giữa các pixel ở cạnh nhau lớn, điều này dẫn đến dư thừa thông tin để biểu diễn ảnh. Dư thừa thông tin sẽ làm cho việc mã hoá không tối ưu. Do đó công việc cần làm để nén ảnh là phải tìm được các biểu diễn ảnh với tương quan nhỏ nhất để giảm thiểu độ dư thừa thông tin của ảnh. Thực tế, có hai kiểu dư thừa thông tin được phân loại như sau:

Page 6: Phương pháp nén ảnh theo chuẩn JPEG

- Dư thừa trong miền không gian: tương quan giữa các giá trị pixel của ảnh, điều này có nghĩa rằng các pixel lân cận của ảnh có giá trị gần giống nhau (trừ những pixel ở giáp đường biên ảnh).

- Dư thừa trong miền tần số: Tương quan giữa các mặt phẳng màu hoặc dải phổ khác nhau.

Trọng tâm của các nghiên cứu về nén ảnh là tìm cách giảm số bit cần để biểu diễn ảnh bằng việc loại bỏ dư thừa trong miền không gian và miền tần số càng nhiều càng tốt.

Các kỹ thuật nén ảnh được sử dụng:

- Nén ảnh không mất thông tin : với phương pháp này sau khi giải nén ta khôi phục được chính xác ảnh gốc. Các phương pháp nén này bao gồm mã hoá Huffman, mã hoá thuật toán…

- Nén ảnh có mất thông tin: ảnh giải nén có một sự sai khác nhỏ so với ảnh gốc. Các phương pháp này bao gồm:

o Lượng tử hoá vô hướng: PCM và DPCM

o Lượng tử hoá vector

o Mã hoá biến đổi: biến đổi cosin rời rạc (DCT), biến đổi Fourier nhanh (FFT)

o Mã hoá băng con

Hình 1. Sơ đồ khối một hệ thống nén ảnh điển hình

Nội dung của bài báo này sẽ thảo luận về hai phương pháp nén ảnh tĩnh hiện đang được nghiên cứu rộng rãi và so sánh ưu nhược điểm của các phương pháp này:

- Nén dùng biến đổi cosin rời rạc DCT (Discrete Cosin Transform): đang được dùng trong chuẩn nén ảnh JPEG hiện nay [2].

- Mã hoá băng con SBC (Subband Coding): Sẽ được kết hợp với biến đổi wavelet dùng làm chuẩn nén ảnh JPEG trong tương lai [3].

Mã hoá biến đổi DCT

Nguyên tắc chính của phương pháp mã hoá này là biến đổi tập các giá trị pixel của ảnh trong miền không gian sang một tập các giá trị khác trong miền tần số sao cho các hệ số trong tập giá trị mới này có tương quan giữa các điểm ảnh gần nhau nhỏ hơn.

Page 7: Phương pháp nén ảnh theo chuẩn JPEG

Hình 2. Sơ đồ mã hóa và giải mã dùng biến đổi DCT

BIẾN ĐỔI DCT THUẬN VÀ NGHỊCH

Vì ảnh gốc có kích thước rất lớn cho nên trước khi đưa vào biến đổi DCT, ảnh được phân chia thành các khối vuông, mỗi khối này thường có kích thước 8 x 8 pixel và biểu diễn các mức xám của 64 điểm ảnh, các mức xám này là các số nguyên dương có giá trị từ 0 đến 255. Việc phân khối này sẽ làm giảm được một phần thời gian tính toán các hệ số chung, mặt khác biến đổi cosin đối với các khối nhỏ sẽ làm tăng độ chính xác khi tính toán với dấu phẩy tĩnh, giảm thiểu sai số do làm tròn sinh ra.

Biến đổi DCT là một công đoạn chính trong các phương pháp nén sử dụng biến đổi. 2 công thức ở đây minh hoạ cho 2 phép biến đổi DCT thuận nghịch đối với mỗi khối ảnh có kích thước 8 x 8. Giá trị x(n1, n2) biểu diễn các mức xám của ảnh trong miền không gian, X(k1, k2) là các hệ số sau biến đổi DCT trong miền tần số.

(1)

(2)

Với và

Mỗi khối 64 điểm ảnh sau biến đổi DCT thuận sẽ nhận được 64 hệ số thực DCT (bảng 1). Mỗi hệ số này có chứa một trong 64 thành phần tần số không gian hai chiều. Hệ số với tần số bằng không theo cả hai hướng (tương ứng với k1 và k2 bằng 0) được gọi là hệ số một chiều DC, hệ số

Page 8: Phương pháp nén ảnh theo chuẩn JPEG

này chính là giá trị trung bình của 64 điểm ảnh trong khối. 63 hệ số còn lại gọi là các hệ số xoay chiều AC. Hệ số một chiều DC tập trung phần lớn năng lượng của ảnh.

Bảng 1. Các bước của quá trình mã hóa biến đổi DCT đối với 1 khối

Chú ý rằng bản thân biến đổi DCT không làm mất thông tin vì DCT là một biến đổi tuyến tính chuyển các giá trị của điểm ảnh từ miền không gian thành các hệ số trong miền tần số. Nếu biến đổi DCT thuận và nghịch được tính toán với độ chính xác tuyệt đối và nếu các hệ số DCT không phải qua bước lượng tử và mã hoá thì ảnh thu được sau biến đổi DCT ngược sẽ giống hệt ảnh gốc.

Lượng tử và giải lượng tử

Sau khi thực hiện biến đối DCT, 64 hệ số sẽ được lượng tử hoá dựa trên một bảng lượng tử gồm 64 phần tử Q(u,v) với 0≤u, v≤7. Bảng này được định nghĩa bởi từng ứng dụng cụ thể. Các phần tử trong bảng lượng tử có giá trị từ 1 đến 255 được gọi là các bước nhảy cho các hệ số DCT. Quá trình lượng tử được coi như là việc chia các hệ số DCT cho bước nhảy lượng tử tương ứng, kết quả này sau đó sẽ được làm tròn xuống số nguyên gần nhất. Công thức (3) thể hiện việc lượng tử với F(u,v) là các hệ số DCT, FQ(u,v) là các hệ số sau lượng tử, các hệ số này sẽ được đưa vào bộ mã hoá Entropy.

(3)

Page 9: Phương pháp nén ảnh theo chuẩn JPEG

Mục đích của việc lượng tử hoá là giảm số lượng bit cần để lưu trữ các hệ số biến đổi bằng việc giảm độ chính xác của các hệ số này cho nên lượng tử là quá trình xử lý có mất thông tin.

Quá trình giải lượng tử ở phía bộ giải mã được thực hiên ngược lại. Các hệ số sau bộ giải mã entropy sẽ nhân với các bước nhảy trong bảng lượng tử (bảng lượng tử được đặt trong phần header của ảnh JPEG). Kết quả này sau đó sẽ được đưa vào biến đổi DCT ngược.

MÃ HOÁ VÀ GIẢI MÃ

Mã hoá là bước cuối cùng trong hệ thống nén ảnh dựa trên biến đổi DCT. Chuẩn nén ảnh JPEG hiện nay dùng phương pháp mã hoá Huffman, đây là phép mã hoá không làm mất thông tin. Phương pháp này dựa trên mô hình thống kê. Dựa vào dữ liệu gốc, người ta tính tần suất xuất hiện các hệ số. Việc tính tần suất được thực hiện bằng cách duyệt tuần tự từ đầu khối đến cuối khối, sau đó, những hệ số có tần suất cao được gắn cho một từ mã ngắn, các hệ số có tần suất thấp được gán một từ mã dài. Với cách thức này chiều dài trung bình của từ mã đã giảm xuống.

Các hệ số thu được sau khi lượng tử hoá sẽ được sắp xếp thành một chuỗi các ký hiệu theo kiểu “zig-zag” (theo đường zig-zag trong bảng 1) để đặt các hệ số có tần số thấp lên trước các hệ số tần số cao. Các hệ số này sẽ được mã hoá dựa trên bảng mã Huffman sao cho chiều dài trung bình của từ mã là nhỏ nhất. Bảng mã này cũng sẽ được đặt trong phần mào đầu của ảnh để thực hiện giải nén ảnh.

MÃ HOÁ BĂNG CON

Tại sao phải mã hoá băng con?

Mặc dù với tất cả các ưu điểm của nén ảnh JPEG dựa trên biến đổi DCT như: tính toán đơn giản, chất lượng tốt và dễ dàng thực hiện về mặt phần cứng. Nhưng phương pháp này cũng không hẳn là không có nhược điểm. Vì ảnh đầu vào được phân chia thành nhiều khối độc lập, các khối này được thực hiện biến đổi DCT riêng cho nên vẫn có tương quan ở dọc đường biên của các khối. Điều này sẽ gây ra lỗi khối khi thực hiện mã hoá với tốc độ bit thấp.

Ý tưởng của mã hoá băng con

Trong một ảnh số, các thành phần tần số cao chủ yếu tập trung ở vùng biên của ảnh, đấy là nơi mà các giá trị mức xám của các điểm ảnh có độ chênh lệch lớn. Mà trong đa số các ảnh, các chi tiết của ảnh thường thay đổi chậm tức là chênh lệch mức xám giữa các điểm ảnh gần nhau nhỏ. Như vậy có thể kết luận rằng phổ tần của ảnh tập trung chủ yếu ở miền tần số thấp. Trong các phương pháp nén ảnh trước đây, việc mã hoá thực hiện trong toàn dải tần của ảnh, như vậy sẽ gây dư thừa thông tin khi mã hoá trong miền tần số cao vì ở tần số cao không có nhiều thông tin của ảnh. Ý tưởng của phương pháp mã hoá băng con là chia dải tần số của ảnh thành nhiều dải tần con và mã hoá ở mỗi dải tần một số lượng bit khác nhau. Ví dụ, ở dải tần số cao số bit mã hoá sẽ không cần nhiều bằng ở miền tần số thấp. Với phương pháp này hiệu quả nén sẽ tăng lên và nhiều khối cũng không xuất hiện nữa do không phải phân chia ảnh thành các khối để xử lý.

Mã hoá băng con

Page 10: Phương pháp nén ảnh theo chuẩn JPEG

Nguyên tắc cơ bản trong quá trình mã hoá ảnh băng con là phân chia ảnh thành nhiều dải tần số thông qua các bộ lọc thông thấp, thông dải và thông cao. Các dải tần này gọi là các băng con. Sau đó, các băng con này sẽ được lượng tử và mã hoá độc lập nhau, tuỳ thuộc vào tính chất thống kê và mật độ năng lượng của từng dải mà số bit mã hoá khác nhau.

Hình 3. a) Băng lọc phân tích; b) Hai bộ lọc thông thấp và thông caoc) Phần vùng trong miền tần số; d) Băng lọc tổng hợp

Minh họa trên hình 3a. Gọi L và H tương ứng là các bộ lọc thông thấp và thông cao một chiều. Tần số 2 chiều của ảnh được tách ra từng chiều theo trục w1 và w2. Hình 3c mô tả băng lọc được phân thành 4 vùng tần số LL, LH, HL và HH. Vùng trung tâm (LL) là vùng có tần số thấp theo cả hai hướng. Bốn góc (HH) là vùng có các thành phần tần số cao theo cả hai hướng. Bốn vùng bên cạnh (HL, LH) là các vùng có tần số thấp và tần số cao, mỗi thành phần đi theo một hướng. Chú ý đến các hệ số 2 trong hình vẽ 3a, đó là thành phần giảm mẫu, nó có nhiệm vụ kéo dãn băng tần của từng băng con để bằng với băng tần của ảnh gốc nhưng với tốc độ lấy mẫu thấp hơn.

Các vùng tần số gọi là các băng con sẽ được lượng tử hoá và mã hoá giống như với biến đổi DCT. Sau khi lượng tử, mã hoá, lưu trữ, truyền và giải mã ảnh, mỗi băng con sẽ được tăng mẫu

Page 11: Phương pháp nén ảnh theo chuẩn JPEG

với hệ số 2 (hình 3d) và thông qua các bộ lọc để loại bỏ các thành phần chồng phổ (alias) của tín hiệu sinh ra do các bộ tăng mẫu. Tất cả các băng này sau đó được cộng lại để khôi phục lại ảnh ban đầu.

Trong thực tế, rất nhiều lỗi được tạo ra trong quá trình nén và truyền ảnh: lỗi do lượng tử hoá, do mã hoá, lỗi kênh truyền… bên cạnh đó, bản thân băng lọc còn gây ra lỗi do phía thu không khôi phục lại được chính xác tín hiệu phát. Do đó, nếu không quan tâm đến sự có mặt của các bộ mã hoá và kênh truyền thì trước tiên băng lọc phải có tính khôi phục hoàn hảo tức là tín hiệu ra phải là một bản trễ nguyên gốc của tín hiệu đầu vào. Điều này phụ thuộc vào việc thiết kế các bộ lọc trong băng lọc. Có rất nhiều các nghiên cứu để tìm ra các băng lọc thoả mãn tính khôi phục hoàn hảo [6]. Một trong những dạng như vậy là băng lọc gương cầu phương QMF (Quadrature Mirror Filter) với bộ lọc thông cao (H) là ảnh gương của bộ lọc thông thấp (L) qua trục П/2 (hình 1b).

So sánh hai phương pháp nén ảnh

Tỷ số tín hiệu trên nhiễu SNR (Signal-to-Noise): Mã hoá băng con có tỷ số tín hiệu trên nhiễu cao hơn với tất cả các tốc độ bit mã hoá (hình 4). Thêm nữa, với mã hoá băng con, ảnh khôi phục không bị ảnh hưởng bởi nhiễu khối như với biến đổi DCT.

Hình 4. Tỷ số tín hiệu trên nhiễu với 2 phương pháp SBC và DTC

Lỗi trung bình bình phương MSE (Mean Square Error): được dùng để so sánh tổng trung bình giá trị mức xám của các điểm ảnh trước khi nén và sau khi khôi phục. Hình 5 cho thấy mã hoá băng con cho MSE nhỏ hơn biến đổi DCT.

Page 12: Phương pháp nén ảnh theo chuẩn JPEG

Hình 5. Lỗi trung bình bình phương với 2 phương pháp SBC và DTC

KẾT LUẬN

Mã hoá băng con được xem như một bước tiến mới không chỉ trong kỹ thuật nén ảnh mà con trong nén tiếng, nén video. Với hiệu quả nén cao và độ phức tạp tính toán vừa phải, mã hoá băng con hiện đang được nghiên cứu để áp dụng cho chuẩn nén ảnh cho JPEG 2000 [3].