Tải bản đầy đủ (.pdf) (37 trang)

Bài giảng xử lý âm thanh và hình ảnh-p6 potx

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (798.5 KB, 37 trang )

Xử lý âm thanh và hình ảnh Chương 3:Kỹ thuật xử lý ảnh


84

3.3. Kỹ thuật nén ảnh
3.3.1. Tổng quan về nén ảnh

Mỗi ngày, một lượng thông tin khổng lồ được lưu trữ lại, truy cập và truyền dẫn
dưới dạng số. Các công ty cung cấp cho các đơn vị liên quan, các nhà đầu tư, và khách
hàng, tiềm năng dữ liệu về tài chính, các báo cáo thường niên, kiểm kê đánh giá và thông
tin về sản phẩm thông qua mạng Internet. Với yêu cầu tiếp nhận và tìm kiếm, hai trong số
hầu hết các cách giao dịch cơ bản trực tuyến, thông thường được thực hiện tại nhà với sự
thoải mái tiện nghi. Bước đầu của chính phủ điện tử (còn gọi là chính phủ số) của Hoa
Kỳ là thiết lập ra toàn bộ danh sách (hoặc nội dung) của thư viện Quốc hội, đó là thư viện
lớn nhất thế giới, có thể truy cập điện tử và các chương trình truyền hình cáp theo yêu cầu
sẽ trở thành hiện thực trong tương lai gần. Do hầu hết các thông tin trực tuyến được diễn
đạt dưới dạng đồ họa hoặc hình ảnh tự nhiên, các yêu cầu về lưu trữ và truyền thông là rất
lớn. Nên các phương pháp nén dữ liệu trước khi lưu trữ và truyền dẫn là mối quan tâm
mang tính chất thương mại và thực tiễn rất quan trọng.

Việc nén ảnh đưa đến vấn đề về giảm thiểu số lượng dữ liệu yêu cầu để tái hiện lại
một ảnh số. Cốt lõi của quá trình rút gọn là loại bỏ dữ liệu dư thừa. Dưới quan điểm toán
học, số lượng để chuyển đổi chuỗi điểm ảnh 2-D thành một bộ dữ liệu không tương quan
về mặt thống kê. Việc chuyển đổi được ứng dụng trước tiên cho việc lưu trữ hoặc truyền
hình ảnh. Tại một thời điểm sau đó, hình ảnh đã nén được giải nén để tái tạo lại hình ảnh
gốc hoặc gần đúng của nó.

Mối quan tâm về việc nén ảnh đã có từ hơn mấy chục năm nay. Trọng tâm ban đầu
của các nỗ lực nghiên cứu trong lĩnh vực này theo các phương pháp tương tự để giảm
băng thông truyền tín hiệu video, đó là một quy trình được gọi là nén băng thông. Việc


đạt đến máy tính số và sự phát triển sau đó của các mạch tích hợp tân tiến đưa đến yêu
cầu phải thay đổi các phương thức nén từ tương tự sang số. Với một vài khóa quốc tế của
chuẩn nén ảnh mới được thông qua gần đây, phạm vi này đã trải qua sự phát triển rất ý
nghĩa thông qua các ứng dụng thực tế của lý thuyết bắt đầu từ những năm 1940, khi
C.E.Shannon và những nhà khoa học khác đưa ra công thức đầu tiên theo xác suất của
thông tin và các quá trình tái tạo, truyền dẫn và nén.
Hiện nay, nén ảnh được thừa nhận như là: “công nghệ hỗ trợ”. Thêm vào phạm vi
vừa được đề cập, nén ảnh là một công nghệ tự nhiên để trình bày cho giải pháp tăng về
không gian của cảm biến ảnh ngày nay và tiến triển đến các chuẩn quảng bá vô tuyến.
Hơn nữa, nén ảnh còn nắm vai trò lớn hơn trong nhiều ứng dụng khác nhau, bao gồm cả
thoại hội nghị video, khả năng phán đoán từ xa (việc sử dụng hình ảnh từ vệ tinh các ứng
dụng trong dự báo thời tiết hoặc về các tài nguyên khác của trái đất), các ảnh tài liệu, các
ảnh y học, truyền dẫn kiểu sao chép (FAX), các phương tiện điều khiển từ xa trong quân
đội, không gian và các ứng dụng quản lý còn đang bị bỏ ngỏ khác. Nói tóm lại, số lượng
các ứng dụng luôn phát triển không ngừng phụ thuộc vào hệ số thao tác, bộ nhớ và sự
truyền dẫn nhị phân, mức xám và các ảnh màu.
Xử lý âm thanh và hình ảnh Chương 3:Kỹ thuật xử lý ảnh


85

Nén ảnh số là một đề tài nghiên cứu rất phổ biến trong lĩnh vực xử lý dữ liệu đa
phương tiện. Mục đích là làm thế nào để lưu trữ bức ảnh dưới dạng có kích thước nhỏ
hơn hay dưới dạng biểu diễn mà chỉ yêu cầu số bit mã hoá ít hơn so với bức ảnh gốc. Nén
ảnh thực hiện được là do một thực tế: thông tin trong bức ảnh không phải ngẫu nhiên mà
có trật tự, có tổ chức. Vì thế, nếu bóc tách được tính trật tự, cấu trúc đó thì sẽ biết được
phần thông tin nào quan trọng nhất trong bức ảnh để biểu diễn và truyền đi với số lượng
bit it hơn ảnh gốc mà vẫn đảm bảo tính đầy đủ thông tin. Ở phía thu, quá trình giải mã sẽ
tổ chức, sắp xếp lại được bức ảnh, xấp xỉ gần chính xác so với ảnh gốc nhưng vẫn thoả
mãn chất lượng yêu cầu, đảm bảo đủ thông tin cần thiết.


3.3.1.1. Nguyên tắc cơ bản

Phần tử nén ảnh dữ liệu ám chỉ đến quá trình giám lượng số liệu dư thừa số liệu
cần thiết để biểu diễn cùng một lượng thông tin cho trước. Cần phải phân biệt giữa số liệu
và thông tin. Thực tế số liệu và thông tin không đồng nghĩa với nhau. Số liệu (và do đó
tín hiệu) chỉ là phương tiện dùng để truyền tải thông tin. Cùng một lượng thông tin cho
trước có thể biểu diễn bằng các lượng số liệu khác nhau. Ví dụ, trong một trường hợp cụ
thể một câu chuyện dài được tóm lược thành câu chuyện ngắn hơn. Ở đây, thông tin cần
quan tâm là câu chuyện, các câu từ là dữ liệu được sử dụng để tóm lược thông tin. Nếu sử
dụng 2 cách riêng biệt với các từ ngữ khác nhau để cùng kể câu chuyện trên, ta sẽ tạo
được 2 phiên bản của câu chuyện và sẽ có một cái kém nhất sẽ chứa dữ liệu không cần
thiết. Đó là, nó bao gồm dữ liệu (các từ) chúng cung cấp không liên quan đến thông tin
hay đơn giản là trình bày lại cái đã biết. Và do đó, nó bao gồm dữ liệu dư thừa.

Độ dư thừa số liệu là vấn đề trung tâm trong nén ảnh số. Đánh giá cho quá trình
thực hiện giải thuật nén là tỉ lệ nén (
)
được xác định như sau: Nếu



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ông tin cho trước thì
độ dư thừa số liệu tương đối củ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:


(3.30)


trong đó:


(3.31)

Trong trường hợp thì và có nghĩa là so với tập số liệu thứ hai thì
tập số liệu thứ nhất không chứa số liệu dư thừa. Khi

thì tiến tới vô cùng và
tiến tới một, có nghĩa là độ dư thừa số liệu tương đối của tập số liệu thứ nhất là khá
lớn hay tập số liệu thứ hai đã được nén khá nhỏ.

Ở đây có sự kết hợp giữa tỉ lệ nén và chất lượng hình ảnh. Tỉ lệ nén càng cao sẽ
làm giảm chất lượng hình ảnh và ngược lại. Chất lượng và quá trì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. Đánh giá chất lượng ảnh được đề
Xử lý âm thanh và hình ảnh Chương 3:Kỹ thuật xử lý ảnh


86

nghị tính số bit cho một điểm trong ảnh nén (
)
. Nó được xác định là tổng số bit ở ảnh
nén chia cho tổng số điểm:

= Số bit nén/Số điểm
(3.32)

Trong nén ảnh số, ba loại dư thừa số liệu có thể được nhận dạng và phân biệt.
• Dư thừa mã (Coding Redundancy)

Nếu các mức của tín hiệu video được mã hóa bằng càc symbol nhiều hơn cần thiết
(tuyệt đối) thì kết quả là có độ dư thừa mã. Để giảm độ dư thừa mã, trong nén ảnh thường
sử dụng các mã VLC như mã Huffman, mã RLC v.v Lượng thông tin về hình ảnh có
xác suất thấp hơn.
• Dư thừa trong pixel (Interpixel Redundancy)
Vì giá trị của bất kỳ một pixel 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 pixels 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 pixels. 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. Trong các phương pháp nén ảnh được trình bày, ta dùng phép biến
đổi cosin rời rạc (DCT) biến đổi pixel từ miền không gian sang miền tần số, bằng cách
này sẽ giảm được độ dư thừa số liệu trong pixel ở miền tần số cao.
• Dư thừa tâm sinh lý
Bằng trực quan ta thấy, sự thu nhận cường độ sáng thay đổi chỉ giới 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 lý nhìn.
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, nó 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. Đó 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.

3.3.1.2. Mô hình nén

Trong lĩnh vực truyền thông video, kỹ thuật xử lý tín hiệu chủ yếu tập trung vào
mục đích nén. Người ta thường sử dụng 3 phương pháp nén đối với hình ảnh dựa vào các
loại độ dư: dư thừa không gian, dư thừa phổ và dư thừa tâm sinh lý nhìn.


Nén về cơ bản là một quá trình trong đó số lượng số liệu (data) biểu diễn lượng
thông tin của một ảnh hoặc nhiều ảnh được giảm bớt bằng cách loại bỏ những số liệu dư
thừa trong tín hiệu video. Các chuỗi ảnh truyền hình có nhiều phần ảnh giống nhau. Vậy
tín hiệu truyền hình có chứa nhiều dữ liệu dư thừa, ta có thể bỏ qua mà không làm mất
thông tin hình ảnh. Đó là các phần xóa dòng, xóa mành, vùng ảnh tỉnh hoặc chuyển động
rất chậm,vùng ảnh nền giống nhau, mà ở đó các phần tử liên tiếp hoặc khác nhau rất ít.
Xử lý âm thanh và hình ảnh Chương 3:Kỹ thuật xử lý ảnh


87

Ngoài ra, để tăng hệ số nén ảnh động, chuyển động trong ảnh truyền hình phải được dự
báo, khi đó, ta chỉ cần truyền các thông tin về hướng và mức độ (vector) chuyển động của
các vùng ảnh khác nhau. Các phần tử lân cận trong ảnh thường giống nhau, do đó chỉ cần
truyền các thông tin biến đổi. Các hệ thống nén sử dụng đặc tính này của tín hiệu video
và các đặc trưng của mắt người (là kém nhạy với sai số trong hình ảnh có nhiều chi tiết
và các phần tử chuyển động). Quá trình giải nén ảnh là quá trình xấp xỉ để khôi phục ảnh
gốc (thường thực hiện ở phía thu).

Một hệ thống nén video tiêu biểu (hay bộ mã hoá nguồn) bao gồm: bộ chuyển đổi,
bộ lượng tử hoá, bộ mã hoá (hình 3.38).


Hình 3.38: Sơ đồ khối hệ thống nén ảnh tiêu biểu

- Bộ chuyển đổi: thường dùng phép biến đổi Cosin rời rạc để tập trung năng lượng tín
hiệu vào một số lượng nhỏ các hệ số khai triển để thực hiện phép nén hiệu quả hơn là
dùng tín hiệu nguyên thủy.
- Bộ lượng tử hoá: tạo ra một lượng ký hiệu giới hạn cho ảnh nén với hai kỹ thuật: lượng

tử vô hướng (thực hiện lượng tử hoá cho từng phần dữ liệu) và lượng tử vectơ (thực hiện
lượng tử hoá một lần một khối dữ liệu). Quá trình này không thuận nghịch.
- Bộ mã hoá: gán một từ mã, một dòng bit nhị phân cho mỗi ký hiệu.
Các hệ thống nén được phân biệt dựa trên sự kết hợp khác nhau giữa 3 bộ xử lý trên và
được phân loại như sau:
- Hệ thống nén không mất thông tin (lossless data reduction): thực hiện tối thiểu tốc độ
bit mà không làm méo ảnh, hệ thống còn gọi là nén toàn bit hay có tính chất thuận
nghịch.
- Hệ thống nén có mất thông tin (loss data reduction): đạt được độ trung thực tốt nhất đối
với tốc độ bit cho trước, hệ thống phù hợp áp dụng cho tín hiệu âm thanh và hình ảnh vì
có hệ số nén cao.

Trong sơ đồ hình 3.38, tầng chuyển đổi và tầng mã hoá là nơi tín hiệu xử lý không
bị tổn thất, tầng lượng tử là có tổn thất. Ngoài ra, dựa trên quan điểm về tổn thất chúng ta
có thể phân biệt hai loại mã hoá như sau: mã hoá Entropy (mã hoá không tổn thất) và mã
hoá nguồn (mã hoá có tổn thất).

Xử lý âm thanh và hình ảnh Chương 3:Kỹ thuật xử lý ảnh


88

3.3.2. Hiệu quả của quá trình nén và chất lượng ảnh

Hiệu quả nén được xác định bằng tỉ lệ nén, nghĩa là tỉ số giữa số lượng dữ liệu của
ảnh gốc trên số liệu của ảnh nén.

Độ phức tạp của thuật toán nén, được xác định bằng số bước tính toán trong cả hai
quá trình mã hóa và giải mã. Thông thường thì thuật toán nén càng phức tạp bao nhiêu thì
hiệu quả nén càng cao nhưng ngược lại giá thành và thời gian để thực hiện lại tăng. Đối

với thuật toán nén có tổn thất thì độ sai lệch được xác định bằng số thông tin bị mất đi khi
ta tái tạo lại hình ảnh từ dữ liệu nén. Với nén không tổn thất thì chúng ta có thể có những
thuật toán mã hóa càng gần với Entropy của thông tin nguồn bởi vì lượng Entropy của
nguồn chính là tốc độ nhỏ nhất mà bất cứ một thuật toán nén không tổn thất nào cũng có
thể đạt được.

Ngược lại, trong nén có tổn thất thì mối quan hệ giữa tỉ lệ nén và độ sai lệch thông
tin được Shannon nghiên cứu và biểu diễn dưới dạng hàm (hàm

về độ sai lệch thông
tin). Lý thuyết của ông cũng chỉ ra rằng với thuật toán nén có tổn thất thì chúng ta sẽ có
hiệu quả nén cao nhất nhưng ngược lại ta lại bị mất thông tin trong quá trình tái tạo lại nó
từ dữ liệu nén. Trong khi đó nén không tổn thất, mặc dù đạt được hiệu quả thấp, nhưng ta
lại không bị mất thông tin trong quá trình tái tạo lại nó. Vì vậy ta phải tìm ra một giải
pháp nhằm trung hòa giữa hai thuật toán nén này để tìm ra một thuật toán nén tối ưu sao
cho hiệu quả cao mà lại không bị mất mát thông tin.

Phương pháp đánh giá chất lượng ảnh nén thông dụng nhất là dựa trên mức sai
lệch bình phương trung bình so với ảnh gốc - rms (Root Mean Square) được tính bởi biểu
thức:


(3.39)

trong đó: rms: sai lệch bình phương trung bình

i
X
: giá trị điểm ảnh gốc


'
i
X : giá trị điểm ảnh sau khi nén
n: tổng số điểm ảnh trong một ảnh
Thông thường, khi giá trị rms thấp, chất lượng ảnh nén sẽ tốt. Tuy nhiên, trong một
số trường hợp chất lượng hình ảnh nén không nhất thiết phải tỷ lệ thuận với giá trị rms.

Xử lý âm thanh và hình ảnh Chương 3:Kỹ thuật xử lý ảnh


89

3.3.3. Phân loại các phương pháp nén ảnh

Có nhiều cách phân loại các phương pháp nén khác nhau. Cách thứ nhất dựa vào
nguyên lý nén. Cách này phân các phương pháp nén thành loại chính:
• Nén không mất thông tin: bao gồm các phương pháp nén mà sau khi giải nén
ta thu được chính xác dữ liệu gốc.
• Nén có mất thông tin: bao gồm các phương pháp mà sau khi giải nén ta
không thu được dữ liệu như bản gốc, trong nén ảnh, người ta gọi là các
phương pháp “tâm lý thị giác”. Các phương pháp này lợi dụng tính chất của
mắt người, chấp nhận một số sai số trong ảnh khi khôi phục lại. Tất nhiên,
các phương pháp này chỉ có hiệu quả khi mà độ sai lệch là chấp nhận được
bằng mắt thường hay với dung sai nào đó.

Cách phân loại thứ hai dựa vào cách thức thực hiện nén. Theo cách này, người ta
cũng phân thành hai phương pháp:
• Phương pháp không gian (Spatial Data Compression): 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 ảnh gốc.
• Phương pháp sử dụng biến đổi (Transform Coding): tác động lên sự biến

đổi của ảnh gốc mà không tác động trực tiếp.

Quá trình nén và giải nén có thể được mô tả tóm tắt theo hình vẽ dưới đây:




Hình 3.39: Sơ đồ quá trình nén và giải nén dữ liệu

Sau đây ta tập trung giới thiệu về các phương pháp nén theo cách phân loại thứ
nhất.

3.3.3.1. Nén không mất thông tin

Nén không mất thông tin cho phép phục hồi đúng tín hiệu ban đầu sau khi giải
nén. Đây là một quá trình mã hoá có tính thuận nghịch. Hệ số nén không mất thông tin
nhỏ hơn . Các kỹ thuật nén không mất thông tin có thể là:
Quá trình nén
Quá trình giải nén

Dữ liệu gốc

Dữ liệu nén

Xử lý âm thanh và hình ảnh Chương 3:Kỹ thuật xử lý ảnh


90

Mã hoá với độ dài từ mã thay đổi VLC: Đây là phương pháp mã hoá Huffman và

mã hoá Entropy dựa trên khả năng xuất hiện của các biên độ trùng hợp trong một bức
ảnh, thiết lập một từ mã ngắn cho các giá trị có tần suất xuất hiện cao nhất và từ mã dài
cho các giá trị còn lại. Khi giải nén sử dụng các băng tìm kiếm.

Mã hóa LZW: Phương pháp nén LZW được phát minh bởi Lempel - Zip và
Welch. Nó hoạt động dựa trên một ý tưởng rất đơn giản là người mã hóa và người giải
mã cùng xây dựng bảng mã.

Thuật toán Huffman có ưu điểm là hệ số nén tương đối cao, phương pháp thực
hiện tương đối đơn giản, đòi hỏi ít bộ nhớ, có thể xây dựng dựa trên các mảng bé hơn
. Nhược điểm của nó là phải chứa cả bảng mã vào tập tin nén thì phía nhận mới có
thể giải mã được do đó hiệu suất nén chỉ cao khi ta thực hiện các tập tin lớn. Thuật toán
LZW thì có ưu điểm là hệ số nén tương đối cao, trong tập tin nén không cần chứa bảng
mã, nhược điểm của thuật toán này là tốn nhiều bộ nhớ, khó thực hiện dựa trên các mảng
đơn giản (<64KB).

3.3.3.2. Nén có tổn thất

Sau khi nén một số thông tin bị mất chất lượng hình ảnh giảm do quá trình làm
tròn và loại bỏ giá trị trong phạm vi khung hình hay giữa các khung hình. Nếu nén nằm
trong giới hạn sự cảm nhận của mắt người thì chất lượng suy hao không nghiêm trọng.
Với việc nén có tổn hao này, nén tín hiệu mới thật sự có ý nghĩa đối với truyền hình.

Nén mất thông tin đạt tới hệ số nén . Tốc độ dòng số liệu đạt được trong hệ
thống nén phụ thuộc vào yêu cầu chất lượng ảnh cần có. Các kỹ thuật nén có tổn thất bao
gồm:
Mã hóa dự đoán tổn hao, các giá trị mang thông tin đã được gửi hay đang sẵn có
sẽ được sử dụng để dự đoán các giá trị khác, và chỉ mã hóa sự sai lệch giữa chúng.
Phương pháp này đơn giản và rất phù hợp với việc khai thác các đặc tính cục bộ của bức
ảnh. Kỹ thuật DPCM chính là một ví dụ điển hình của phương pháp này.


Mã hóa dựa trên phép biến đổi thì lại thực hiện như sau: trước tiên thực hiện phép
biến đổi thường dùng là DCT – Biến đổi Cosin rời rạc, DWT – biến đổi Wavelet rời rạc,
tiếp đó thực hiện mã hóa đối với các hệ số biến đổi. Phương pháp này có hệ số cao hơn
rất nhiều so với phương pháp dự đoán bởi vì chính các phép biến đổi (sử dụng các thuộc
tính nén năng lượng của mình) đã gói gọn toàn bộ năng lượng bức ảnh chỉ bằng một ít
các hệ số, số lớn các hệ số còn lại ít có ý nghĩa hơn sẽ bị loại bỏ sau khi lượng tử hóa và
như vậy lượng dữ liệu phải truyền nhỏ đi rất nhiều. Còn trong phương pháp mã hóa dự
đoán, sai lệch giữa ảnh gốc và ảnh dự đoán vẫn còn có ý nghĩa (còn sử dụng ở các bước
tiếp theo) sau khi lượng tử hóa, chính điều này làm cho phương pháp mã hóa dự đoán có
nhiều dữ liệu được truyền đi hơn so với phương pháp biến đổi.
Xử lý âm thanh và hình ảnh Chương 3:Kỹ thuật xử lý ảnh


91

3.3.4. Các phương pháp mã hoá dùng trong kỹ thuật nén không tổn thất

Trong một vài ứng dụng nén không tổn thất nghĩa là chỉ có thể chấp nhận được sự
giảm bớt dữ liệu. Một ứng dụng ví dụ như nơi lưu trữ những tài liệu y học hay doanh
nghiệp, nơi mà việc nén có tổn thất thường là không được phép vì những lý do bắt buộc.
Một ví dụ khác là việc xử lý các hình ảnh vệ tinh, bất kỳ một sự mất mát nào đều không
thích hợp cho cả việc sử dụng lẫn chi phí của việc tập hợp dữ liệu. Tuy thế, việc chụp X
quang số, thì mất mát thông tin có thể được thoả hiệp sự chính xác trong chuẩn đoán.
Trong một vài trường hợp khác, nhu cầu việc nén không tổn thất được thúc đẩy bởi việc
xem xét hoàn cảnh sử dụng hoặc tính tự nhiên của ảnh sau khi nén.

Trong phần này, chúng ta sẽ tập trung vào những kế hoạch của việc nén không tổn
thất hiện thời đang được sử dụng. Thông thường chúng cung cấp hệ số nén từ 2-10. Hơn
nữa, chúng cũng thích hợp với cả ảnh nhị phân và mức độ xám. Kỹ thuật nén error-free

thường bao gồm 2 thao tác tương đối độc lập: (1) việc sắp xếp một biểu diễn ảnh thay thế
ảnh cũ trong đó sự dư thừa interpixel của nó được giảm bớt và (2) mã hoá lại biểu diễn
ảnh đó để loại trừ tối đa sự dư thừa. Những bước này tương ứng với việc ánh xạ và mã
hoá ký tự của kiểu mã hoá nguồn.

3.3.4.1. Mã hoá với độ dài từ mã thay đổi

Để đạt được tốc độ bít thấp hơn, các hệ số biến đổi và các tọa độ của các véc tơ
chuyển động được mã với độ dài thay đổi (VLC). Trong VLC, các từ mã ngắn được gán
tương ứng các giá trị xác suất cao và các từ mã dài ứng với các giá trị xác suất thấp. Độ
dài của các mã nên biến đổi nghịch đảo với xác suất xuất hiện của các kí hiệu trong VLC.
Tốc độ bít cần để mã hóa các kí hiệu này là nghịch đảo của logarit của xác suất, tức là
log
2
p. Do đó, entropy của các kí hiệu là số bít trung bình tối thiểu cần để biểu diễn các kí
hiệu:

2
1
( ) log
n
i i
i
H x p p
=
= −


(3.40)


Có hai loại VLC được ứng dụng trong mã hóa ảnh chuẩn, đó là mã hóa Huffman
và mã hóa số học. Mã hóa Huffman được sử dụng trong tất cả các bộ mã hóa (CODEC)
chuẩn để giải mã các hệ số biến đổi cosin rời rạc (DCT) đã được lượng tử hóa cũng như
giải mã các vec tơ chuyển động.

1. Mã hóa Shannon-Fano

Thuật toán Shannon-Fano phát triển độc lập bởi Shannon ở Bell Labs và Robert
Fano tại MIT. Để minh họa thuật toán, chúng ta giả sử các ký hiệu được mã hoá là các ký
tự trong từ HELLO. Tần xuất xuất hiện của các ký tự là:

Xử lý âm thanh và hình ảnh Chương 3:Kỹ thuật xử lý ảnh


92

Các ký hiệu H E L O
Tần xuất xuất hiện 1 1 2 1
Các bước của thuật toán mã hóa Shannon-Fano có thể được trình bày theo cách từ
trên xuống:

1. Phân loại các ký hiệu theo tần xuất xuất hiện của chúng
2. Phân chia theo đệ quy các ký hiệu thành hai phần, với mỗi khoảng cùng số lượng của
số lần xuất hiện, cho đến khi tất cả các phần có chứa chỉ có một ký hiệu.

Một cách tự nhiên của việc thực hiện các thủ tục trên là xây dựng một cây nhị
phân. Theo quy ước, chúng ta gán bit 0 cho nhánh trái của nó và bit 1 cho các nhánh
phải.

Hình 3.40: Cây mã hóa cho từ HELLO bởi thuật toán Shannon-Fano


Ban đầu, các ký hiệu được sắp xếp là LHEO. Hình 3.40 cho thấy, việc chia đầu
tiên tạo ra làm 2 phần: (a) L với tần suất xuất hiện là 2, ký hiệu là L: (2) ; và (b) H, E và
O với tổng số lần xuất hiện là 3, ký hiệu là H, E, O: (3). Lần phân chia thứ hai sinh ra
H: (1) và E, O: (2) và lần phân chia cuối cùng là E: (l) và O: (1).

Bảng 3.3 tóm tắt kết quả, hiển thị mỗi ký hiệu, tần xuất xuất hiện của chúng, nội
dung thông tin (
1
2
lo g
i
p
), từ mã kết quả, và số bit cần thiết để mã hóa cho mỗi ký hiệu
trong từ HELLO. Tổng số bit sử dụng được hiển thị ở phía dưới và entropy trong trường
hợp này được tính:


H=



Xử lý âm thanh và hình ảnh Chương 3:Kỹ thuật xử lý ảnh


93

=

0.4 x 1.32 + 0.2 x 2.32 + 0.2 x 2.32 + 0.2 x 2.32 = 1.92



Symbol Count
1
2
log
i
i
p
p

Code

Số bít được dùng
L 2 1.32 0 2
H 1 2.32 10 2
E 1 2.32 110 3
O 1 2.32 111 3
Tổng số bít 10

Bảng 3.3: Kết quả thực hiện bởi thuật toán Shannon-Fano cho từ HELLO.

Điều này cho thấy số bit trung bình tối thiểu của để mã mỗi ký hiệu trong từ
HELLO là 1,92. Trong ví dụ này, các thuật toán Shannon-Fano sử dụng một giá trị trung
bình là 10 / 5 = 2 bit để mã mỗi ký tự, khá gần với giới hạn thấp là1,92. Rõ ràng, kết quả
là thỏa đáng.

Lưu ý rằng kết quả của thuật toán Shannon-Fano không nhất thiết là duy nhất. Ví
dụ, nếu cách chia đầu tiên trong ví dụ trên thành hai phần L, H: (3) và E, 0: (2). Điều này
sẽ cho kết quả mã hóa ở hình 3.41. Bảng 3.4 cho thấy các từ mã thu được khác với trước

(Bảng 3.3). Các thuật toán Shannon-Fano đạt yêu cầu mã hóa cho nén dữ liệu, nhưng việc
nén này sẽ được thực hiện tốt hơn bởi phương pháp mã hóa Huffman.

Hình 3.41: Một dạng cây mã hóa khác cho từ HELLO theo thuật toán Shannon-Fano

Symbol

Count

1
2
log
i
i
p
p

Code Số lượng bit dùng

L 2 1.32 00 4
H 1 2.32 01 2
E 1 2.32 10 2
0 1 2.32 11 2
Tổng số bít: 10

Bảng 3.4: Một kết quả khác được thực hiện bởi thuật toán Shannon-Fano với từ HELLO
Xử lý âm thanh và hình ảnh Chương 3:Kỹ thuật xử lý ảnh


94


2. Mã hoá Huffman

Mã hóa Huffman là một phương pháp mã hóa độ dài thay đổi được sử dụng phổ
biến. Nó dựa trên bảng tần xuất xuất hiện các kí hiệu cần mã hóa để xây dựng một bộ mã
nhị phân cho các kí hiệu đó sao cho dung lượng (số bít) sau khi mã hóa là nhỏ nhất. Số
bít tối ưu sử dụng để mã hóa cho mỗi kí hiệu là -log
2
p, trong đó p là xác suất của một kí
hiệu.

Tuy nhiên, vì các từ mã được gán phải là một số nguyên các bít, khiến cho mã hóa
Huffman trở nên kém tối ưu. Ví dụ, nếu xác suất của một kí hiệu là 0.33 thì số bít tối ưu
dùng để mã hóa kí hiệu đó là 1.6 bit, nhưng với mã hóa Huffman thì ta phải gán hoặc 1
bít hoặc 2 bit cho mã. Tính trung bình thì cả hai trường hợp này đều phải dùng nhiều bit
hơn so với entropy của nó. Khi xác suất của một kí hiệu càng lớn thì mã hóa Huffman
càng trở nên kém tối ưu. Ví dụ, với kí hiệu có xác suất là 0.9, kích cỡ mã tối ưu nên là
0.15 bít, nhưng với mã hóa Huffman thì phải gán ít nhất 1 bít cho một kí hiệu, tức là lớn
gấp khoảng 6 lần so với mức cần thiết.

Để tạo ra mã Huffman cho các kí hiệu với xác suất xuất hiện đã biết, ta thực hiện
các bước sau:
- Sắp xếp các kí hiệu theo thứ tự xác xuất xuất hiện của chúng.
- Lần lượt hợp nhất hai kí hiệu với xác suất nhỏ nhất để hình thành nên một kí
hiệu hợp mới, và lại tiến hành sắp xếp các kí hiệu này để tạo ra một cây mà
mỗi node của cây đó mang xác suất của tất cả các node dưới nó.
- Lần theo đường đi tới mỗi lá, ghi lại hướng tại mỗi node.

Hình 3.42 cho ta một ví dụ của mã hóa Huffman cho 7 kí hiệu: A đến G. Cột thứ 3
là các xác suất xuất hiện của chúng theo thứ tự giảm dần. Ở cột tiếp theo, ta kết hợp hai

xác suất nhỏ nhất để tạo ra một xác suất hợp. Tiếp tục thực hiện như vậy cho tới khi đạt
tới xác suất bằng 1. Bắt đầu từ cột cuối cùng, ta gán ‘0’ cho nhánh cao và gán ‘1’ cho
nhánh thấp. Từ mã tương ứng (ở cột 1) có được bằng cách đọc ngược theo thứ tự từ phải
qua trái. Như vậy, với độ dài từ mã cố định thì mỗi mẫu được biểu diễn bởi 3 bít, trong
khi trong VLC chúng được biểu diễn bởi từ hai đến bốn bit.
Xử lý âm thanh và hình ảnh Chương 3:Kỹ thuật xử lý ảnh


95



Hình 3.42: Ví dụ về mã Huffman cho 7 kí hiệu
Số bít trung bình trên một kí hiệu là:
L=

0.25 2 0.20 2 0.18 3 0.15 3 0.12 3 0.06 4 0.04 4 2.65
bit
× + × + × + × + × + × + × =

Giá trị này rất gần với giá trị entropy:

H=

2 2 2 2
2 2 2
0.25 log 0.25 0.2 log 0.2 0.18 log 0.18 0.15 log 0.15
2.62 bit
0.12 log 0.12 0.06 log 0.06 0.04 log 0.04
× + × + × + ×

 
− =
 
+ × + × + ×
 

3. Mã hóa số học

Mã hóa Huffman có thể được tối ưu nếu xác suất kí hiệu là một số nguyên lũy
thừa của ½, nhưng không phải lúc nào cũng như vậy. Mã hóa số học là kĩ thuật nén dữ
liệu mà cho phép mã hóa dữ liệu bằng cách tạo ra một chuỗi mã (code string). Chuỗi này
biểu diễn một giá trị thập phân nằm trong khoảng giữa 0 và 1.

Mô hình là cách tính toán phân bố các xác suất cho kí hiệu tiếp theo sẽ được mã
hóa, sao cho bộ giải mã tìm ra được phân bố xác suất y hệt như thế. Có hai loại mô hình
được sử dụng trong mã hóa số học:
- Mô hình cố định: Trong mô hình này, cả bộ mã hóa và bộ giải mã biết được
xác suất đã gán cho mỗi kí hiệu. Những xác suất này có thể được xác định
bằng cách đo đạc các tần số trong các mẫu đại diện sắp được mã và các tần số
kí hiệu
- Mô hình thích nghi: xác suất được gán có thể thay đổi khi mỗi kí hiệu được mã
hóa, dựa trên các tần số kí hiệu thấy được.
Xử lý âm thanh và hình ảnh Chương 3:Kỹ thuật xử lý ảnh


96

Nguyên lý
Ý tưởng cơ bản của mã hóa số học là sử dụng khoảng chia giữa 0 và 1 để biểu diễn
các khoảng mã hóa. Rõ ràng hàm mật độ xác xuất tích lũy của tất cả các kí hiệu sẽ bằng

1. Khi bản tin càng dài thì các khoảng để biểu diễn bản tin đó càng ngắn, và số các bít
cần để xác định khoảng đó càng tăng. Dựa trên các xác suất kí hiệu tạo ra bởi mô hình,
kích thước của các khoảng cho các kí tự tiếp theo của bản tin sẽ giảm.

Để hiểu nguyên lý hoạt động của mã hóa số học, ta xét mã hóa số học mô hình
tĩnh. Giả sử các chữ cái là {a, e, i, o, u, !} và mô hình tĩnh được sử dụng với các xác suất
như biểu diễn ở Bảng 3.5.

Kí hiệu Xác suất Dải
a
0.2 [0.0, 0.2)
e
0.3 [0.2, 0.5)
i
0.1 [0.5, 0.6)
o
0.2 [0.6, 0.8)
u
0.1 [0.8, 0.9)
!
0.1 [0.9, 1.0)

Bảng 3.5: Ví dụ Mô hình tĩnh cho các chữ cái {a, e, i, o, u, !}
Một khi biết được xác suất tín hiệu, thì mỗi kí hiệu riêng lẻ cần được gán một đoạn
của dải [0, 1) mà đoạn đó tương ứng với xác suất xuất hiện của kí tự đó trong hàm mật độ
xác suất tích lũy. Chẳng hạn, chữ cái u với xác suất là 0.1, được định nghĩa trong dải tích
lũy của [0.8, 0.9) có thể lấy bất cứ giá trị nào từ 0.8 đến 0.8999

Phần quan trọng nhất của một bản tin được mã hóa số học là việc mã hóa kí tự đầu
tiên. Giả sử ta cần mã hóa bản tin eaii!, kí tự đầu tiên cần được mã hóa là e. Do đó, bản

tin được mã hóa cuối cùng phải là một số lớn hơn hoặc bằng 0.2 và nhỏ hơn 0.5. Sau khi
kí hiệu đầu tiên đã được mã hóa, ta biết được giá trị biên trên và biên dưới cho dải bản tin
đầu ra. Mỗi giá trị mới được mã hóa sẽ càng làm cho dải này hẹp lại.

Kí tự tiếp theo cần được mã hóa là kí tự a nằm trong dải 0-0.2 trong khoảng mới.
Đây không phải là kí tự đầu tiên được mã hóa nên nó nằm trong dải tương ứng với 0-0.2
nhưng ở dải con mới [0.2, 0.5). Trong dải con mới có độ dài 0.5 – 0.2 = 0.3 này, dải cho
a là [0.2, 0.26). Tiếp theo, kí tự i được mã hóa, tương tự nó phải nằm trong dải [0.23,
0.236). Cứ tiếp tục như vậy, ta sẽ xây dựng được quá trình mã hóa bản tin như Bảng 3.6
sau đây.





Xử lý âm thanh và hình ảnh Chương 3:Kỹ thuật xử lý ảnh


97


Kí tự mới Dải
Khởi tạo [0, 1)
Sau khi xem xét một kí hiệu
e
[0.2, 0.5)

a
[0.2, 0.26)


i
[0.23, 0.236)

i
[0.233, 0.2336)

!
[0.23354, 0.2336)

Bảng 3.6: Biểu diễn quá trình mã hóa số học

Hình 3.43 minh họa một cách biểu diễn khác của quá trình mã hóa.


Hình 3.43: Biểu diễn quá trình mã hóa số học với các khoảng chia tại mỗi giai đoạn cho
bản tin eaii!

Dải cuối cùng thu được, tức là dải [0.23354, 0.2336), biểu diễn bản tin eaii!. Điều
đó có nghĩa là nếu ta truyền bất cứ số nào nằm trong dải này, thì số đó đều biểu diễn toàn
bộ bản tin eaii!.

Giải mã

Với sơ đồ mã hóa này, tương đối đơn giản để giải mã từng thành phần riêng lẻ của
bản tin eaii! Giả sử ta truyền đi số x = 0.23355 (nằm trong dải 0.23354 <= x <0.2336).
Bộ giải mã sẽ sử dụng các khoảng xác suất giống như bộ mã hóa và thực hiện quá trình
tương tự. Bắt đầu với khoảng khởi đầu [0,1), giá trị 0.23355 nằm trong khoảng [0.2, 0.5)
của e. Do vậy, kí hiệu đầu tiên chỉ có thể là e. Tương tự như quá trình mã hóa, các
khoảng kí hiệu bây giờ được xác định trong khoảng mới [0.2, 0.5). Điều này tương đương
với việc định nghĩa mã đó trong dải khởi tạo [0, 1) nhưng offset mã này bởi giá trị dưới

và sau đó lấy tỉ lệ trong dải ban đầu của nó. Như thế, mã mới sẽ là (0.23355-0.2)/(0.5-
Xử lý âm thanh và hình ảnh Chương 3:Kỹ thuật xử lý ảnh


98

0.2)=0.11185. Dễ thấy mã này nằm trong khoảng [0, 0.2) của kí hiệu a. Do đó, kí hiệu
thứ hai được giải mã là kí hiệu a. Để tìm kí hiệu thứ ba, ta phải tìm mã mới trong dải này,
tức là (0.11185-0)/(0.2-0)=0.55925. Giá trị này nằm trong khoảng [0.5, 0.6), ứng với kí
hiệu i, tức là kí hiệu thứ ba được giải mã ra là kí hiệu i. Tiếp tục, ta tìm được mã mới sau
khi giải mã kí hiệu thứ ba là (0.55925-0.5)/(0.6-0.5)=0.5925, giá trị này cũng nằm trong
khoảng [0.5, 0.6), do đó kí hiệu thứ tư sẽ là i. Lặp lại trình tự như trên, ta được mã mới
(0.5925-0.5)/(0.6-0.5)=0.925, nằm trong khoảng [0.9, 1), tương ứng với kí hiệu ! , đây là
kí hiệu cuối cùng cần giải, và quá trình giải mã kết thúc. Bảng 3.7 minh họa toàn bộ quá
trình giải mã của bản tin eaii!.

Số được mã hóa Kí hiệu đầu
ra
Dải
0.23355
e
[0.2, 0.5)
0.11185
a
[0, 0.2)
0.55925
i
[0.5, 0.6)
0.59250
i

[0.5, 0.6)
0.925
!
[0.9, 1)

Bảng 3.7: Biểu diễn quá trình giải mã của mã hóa số học

Tổng quát, quá trình giải mã có thể được công thức hóa như sau:

1
n n
n
n n
R L
R
U L
+

=


(3.41)

Trong đó R
n
là mã nằm trong dải giá trị dưới L
n
và giá trị trên U
n
của kí hiệu thứ n

và R
n+1
là mã cho kí hiệu tiếp theo.

3.3.4.4. Mã hoá dự đoán không tổn hao

Bây giờ chúng ta quay lại với một phương pháp nén mà nó không yêu cầu việc
phân tích một ảnh thành một loạt các mặt phẳng bit. Với cách này quy chung lại là mã
hoá dự đoán không tổn hao, được dựa trên cơ sở sự rút gọn đa điểm dư thừa của các điểm
trong không gian gần nhau bằng cách rút ra và mã hoá chỉ với các thông tin mới trong
mỗi điểm ảnh. Thông tin mới của một điểm ảnh mô tả sự khác nhau giữa các giá trị dự
đoán và thực tế của điểm ảnh đó.

Hình 3.44 chỉ ra các thành phần cơ bản của một hệ thống mã hoá dự đoán không
tổn hao. Hệ thống này bao gồm một bộ mã hoá và một bộ giải mã, mỗi khối chứa một bộ
dự đoán đồng nhất. Với mỗi điểm ảnh lần lượt của ảnh đầu vào, biểu thị bằng

, được
đưa vào trước tiên trong bộ mã hoá, bộ dự đoán tạo ra một giá trị dự đoán trước của điểm
ảnh trên cơ sở số các đầu vào cũ.

Xử lý âm thanh và hình ảnh Chương 3:Kỹ thuật xử lý ảnh


99

Đầu ra của bộ dự đoán sau đó được làm tròn thành giá trị nguyên gần nhất, biểu
thị bởi

, và được sử dụng để tạo ra sự khác biệt hoặc lỗi dự đoán.




(
3
.
42
)




Hình 3.44: Mã hoá dự đoán không tổn hao: (a) Bộ mã hoá (b) Bộ giải mã

Sự khác biệt được mã hoá sử dụng mã hoá loạt dài thay đổi (bằng bộ mã hoá
biểu tượng) để tạo ra thành phần tiếp theo của dòng dữ liệu đã nén. Bộ giải mã trong hình
3.44 (b) tái tạo

từ các từ mã loạt dài thay đổi nhận được và thực hiện quá trình đảo:


(
3
.
43
)


Các phương pháp thích hợp khác nhau giữa các miền hoặc toàn cầu (xem 3.3.5.1)
có thể được sử dụng để tạo ra


. Tuy nhiên, trong hầu hết các trường hợp, bộ dự đoán
được cấu tạo bởi sự kết hợp tuyến tính của điểm ảnh trước đó:


(
3.44
)

là bậc của bộ dự đoán tuyến tính, là một hàm số sử dụng để biểu thị quá
trình làm tròn tới giá trị nguyên gần nhất, với là các hệ số dự đoán.
Trong vạch quét của quá trình quét, chỉ số mô tả các đầu ra dự đoán phù hợp với
khoảng thời gian mà nó xảy ra. Có nghĩa là , và trong biểu thức
(3.42)
tới
(3.44)

có thể được thay thế bởi các ký hiệu rõ ràng hơn



với biểu thị khoảng
thời gian. Trong các trường hợp khác, được sử dụng như một chú dẫn trong toạ độ
không gian và/hoặc khung số( trong chuỗi thời gian của ảnh) của một ảnh. Trong mã hoá
dự đoán tuyến tính 1-D, ví dụ, biểu thức (3.44) có thể viết thành:
Ảnh đã
được nén
Giải mã
ký hiệu
+ ∑

_


Ảnh đã
giải nén
Bộ dự
đ
o
án


e
n


f
n

f
^
n

Ảnh đầu
vào
+ ∑
_


Mã hoá
ký hiệu

Ảnh đã
được nén
Bộ dự
đoán

Làm tròn với số
nguyên gần

nhất




Xử lý âm thanh và hình ảnh Chương 3:Kỹ thuật xử lý ảnh


100



(
3.45
)

Với mỗi ký hiệu thay đổi bây giờ được biểu diễn rõ ràng như một hàm số của toạ
độ không gian và
y
. Chú ý rằng biểu thức
(3.45)
chỉ ra dự đoán tuyến tính 1-D

là hàm số của các điểm ảnh trước trên dòng đơn hiện tại. Trong mã hoá dự đoán
2-D, dự đoán là một hàm số của các điểm ảnh trước trong dòng quét từ trái qua phải, từ
trên xuống dưới của một ảnh. Với 3-D, cơ bản là các điểm ảnh này và các điểm ảnh trước
của khung trước. Biểu thức
(3.45)
không thể tạo ra giá trị cho điểm ảnh đầu tiên của
mỗi dòng, những điểm ảnh này phải được mã hoá sử dụng điều kiện khác (như bảng mã
Huffman chẳng hạn) và coi như một sự vượt quá của quá trình mã hoá dự đoán. Một chú
giải tương tự ứng dụng cho các trường hợp có kích cỡ lớn hơn.

3.3.5. Các phương pháp mã hoá dùng trong kỹ thuật nén có tổn thất

Không như phương pháp nén không tổn thất được đưa ra ở phần trước, nén tổn
thất được xây dựng trên cơ sở độ chính xác của việc khôi phục lại ảnh trong lúc trao đổi
nhằm tăng hiệu quả nén. Nếu kết quả không chính xác (có thể được hiển thị rõ ràng hoặc
không) có thể chấp nhận được, sự tăng dần trong việc nén là đáng kể. Trong thực tế,
nhiều kỹ thuật mã hoá tổn thất có khả năng tái tạo lại ảnh đơn sắc từ dữ liệu được nén
nhiều hơn 100:1 và ảnh gần như không phân biệt được so với ảnh gốc từ 10:1 đến 50:1.
Mã hoá không tổn thất của ảnh đơn sắc hiếm khi lớn hơn 3:1 khi nén dữ liệu. Như đã chỉ
ra tại phần 3.3.4, sự khác nhau cơ bản của hai phương pháp là sự có mặt của khối lượng
tử.

3.3.5.1 Mã hoá dự đoán có tổn thất

Trong phần này, chúng ta thêm một bộ lượng tử vào phần đầu trong phần 3.3.4.4
và kiểm tra kết quả giữa việc tái hiện lại một cách chính xác và quá trình thực hiện nén.
Như 3.45 chỉ ra, bộ lượng tử, bộ thu toàn bộ chức năng của bộ mã hoá lỗi tự nhiên, được
chèn vào giữa bộ mã hoá biểu tượng và điểm mà lỗi dự đoán được tạo ra. Nó ánh xạ lỗi
dự đoán tới khoảng giới hạn đầu ra, biểu thị là ė
n

, điều thiết lập sự liên đới giữa nén và
kết hợp méo với mã hoá dự đoán tổn hao.

Xử lý âm thanh và hình ảnh Chương 3:Kỹ thuật xử lý ảnh


101


Hình 3.45: Mô hình mã hóa dự đoán có tổn thất (a): bộ mã hoá, (b): bộ giải mã

Nhằm cung cấp sự liên kết của bước lượng tử, bộ mã hoá không tổn thất (hình
3.44 (a)) phải biến đổi để dự đoán sinh ra bởi bộ mã hoá và giải mã là tương tự. như hình
3.45 (a) chỉ ra, điều này đạt tới bằng cách đặt vào bộ dự đoán mã hoá tổn thất trong vòng
lặp. tại đầu vào của nó, biểu hiện bằng

được tạo ra bởi một hàm giữa dự đoán trước và
lỗi lượng tử tương ứng. Đó là :


(
3.46
)

được chỉ rõ trong phần 3.3.4.4. Nó kết thúc vòng lặp ngăn cản việc tạo ra lỗi tại
bộ giải mã đầu ra. Chú thích trong hình 3.45 (b) có ý đầu ra của bộ giải mã cũng có thể
đưa ra bằng
(3.46).

Mã hóa DPCM (Differential Pulse Code Modulation)

Đây là phướng pháp mã hóa dự đoán có tổn thất dựa trên nguyên tắc phát hiện
sự giống nhau và khác nhau giữa các điểm ảnh (pixels) gần nhau để tìm cách loại bỏ
các thông tin thừa. Phân tích thống kê về phân bố biên độ tín hiệu video, ta thấy phân
bố biên độ các mẫu tương ứng với các điểm ảnh về nguyên tắc là phân bố đều, ngược
lại phân bố về độ chênh lệch biên độ các điểm ảnh có đồ thị hình chuông xung quanh
điểm 0. Nếu dựa trên các đặc trưng thống kê ảnh, thì sự khác nhau này là không lớn
lắm và để mã hóa nó chỉ cần giảm số bit là đủ (so với việc mã hóa toàn bộ biên độ các
mẫu).
Phương pháp DPCM còn sử dụng đặc điểm của mắt người (kém nhạy với mức
lượng tử có chênh lệch về độ chói giữa điểm ảnh gần nhau, so với mức lượng tử hóa
Xử lý âm thanh và hình ảnh Chương 3:Kỹ thuật xử lý ảnh


102

chênh lệch nhỏ) và cho phép dùng đặc trưng phi tuyến về lượng tử hóa. Hình vẽ 3.46
mô tả sơ đồ khối của bộ mã hóa và giải mã DPCM


(a)

(b)
Hình 3.46: Sơ đồ bộ mã hóa (a) và giải mã (b) DPCM
Mã hóa chuỗi sau sử dụng bộ mã hóa DPCM: {1,3,4,4,7,8,6,5,3,1}. Sử dụng bộ
dự đoán đơn giản: dự đoán giá trị hiện tại bằng một giá trị trước đó và sử dụng bộ
lượng tử 3 mức:

Giả sử dự đoán mẫu đầu tiên là 1. Tính toán chuỗi bit nhị phân mã hóa nếu mã sau
được sử dụng để mã hóa tín hiệu sai số: Error “0”


“1”; Error “2”

“01”; Error “-2”

“00”;
Ta có bảng kết quả như sau:

Bộ mã hóa
nhị phân
(
)
nc

1−
Q ( )
)(nd


+
(
)
nx

B


d


đ

oán
)(nx
p

B

mã hóa
nh

phân
B


d


đ
oán
Q ( )
+
+

-

(
)
nx

)(nd )(nd



)(nx
p

)(
ˆ
nx
(
)
nc

)(
ˆ
)( knxanx
kp
−=


)()()( nxnxnd
p
−= )(')()(
ˆ
ndnxnx
p
+=
+

Xử lý âm thanh và hình ảnh Chương 3:Kỹ thuật xử lý ảnh



103


Mẫu vào

)(nx

Mẫu dự đoán
)(nx
p

Sai số
)(nd

Lượng tử
)(nd


Mã Khôi phục
)(nc

1 1 0 0 1 1
3 1 2 2 01 3
4 3 1 2 01 5
4 5 -1 -2 00 3
7 3 4 2 01 5
8 5 3 2 01 7
6 7 -1 -2 00 5
5 5 0 0 1 5
3 5 -2 -2 00 3

1 3 -2 -2 00 1


3.3.5.2 Mã hoá biến đổi (transform coding)

Kỹ thuật mã hoá dự đoán bàn luận trong phần 3.3.5.1 hoạt động trực tiếp trên các
điểm ảnh của một ảnh gọi là phương pháp tên miền không gian. Trong phần này, chúng ta
coi như các kỹ thuật nén là dựa trên việc sửa đổi sự biến đổi của ảnh. Trong mã hoá biến
đổi, một dòng đảo ngược chuyển đổi (như biến đổi Fourier) được sử dụng để ánh xạ một
ảnh vào một hệ số biến đổi, phần mà sau đó sẽ được lượng tử hoá và mã hoá. Cho hầu hết
các ảnh tự nhiên, một số lớn đáng kể các hệ số cường độ nhỏ và được lưọng tử thô (hoặc
loại bỏ hoàn toàn) với ảnh méo nhỏ. Sự đa dạng trong biến đổi, bao gồm biến đổi rời rạc
Fourier (DFT) có thể được sử dụng để biến đổi dữ liệu ảnh.




(a) : Bộ mã hóa




(b): Bộ giải mã
Hình 3.47: Hệ thống mã hóa biến đổi

Hình 3.47 chỉ ra hệ thống mã hoá chuyển đổi đặc trưng. Bộ giải mã thi hành bước
đảo chuỗi (với sự loại bỏ thuật toán lượng tử) của bộ giải mã, bộ này thực hiện bốn hoạt
động cân xứng đơn giản: Phân tích ảnh nhỏ, biến đổi, lượng tử hoá và mã hóa. Một ảnh
Bi
ế

n
đổ
i
thu

n


L
ượ
ng
t


Mã hoá
ký hi

u

nh
đ
ã
nén
Ảnh vào

(NxN)
Xây d
ựng
n x n
ảnh nhỏ



nh
đ
ã
nén
Gi

i mã
ký hi

u
Bi
ế
n
đổ
i
ng
ư

c


H
ợp n x n
ảnh nhỏ

nh
đ
ã

gi

i nén
Xử lý âm thanh và hình ảnh Chương 3:Kỹ thuật xử lý ảnh


104

đầu vào kích cỡ N×N đầu tiên được chia nhỏ ra thành các ảnh nhỏ cỡ n× n, sau đó được
chuyển đổi để tạo ra mạng chuyển đổi ảnh nhỏ, mỗi phần có kích cỡ n× n. Mục
đích của quá trình chuyển đổi là để sắp đặt mối tương quan của các điểm ảnh của mỗi ảnh
nhỏ, hoặc để gói nhiều thông tin nhất có thể vào một số nhỏ nhất hệ số chuyển đổi. Trạng
thái lượng tử được lựa chọn để loại trừ hoặc lượng tử với hệ số lượng tử thô (mang ít
thông tin nhất). Các hệ số này có tác động nhỏ nhất đối với việc tái tạo lại ảnh nhỏ. Cuối
quá trình mã hoá là việc mã hoá (thường sử dụng mã hoá loạt dài) các hệ số lượng tử. Bất
kỳ hay toàn bộ các bước mã hoá chuyển đổi có thể thích ứng với nội dung vùng ảnh gọi
là mã hoá chuyển đổi thích ứng hoặc sửa đổi toàn bộ ảnh nhỏ gọi là mã hoá chuyển đổi
không thích ứng.

3.3.5.3. Mã hoá Wavelet


Mã hóa Wavelet dựa trên ý tưởng của mã hóa biến đổi, thay vì nén trực tiếp các
điểm ảnh (pixel) thì nén các hệ số sau khi biến đổi. Điểm khác nhau cơ bản là Wavelet
không chia ra các ảnh con trước khi biến đổi.
Không giống như biến đổi Fourier chỉ thích hợp khi phân tích những tín hiệu ổn
định (stationary), 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. Để
khắc phục những hạn chế của biến đổi Fourier (FT), phép biến đổi Fourier thời gian ngắn
(STFT) được đề xuất. Chỉ có một khác biệt nhỏ giữa STFT và FT là trong biến đổi STFT,

tín hiệu được chia thành các khoảng nhỏ và trong khoảng đó tín hiệu được giả định là tín
hiệu ổn định. Để thực hiện kỹ thuật này cần chọn một hàm cửa sổ w sao cho độ dài của
cửa sổ đúng bằng các khoảng tín hiệu phân chia. Với phép biến đổi STFT, chúng ta có
thể thu được đáp ứng tần số - thời gian của tín hiệu đồng thời mà với phép biến đổi FT
ta không thực hiện được.
Biến đổi STFT đối với tín hiệu liên tục thực được định nghĩa như sau:

( ) ( ) ( )
[
]
dtetwtxtfX
fj
π
τ
2
*
.,


∞−

−=

(3.47)

Trong đó độ dài thời gian của cửa sổ là (t-τ), chúng ta có thể dịch chuyển vị trí của
cửa sổ bằng cách thay đổi giá trị t và để thu được các đáp ứng tần số khác nhau của đoạn
tín hiệu ta thay đổi giá trị τ.
Trên cơ sở cách tiếp cận biến đổi STFT, biến đổi Wavelet được phát triển để giải
quyết vấn đề về độ phân giải tín hiệu (miền thời gian hoặc tần số) mà STFT vẫn còn hạn

chế. Biến đổi Wavelet được thực hiện theo cách: tín hiệu được nhân với hàm Wavelet
(tương tự như nhân với hàm cửa sổ trong biến đổi STFT), 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.
Xử lý âm thanh và hình ảnh Chương 3:Kỹ thuật xử lý ảnh


105

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.
Hình 3.48 minh hoạ một hệ thống mã hoá Wavelet
(a): Bộ mã hóa

(b): Bộ giải mã

Hình 3.48: Hệ thống mã hoá Wavelet
3.4. Nén trong ảnh

3.4.1. Nguyên lý
Nén trong ảnh nhằm giảm bớt thông tin dư thừa trong miền không gian. Sử dụng
cả hai quá trình nén có tổn hao và nén không tổn hao. Không sử dụng thông tin của các
ảnh trước và sau ảnh đang xét.
Hình 3.49: Nén trong ảnh (Intra Frame Compression)

Sử dụng phương pháp biến đổi DCT. Phương pháp chuyển đổi tối ưu là chuyển

đổi KLT (Karhunen – Loeve). Chuyển đổi này thông qua một ma trận chuyển đổi làm
giảm trật tự tương quan của một quá trình xử lý ngẫu nhiên liên tiếp dưới dạng đường
chéo. Sử dụng phương pháp chuyển đổi KLT không thông dụng cho tất cả các ứng dụng
Tiền xử


DCT
thuận
Lượng tử
hoá
Mã hoá

entropy
Mạch
trộn
Khuyếch

đại đệm

Nguồn
ảnh
Tín hiệu
ảnh nén
Bảng lượng tử
Điều khiển tốc độ bit
Ảnh
vào

Chuyển đổi


Wavelet


Bộ lượng tử

Mã hoá
ký hiệu


Ảnh đã nén


Ảnh đã giải nén

Ảnh đã nén
Giải mã
ký hiệu
Chuyển đổi
Wavelet ngược
Xử lý âm thanh và hình ảnh Chương 3:Kỹ thuật xử lý ảnh


106

của nén ảnh số. Vì vậy, thay thế nó là phương pháp DCT (Discrete Cosine Transform) có
nhiều thuật toán biến đổi nhanh cho việc tính toán.

3.4.2 Tiền xử lý
Trước khi thực hiện biến đổi DCT, cả ảnh được chia thành các khối lớn riêng biệt
không chồng lên nhau (MB – Macro Block). Mỗi MB bao gồm 4 block các mẫu tín hiệu

chói U
Y
và 2; 4 hoặc 8 block các mẫu tín hiệu số màu (C
R
, C
B
). Số các block của tín hiệu
màu phụ thuộc vào tiêu chuẩn của tín hiệu video.

Các block có cùng kích thước, mỗi block là một ma trận điểm ảnh 8x8 được lấy
mẫu từ màn hình từ trái sang phải, từ trên xưống dưới.

Ví dụ: Chia thành các block của hình ảnh hệ PAL. Phần tích cực của tín hiệu video
với độ phân giải 576 x 720 được chia làm 72 x 90 block. Như vậy sẽ có 36 x 45 MB nếu
tiêu chuẩn lấy mẫu là 4:2:0 hoặc 4:1:1.

Cấu trúc MB phụ thuộc vào loại quét ảnh. Nếu quét liên tục thì các block bao gồm
các mẫu từ các dòng liên tục (nén theo ảnh – frame). Ngược lại trong trường hợp quét
xen kẽ, trong 1 block chỉ có các mẫu của một nửa ảnh trên (nén theo mành – field).

3.4.3 Quá trình biến đổi Cosin rời rạc

Biến đổi Cosin rời rạc (DCT) xử lý các giá trị của khối các điểm ảnh dưới một
khối các hệ số trong miền tần số.

Quá trình mã hoá DCT một chiều gồm 8 điểm ảnh biểu diễn tín hiệu chói trong
tiêu chuẩn lấy mẫu 4:2:2. Sự thay đổi độ dọc theo 8 bit trong phạm vi dải tần số từ 0 đến
f/2=6.75 MHz. Mã hoá DCT chia phổ này thành 8 dải băng nhỏ hơn. Tương ứng với mỗi
giải băng tần có một hệ số đặc trưng cho năng lương tín hiệu trong dải băng tần đó.


Giá trị đầu tiên bên trái đặc trưng cho mức giá trị thành phần một chiều của tín
hiệu gọi là hệ số DC. Từ trái sang phải, các hệ số lần lượt biểu diễn các thành phần tần
số cao hơn trong tín hiệu ban đầu gọi là hệ số AC.

Phép biến đổi DCT hai chiều cho mức giải tương quan bức ảnh cao hơn, cho phép
biến đổi cho khối 8x8 giá trị các điểm chói.

Quá trình mã hoá thuận cho khối 8x8 được xác định.


(
3.48
)

Trong đó:
là các hàm mẫu ban đầu trong khối

điểm chói
Xử lý âm thanh và hình ảnh Chương 3:Kỹ thuật xử lý ảnh


107

là các hệ số biến đổi DCT khố
i



là tấn số chuẩn hoá theo chiều ngang



là tần số chuẩn hoá theo chiều đứng




Biến đổi DCT áp dụng cho các tín hiệu video số thành phần U
Y
, C
R
, C
B
. Các tín
hiệu này có biên độ cực đại là 12,8 tín hiệu chói có biên độ từ 0÷255.

Bộ biến đổi A/D 8 bit được sử dụng để tạo ra các khối tín hiệu chói U
Y
với giá trị
nhị phân từ -128 đến +127. Khi giải mã mức 128 được cộng vào để thu được tín hiệu
chói như ban đầu.

Trước khi biến đổi ngược DCT sử dụng bộ lọc thông thấp loại bỏ các hệ số thành
phần tần số cao.

Quá trình biến đổi DCT không giảm tôc độ dòng số liệu và tính chất đảo ngược
(Inverse DCT) tái tạo lại chính xác giá trị điểm ảnh ban đầu nếu các hệ số DCT giữ
nguyên.

3.4.4. Lượng tử hoá khối DCT


Quá trình lượng tử hoá khối DCT đóng vai trò quan trọng trong việc thiết kế hệ
thống nén video vì việc nó ảnh hưởng trực tiếp đến việc tái tạo lại hình ảnh.

Bộ lượng tử hoá chia mỗi hệ số DCT cho một số lớn hơn 1 để tạo ra các số có giá
trị 0 hoặc gần bằng 0 có thể làm tròn hoặc bỏ qua trong quá trình tiếp theo. Các hệ số có
năng lượng thấp đặc trưng cho sự biến đổi ít giữa các điểm ảnh có thể loại bỏ mà không
ảnh hưởng đến sự cảm thụ chất lượng ảnh của mắt người.

Thành phần DC và tần số thấp là các thông số có ý nghĩa nhất của khối điểm ảnh
ban đầu. Hệ số DC được lượng tử với độ chính xác 12 bit để tránh các nhiễu xuất hiện
giữa các khối điểm ảnh. Trong khi hệ số tương ứng với thành phần tần số cao được lượng
tử với độ chính xác 2 bit (do khả năng cảm nhận ở mắt người giảm).
Xử lý âm thanh và hình ảnh Chương 3:Kỹ thuật xử lý ảnh


108



Hình 3.50: Nén trong ảnh
Hệ số bảng lượng tử hoá thuận được xác định theo biểu thức:



(
3.49
)


Ảnh càng chi tiết thì hệ số thành phần tần số càng lớn, có thể tràn bộ nhớ đệm nếu

hệ số trong bảng lượng tử quá thấp.

Với cấu trúc gồm 4 khối điểm chói, các chi tiết ảnh có thể được tập trung năng
lượng cao vào 1 trong 4 khối. Tạo ra lượng tử hoá thô cũng như xuất hiện lỗi lượng tử
lớn. Để tránh hiện tượng này, năng lượng trong khối được đánh giá bằng cách xem xét hệ
số AC có ý nghĩa nhất trong tất cả các khối.

3.4.5. Mã hoá Entropy

Giá trị lượng tử có thể chỉ biểu diễn nhờ các từ mã có độ dài cố định, tức là các giá
trị lượng tử hoá biểu diễn bằng cùng một số bit tuy nhiên hiệu quả không cao. Để hiệu
quả hơn người ta dùng mã hoá entropy, dùng đặc tính thống kê của tín hiệu được mã hoá.
Từ mã ít xảy ra sẽ nhiều thông tin hơn từ mã hay xảy ra.

Mã hoá entropy làm tăng độ phức tạp, yêu cầu bộ nhớ lớn hơn so với mã có độ dài
cố định và tốc độ bít thay đổi theo thời gian.

Bảng
trọng số

Bảng
Huffman

VLC

RLC

Quét
zig-zag
Lượng tử hoá


DCT

Định dạng khối và
cấu trúc
Bộ đệm
Lựa chọn tốc
đ


b
ít

d
òng

ra

Dòng tín
hi
ệu

n
én

Hệ số câ
n
bằng
Mã DPCM
hệ số DC

Điều khiển đệm
Xác định khối
Phân lớp năng
lượng khối

×