C. Lợng tử hoá
II.6.Phơng pháp mã hoá JPEG2000:
II.6.1. Lịch sử ra đời và phỏt triển chuẩn JPEG2000:
Như chỳng ta đó biết, sự ra đời của JPEG mang lại nhiều lợi ớch to lớn về nhiều mặt. JPEG cú thể giảm nhỏ kớch thước ảnh, giảm thời gian truyền và làm giảm chi phớ xử lý ảnh trong khi chất lượng ảnh là khỏ tốt. Tuy nhiờn cho đến nay người ta mới chỉ ứng dụng dạng thức nộn cú tổn thất thụng tin của JPEG vỡ mó hoỏ khụng tổn thất của JPEG là khỏ phức tạp. Để việc nộn ảnh cú hiệu quả hơn, Ủy ban JPEG đó đưa ra một chuẩn nộn ảnh mới là
JPEG2000. JPEG2000 sử dụng biến đổi Wavelet và cỏc phương phỏp mó
hoỏ đặc biệt để cú được ảnh nộn ưu việt hơn hẳn JPEG. JPEG2000 hiện vẫn đang tiếp tục được phỏt triển, nhưng phần I đó được tổ chức ISO chấp nhận là chuẩn nộn ảnh quốc tế ỏp dụng cho ảnh tĩnh. Chuẩn nộn ảnh JPEG2000 mà xương sống là biến đổi Wavelet với tớnh năng vượt trội so với JPEG chắc chắn sẽ được sử dụng trong cỏc server nội dung để chuyển đổi định dạng ảnh trong mạng di động.
II.6.2.Cỏc tớnh năng của JPEG2000:
JPEG2000 cú nhiều chức năng đặc biệt hơn mọi chuẩn nộn ảnh tĩnh
- Cho chất lượng ảnh tốt nhất khi ỏp dụng nộn ảnh tĩnh cú tổn thất.
- Sử dụng được với truyền dẫn và hiển thị luỹ tiến về chất lượng, độ phõn giải, cỏc thành phần màu và cú tớnh định vị khụng gian.
- Sử dụng cựng một cơ chế nộn ảnh cho cả hai dạng thức nộn. - Truy nhập và giải nộn tại mọi thời điểm trong khi nhận dữ liệu. - Giải nộn từng vựng trong ảnh mà khụng cần giải nộn toàn bộ ảnh. - Cú khả năng mó hoỏ ảnh với tỷ lệ nộn theo từng vựng khỏc nhau.
- Nộn một lần nhưng cú thể giải nộn với nhiều cấp chất lượng tuỳ theo yờu cầu của người sử dụng.
Hiện tại, ISO và uỷ ban JPEG đó đưa ra khuyến nghị thay thế JPEG bằng JPEG2000.
II.6.3.Cỏc bước thực hiện nộn ảnh theo chuẩn JPEG2000:
Hình 2.6.1:Các bớc nén và giải nén JPEG2000
II.6.3.1.Xử lý trước biến đổi:
Do sử dụng biến đổi Wavelet, JPEG2000 cần cú dữ liệu ảnh đầu vào ở dạng đối xứng qua 0. Xử lý trước biến đổi chớnh là giai đoạn đảm bảo dữ liệu đưa vào nộn ảnh cú dạng trờn. Ở phớa giải mó, giai đoạn xử lý sau biến đổi sẽ trả lại giỏ trị gốc ban đầu cho dữ liệu ảnh.
Sinh viên thực hiện : Tạ Minh Thắng CT 702 Trang : 53 Xử lý trước biến đổi Biến đổi thuận liên thành phần Biến đổi thuận riêng thành phần
Lượng tử hoá Mã hoá
Giải mã hoá Giải lượng tử hoá Biến đổi ngược riêng thành phần Biến đổi ngược liên thành phần Xử lý sau biến đổi ảnh gốc ảnh khôi phục ảnh sau mã hoá ảnh mã hoá
II.6.3.2. Biến đổi liờn thành phần :
Giai đoạn này sẽ loại bỏ tớnh tương quan giữa cỏc thành phần của ảnh.
JPEG2000 sử dụng hai loại biến đổi liờn thành phần là biến đổi màu thuận
nghịch (Reversible Color Transform - RCT) và biến đổi màu khụng thuận nghịch (Irreversible Color Transform - ICT) trong đú biến đổi thuận nghịch làm việc với cỏc giỏ trị nguyờn, cũn biến đổi khụng thuận nghịch làm việc với cỏc giỏ trị thực. ICT và RCT chuyển dữ liệu ảnh từ khụng gian màu
RGB sang YCrCb. RCT được ỏp dụng trong cả hai dạng thức nộn cú tổn thất
và khụng tổn thất, cũn ICT chỉ ỏp dụng cho nộn cú tổn thất. Việc ỏp dụng cỏc biến đổi này trước khi nộn ảnh khụng nằm ngoài mục đớch làm tăng hiệu quả nộn. Cỏc thành phần Cr, Cb cú ảnh hưởng rất ớt tới sự cảm nhận hỡnh ảnh của mắt trong khi thành phần độ chúi Y cú ảnh hưởng rất lớn tới ảnh. Chỳng ta cú thể thấy rừ hơn điều này trờn hỡnh vẽ sau:
Biến đổi riờng thành phần được ỏp dụng trong JPEG2000 chớnh là biến đổi Wavelet. Để đảm bảo tớnh toàn vẹn thụng tin cũng phải ỏp dụng cỏc phộp biến đổi thuận nghịch hoặc khụng thuận nghịch. Do phộp biến đổi
Wavelet khụng phải là một phộp biến đổi trực giao như biến đổi DCT mà là
một phộp biến đổi băng con nờn cỏc thành phần sẽ được phõn chia thành cỏc băng tần số khỏc nhau và mỗi băng sẽ được mó húa riờng rẽ. JPEG2000 ỏp dụng biến đổi Wavelet nguyờn thuận nghịch 5/3 (IWT) và biến đổi thực khụng thuận nghịch Daubechies 9/7. Việc tớnh toỏn biến đổi trong
JPEG2000 này sẽ được thực hiện theo phương phỏp Lifting. Sơ đồ của
phương phỏp Lifting 1D ỏp dụng trong JPEG2000 trờn hỡnh 2.6.3.Việc tớnh toỏn biến đổi Wavelet 2D suy ra từ biến đổi Wavelet 1D theo cỏc phương phỏp phõn giải ảnh tuỳ chọn. Trong JPEG2000 cú 3 phương phỏp phõn giải ảnh nhưng phương phỏp được sử dụng nhiều nhất chớnh là phương phỏp
kim tự thỏp.
Hình 2.6.3
Do biến đổi Wavelet 5/3 là biến đổi thuận nghịch nờn cú thể ỏp dụng cho nộn ảnh theo cả hai phương phỏp, cú tổn thất và khụng tổn thất trong
thụng tin.
II.6.3.4. Lượng tử hoỏ - Giải lượng tử hoỏ :
Cỏc hệ số của phộp biến đổi sẽ được tiến hành lượng tử hoỏ. Quỏ trỡnh lượng tử hoỏ cho phộp đạt tỷ lệ nộn cao hơn bằng cỏch thể hiện cỏc giỏ trị biến đổi với độ chớnh xỏc tương ứng cần thiết với mức chi tiết của ảnh cần nộn. Cỏc hệ số biến đổi sẽ được lượng tử hoỏ theo phộp lượng tử hoỏ vụ hướng. Cỏc hàm lượng tử hoỏ khỏc nhau sẽ được ỏp dụng cho cỏc băng con khỏc nhau và được thực theo biểu thức:
V(x,y) = |U(x,y)| sgnU(x,y) ∆
với Δ là bước lượng tử, U(x,y) là giỏ trị băng con đầu vào; V(x,y) là giỏ trị sau lượng tử hoỏ. Trong dạng biến đổi nguyờn, đặt bước lượng tử bằng 1.Với dạng biến đổi thực thỡ bước lượng tử sẽ được chọn tương ứng cho từng băng con riờng rẽ. Bước lượng tử của mỗi băng do đú phải cú ở trong dũng bớt truyền đi để phớa thu cú thể giải lượng tử cho ảnh. Cụng thức giải lượng tử hoỏ là:
U(x,y) = [V(x,y)+rsgnV(x,y)]∆
r là một tham số xỏc định dấu và làm trũn, cỏc giỏ trị ( U x,y);V(x,y) tương
ứng là cỏc giỏ trị khụi phục và giỏ trị lượng tử hoỏ nhận được. JPEG2000 khụng cho trước r tuy nhiờn thường chọn r =1/ 2 .
JPEG2000 theo khuyến nghị của uỷ ban JPEG quốc tế cú thể sử dụng
nhiều phương phỏp mó hoỏ khỏc nhau cũng như nhiều cỏch biến đổi
Wavelet khỏc nhau để cú thể thu được chất lượng ảnh tương ứng với ứng
dụng cần xử lý. Điều này giỳp cho JPEG2000 mềm dẻo hơn nhiều so với
JPEG. Việc ỏp dụng cỏc phương phỏp mó hoỏ khỏc nhau cũng được mở
rộng sang lĩnh vực nộn ảnh động bằng biến đổi Wavelet. Trong thực tế cỏc phương phỏp mó hoỏ ảnh được ỏp dụng khi nộn ảnh bằng biến đổi Wavelet cũng như JPEG2000 thỡ cú hai phương phỏp được coi là cơ sở và được ỏp dụng nhiều nhất: phương phỏp SPIHT và phương phỏp EZW. Hiện nay
JPEG2000 vẫn được ỏp dụng mó hoỏ bằng hai phương phỏp này và một
phương phỏp phỏt triển từ hai phương phỏp này là phương phỏp mó hoỏ mặt phẳng bớt. Vỡ thế ở đõy chỳng ta sẽ xem xột hai phương phỏp này. Việc kết hợp dũng dữ liệu sau mó hoỏ của JPEG2000 thực chất là để thực hiện cỏc tớnh năng đặc biệt của JPEG2000 như tớnh năng ROI v.v...
II.6.3.6. Phương phỏp mó hoỏ SPIHT:
Cú thể thấy rằng dự ỏp dụng biến đổi Wavelet nào hay cựng với nú là một phộp phõn giải ảnh nào thỡ trong cỏc băng con cú số thứ tự thấp cũng là những thành phần tần số cao (mang thụng tin chi tiết của ảnh) trong khi những băng con cú số thứ tự cao hơn thỡ sẽ chứa những thành phần tần số thấp (mang thụng tin chớnh về ảnh). Điều đú nghĩa là cỏc hệ số chi tiết sẽ giảm dần từ băng con mức thấp (HH1 chẳng hạn) (ứng với thành phần tần số cao) xuống băng con mức cao (ứng với thành phần tần số thấp) và cú tớnh tương tự về khụng gian giữa cỏc băng con, vớ dụ như một đường biờn của hỡnh vẽ trong ảnh sẽ tồn tại ở cựng một vị trớ trờn cỏc băng con đú (tương ứng với mức độ phõn giải của băng con ấy). Điều này đó dẫn tới sự ra đời của phương phỏp SPIHT (Set partitioning in hierarchical trees - phương
tối ưu cho truyền dẫn luỹ tiến. Điều này cú nghĩa là tại mọi thời điểm trong quỏ trỡnh giải nộn ảnh theo phương phỏp mó hoỏ này thỡ chất lượng ảnh hiển thị tại thời điểm ấy là tốt nhất cú thể đạt được với một số lượng bớt đưa vào giải mó tớnh cho tới thời điểm ấy. Ngoài ra, phương phỏp này sử dụng kỹ thuật embedded coding; điều đú cú nghĩa là một ảnh sau nộn với kớch cỡ (lưu trữ) lớn (tỷ lệ nộn thấp) sẽ chứa chớnh dữ liệu sau nộn của ảnh cú kớch cỡ (lưu trữ) nhỏ (tỷ lệ nộn cao). Bộ mó hoỏ chỉ cần nộn một lần nhưng cú thể giải nộn ra nhiều mức chất lượng khỏc nhau. Giả sử gọi cỏc pixel trong
một ảnh p cần mó hoỏ là pi, j. Áp dụng một phộp biến đổi Wavelet T nào đú
cho cỏc pixel trong ảnh để tạo ra cỏc hệ số của phộp biến đổi Wavelet là ci, j.
Cỏc hệ số này tạo ra một ảnh biến đổi là C. Phộp biến đổi này được viết dưới dạng toỏn tử như sau: C=T(p). Trong phương phỏp truyền dẫn luỹ tiến với ảnh thỡ bộ mó hoỏ sẽ bắt đầu quỏ trỡnh khụi phục (giải nộn) ảnh bằng
cỏch đặt cỏc giỏ trị của ảnh khụi phục từ cỏc hệ số biến đổi là cˆ . Sử dụng
cỏc giỏ trị giải mó của cỏc hệ số biến đổi để tạo ra một ảnh khụi phục (vẫn
chưa ỏp dụng biến đổi ngược Wavelet) là cˆ và sau đú ỏp dụng biến đổi
ngược Wavelet để tạo ra ảnh cuối cựng là pˆ. Chỳng ta cú thể viết dưới dạng
toỏn tử như sau:pˆ =T−1 (cˆ). Nguyờn tắc quan trọng của phương phỏp
truyền dẫn ảnh theo kiểu luỹ tiến chớnh là phương phỏp này luụn truyền đi cỏc giỏ trị mang thụng tin quan trọng hơn của ảnh đi trước. Sở dĩ làm như
vậy là do cỏc thụng tin đú chớnh là cỏc thụng tin sẽ làm giảm thiểu nhiều nhất độ mộo dạng của ảnh (sự sai khỏc giữa ảnh gốc và ảnh khụi phục). Đõy chớnh là lý do tại sao phương phỏp SPIHT luụn truyền đi cỏc hệ số lớn trước và cũng là một nguyờn tắc quan trọng của phương phỏp này. Một nguyờn tắc nữa là cỏc bớt cú trọng số lớn bao giờ cũng mang thụng tin quan trọng
Quỏ trỡnh giải mó cú thể dừng lại ở bất kỳ một bước nào ứng với giỏ trị ảnh cần mó hoỏ yờu cầu. Đõy chớnh là cỏch mà phương phỏp mó hoỏ SPIHT làm tổn thất thụng tin.
II.6.3.7. Phương phỏp mó hoỏ EZW:
Phương phỏp mó hoỏ EZW (Embedded Zerotree Wavelet Encoder) cũng dựa trờn cơ sở phộp mó hoỏ luỹ tiến (progressive coding) giống như phương phỏp mó hoỏ SPIHT. Phương phỏp này chủ yếu dựa trờn khỏi niệm về cõy zero (zerotree). Về cơ bản, thuật toỏn này dựa trờn hai nguyờn tắc như đó trỡnh bày ở phần phương phỏp mó hoỏ SPIHT. Sau đõy chỳng ta sẽ xem xột cỏc khỏi niệm cơ bản của thuật toỏn: Cõy tứ phõn: Sau khi ỏp dụng biến đổi Wavelet ứng với cỏc mức phõn giải khỏc nhau chỳng ta cú thể biểu diễn cỏc hệ số biến đổi dưới dạng một cõy. Ta thấy rằng với cõy biểu diễn này cứ mỗi nỳt cha thỡ cú 4 nỳt con. Sở dĩ cú được điều này là do quỏ trỡnh biến đổi Wavelet ở cỏc tỷ lệ khỏc nhau. Ta gọi đõy là cỏc cõy tứ phõn
(quadtree).
Hình 2.6.4: Cây tứ phân
Cõy zero (zerotree): Cõy zero là một cõy tứ phõn, trong đú tất cả cỏc nỳt của nú đều nhỏ hơn nỳt gốc. Một cõy như vậy khi mó hoỏ sẽ được mó hoỏ bằng một đối tượng duy nhất và khi giải mó thỡ chỳng ta cho tất cả cỏc giỏ trị bằng khụng. Ngoài ra để cú thể mó hoỏ được cỏc hệ số Wavelet trong
xem xột ứng với hệ số Wavelet đú Sau khi cú đủ cỏc khỏi niệm cần thiết về cõy tứ phõn và cõy zero, chỳng ta cú thể trỡnh bày nguyờn lý hoạt động của thuật toỏn. Thuật toỏn sẽ mó hoỏ cỏc hệ số theo thứ tự giảm dần. Chỳng ta sẽ dựng một giỏ trị gọi là ngưỡng (threshold) và sử dụng ngưỡng này để tiến hành mó hoỏ cỏc hệ số biến đổi. Cỏc hệ số được mó hoỏ theo thứ tự từ vựng tần số thấp đến vựng tần số cao. Và chỉ những hệ số cú giỏ trị tuyệt đối lớn hơn hoặc bằng ngưỡng thỡ mới được mó hoỏ. Tiếp theo giảm ngưỡng và tiếp tục làm như vậy cho tới khi ngưỡng đạt tới một giỏ trị nhỏ hơn giỏ trị của hệ số nhỏ nhất. Cỏch giảm giỏ trị ngưỡng ở đõy thực hiện tương đối đặc biệt, giỏ trị của ngưỡng giảm xuống một nửa so với trước đú. Bộ giải mó phải biết cỏc mức ngưỡng này thỡ mới cú thể giải mó ảnh thành cụng. Nhưng khi ta đi từ nỳt cha đến nỳt con trong cõy tứ phõn thỡ nú vẫn cú 3 nỳt con. Vậy ta phải đi theo nhỏnh cú nỳt con nào trước. Hay núi một cỏch đầy đủ hơn ta di chuyển từ hệ số này đến hệ số khỏc theo thứ tự như thế nào. Cú nhiều cỏch di chuyển khỏc nhau, tuy nhiờn hai cỏch di chuyển trờn hỡnh trờn được sử dụng nhiều nhất.
Hình 2.6.5
Việc sắp xếp này cũn phải được quy ước thống nhất giữa quỏ trỡnh mó hoỏ và quỏ trỡnh giải mó để việc giải mó ảnh được thành cụng. Trờn đõy chỉ là nguyờn lý cơ bản của phương phỏp mó hoỏ EZW. Hiện nay phương phỏp mó hoỏ này được ỏp dụng ngày càng nhiều nộn ảnh động. Phương phỏp này
triển khai trờn mỏy tớnh bởi phương phỏp này khụng yờu cầu việc lập trỡnh quỏ phức tạp.
II.6.4.So sỏnh chuẩn JPEG2000 với JPEG và cỏc chuẩn nộn ảnh tĩnh khỏc:
Một tớnh năng quan trọng và là ưu điểm rừ nột nhất của JPEG2000so với
JPEG cũng như cỏc chuẩn nộn ảnh khỏc như MPEG 4 VTC hay JPEG - LS
v. v.... là JPEG2000 đưa ra cả hai kỹ thuật nộn cú tổn thất và khụng tổn thất theo cựng một cơ chế mó hoỏ nghĩa là JPEG2000 thực hiện tất cả cỏc dạng thức của JPEG chỉ bằng một cơ chế mó hoỏ duy nhất. Nếu xột về sự tồn tại của hai kỹ thuật này thỡ JPEG cũng cú khả năng nộn ảnh cú tổn thất và khụng tổn thất thụng tin. Tuy nhiờn với JPEG thỡ cơ chế mó hoỏ với hai dạng này là khỏc nhau và rất khú để sử dụng cả hai dạng này cựng lỳc cho cựng một ứng dụng. Do đú, cú thể thấy rằng JPEG cú tớnh mềm dẻo hơn bất kỳ chuẩn nộn ảnh tĩnh nào trước đõy. Hơn thế, chỳng ta đó thấy rằng tất cả cỏc phương phỏp thiết kế cho chuẩn JPEG2000 đều ưu việt và cú nhiều tớnh năng hơn so với JPEG; ngoài ra những thống kờ về thực tế cho thấy với cựng một tỷ lệ nộn và một loại ảnh thỡ ảnh được nộn bởi JPEG2000 hầu như luụn cú chất lượng tốt hơn so với JPEG. Chỳng ta xem xột hai ảnh trờn hỡnh 2.6.6 để thấy rừ điều này, ảnh bờn trỏi được nộn theo JPEG cũn ảnh bờn phải được nộn theo JPEG2000.
JPEG JPEG 2000
Hình 2.6.6 (a ,b)
Tớnh năng ưu việt thứ hai của JPEG2000 so với JPEG chớnh là trong dạng thức nộn cú tổn thất thụng tin, JPEG2000 cú thể đưa ra tỷ lệ nộn cao hơn nhiều so với JPEG. Cỏc phần mềm nộn ảnh JPEG hiện tại (kể cả
Photoshop) cũng chỉ thiết kế để cú thể nộn được tới tỷ lệ 40:1nhưng với JPEG2000 thỡ tỷ lệ nộn cú thể lờn tới 200:1. Theo cụng thức tớnh PSNR
trong đơn vị dB, chỳng ta cú: (b là số bớt dựng biểu diễn một pixel trờn ảnh