Dư thừa trong pixe l( Interpixel Redudancy)

Một phần của tài liệu XÂY DỰNG CHƯƠNG TRÌNH MÔ PHỎNG CÁC KỸ THUẬT NÂNG CAO CHẤT LƯỢNG VÀ NÉN ẢNH (Trang 26 - 68)

b. Lọc tần số từ không gian

2.1.5.2Dư thừa trong pixe l( Interpixel Redudancy)

Vì giá trị của một pixel bất kì nào đó cũng có thể được dự báo từ giá trị của các lân cận của nó, nên thông tin từ các pixel riêng là tương đối nhỏ. Sự tham gia của một pixel riêng vào một ảnh là dư thừa. Nhiều tên (bao gồm: dư thừa không gian, dư thừa hình học, dư thừa trong ảnh) được đặt ra để phân biệt sự phụ thuộc này của các pixel. Ta dùng độ dư thừa trong pixel để chỉ tất cả các tên trên. Để giảm độ dư thừa trong pixel của một ảnh, dãy pixel hai chiều dùng cho việc nhìn và nội suy, phải được biến đổi thành một dạng có hiệu quả hơn.

Người ta đưa ra một phương pháp gọi là mã hóa dự đoán không tổn thất để loại

bỏ các dư thừa trong pixel của các pixel kề nhau bằng cách chỉ đưa ra và mã hóa thông tin mới trong mỗi pixel. “Thông tin mới” của 1 pixel là sự khác biệt giữa giá trị thực tế và giá trị dự đoán của pixel đó.

Hình 2.2 Mô hình mã hóa dự đoán không tổn thất bao gồm bộ mã hóa và bộ giải mã 2.1.5.3 Dư thừa tâm sinh lý (Psychovisual Redudancy)

Bằng trực quan ta thấy, sự thu nhận cường độ ánh sáng thay đổi chỉ giới hạn trong một phạm vi nhất định. Hiện tượng này xuất phát từ sự thật là mắt không đáp ứng với cùng độ nhạy của tất cả các thông tin nhìn thấy. Thông tin đơn giản có tầm quan trọng ít hơn thông tin khác trong vùng nhìn thấy. Thông tin này được gọi là độ dư thừa tâm sinh lý. Nó có thể được loại bỏ mà không ảnh hưởng đáng kể đến chất lượng

thu nhận ảnh. Khác với độ dư thừa mã và dư thừa trong pixel, độ dư thừa tâm sinh lý có liên quan đến thông tin theo định lượng. Quá trình loại bỏ nó là đáng kể bởi vì thông tin của nó không cần thiết cho quá trình xử lí thị giác chuẩn. Dư thừa tâm sinh lí có quan hệ tới việc lượng tử hóa. Điều đó có nghĩa là ánh xạ một khoảng rộng các giá trị đầu vào lên một số hữu hạn các giá trị đầu ra. Khi nó là toán tử không đảo ngược (mất thông tin) cho kết quả nén số liệu có tổn hao.

2.1.6 Giới thiệu một số kỹ thuật sử dụng trong nén ảnh

2.1.6.1 Mã hoá dựa trên phép 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.

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

a. 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. Hai công thức ở đây minh hoạ cho 2 phép biến đổi DCT thuận nghịch đối với mỗi

Đồ án tốt nghiệp đại học Chương 2: Các kĩ thuật nén ảnh

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ố.

(2.4) [4]

(2.5) [4]

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 (hình 2.4). 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ố 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.

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.

b. 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 (2.6) 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.

FQ (u,v) = IntergerRoundççèæQF((uu,,vv))öø÷÷ (2.6) [4]

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 mào đầu của ảnh JPEG). Kết quả này sau đó sẽ được đưa vào biến đổi DCT ngược.

c. Mã hóa 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.

Đồ án tốt nghiệp đại học Chương 2: Các kĩ thuật nén ảnh (adsbygoogle = window.adsbygoogle || []).push({});

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 hình 2.4) để đặ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.

2.1.6.2 Kỹ thuật mã hoá băng con

a. Ý tưởng 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. 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. Vì vậy, cần thiết phải đưa ra một phương pháp mới tối ưu hơn.

Ý 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í.

b. Mã hoá băng con

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 2.5 a) Băng lọc phân tích; b) Hai bộ lọc thông thấp và thông cao c) 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 2.5 (a). 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 2.5 (c) 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ẽ 2.5 (a), đó 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 với hệ số 2 (hình 2.5 (d)) và thông qua các bộ lọc để loại bỏ các

Đồ án tốt nghiệp đại học Chương 2: Các kĩ thuật nén ảnh

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. 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 2.5 (b)).

2.1.6.3 Biến đổi Wavelet trong nén ảnh

Biến đổi Wavelet

Wavelet là phép biến đổi được sử dụng để phân tích các tín hiệu không ổn định (non-stationary) – là những tín hiệu có đáp ứng tần số thay đổi theo thời gian.

Biến đổi Wavelet được thực hiện theo cách: tín hiệu được nhân với hàm Wavelet rồi thực hiện biến đổi riêng rẽ cho các khoảng tín hiệu khác nhau trong miền thời gian tại các tần số khác nhau. Cách tiếp cận như vậy còn được gọi là: phân tích đa phân giải – MRA (Multi Resolution Analysis): phân tích tín hiệu ở các tần số khác nhau và cho các độ phân giải khác nhau. MRA khi phân tích tín hiệu cho phép: phân giải thời gian tốt và phân giải tần số kém ở các tần số cao; phân giải tần số tốt và phân giải thời gian kém ở các tần số thấp. Như vậy kỹ thuật này rất thích hợp với những tín hiệu: có các thành phần tần số cao xuất hiện trong khoảng thời gian ngắn, các thành phần tần số thấp xuất hiện trong khoảng thời gian dài chẳng hạn như ảnh và khung ảnh video.

Biến đổi Wavelet rời rạc (DWT)

Có thể hiểu phép biến đổi DWT như là áp dụng một tập các bộ lọc: thông cao và thông thấp. Thiết kế các bộ lọc này tương đương như kỹ thuật mã hoá băng con (subband coding) nghĩa là: chỉ cần thiết kế các bộ lọc thông thấp, còn các bộ lọc thông cao chính là các bộ lọc thông thấp dịch pha đi một góc 1800. Tuy nhiên khác với mã hoá băng con, các bộ lọc trong DWT được thiết kế phải có đáp ứng phổ phẳng, trơn và trực giao.

Các thủ tục nén gồm ba bước:

- Phân tích

- Các hệ số chi tiết theo ngưỡng: Đối với mỗi mức phân tích từ 1 đến N đều sử dụng một ngưỡng cho các hệ số chi tiết.

- Khôi phục.

Nén ảnh có hai phương pháp thực hiện. Thứ nhất là giãn rộng Wavelet theo tín hiệu và lưu giữ chúng bởi một số lượng rất lớn các hệ số nguyên bản. Trường hợp này ta có thể thiết lập ngưỡng toàn cục và tất cả các mức phân tích đều sử dụng ngưỡng này để thiết lập cho việc phân tích. Phương pháp thứ hai là cho phép thiết lập ngưỡng tự động có thể thay đổi giá trị tùy thuộc vào các mức.

a. Biến đổi Wavelet 1-D Phân tích Wavelet 1-D Phân tích Wavelet 1-D

Bước phân tích: Tín hiệu được cho đi qua các bộ lọc thông cao và thông thấp rồi được lấy mẫu xuống (down sampling) hệ số 2 tạo thành biến đổi DWT mức 1.

Hình 2.6 minh họa quá trình phân tích Wavelet 1 chiều.

Hình 2.6 Sơ đồ khối phân tích tín hiệu mức j

Biến đổi ngược Wavelet 1-D

Thực hiện biến đổi ngược, bắt đầu từ cAj và cDj, IDWT khôi phục cAj-1, đảo ngược các bước phân chia bằng việc chèn vào các giá trị 0 và kết hợp các kết quả với các bộ lọc khôi phục. (adsbygoogle = window.adsbygoogle || []).push({});

Đồ án tốt nghiệp đại học Chương 2: Các kĩ thuật nén ảnh

Các bước khôi phục: Lấy mẫu lên (up sampling) hệ số 2 rồi sử dụng các bộ lọc khôi phục thông thấp và thông cao.

Hình 2.7 minh họa quá trình biến đổi ngược Wavelet 1 chiều.

Hình 2.7 Sơ đồ biến đổi ngược Wavelet mức j

Đối với hình ảnh, áp dụng giải thuật tương tự đối với các Wavelet hai chiều và các hàm tỷ lệ nhận được từ các Wavelet một chiều bởi kết quả cắt xén.

DWT hai chiều điển hình cho ta sự phân chia của các hệ số xấp xỉ tại mức j

thành bốn thành phần, bao gồm: xấp xỉ tại mức j + 1 và các chi tiết trong ba hướng (ngang, thẳng đứng, và đường chéo).

b. Biến đổi Wavelet rời rạc 2-D Phân tích Wavelet rời rạc 2-D Phân tích Wavelet rời rạc 2-D Bước phân tích:

Ta sử dụng các bộ lọc riêng biệt, thực hiện biến đổi DWT một chiều dữ liệu vào (ảnh) theo hàng, lấy mẫu xuống, giữ lại các cột có chỉ số chẵn. Rồi ta tiếp tục thực hiện biến đổi DWT một chiều dữ liệu vừa thu được theo cột, lấy mẫu xuống, giữ lại các hàng có chỉ số chẵn. Theo cách này nếu thực hiện biến đổi DWT ở mức 1, sẽ tạo ra

Một phần của tài liệu XÂY DỰNG CHƯƠNG TRÌNH MÔ PHỎNG CÁC KỸ THUẬT NÂNG CAO CHẤT LƯỢNG VÀ NÉN ẢNH (Trang 26 - 68)