Baocao Thay Nghia

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 57

8.2.

8 Mã hóa chuyển đổi khối


Trong phần này, chúng tôi xem xét một kỹ thuật nén chia hình ảnh thành
các khối nhỏ không chồng lên nhau có kích thước bằng nhau (ví dụ: 8 X 8) và
xử lý các khối một cách độc lập bằng cách sử dụng phép biến đổi 2-D. Trong mã
hóa biến đổi khối, một biến đổi tuyến tính, thuận nghịch (chẳng hạn như biến
đổi Fourier) được sử dụng để ánh xạ từng khối hoặc hình ảnh con thành một tập
hợp các hệ số biến đổi, sau đó được lượng tử hóa và mã hóa. Đối với hầu hết các
hình ảnh, một số lượng đáng kể các hệ số có độ lớn nhỏ và có thể được lượng tử
hóa thô (hoặc loại bỏ hoàn toàn) với ít biến dạng hình ảnh. Một loạt các phép
biến đổi, bao gồm cả phép biến đổi Fourier rời rạc (DFT) của Chương 4, có thể
được sử dụng để biến đổi dữ liệu hình ảnh.
Hình 8.21 mô tả một hệ thống mã hóa biến đổi khối điển hình. Bộ giải mã
thực hiện chuỗi nghịch đảo của các bước (ngoại trừ chức năng lượng tử hóa) của
bộ mã hóa, thực hiện bốn hoạt động tương đối đơn giản: phân rã, biến đổi, lượng
tử hóa và mã hóa con. Một ảnh đầu vào M x N trước tiên được chia nhỏ thành
các ảnh con có kích thước n X n, sau đó được biến đổi để tạo ra các mảng biến
đổi ảnh con, mỗi mảng có kích thước n X n. Mục tiêu của quá trình biến đổi là
sắp xếp lại các pixel của mỗi hình ảnh con, hoặc gói càng nhiều thông tin càng
tốt thành số lượng hệ số biến đổi nhỏ nhất. Giai đoạn lượng tử hóa sau đó loại
bỏ có chọn lọc hoặc định lượng một cách thô bạo hơn các hệ số mang ít thông
tin nhất. theo nghĩa được xác định trước (một số phương pháp sẽ được thảo luận
sau trong phần). Các hệ số này có tác động nhỏ nhất đến chất lượng hình ảnh
con được tái tạo. Quá trình mã hóa kết thúc bằng cách mã hóa (thường sử dụng
mã có độ dài thay đổi) các hệ số lượng tử hóa. Bất kỳ hoặc tất cả các bước mã
hóa biến đổi đều có thể được điều chỉnh cho phù hợp với nội dung hình ảnh cục
bộ, được gọi là mã hóa biến đổi thích ứng hoặc cố định cho tất cả các hình ảnh
con, được gọi là mã hóa biến đổi không mã hóa.

HÌNH 8.21 Một hệ thống mã hóa biến đổi khối: (a) bộ mã hóa; (b) bộ giải mã.
Chuyển đổi lựa chọn
Các hệ thống mã hóa biến đổi khối dựa trên nhiều loại biến đổi 2-D rời rạc
đã được xây dựng và / hoặc nghiên cứu sâu rộng. Việc lựa chọn một biến đổi cụ
thể trong một ứng dụng nhất định phụ thuộc vào số lượng lỗi xây dựng lại có thể
được chấp nhận và các tài nguyên tính toán có sẵn. Nén đạt được trong quá trình
lượng tử hóa các hệ số được biến đổi (không phải trong bước biến đổi)
Với tham chiếu đến thảo luận trong Phần 2.6.7, hãy xem xét một ảnh con
g(x,y) có kích thước nxn mà biến đổi chuyển tiếp, rời rạc, T(u,v) có thể được
biểu thị theo quan hệ tổng quát
n−1 n−1
T ( u , v ) =∑ ❑ ∑ ❑ g ( x , y ) r ( x , y , u , v ) (8.2−10)
x=0 y=0

Với u, v = 0,1…n-1; Với T (u, v), tương tự có thể thu được g (x, y) bằng
cách sử dụng phép biến đổi rời rạc nghịch đảo tổng quát
n−1 n −1
g ( x , y )=∑ ❑ ∑ ❑T (u , v ) s ( x , y , u , v ) (8.2−11)
u=0 v=0

Với x,y = 0,1…n-1.


Trong các phương trình này, r (x, y, u, v) và s (x, y, u, v) lần lượt được gọi
là hạt nhân biến đổi thuận và nghịch. Vì những lý do sẽ trở nên rõ ràng ở phần
sau, chúng cũng được gọi là hàm cơ sở hoặc hình ảnh cơ sở. T (u, .v) cho u, v =
0,1, ..., n-1 trong phương trình. (8,2-10) được gọi là hệ số biến đổi; chúng có thể
được xem như là hệ số mở rộng — xem Phần 7.2.1 — của chuỗi mở rộng đối
với các hàm cơ sở s (x, y, u, v)
Như đã giải thích trong Phần 2.6.7, hạt nhân trong Eq. (8.2-10) có thể phân
tách được nếu:
r ( x , y , u , v )=r 1 ( x , u ) r 2 ( y , v ) ( 8.2−12)
Ngoài ra, hạt nhân là đối xứng nếu r1 có chức năng bằng r2. Trong trường
hợp này, Eq. (8.2-12) có thể được thể hiện dưới dạng
r ( x , y , u , v )=r 1 ( x , u ) r 1 ( y , v ) (8.2−13)
Các chú thích giống hệt nhau áp dụng cho hạt nhân nghịch đảo nếu r (x, y,
u, v () được thay thế bằng s (x, y, u, v) trong các phương trình. (8.2-12) và (8.2-
13). Nó không khó cho thấy rằng phép biến đổi 2-D với một hạt nhân có thể
phân tách có thể được tính bằng cách sử dụng các đường chuyền hàng-cột hoặc
cột-hàng của phép biến đổi 1-D tương ứng, theo cách được giải thích trong Phần
4.11.1.
Các nhân biến đổi thuận và nghịch đảo trong Eqs. (8.2-10) và (8.2-11) xác định
loại biến đổi được tính toán và độ phức tạp tính toán tổng thể và lỗi xây dựng lại
của hệ thống mã hóa biến đổi khối mà chúng được sử dụng. Cặp hạt nhân biến
đổi được biết đến nhiều nhất là
− j2 π ( ux+ vy )
r ( x , y , u , v )=e n
( 8.2−14 )
j 2 π ( ux+vy )
1
s ( x , y ,u , v )= 2 e n ( 8.2−15 )
n
trong đó j = √ −1 Đây là các hạt nhân biến đổi được định nghĩa trong Eqs.
(2.6-34) và (2.6-35) của Chương 2 với M = N = n. Thay thế các hạt nhân này
thành các Eq. (8.2-10) và (8.2-11) mang lại phiên bản đơn giản của cặp biến đổi
Fourier rời rạc được giới thiệu trong Phần 4.5.5
Một phép biến đổi đơn giản hơn về mặt tính toán cũng hữu ích trong mã
hóa biến đổi, được gọi là biến đổi Walsh-Hadamard (WHT), được bắt nguồn từ
các hạt nhân giống hệt nhau về chức năng
To compute the WHT of an input image rather than a subimage, change n
to in Eq. (8.2-16)
1
r (x , y , u , v )=s( x , y ,u , v )= ¿
n
trong đó n = 2m. Phép tính tổng trong số mũ của biểu thức này được thực
hiện ở modulo 2 số học và bk (z) là bit thứ k (từ phải sang trái) trong biểu diễn
nhị phân của z. Nếu m = 3 và z = 6 (110 trong hệ nhị phân), ví dụ b0(z) = 0,
b1(z) = 1 và b2(z) = 1. Số pi (u) trong phương trình (8.2-16) được tính bằng
cách sử dụng:
¿ p 0 (u)=b m−1 (u)
¿ p 1 (u)=bm −1 (u)+b m−2 (u)
¿ p2 (u)=b m−2 (u)+ bm−3 ( u ) (8.2−17)
¿⋮
¿ pm−1 (u)=b1 (u)+ b0 (u)

Không giống như các hạt nhân của DFT, là tổng của các sin và cosin [xem
Phương trình. (8.2-14) và (8.2-15)], các nhân Walsh-Hadamard bao gồm các
cộng và trừ 1 xen kẽ được sắp xếp theo hình bàn cờ. Hình 8.22 cho thấy hạt
nhân cho n = 4. Mỗi khối bao gồm 4x4 = 16 phần tử (các phần tử con).

FIGURE 8.22 Walsh-Hadamard basis functions for n = 4 The origin of each


block is at its top left.
Màu trắng biểu thị +1 và màu đen biểu thị -1. Để có được khối trên cùng
bên trái, chúng ta đặt u = v = 0 và vẽ các giá trị của r (x, y, 0,0) cho x, y =
0,1,2,3. Tất cả các giá trị trong trường hợp này là +1. Khối thứ hai ở hàng trên
cùng là đồ thị các giá trị của r (x, y, 0,1) cho x, y = 0,1,2,3, v.v. Như đã lưu ý,
tầm quan trọng của phép biến đổi WalshHadamard là sự đơn giản của việc triển
khai — tất cả các giá trị hạt nhân đều là +1 hoặc -1.
Một trong những phép biến đổi được sử dụng thường xuyên nhất để nén
ảnh là phép biến đổi cosin rời rạc (DCT). Nó thu được bằng cách thay thế các
hạt nhân (bằng nhau) sau đây thành các phương trình. (8,2-10) và (8,2-11)
r (x , y ,u , v)∧¿ s (x , y ,u , v)
¿=α (u)α (v ) cos ⁡ [
( 2 x +1 ) uπ
2n ] [
cos ⁡
2n ]
( 2 y +1 ) vπ ( 8.2−18 )

To compute the DCT of an input image f(x,y) rather than a subimage, change n
to N in Eqs. (8.2-18) and (8.2-19)

{√ √ 1
¿ ∧¿ for u=0
α ( u )= n ( 8.2−19)
2
¿ ∧¿ for u=1,2, … , n−1
n

và tương tự đối với Hình 8.23 cho thấy r (x, y, u, v) đối với trường hợp n =
4. Việc tính toán tuân theo định dạng tương tự như được giải thích trong Hình
8.22, với sự khác biệt là các giá trị của r không phải là số nguyên. Trong hình
8.23, các giá trị cường độ sáng hơn tương ứng với các giá trị lớn hơn của r.
Hình 8.24 (a) đến (c) cho thấy ba xấp xỉ của hình ảnh đơn sắc 512 x 512
trong Hình 8.9 (a). Những hình ảnh này thu được bằng cách chia hình ảnh gốc
thành các hình ảnh con có kích thước 8x8 đại diện cho mỗi hình ảnh con bằng
cách sử dụng một trong các phép biến đổi vừa được mô tả (tức là phép biến đổi
DFT, WHT hoặc DCT), cắt bớt 50% các hệ số thu được, và lấy biến đổi nghịch
đảo của mảng hệ số cắt ngắn.
EXAMPLE 8.13: Block transform coding with the DFT, WHT, and DCT
Trong mỗi trường hợp, 32 hệ số được giữ lại được chọn trên cơ sở độ lớn
tối đa. Lưu ý rằng trong mọi trường hợp, 32 hệ số bị loại bỏ có rất ít tác động
trực quan đến chất lượng của hình ảnh được tái tạo. Tuy nhiên, việc loại bỏ
chúng đi kèm với một số sai số trung bình, có thể được nhìn thấy trong các hình
ảnh sai số tỷ lệ của Figs. 8.24 (d) đến (f). Các lỗi rms thực tế cường độ lần lượt
là 2,32, 1,78 và 1,13.
Những khác biệt nhỏ về sai số tái tạo bình phương trung bình được ghi
nhận trong ví dụ trước liên quan trực tiếp đến đặc tính đóng gói năng lượng hoặc
thông tin của các phép biến đổi được sử dụng. Phù hợp với Eq. (8.2-11), một
ảnh con n x n g (x, y) có thể được biểu diễn dưới dạng một hàm của phép biến
đổi 2-D của nó T (u, v).
n−1 n −1
g ( x , y )=∑ ❑ ∑ ❑T (u , v ) s ( x , y , u , v )( 8.2−20 )
u=0 v=0

với x, y = 0,1,2, ..., n-1. Vì hạt nhân nghịch đảo s (x, y, u, v) trong
Phương trình (8.2-20) chỉ phụ thuộc vào các chỉ số x, y, u, v và không phụ
thuộc vào các giá trị của g (x, y) hoặc T (u, v), nó có thể được xem như là xác
định một tập hợp T (u, v), các hàm cơ sở hoặc hình ảnh cơ sở cho chuỗi được
xác định bởi Eq. (8,2-20). Sự giải thích này trở nên rõ ràng hơn nếu ký hiệu
được sử dụng trong Eq. (8.2-20) được sửa đổi để có được
n−1 n−1
G=∑ ❑ ∑ ❑T ( u , v ) Suv ( 8.2−21 )
u =0 v=0

trong đó G là một ma trận n x n chứa các pixel của g (x, y) và

[ ]
s ( 0,0 , u , v ) s ( 0,1 , u , v ) ⋯ s ( 0 , n−1 ,u , v )
s ( 1,0 , u , v ) ⋮ ⋯ ⋮
Suv = ⋮ ⋮ ⋯ ⋮ ⋯ ¿ s ( n−1 , n−1 , u , v ) ¿
⋮ ⋮ ⋯ ⋮
⋮ ¿ ¿ s ( n−1,0 , u , v ) ¿

(8.2−22)

Khi đó G, ma trận chứa các pixel của hình ảnh con đầu vào, được xác định
rõ ràng là một tổ hợp tuyến tính của n2 ma trận có kích thước n x n; nghĩa là, Suv
cho u, v = 0,1,2, ..., n-1 trong phương trình. (8.2-22). Các ma trận này trên thực
tế là hình ảnh cơ bản (hoặc hàm) của khai triển chuỗi trong phương trình. (8,2-
20); T(u, v) là các hệ số khai triển. Hình 8.22 và 8.23 minh họa bằng đồ thị hình
ảnh cơ sở WHT và DCT cho trường hợp n = 4
Nếu bây giờ chúng ta xác định một hàm che hệ số biến đổi

{
χ (u , v)= ¿ 0∧¿ if T (u , v) satisfies a specified truncation criterion (8.2-23)
¿ 1∧¿ otherwise

với u, v = 0,1,2, ..., n-1 có thể thu được xấp xỉ G từ khai triển rút gọn
n−1 n−1
^ ∑ ❑ ∑ ❑ χ ( u , v ) T ( u , v ) S ( 8.3−24 )
G= uv
u =0 v=0

trong đó X (u, v) được xây dựng để loại bỏ các ảnh cơ sở đóng góp nhỏ
nhất vào tổng tổng trong phương trình. (8,2-21). Sai số bình phương trung bình
^ khi đó là:
giữa giá trị phụ G và xấp xỉ G
e ms∧¿ E { ∥G−G
^ ∥2 }

{‖∑ ‖}
n−1 n−1 n−1 n−1 2

¿=E ❑ ∑ ❑ T ( u , v ) S uv −∑ ❑ ∑ ❑ χ ( u , v ) T ( u , v ) Suv
u=0 v=0 u=0 v=0
( 8.2−25)

{ |}
n −1 n −1 2

¿=E ∥ ∑ ❑ ∑ ❑T (u , v ) Suv [1− χ (u , v ) ]


u=0 v=0
n−1 n−1
¿=∑ ❑ ∑ ❑ σ T ( u ,v ) [1− χ (u , v )]
2

u =0 v=0

Ở đâu || G-G^ || là chuẩn của ma trận (G-G


^ ) và σ 2T (u , v) là phương sai của hệ số
tại vị trí biến đổi (u, v). Sự đơn giản hóa cuối cùng dựa trên tính chất trực chuẩn
của các hình ảnh cơ sở và giả định rằng các pixel của G được tạo ra bởi một quá
trình ngẫu nhiên với giá trị trung bình bằng 0 và hiệp phương sai đã biết. Do đó,
tổng sai số xấp xỉ bình phương trung bình là tổng các phương sai của các hệ số
biến đổi bị loại bỏ; nghĩa là các hệ số mà X (u, v) = 0, sao cho [1-X (u, v)] trong
phương trình. (8.2-25) là 1. Các phép biến đổi phân phối lại hoặc đóng gói nhiều
thông tin nhất thành các hệ số ít nhất cung cấp các xấp xỉ hình ảnh con tốt nhất
và do đó, các lỗi xây dựng lại nhỏ nhất. Cuối cùng, theo các giả định dẫn đến
Eq. (8.2-25), sai số trung bình của các trang con MN / n2 của ảnh M x N là giống
hệt nhau. Do đó, sai số bình phương trung bình (là thước đo sai số trung bình)
của hình ảnh M x N bằng với sai số bình phương trung bình của một hình ảnh
con.
Ví dụ trước đó cho thấy khả năng đóng gói thông tin của DCT vượt trội
hơn so với DFT và WHT. Mặc dù điều kiện này thường áp dụng cho hầu hết các
hình ảnh, phép biến đổi Karhunen-Loève (xem Chương 11), không phải DCT, là
phép biến đổi tối ưu theo nghĩa đóng gói thông tin. Điều này là do KLT giảm
thiểu sai số bình phương trung bình trong Eq. (8.2-25) đối với bất kỳ hình ảnh
đầu vào nào và bất kỳ số lượng hệ số được giữ lại nào (Kramer và Mathews
[1956]). † Tuy nhiên, vì KLT phụ thuộc vào dữ liệu, nên nói chung, việc thu
thập hình ảnh cơ sở KLT cho mỗi hình ảnh con, nói chung là một phép tính
không tầm thường bài tập. Vì lý do này, KLT ít được sử dụng trong thực tế để
nén ảnh. Thay vào đó, một phép biến đổi, chẳng hạn như DFT, WHT hoặc DCT,
có hình ảnh cơ sở là cố định (độc lập với đầu vào), thường được sử dụng. Trong
số các phép biến đổi độc lập đầu vào có thể có, các phép biến đổi không dạng
không (chẳng hạn như phép biến đổi WHT) là đơn giản nhất để thực hiện. Các
phép biến đổi hình sin (chẳng hạn như DFT hoặc DCT) gần đúng hơn khả năng
đóng gói thông tin của KLT tối ưu.
Do đó, hầu hết các hệ thống mã hóa chuyển đổi đều dựa trên DCT, cung
cấp sự thỏa hiệp tốt giữa khả năng đóng gói thông tin và độ phức tạp tính toán.
Trên thực tế, các thuộc tính của DCT đã được chứng minh là có giá trị thực tế
đến mức DCT đã trở thành một tiêu chuẩn quốc tế cho các hệ thống mã hóa
chuyển đổi. So với các phép biến đổi độc lập đầu vào khác, nó có những ưu
điểm là được thực hiện trong một mạch tích hợp duy nhất, đóng gói nhiều thông
tin nhất vào ít hệ số nhất ‡ (đối với hầu hết các hình ảnh) và giảm thiểu sự xuất
hiện giống như khối, được gọi là tạo tác khối, kết quả khi ranh giới giữa các
trang con trở nên rõ ràng. Tính chất cuối cùng này đặc biệt quan trọng khi so
sánh với các phép biến đổi hình sin khác. Như Hình 8.25 (a) cho thấy, chu kỳ n
điểm ngầm định (xem Phần 4.6.3) của DFT làm phát sinh các điểm gián đoạn
biên dẫn đến nội dung biến đổi tần số cao đáng kể. Khi hệ số biến đổi DFT bị
cắt ngắn hoặc lượng tử hóa, hiện tượng Gibbs † làm cho các điểm biên nhận các
giá trị sai, xuất hiện trong hình ảnh dưới dạng tạo tác chặn. Nghĩa là, ranh giới
giữa các trang con liền kề trở nên hiển thị vì các pixel biên của các trang con giả
sử các giá trị trung bình của các điểm gián đoạn được hình thành tại các điểm
biên [xem Hình 8.25 (a)]. DCT của Hình 8.25 (b) làm giảm hiệu ứng này, bởi vì
tính tuần hoàn 2n điểm tiềm ẩn của nó không tạo ra sự gián đoạn biên

Lựa chọn kích thước hình ảnh con


Một yếu tố quan trọng khác ảnh hưởng đến lỗi mã hóa biến đổi và độ phức
tạp tính toán là kích thước hình ảnh con. Trong hầu hết các ứng dụng, hình ảnh
được chia nhỏ để mối tương quan (dư thừa) giữa các ảnh con liền kề được giảm
xuống mức có thể chấp nhận được và do đó n là lũy thừa nguyên của 2 trong đó,
như trước đây, n là kích thước ảnh con. Điều kiện sau đơn giản hóa việc tính
toán các phép biến đổi hình con (xem phương pháp nhân đôi liên tiếp cơ số 2
được thảo luận trong Phần 4.11.3). Nói chung, cả mức độ nén và độ phức tạp
tính toán đều tăng khi kích thước hình ảnh con tăng lên. Kích thước hình ảnh
con phổ biến nhất là 8 * 8 và 16 * 16.
Hình 8.26 minh họa bằng đồ thị tác động của kích thước ảnh con đối với lỗi
xây dựng lại mã hóa biến đổi. Dữ liệu được vẽ biểu đồ thu được bằng cách chia
hình ảnh đơn sắc của Hình 8.9 (a) thành các tiểu phân có kích thước nxn cho n =
2,4,8,16, ..., 256,512, tính toán sự biến đổi của mỗi hình ảnh con, cắt bớt 75%
các hệ số kết quả và thực hiện phép biến đổi nghịch đảo của các mảng bị cắt
ngắn. Lưu ý rằng các đường cong Hadamard và cosine sẽ phẳng khi kích thước
của hình ảnh con trở nên lớn hơn 8 x 8, trong khi lỗi tái tạo Fourier tiếp tục giảm
trong vùng này. Khi tăng hơn nữa, sai số tái tạo Fourier vượt qua đường cong
Walsh-Hadamard và tiếp cận kết quả cosin. Kết quả này phù hợp với các phát
hiện lý thuyết và thực nghiệm được báo cáo bởi Netravali và Limb [1980] và bởi
Pratt [1991] đối với nguồn ảnh 2-D Markov.

Cả ba đường cong giao nhau khi sử dụng 2 x 2 trang con. Trong trường hợp
này, chỉ một trong bốn hệ số (25%) của mỗi mảng đã biến đổi được giữ lại. Hệ
số trong mọi trường hợp là thành phần dc, do đó, phép biến đổi nghịch đảo chỉ
đơn giản là thay thế bốn pixel hình ảnh con bằng giá trị trung bình của chúng
[xem phương trình. (4,6-21)]. Điều kiện này được thể hiện rõ trong Hình 8.27
(b), cho thấy một phần được thu phóng của kết quả DCT 2 x 2. Lưu ý rằng cấu
phần chặn phổ biến trong kết quả này giảm khi kích thước hình ảnh con tăng lên
4 x 4 và 8 x 8 trong Hình. 8.27 (c) và (d). Hình 8.27 (a) cho thấy một phần được
thu phóng của hình ảnh gốc để tham khảo.
Phân bổ bit
Lỗi xây dựng lại liên quan đến mở rộng chuỗi bị cắt ngắn của Eq. (8.2-24)
là một hàm của số lượng và tầm quan trọng tương đối của các hệ số biến đổi bị
loại bỏ, cũng như độ chính xác được sử dụng để biểu thị các hệ số được giữ lại.
Trong hầu hết các hệ thống mã hóa biến đổi, các hệ số được giữ lại được chọn
[nghĩa là hàm che của Eq. (8.2-23) được xây dựng] trên cơ sở phương sai tối đa,
được gọi là mã hóa vùng, hoặc trên cơ sở độ lớn tối đa, được gọi là mã hóa
ngưỡng. Quá trình tổng thể của việc cắt ngắn, lượng tử hóa và mã hóa các hệ số
của một hình con đã biến đổi thường được gọi là cấp phát bit.
8.2 Một số phương pháp nén cơ bản
các hệ số biến đổi bị loại bỏ, cũng như độ chính xác được sử dụng để biểu
diễn các hệ số được giữ lại. Trong hầu hết các hệ thống mã hóa biến đổi, các hệ
số được giữ lại được chọn [nghĩa là hàm che của Eq. (8.2-23) được xây dựng]
trên cơ sở phương sai tối đa, được gọi là mã hóa
vùng, hoặc trên cơ sở độ lớn tối đa, được gọi là mã hóa ngưỡng. Quá trình
tổng thể của việc cắt ngắn, lượng tử hóa và mã hóa các hệ số của một tiểu phân
đã biến đổi thường được gọi là cấp phát bit.
Hình 8.28 (a) và (c) cho thấy hai hình gần đúng của Hình 8.9 (a) trong đó
VÍ DỤ 8.15:
87,5% hệ số DCT của
mỗi hình ảnh con 8 * 8 đã bị
loại bỏ. Kết quả đầu tiên thu
được thông qua Cấp phát
bit. mã hóa ngưỡng bằng
cách giữ nguyên tám hệ số
biến đổi lớn nhất và hình ảnh
thứ hai được tạo ra bằng
cách sử dụng phương pháp
mã hóa theo vùng. Trong
trường hợp thứ hai, mỗi hệ
số DCT được coi là một biến
ngẫu nhiên mà phân phối của nó có thể được tính trên tập hợp của tất cả các tiểu
phân đã biến đổi. 8 phân phối của phương sai lớn nhất (12,5% trong số 64 hệ số
trong hình ảnh con 8 * 8 được biến đổi) đã được định vị và sử dụng để xác định
tọa độ, u và v, trong số các hệ số, T (u, v), đã được giữ lại cho tất cả các trang
con. Lưu ý rằng hình ảnh chênh lệch mã hóa ngưỡng trong Hình 8.28 (b) chứa ít
lỗi hơn so với kết quả mã hóa vùng trong Hình 8.28 (d). Cả hai hình ảnh đã
được thu nhỏ để làm cho lỗi hiển thị rõ ràng hơn. Các lỗi rms tương ứng là
cường độ 4,5 và 6,5 tương ứng.
HÌNH 8.28
Các ước tính trong Hình 8.9 (a) bằng cách sử dụng 12,5% trong số 8 * 8
DCT hệ số: (a) - (b) ngưỡng mã hóa kết quả; (c) - (d) địa đới kết quả mã hóa.
Các hình ảnh khác biệt được chia tỷ lệ bằng 4.
Triển khai mã hóa vùng
Mã hóa vùng dựa trên khái niệm lý thuyết thông tin coi thông tin là độ
không đảm bảo, do đó các hệ số biến đổi của phương sai cực đại mang nhiều
thông tin hình ảnh nhất và cần được giữ lại trong quá trình mã hóa. Bản thân các
phương sai có thể được tính toán trực tiếp từ tập hợp của MN> n 2 mảng hình ảnh
con được biến đổi, như trong ví dụ trước, hoặc dựa trên mô hình hình ảnh giả
định (giả sử, hàm tự tương quan aMarkov). Trong cả hai trường hợp, quá trình
lấy mẫu khu vực có thể được xem, phù hợp với Eq. (8,2-24), khi nhân mỗi T (u,
v) bởi phần tử tương ứng trong một mặt nạ khoanh vùng, được xây dựng bằng
cách đặt số 1 ở các vị trí có phương sai lớn nhất và số 0 ở tất cả các vị trí khác.
Hệ số của phương sai cực đại thường nằm xung quanh điểm gốc của một phép
biến đổi hình ảnh, dẫn đến mặt nạ khoanh vùng điển hình được thể hiện trong
Hình 8.29 (a).

Các hệ số được giữ lại trong quá trình lấy mẫu khu vực phải được lượng tử
hóa và mã hóa, do đó, các mặt nạ khu vực đôi khi được mô tả cho thấy số lượng
bit được sử dụng để mã hóa mỗi hệ số [Hình. 8,29 (b)]. Trong hầu hết các
trường hợp, các hệ số được phân bổ cùng một số lượng bit, hoặc một số bit cố
định được phân phối giữa chúng không đồng đều. Trong trường hợp đầu tiên,
các hệ số thường được chuẩn hóa bằng độ lệch chuẩn của chúng và được lượng
tử hóa một cách đồng nhất. Trong trường hợp thứ hai, một bộ định lượng, chẳng
hạn như một bộ định lượng Lloyd-Max tối ưu (xem Bộ định lượng tối ưu trong
Phần 8.2.9).
Một điển hình (a) mặt nạ khoanh vùng, (b) bit zonal phân bổ, (c) ngưỡng
mặt nạ, và (d) ngưỡng hệ số đặt hàng sự nối tiếp. Bóng râm Làm nổi bật hệ số
đó được giữ lại.
Mật độ Gaussian. † Số lượng mức lượng tử hóa (và do đó số lượng
bit) được phân bổ cho mỗi bộ lượng tử được thực hiện tỷ lệ với log 2 S T
(u, v). Do đó, các hệ số được giữ lại 2 trong Eq. (8.2-24) —mà (trong bối cảnh
của thảo luận hiện tại-
sion) được chọn trên cơ sở phương sai tối đa — được gán các bit tương ứng
với logarit của phương sai hệ số.
Triển khai mã hóa ngưỡng Mã hóa vùng thường được thực hiện bằng
cách sử dụng một mặt nạ cố định duy nhất cho tất cả các trang con. Tuy nhiên,
mã hóa ngưỡng vốn có tính thích ứng theo nghĩa là vị trí của các hệ số biến đổi
được giữ lại cho mỗi hình ảnh con thay đổi từ hình ảnh con này sang hình ảnh
con khác. Trên thực tế, mã hóa ngưỡng là cách tiếp cận mã hóa biến đổi thích
ứng thường được sử dụng nhất trong thực tế vì tính đơn giản của nó. Khái niệm
cơ bản là, đối với bất kỳ hình ảnh con nào, hệ số biến đổi có độ lớn lớn nhất sẽ
đóng góp đáng kể nhất vào chất lượng hình ảnh con được tái tạo, như được minh
họa trong ví dụ cuối cùng. Bởi vì vị trí của các hệ số tối đa khác nhau giữa các
tiểu phân này, các phần tử của x ( u, v) T (u, v) thường được sắp xếp lại (theo
cách xác định trước) để tạo thành một chuỗi được mã hóa 1-D, có thời lượng
chạy. Hình 8.29 (c) cho thấy một mặt nạ ngưỡng cho một hình ảnh con của hình
ảnh giả định. Mặt nạ này cung cấp một cách thuận tiện để trực quan hóa quy
trình mã hóa ngưỡng cho hình ảnh con tương ứng, cũng như mô tả toán học quy
trình bằng cách sử dụng Eq. (8.2-24) . Khi mặt nạ được áp dụng [thông qua Eq.
(8.2-24)] đến tiểu phân mà nó được bắt nguồn và kết quả n * n mảng được sắp
xếp lại để tạo thành một n 2- trình tự hệ số phần tử phù hợp với mô hình sắp xếp
zíc-zắc của Hình 8.29 (d), trình tự 1-D được sắp xếp lại chứa một số đoạn dài 0s
[mô hình zigzag trở nên rõ ràng bằng cách bắt đầu từ 0 trong Hình 8.29 (d) và
theo số trong dãy].
Những lần chạy này thường được mã hóa theo thời gian chạy. Các hệ số
khác không hoặc được giữ lại, tương ứng với các vị trí mặt nạ có chứa 1,
được biểu diễn bằng mã có độ dài thay đổi.
Có ba cách cơ bản để ngưỡng một hình ảnh con được chuyển đổi
hoặc, được nêu theo cách khác, để tạo chức năng che ngưỡng hình ảnh con
của biểu mẫu được đưa ra trong Công thức. (8.2-23): (1) Một ngưỡng chung
duy nhất có thể được áp dụng cho tất cả các trang con; (2) một ngưỡng khác
nhau có thể được sử dụng cho mỗi hình ảnh con; hoặc (3) ngưỡng có thể được
thay đổi như một hàm của vị trí của từng hệ số trong hình ảnh con. Trong
cách tiếp cận đầu tiên, mức độ nén khác nhau giữa các hình ảnh, tùy thuộc
vào số lượng hệ số vượt quá ngưỡng tổng thể. Trong lần thứ hai, được gọi là
N-mã hóa lớn nhất, cùng một số lượng hệ số được loại bỏ cho mỗi hình ảnh
con, kết quả là tốc độ mã là không đổi và được biết trước. Kỹ thuật thứ ba,
giống như kỹ thuật đầu tiên, dẫn đến tỷ lệ mã thay đổi, nhưng mang lại lợi ích
là ngưỡng và lượng tử hóa có thể được kết hợp bằng cách thay thế X(u,v),
T(u,v) trong công thức 8.2-24 bằng

[
T^ ( u , v ) = round
]
T (u , v )
Z (u , v )
(8.2−26)

Với T^( u, v) F là một ước lượng gần đúng được ngưỡng và lượng hóa
của T(u, v). và Z (u, v) là một phần tử của mảng chuẩn hóa biến đổi

[ ]
Z ( 0,0) Z (0,1) … Z(0 , n−1)
Z(1,0) ⋮ … ⋮
Z= ⋮ ⋮ … ⋮ (8.2−27)
⋮ ⋮ … ⋮
⋮ ⋮ … ⋮
Z( n−1,0) Z (n−1,1) … Z (n−1, n−1)

Trước khi chuyển đổi hình ảnh con chuẩn hóa (được ngưỡng và lượng tử
hóa), T N ( u, v), có thể được biến đổi ngược để thu được xấp xỉ hình ảnh con
g (x, y), # nó phải được nhân với Z (u, v). Kết quả là mảng không chuẩn
hóa, được biểu thị T (u, v) là một sự gần đúng của T N ( u, v
Ṫ ( u , v ) =T^ ( u , v ) Z ( u , v ) (8.2−28)

Biến đổi nghịch đảo của T (u, v) mang lại xấp xỉ hình ảnh con được giải nén.
Hình 8.30 (a) mô tả Eq. (8.2-26) bằng đồ thị cho trường hợp trong đó Z (u, v)
được chỉ định một giá trị cụ thể c. Lưu ý rằng T N ( u, v) giả định giá trị số
nguyên k nếu và chỉ nếu
c c
kc− ≤ T ( u , v ) < kc+ (8.2−29)
2 2

HÌNH 8.30 (a) Một ngưỡng mã hóa lượng tử hóa đường cong [xem phương
trình.
(8,2-29)]. (ba
điển hình bình thường hóa ma trận.
có thể được thay đổi tỷ lệ để đạt được nhiều mức độ nén. Hình 8.30 (b)
cho thấy một mảng chuẩn hóa điển hình. Mảng này, đã được sử dụng rộng rãi
trong các nỗ lực chuẩn hóa JPEG (xem phần tiếp theo), cân nhắc từng hệ số
của một hình ảnh con được biến đổi theo tầm quan trọng của cảm giác hoặc
tâm lý được xác định bằng kinh nghiệm.
■ Hình 8.31 (a) đến (f) cho thấy sáu xấp xỉ được mã hóa ngưỡng của
hình ảnh đơn sắc trong Hình 8.9 (a). Tất cả các hình ảnh được tạo bằng cách
sử dụng DCT 8 * 8 và mảng chuẩn hóa của Hình 8.30 (b). Kết quả đầu tiên
cung cấp tỷ lệ nén khoảng 12 đến 1 (tức là, C = 12), thu được bằng cách áp
dụng trực tiếp mảng chuẩn hóa đó. Các kết quả còn lại, nén hình ảnh gốc 19,
30, 49, 85 và 182 thành 1, được tạo ra sau khi nhân (chia tỷ lệ) mảng chuẩn
hóa với lần lượt là 2, 4, 8, 16 và 32. Các lỗi rms tương ứng là mức cường độ
3,83, 4,93, 6,62, 9,35, 13,94 và 22,46. ■
VÍ DỤ 8.16: Minh họa của mã hóa ngưỡng
JPEG
Một trong những tiêu chuẩn nén khung hình tĩnh phổ biến và toàn diện nhất
là tiêu chuẩn JPEG. Nó định nghĩa ba hệ thống mã hóa khác nhau: (1) một hệ
thống mã hóa đường cơ sở có tổn hao, dựa trên DCT và thích hợp cho hầu hết
các ứng dụng nén; (2) một hệ thống mã hóa mở rộng cho

abc
phản đối

HÌNH 8.31 Tính gần đúng của Hình 8.9 (a) bằng cách sử dụng DCT và mảng
chuẩn hóa của Hình 8.30 (b): (a) Z, (b) 2 Z, ( c) 4 Z, ( d) 8 Z, ( e) 16 Z, và (f) 32 Z.

độ nén lớn hơn, độ chính xác cao hơn hoặc các ứng dụng tái tạo tiến bộ; và (3)
một hệ thống mã hóa độc lập không tổn hao để nén có thể đảo ngược. Để tương thích
với JPEG, một sản phẩm hoặc hệ thống phải bao gồm hỗ trợ cho hệ thống cơ sở.
Không có định dạng tệp cụ thể, độ phân giải không gian hoặc mô hình không gian
màu nào được chỉ định.
Trong hệ thống đường cơ sở, thường được gọi là hệ thống cơ sở tuần tự, độ
chính xác của dữ liệu đầu vào và đầu ra được giới hạn ở 8 bit, trong khi các giá trị
DCT lượng tử hóa bị giới hạn ở 11 bit. Quá trình nén được thực hiện theo ba bước
tuần tự: tính toán DCT, lượng tử hóa và gán mã có độ dài thay đổi. Hình ảnh đầu
tiên được chia thành các khối pixel có kích thước 8
* 8, được xử lý từ trái sang phải, từ trên xuống dưới. Khi gặp mỗi khối 8 * 8
hoặc hình ảnh con, 64 pixel của nó được chuyển cấp bằng cách trừ đi số lượng 2 k- 1,
nơi 2 k là số mức cường độ lớn nhất. Sau đó, phép biến đổi cosin rời rạc 2-D của
khối được tính toán, lượng tử hóa theo Eq. (8.2-26), và được sắp xếp lại, sử dụng
mô hình ngoằn ngoèo của Hình 8.29 (d), để tạo thành một chuỗi 1-D của các hệ số
lượng tử hóa.
Bởi vì mảng được sắp xếp lại theo thứ tự một chiều được tạo ra theo mô hình
ngoằn ngoèo của Hình 8.29 (d) được sắp xếp một cách định tính theo tần số
không gian ngày càng tăng, quy trình mã hóa JPEG được thiết kế để tận dụng
các khoảng thời gian dài của các số không thường là kết quả của việc
sắp xếp lại. Đặc biệt, AC nonzero † hệ số được mã hóa bằng cách sử dụng mã
có độ dài thay đổi xác định các giá trị hệ số và số lượng các số không đứng
trước. Hệ số DC là sự khác biệt được mã hóa so với hệ số DC của hình ảnh
con trước đó.
Bảng A.3, A.4 và A.5 trong Phụ lục A cung cấp mã JPEG Huffman mặc
định cho thành phần độ chói của ảnh màu hoặc cường độ của ảnh đơn sắc.
Mảng lượng tử hóa độ sáng được đề xuất JPEG được đưa ra trong Hình 8.30
(b) và có thể được chia tỷ lệ để cung cấp nhiều mức độ nén khác nhau. Việc
chia tỷ lệ của mảng này cho phép người dùng chọn “chất lượng” của các nén
JPEG. Mặc dù bảng mã hóa và mảng lượng tử hóa mặc định được cung cấp
cho cả quá trình xử lý
VÍ DỤ 8.17:

Trong tiêu chuẩn, thuật ngữ AC biểu thị tất cả các hệ số biến đổi, ngoại trừ
hệ số 0 hoặc DC.
Hình ảnh gốc bao gồm 256 hoặc 2 số 8 cường độ có thể có, vì vậy quá trình
mã hóa bắt đầu bằng cách dịch chuyển các pixel của hình ảnh con ban đầu
xuống -2 7 hoặc là - 128 mức cường độ. Kết quả là mảng được dịch chuyển là
Mà khi được chuyển đổi theo DCT chuyển tiếp của phương trình. (8.2-10) và
(8.2-18) cho n = 8, trở thành
Nếu mảng chuẩn hóa JPEG được đề xuất trong Hình 8.30 (b) được sử dụng để
lượng tử hóa mảng đã biến đổi, thì mảng được chia tỷ lệ và cắt ngắn [nghĩa là được
chuẩn hóa theo Eq. (8.2-26)] hệ số là
trong đó, ví dụ, hệ số DC được tính là
T N ( 0, 0) = vòng B T ( 0, 0) R
Z ( 0, 0)
Lưu ý rằng quá trình biến đổi và chuẩn hóa tạo ra một số lượng lớn các hệ số
có giá trị bằng không. Khi các hệ số được sắp xếp lại trong
phù hợp với mô hình sắp xếp zigzag của Hình 8.29 (d), chuỗi hệ số 1-D kết quả

[-26 -3 1 -3 -2 -6 2 -4 1 -4 1 1 5 0 2 0 0 -1 2 0 0 0 0 0 -1 -1 EOB]
trong đó ký hiệu EOB biểu thị điều kiện kết thúc khối. Một từ mã đặc biệt của
EOB Huffman (xem danh mục 0 và thời lượng chạy 0 trong BảngA.5) được cung cấp
để chỉ ra rằng phần còn lại của các hệ số trong một chuỗi được sắp xếp lại là số
không.
Việc xây dựng mã JPEG mặc định cho chuỗi hệ số được sắp xếp lại bắt đầu
bằng việc tính toán sự khác biệt giữa hệ số DC hiện tại và hệ số của hình ảnh con
được mã hóa trước đó. Giả sử hệ số DC của hình ảnh con được biến đổi và lượng tử
hóa ở ngay bên trái của nó là
còn lại phải được tạo ra từ các bit ít quan trọng nhất (LSB) của giá trị chênh
lệch. Đối với một danh mục khác biệt chung của DC (giả sử, danh mục K), một bổ
Bảng A.3 và A.5. Sự khác biệt cơ bản là mỗi từ mã AC Huffman mặc định phụ
thuộc vào số lượng hệ số có giá trị 0 đứng trước hệ số khác không được mã hóa, cũng
như loại cường độ của hệ số khác không. (Xem cột có nhãn Chạy / Danh mục trong
Bảng
A.5.) Do đó, hệ số AC khác không đầu tiên của mảng được sắp xếp lại (-3) được
mã hóa là 0100. 2 bit đầu tiên của mã này chỉ ra rằng hệ số ở loại cường độ 2 và đứng
trước không có hệ số có giá trị bằng 0 (xem Bàn
A.3); 2 bit cuối cùng được tạo ra bởi cùng một quá trình được sử dụng để đến
các LSB của mã khác biệt DC. Tiếp tục theo cách này, mảng được mã hóa hoàn toàn
(được sắp xếp lại) là
1010110 0100 001 0100 0101 100001 0110 100011 001 100011 001
001 100101 11100110 110110 0110 11110100 000 1010
trong đó các khoảng trắng chỉ được chèn vào để dễ đọc. Mặc dù không cần thiết
trong ví dụ này, nhưng mã JPEG mặc định chứa một từ mã đặc biệt cho một loạt 15
số không theo sau là số 0 (xem danh mục 0 và độ dài chạy F trong Bảng
A.5). Tổng số bit trong mảng được sắp xếp lại được mã hóa hoàn toàn (và do đó
số lượng bit cần thiết để đại diện cho toàn bộ 8 *> 8, 8 bit của hình ảnh con của ví dụ
này) là 92. Tỷ lệ nén kết quả là 512 92, hoặc khoảng 5,6: 1.
Để giải nén hình ảnh con được nén JPEG, trước tiên bộ giải mã phải tạo lại các
hệ số biến đổi chuẩn hóa dẫn đến luồng bit nén. Bởi vì chuỗi nhị phân được mã hóa
bởi Huffman có thể giải mã tức thời và duy nhất, bước này có thể dễ dàng thực hiện
theo cách bảng tra cứu đơn giản.
Ở đây, mảng hệ số lượng tử được tạo lại là
Sau khi không chuẩn hóa theo Eq. (8.2-28), mảng trở thành

trong đó, ví dụ, hệ số DC được tính là


Ṫ (0,0)=T^ (0,0)Z (0,0)=(−26)(16)=−416

Hình ảnh con được tái tạo lại hoàn toàn có được bằng cách lấy DCT nghịch
đảo của mảng không chuẩn hóa phù hợp với Công thức. (8.2-11) và (8.2-18) để
có được

và mức độ dịch chuyển từng pixel được biến đổi ngược bởi (hoặc) để mang lại
Bất kỳ sự khác biệt nào giữa hình ảnh con gốc và được tái tạo đều là kết quả của
bản chất mất mát của quá trình nén và giải nén JPEG. Trong ví dụ này, các lỗi
có phạm vi từ đến và được phân bổ như sau:

Sai số gốc-trung bình-bình phương của quá trình nén và tái tạo tổng thể là
khoảng 5,8 mức cường độ.
VÍ DỤ 8.18: Minh họa về mã hóa JPEG
Hình 8.32 (a) và (d) cho thấy hai xấp xỉ JPEG của hình ảnh đơn sắc trong Hình
8.9 (a). Kết quả đầu tiên cung cấp độ nén 25: 1; thứ hai nén hình ảnh ban đầu
52: 1. Sự khác biệt giữa hình ảnh gốc và hình ảnh được tái tạo trong Hình. 8.30
(a) và (d) được thể hiện trong Hình. 8,30 (b) và (e) tương ứng. Sai số rms tương
ứng là 5,4 và 10,7 cường độ. Các lỗi có thể nhìn thấy rõ ràng trong các hình ảnh
được phóng to trong Hình. 8.32 (c) và (f). Những hình ảnh này cho thấy một
phần được phóng đại của Figs. 8.32 (a) và (d), tương ứng. Lưu ý rằng cấu phần
chặn JPEG tăng lên khi nén.
8.2.9 Mã hóa dự đoán
Với tham chiếu đến Bảng 8.3 và 8.4, mã dự đoán được sử dụng trong
● JBIG2
● JPEG
● JPEG-LS
● MPEG-1,2,4
● H.261, H.262, H.263 và H.264
● HDV
● VC-1 và các tiêu chuẩn nén và định dạng tệp khác.

Bây giờ chúng tôi chuyển sang một cách tiếp cận nén đơn giản hơn để đạt được
khả năng nén tốt mà không có chi phí tính toán đáng kể và có thể không có lỗi
hoặc mất mát. Cách tiếp cận, thường được gọi là mã hóa dự đoán, dựa trên việc
loại bỏ sự dư thừa của các pixel cách xa nhau - trong không gian và / hoặc thời
gian - bằng cách chỉ trích xuất và mã hóa thông tin mới trong mỗi pixel. Thông
tin mới của pixel được định nghĩa là sự khác biệt giữa giá trị thực tế và giá trị dự
đoán của pixel.
Mã hóa dự đoán không tổn thất
Hình 8.33 cho thấy các thành phần cơ bản của hệ thống mã hóa dự đoán không
mất dữ liệu. Hệ thống bao gồm một bộ mã hóa và một bộ giải mã, mỗi thành
phần chứa một
người dự đoán. Khi các mẫu liên tiếp của tín hiệu đầu vào thời gian rời rạc, được
đưa vào bộ mã hóa, bộ dự đoán tạo ra giá trị dự đoán của mỗi mẫu dựa trên một
số lượng mẫu trước đây được chỉ định. Kết quả đầu ra của bộ dự đoán sau đó
được làm tròn đến số nguyên gần nhất, được ký hiệu và được sử dụng để tạo
thành sự khác biệt hoặc lỗi dự đoán
e ( n )=f ( n )− ^f ( n ) (8.2−30)
HÌNH 8.32 Hai xấp xỉ JPEG của Hình 8.9 (a). Mỗi hàng chứa một kết quả sau
khi nén và tái tạo, chênh lệch tỷ lệ giữa kết quả và hình ảnh gốc và một phần
được thu phóng của hình ảnh được tái tạo.
được mã hóa bằng cách sử dụng mã có độ dài thay đổi (bởi bộ mã hóa ký hiệu)
để tạo phần tử tiếp theo của luồng dữ liệu nén. Bộ giải mã trong Hình 8.33 (b)
tái cấu trúc từ các từ mã có độ dài thay đổi nhận được và thực hiện thao tác
ngược

f ( n )=e ( n ) + f^ ( n ) ( 8.2−31)

để giải nén hoặc tạo lại chuỗi đầu vào ban đầu. Có thể sử dụng nhiều phương
pháp cục bộ, toàn cục và phương pháp thích ứng khác nhau (xem phần phụ sau
có tên Mã dự đoán tổn hao) để tạo ra Trong nhiều trường hợp, dự đoán được
hình thành dưới dạng kết hợp tuyến tính của các mẫu trước. Đó là

[∑ ]
m
^f ( n )= round ❑ α i f ( n−i ) (8.2−32)
i=1

trong đó order of là công cụ dự đoán tuyến tính, vòng là một hàm được sử dụng
để biểu thị phép toán làm tròn hoặc số nguyên gần nhất, và for là các hệ số dự
đoán. Nếu trình tự đầu vào trong Hình 8.33 (a) được coi là
HÌNH 8.33 Mô hình mã hóa dự đoán không mất dữ liệu:
(a) bộ mã hóa;
(b) bộ giải mã.
mẫu của một hình ảnh, tính bằng Eqs. (8.2-30) đến (8.2-32) là các pixel — và
các mẫu được sử dụng để dự đoán giá trị của mỗi pixel đến từ dòng quét hiện tại
(được gọi là mã hóa dự đoán tuyến tính 1-D), từ các dòng quét hiện tại và trước
đó (được gọi là Mã hóa dự đoán tuyến tính 2-D), hoặc từ hình ảnh hiện tại và
hình ảnh trước đó trong một chuỗi hình ảnh (được gọi là mã hóa dự đoán tuyến
tính 3-D). Do đó, đối với mã hóa hình ảnh dự đoán tuyến tính 1-D, Eq. (8.2-32)
có thể được viết là

[ ]
m
^f ( x , y )= round ∑ ❑ α i f (x , y−i) (8.2-33)
i=1

trong đó mỗi mẫu hiện được biểu thị rõ ràng dưới dạng một hàm của tọa độ
không gian của hình ảnh đầu vào và Lưu ý rằng phương trình (8.2-33) chỉ ra
rằng dự đoán tuyến tính 1-D là một hàm của các pixel trước đó trên dòng hiện
tại. Trong mã hóa dự đoán 2-D, dự đoán là một chức năng của các pixel trước đó
trong quá trình quét từ trái sang phải, từ trên xuống dưới của một hình ảnh.
Trong trường hợp 3-D, nó dựa trên các pixel này và các pixel trước của khung
hình trước đó. Phương trình (8.2-33) không thể được đánh giá cho các pixel đầu
tiên của mỗi dòng, vì vậy các pixel đó phải được mã hóa bằng cách sử dụng các
phương tiện khác (chẳng hạn như mã Huffman) và được coi là một phần của quá
trình mã hóa dự đoán. Nhận xét tương tự áp dụng cho các trường hợp chiều cao
hơn.
VÍ DỤ 8.19: Mã hóa dự đoán và dư thừa không gian
Xem xét mã hóa hình ảnh đơn sắc của Hình 8.34 (a) bằng cách sử dụng công cụ
dự đoán tuyến tính bậc nhất đơn giản (tức là) từ phương trình. (8,2-33)
^f ( x , y )= round [ αf ( x , y−1 ) ] ( 8.2−34 )

Phương trình này là một đơn giản hóa của Eq. (8.2-33) với và chỉ số phụ của hệ
số dự đoán đơn lẻ giảm xuống là không cần thiết. Một dự đoán của dạng tổng
quát này được gọi là pixelpredictor trước đó, và quy trình mã hóa dự đoán tương
ứng được gọi là mã hóa pixel trước mã hóa vi phân.
Hình 8.34 (c) cho thấy hình ảnh lỗi dự đoán, e ( x , y )=f (x , y )− ^f ( x , y )
kết quả từ Eq. (8.2-34) với Tỷ lệ của hình ảnh này sao cho cường độ 128 đại
diện cho sai số dự đoán bằng 0, trong khi tất cả các lỗi dự đoán âm và dương
khác không (ước tính thấp hơn và cao hơn) được hiển thị dưới dạng màu xám
nhạt hơn và tối hơn. giá trị trung bình của hình ảnh dự đoán là 128,26. Vì cường
độ 128 tương ứng với sai số dự đoán bằng 0, nên sai số dự đoán trung bình chỉ là
0,26 bit.

HÌNH 8.34
(a) Quang cảnh Trái đất từ một tàu con thoi quay quanh quỹ đạo.
(b) Biểu đồ cường độ của
(a). (c) Kết quả hình ảnh lỗi dự đoán
từ Eq. (8,2-34).
(d) Biểu đồ của lỗi dự đoán. (Hình ảnh gốc do NASA cung cấp.)
sai số dự đoán trong Hình 8.34 (d) nhỏ hơn nhiều so với độ lệch chuẩn của các
cường độ trong ảnh gốc. Hơn nữa, entropy của lỗi dự đoán — như được ước tính
bằng cách sử dụng Eq. (8,1-7) - nhỏ hơn đáng kể so với entropy ước tính của
hình ảnh gốc (3,99 so với 7,25 b / p). Sự giảm entropy này phản ánh việc loại bỏ
rất nhiều dư thừa không gian, mặc dù thực tế là đối với ảnh k-bit, các số là cần
thiết để đại diện cho chuỗi lỗi dự đoán chính xác Nói chung, độ nén tối đa của
phương pháp mã hóa dự đoán có thể được ước tính bằng cách chia số bit trung
bình được sử dụng để đại diện cho mỗi pixel trong ảnh gốc bằng ước tính
entropy của lỗi dự đoán. Trong ví dụ này, bất kỳ quy trình mã hóa có độ dài thay
đổi nào cũng có thể được sử dụng để viết mã nhưng kết quả nén sẽ được giới
hạn trong khoảng hoặc 2: 1.
hình ảnh đầu vào vào chuỗi lỗi dự đoán — thường được gọi là phần dư dự đoán.
Bởi vì dư thừa theo không gian bị loại bỏ bởi quá trình dự đoán và sai phân, hàm
mật độ xác suất của phần dư dự đoán nói chung là cao nhất bằng 0 và được đặc
trưng bởi một phương sai tương đối nhỏ (so với phân bố cường độ đầu vào).
Trên thực tế, nó thường được mô hình hóa bằng một tệp PDF Laplacian không
tương quan có nghĩa là 0
− √ 2|ϵ|
1 σe
pe ( e ) = e (8.2−35)
√2 σe
đâu là độ lệch chuẩn của e.
VÍ DỤ 8.20: Mã hóa dự đoán và dự phòng theo thời gian
Hình ảnh trong Hình 8.34 (a) là một phần của khung video của NASA, trong đó
Trái đất đang chuyển động từ trái sang phải đối với một máy ảnh đứng yên gắn
với tàu con thoi. Nó được lặp lại trong Hình 8.35 (b) —cùng với khung liền
trước của nó trong Hình 8.35 (a). Sử dụng công cụ dự đoán tuyến tính bậc nhất
^f ( x , y , t)= round [αf (x , y , t−1)] (8.2-36)
HÌNH 8.35 (a) và (b) Hai chế độ xem Trái đất từ video quay quanh tàu con thoi.
(c) Hình ảnh lỗi dự đoán do Eq. (8,2-36).
(d) Biểu đồ của lỗi dự đoán.
(Hình ảnh gốc do NASA cung cấp.
với cường độ của các pixel trong Hình 8.35 (b) có thể được dự đoán từ
các pixel tương ứng trong (a). Hình 8.34 (c) là hình ảnh dư dự đoán kết quả,
Hình 8.34 (d) là biểu đồ của
Lưu ý rằng có rất ít lỗi dự đoán. Độ lệch chuẩn của lỗi nhỏ hơn nhiều so với
trong ví dụ trước — 3,76 so với 15,58. Ngoài ra, entropy của lỗi dự đoán [được
tính bằng cách sử dụng Eq. (8.1-7)] đã giảm từ 3,99 xuống 2,59. Bằng cách mã
hóa độ dài thay đổi phần dư dự đoán kết quả, hình ảnh gốc được nén xấp xỉ hoặc
3,1: 1 — cải thiện 50% so với nén 2: 1 thu được bằng cách sử dụng công cụ dự
đoán pixel trước đó theo hướng không gian trong Ví dụ 8.19.
Phần dư dự đoán bù chuyển động Như bạn đã thấy trong Ví dụ 8.20, các khung
hình liên tiếp trong một chuỗi video thường rất giống nhau. Mã hóa sự khác biệt
của chúng có thể làm giảm dư thừa tạm thời và
cung cấp khả năng nén đáng kể. Tuy nhiên, khi một chuỗi khung hình chứa các
đối tượng chuyển động nhanh — hoặc liên quan đến việc thu phóng và xoay
máy ảnh, cảnh thay đổi đột ngột hoặc mờ dần và mờ dần — độ tương đồng giữa
các khung hình lân cận bị giảm và độ nén bị ảnh hưởng tiêu cực. Nghĩa là, giống
như hầu hết các kỹ thuật nén (xem Ví dụ 8.5), mã hóa dự đoán dựa trên thời gian
hoạt động tốt nhất với các loại đầu vào nhất định — cụ thể là một chuỗi hình
ảnh với
dư thừa theo thời gian đáng kể. Khi được sử dụng trên hình ảnh có ít dư thừa
theo thời gian, việc mở rộng dữ liệu có thể xảy ra. Hệ thống nén video tránh
được vấn đề mở rộng dữ liệu theo hai cách:
1. Bằng cách theo dõi chuyển động của đối tượng và bù đắp cho nó trong quá
trình dự đoán và phân tích.
2. Bằng cách chuyển sang một phương pháp mã hóa thay thế khi không có đủ
tương quan giữa các khung (sự tương đồng giữa các khung) để làm cho việc mã
hóa dự đoán trở nên thuận lợi.
Phần đầu tiên trong số này - được gọi là phần bù tiền - là chủ đề của phần còn
lại của phần này. Tuy nhiên, trước khi tiếp tục, chúng tôi lưu ý rằng khi không
có đủ mối tương quan giữa các khung để làm cho việc mã hóa dự đoán hiệu quả,
vấn đề thứ hai thường được giải quyết bằng cách sử dụng phép biến đổi 2-D
hướng khối, như mã hóa dựa trên DCT của JPEG (xem Phần 8.2.8). Các khung
được nén theo cách này (tức là không có dư dự đoán) được gọi là các khung
hình hoặc Độc lập
khung (I-frames). Chúng có thể được giải mã mà không cần truy cập vào các
khung khác trong video mà chúng thuộc về. I-frame thường giống với hình ảnh
được mã hóa JPEG và là điểm khởi đầu lý tưởng để tạo ra phần dư dự đoán.
Hơn nữa, chúng cung cấp mức độ truy cập ngẫu nhiên cao, dễ dàng chỉnh sửa và
khả năng chống lại sự lan truyền của lỗi truyền dẫn, kết quả là tất cả các tiêu
chuẩn đều yêu cầu chèn định kỳ I-frame vào dòng mã video nén.
Hình 8.36 minh họa những điều cơ bản của mã hóa dự đoán bù chuyển động.
Mỗi khung hình video được chia thành các vùng hình chữ nhật không chồng
chéo — thường có kích thước tương đương — được gọi là macroblock. (Chỉ có
một macroblock được hiển thị trong Hình 8.36.) “Chuyển động” của mỗi
macroblock đối với vị trí “có khả năng xảy ra nhất” của nó trong khung video
trước đó (hoặc sau đó), được gọi là khung tham chiếu,
HÌNH 8.36
Đặc tả chuyển động macroblock.

được mã hóa trong một vector chuyển động. Véc tơ mô tả chuyển động
Vị trí “có khả năng xảy ra
nhất” là vị trí giảm thiểu
bằng cách xác định chuyển vị ngang và dọc từ vị trí "có khả năng xảy ra
số đo lỗi giữa macroblock
tham chiếu và macroblock
đang được mã hóa. Hai
nhất". Các dịch chuyển thường được chỉ định chính xác đến pixel, 2 pixel
khối không nhất thiết phải
hoặc 1 pixel gần nhất. Nếu sử dụng độ chính xác của pixel phụ, thì các dự
là đại diện của cùng một
đối tượng, nhưng chúng
đoán phải được nội suy [ví dụ: sử dụng nội suy song tuyến (xem Phần
phải tối thiểu hóa phép đo
sai số.
2.4.4)] từ tổ hợp các pixel trong hệ quy chiếu. Khung được mã hóa dựa trên
khung trước đó (dự đoán về phía trước trong Hình 8.36) được gọi là Khung dự
đoán (khung P); một khung dựa trên khung tiếp theo (dự đoán ngược trong Hình
8.36) được gọi là khung hai chiều (khung B). Khung B yêu cầu dòng mã nén
được sắp xếp lại để các khung được trình bày cho bộ giải mã theo trình tự giải
mã thích hợp — thay vì thứ tự hiển thị tự nhiên.
Như bạn có thể mong đợi, ước tính chuyển động là thành phần quan trọng của
bù chuyển động. Trong quá trình ước lượng chuyển động, chuyển động của các
đối tượng được đo và mã hóa thành vectơ chuyển động. Việc tìm kiếm vectơ
chuyển động "tốt nhất" yêu cầu phải xác định tiêu chí về tính tối ưu. Ví dụ: các
vectơ chuyển động có thể được chọn trên cơ sở tương quan tối đa hoặc sai số tối
thiểu giữa các pixel macroblock và các pixel dự đoán (hoặc các pixel nội suy
cho các vectơ chuyển động pixel phụ) từ hệ quy chiếu đã chọn. Một trong những
phép đo lỗi được sử dụng phổ biến nhất là độ méo tuyệt đối trung bình (MAD)
m n
1
MAD ( x , y )= ∑ ❑ ∑ ❑|f ( x +i , y + j )− p ( x +i+dx , y+ j+dy )|
mn i=1 j=1
(8.2−37)
trong đó x và y là tọa độ của pixel phía trên bên trái của m X n macroblock đang
được mã hóa, dx và dy là các chuyển vị từ hệ quy chiếu như trong Hình 8.36 và
p là một mảng các giá trị pixel macroblock được dự đoán. Đối với ước lượng
vectơ chuyển động pixel phụ, p được nội suy từ các pixel trong hệ quy chiếu.
Thông thường, dx và dy phải nằm trong một vùng tìm kiếm giới hạn (xem Hình
8.36) xung quanh mỗi macroblock. Giá trị từ ± 8 đến ± 64 pixel là phổ biến và
vùng tìm kiếm ngang thường lớn hơn một chút so với vùng dọc. Một thước đo
sai số hiệu quả hơn về mặt tính toán, được gọi là tổng độ méo tuyệt đối (SAD),
bỏ qua yếu tố 1 / triệu trong Eq. (8.2-37).
Đưa ra một tiêu chí lựa chọn như của Eq. (8.2-37), ước tính chuyển động
được thực hiện bằng cách tìm kiếm dx và dy để giảm thiểu MAD (x, y) trên
phạm vi cho phép của dịch chuyển vectơ chuyển động — bao gồm cả dịch
chuyển pixel phụ. Quá trình này thường được gọi là đối sánh khối. Tìm kiếm
toàn diện đảm bảo kết quả tốt nhất có thể, nhưng tốn kém về mặt tính toán, bởi
vì mọi chuyển động có thể phải được kiểm tra trên toàn bộ phạm vi dịch chuyển.
Đối với macroblock 16 X 16 và phạm vi dịch chuyển ± 32 pixel (không nằm
ngoài câu hỏi đối với phim hành động và sự kiện thể thao), các phép tính 4225
16 X 16MAD phải được thực hiện cho mỗi macroblock trong khung khi sử dụng
độ chính xác dịch chuyển số nguyên. Nếu mong muốn độ chính xác 1/2 hoặc 1/4
pixel, số lượng phép tính sẽ được nhân với hệ số tương ứng là 4 hoặc 16. Các
thuật toán tìm kiếm nhanh có thể giảm bớt gánh nặng tính toán nhưng có thể có
hoặc không mang lại các vectơ chuyển động tối ưu.
Hình 8.37 (a) và (b) được lấy từ cùng một chuỗi video của VÍ DỤ 8.21:
NASA được sử dụng trong Ví dụ 8.19 và 8.20. Hình 8.37 (b) giống Dự đoán bù
chuyển động.
với Hình. 8,34 (a) và 8,35 (b); Hình 8.37 (a) là phần tương ứng của
khung xảy ra trước đó mười ba khung. Hình 8.37 (c) là sự khác biệt giữa hai
khung, được chia tỷ lệ thành toàn dải cường độ. Lưu ý rằng sự khác biệt là 0
trong khu vực của tàu con thoi đứng yên (đối với máy ảnh), nhưng có sự khác
biệt đáng kể trong phần còn lại của hình ảnh do chuyển động tương đối của Trái
đất. Độ lệch chuẩn của phần dư dự đoán trong Hình 8.37 (c) là 12,73 mức cường
độ; entropy của nó [sử dụng Eq. (8,1-7)] là 4,17 bit / pixel. Độ nén tối đa có thể
đạt được khi mã hóa độ dài thay đổi, phần dư dự đoán là C = 8 / 4,17 = 1,92.
Hình 8.37 (d) cho thấy dư dự đoán bù chuyển động với độ lệch chuẩn thấp
hơn nhiều (5,62 so với 12,73 mức cường độ) và entropy thấp hơn một chút (3,04
so với 4,17 bit / pixel). Entropy được tính bằng cách sử dụng Eq. (8.1-7). Nếu
phần dư dự đoán trong Hình 8.37 (d) được mã hóa với độ dài thay đổi, thì tỷ số
nén kết quả là C = 8 / 3.04= 2,63. Để tạo ra phần dư dự đoán này, chúng tôi chia
Hình 8.37 (b) thành 16 không chồng chéoX 16 macroblock và so sánh từng
macroblock với 16 macroblock X 16 vùng trong Hình 8.37 (a) - hệ quy chiếu -
nằm trong ± 16 pixel vị trí của macroblock trong (b). Chúng tôi đã sử dụng Eq.
(8.2-37) để xác định kết quả phù hợp nhất bằng cách chọn độ dời (dx, dy) với
MAD thấp nhất.Các chuyển vị thu được là các thành phần x và y của các vectơ
chuyển động được thể hiện trong Hình 8.37 (e). Các chấm trắng trong hình là
đầu của các vectơ chuyển động; chúng chỉ ra góc trên bên trái của macroblock
được mã hóa. Như bạn có thể thấy từ mẫu của các vectơ, chuyển động chủ yếu
trong hình ảnh là từ trái sang phải. Ở phần dưới của hình ảnh, tương ứng với khu
vực của tàu con thoi trong hình ảnh gốc, không có chuyển động và do đó không
có vectơ chuyển động nào được hiển thị. Các macroblock trong khu vực này
được dự đoán từ các macroblock có vị trí tương tự (tức là tương ứng) trong hệ
quy chiếu. Bởi vì các vectơ chuyển động trong Hình 8.37 (e) có tương quan cao,
chúng có thể được mã hóa với độ dài thay đổi để giảm yêu cầu lưu trữ và truyền
tải. ■
ab
cde
HÌNH 8.37 (a) và (b) Hai chế độ xem Trái đất cách nhau mười ba khung hình
trong video quay quanh tàu con thoi. (c) Hình ảnh lỗi dự đoán mà không có bù
chuyển động. (d) Phần dư dự đoán với bù chuyển động. (e) Các vectơ chuyển
động liên kết với (d). Các chấm trắng trong (d) đại diện cho các đầu mũi tên của
các vectơ chuyển động được mô tả. (Hình ảnh gốc do NASA cung cấp.)

Sự khác biệt trựcHình 8.38 củng cố độ chính xác dự đoán tăng lên có thể với
quan giữa Hình 8.37
bù chuyển động pixel phụ. Hình 8.38 (a) được lặp lại từ Hình
(c) và 8.38 (a) là do
8.37 (c) và được đưa vào làm điểm tham chiếu; nó cho thấy
tỷ lệ. Hình ảnh trong
lỗi dự đoán dẫn đến không có bù chuyển động. Các hình ảnh
Hình 8.38 (a) đã được
thu nhỏ để phù hợp
trong Hình 8.38 (b), (c), và (d) ) là các phần dư dự đoán được
với Hình 3.8 (b) - (d).
bù chuyển động. Chúng dựa trên cùng hai khung hình đã
được sử dụng trong Ví dụ 8.21 và được tính toán với các chuyển vị của
macroblock thành 1,1/2, và 1/4 độ phân giải pixel (tức là độ chính xác), tương
ứng. điểm ảnh. Macroblock có kích thước 8x8 đã được sử dụng; độ dịch chuyển
được giới hạn ở ±8 pixel.

Sự khác biệt trực quan đáng kể nhất giữa các phần dư dự đoán trong Hình
8.38 là số lượng và kích thước của các đỉnh và thung lũng cường độ — các khu
vực cường độ tối nhất và sáng nhất của chúng. Phần dư ¼ pixel trong Hình 8.38
(d) là “phẳng nhất” trong bốn vùng hình ảnh, với ít chuyến du ngoạn nhất sang
màu đen hoặc trắng. Như dự đoán, nó có biểu đồ hẹp nhất. Độ lệch chuẩn của
dự đoán dư trong Hình. 8,38 (a) đến (d) giảm khi độ chính xác của vectơ chuyển
động tăng lên — lần lượt từ 12,7 lên 4,4,4 và 3,8 pixel.
ab
CD
HÌNH 8.38
Phần dư dự đoán được bù
chuyển động theo pixel
phụ:
(a) không bù chuyển
động;
(b) độ chính xác pixel
đơn;
1
(c) độ chính xác pixel; và
(d) Độ chính xác 4 pixel.
(Tất cả các lỗi dự đoán đã
được chia tỷ lệ thành phạm
vi cường độ đầy đủ và sau
đó nhân với 2 để tăng khả
năng hiển thị của chúng.)

phần còn lại, được xác định bằng cách sử dụng Eq. (8,1-7), lần lượt là
4,17,3.34,3.35 và 3,34 bit / pixel. Do đó, phần dư bù chuyển động chứa cùng
một lượng thông tin, mặc dù thực tế là phần dư trong Hình. 8.38 (c) và (d) sử
dụng các bit bổ sung để chứa nội suy 1 và 4 pixel. Cuối cùng, chúng tôi lưu ý
rằng có một dải lỗi dự đoán tăng lên rõ ràng ở phía bên trái của mỗi phần dư bù
chuyển động. Điều này là do chuyển động từ trái sang phải của Trái đất, đưa các
khu vực mới hoặc chưa từng thấy trước đây của địa hình Trái đất vào bên trái
của mỗi hình ảnh. Bởi vì những khu vực này không có trong các khung hình
trước đó, chúng không thể được dự đoán chính xác, bất kể độ chính xác được sử
dụng để tính toán vectơ chuyển động.
Ước tính chuyển động là một công việc đòi hỏi tính toán cao. May mắn thay,
chỉ có bộ mã hóa mới phải ước tính chuyển động của macroblock. Với các vectơ
chuyển động của macroblock, bộ giải mã chỉ cần truy cập các vùng của hệ quy
chiếu đã được sử dụng trong bộ mã hóa để tạo ra các phần dư dự đoán. Do đó,
ước tính chuyển động không được bao gồm trong hầu hết các tiêu chuẩn nén
video. Các tiêu chuẩn nén tập trung vào các ràng buộc đặt bộ giải mã trên các
kích thước khối macro, độ chính xác của vectơ chuyển động, phạm vi vị trí
ngang và dọc, v.v. Bảng 8.11 đưa ra các thông số mã hóa dự đoán chính của một
số tiêu chuẩn nén video quan trọng nhất. Lưu ý rằng hầu hết các tiêu chuẩn sử
dụng DCT 8 X 8 để mã hóa I-frame, nhưng chỉ định một vùng lớn hơn (tức là
macroblock 16 X 16) để bù chuyển động. Ngoài ra, ngay cả phần dư dự đoán
khung P và B cũng được mã hóa biến đổi do hiệu quả của lượng tử hóa hệ số
DCT. Cuối cùng, chúng tôi lưu ý rằng các tiêu chuẩn AVC H.264 và MPEG-4
hỗ trợ mã hóa dự đoán trong khung (trong I-frame) để giảm dư thừa không
gian.Hình 8.39 cho thấy một bộ mã hóa video bù chuyển động điển hình. Nó
khai thác sự dư thừa bên trong và giữa các khung video liền kề, sự đồng nhất
chuyển động giữa các khung và các đặc tính tâm lý của hệ thống thị giác của
con người. Chúng ta có thể coi đầu vào cho bộ mã hóa là các macroblock tuần tự
của video. Đối với video màu, mỗi macroblock bao gồm một khối độ chói và hai
khối sắc độ. Bởi vì mắt có thị lực không gian đối với màu sắc kém hơn nhiều so
với độ chói, các khối sắc độ thường được lấy mẫu ở một nửa độ phân giải ngang
và dọc của khối độ chói. Các phần tử được tô xám trong hình song song với các
hoạt động mã hóa chuyển đổi, lượng tử hóa và cường độ biến thiên của bộ mã
hóa JPEG. Sự khác biệt chính là đầu vào, có thể là một macroblock dữ liệu hình
ảnh thông thường (đối với I-frame)
BẢNG 8.11
Mã hóa dự đoán trong các tiêu chuẩn nén video.
HÌNH 8.39
Một bộ mã
hóa video
bù chuyển
động điển
hình.

hoặc sự khác biệt giữa macroblock thông thường và dự đoán của nó Lượng tử hóa như đã
định nghĩa trước đó
dựa trên các khung video trước đó và / hoặc tiếp theo (đối với khung trong
không
chương là
thể đảo
P- và B). Bộ mã hóa bao gồm một bộ định lượng nghịch đảo và bộ ngược. “Bộ định
lượng nghịch đảo”
ánh xạ ngược (ví dụ: DCT nghịch đảo) để các dự đoán của nó khớp trong Hình 8.39
không ngăn mất
với các dự đoán của bộ giải mã bổ sung. Ngoài ra, nó được thiết kế thông tin.
để tạo ra các luồng bit nén phù hợp với dung lượng của kênh video
dự định. Để thực hiện điều này, các thông số lượng tử hóa được điều
chỉnh bởi bộ điều khiển tốc độ như một chức năng của việc sử dụng
bộ đệm đầu ra. Khi bộ đệm trở nên đầy hơn, lượng tử hóa được thực
hiện thô hơn, do đó, ít bit hơn truyền vào bộ đệm.
Chúng tôi kết thúc cuộc thảo luận của chúng tôi về mã hóa VÍ DỤ 8.22:
Ví dụ về nén
dự đoán bù chuyển động bằng một ví dụ minh họa loại nén có thể video.
thực hiện với các phương pháp nén video hiện đại. Hình 8.40 cho
thấy mười lăm khung hình của một video full màu HD
(1280 X 720) của NASA dài 1 phút, các phần của Xem trang web của cuốn
chúng đã được sử dụng trong suốt phần này. Mặc dù hình ảnh sách để biết phân đoạn
video của NASA được sử
hiển thị là đơn sắc, nhưng video là một chuỗi 1.829 khung hình đủ dụng trong phần này.
màu. Lưu ý rằng có nhiều cảnh, nhiều chuyển động và nhiều hiệu
ứng mờ dần. Ví dụ: video mở ra với 150 khung hình mờ dần từ
màu đen, bao gồm các khung hình 21 và 44 trong Hình 8.40 và
kết thúc bằng một chuỗi mờ dần chứa các khung hình 1595,1609
và 1652 trong Hình 8,40, tiếp theo là phần cuối cùng mờ dần
thành màu đen. Cũng có một số thay đổi cảnh đột ngột, như sự
thay đổi liên quan đến khung 1303 và 1304 trong Hình 8.40.
Phiên bản nén H.264 của video NASA được lưu trữ dưới dạng tệp
Quicktime (xem Bảng 8.4) yêu cầu dung lượng lưu trữ 44,56 MB — cộng với
1,39 MB khác cho âm thanh liên quan. Chất lượng video là tuyệt vời. Khoảng 5
GB dữ liệu sẽ cần thiết để lưu trữ các khung video dưới dạng hình ảnh đầy đủ
màu sắc không nén. Cần lưu ý rằng video chứa các chuỗi liên quan đến cả xoay
và thay đổi tỷ lệ (ví dụ: chuỗi bao gồm các khung 959,1023 và 1088 trong Hình
840). Tuy nhiên, cuộc thảo luận trong phần này chỉ giới hạn ở bản dịch.

Khung 0021 Khung 0044 Khung 0201

Khung 0266 Khung 0424 Khung 0801

Khung 0959 Frame 1023 Frame 1088

Khung 1224 Khung 1303 Khung 1304

Khung 1595 Khung 1609 Khung 1652


HÌNH 8.40 Mười lăm khung hình từ một video dài 1829 khung hình, 1 phút của
NASA. Video gốc có màu sắc đầy đủ HD. (Được sự cho phép của NASA.)

Mã hóa dự đoán tổn thất


Trong phần này, chúng tôi thêm một bộ định lượng vào mô hình mã hóa dự
đoán không mất dữ liệu đã giới thiệu trước đó và kiểm tra sự cân bằng giữa độ
chính xác của việc tái tạo và hiệu suất nén trong ngữ cảnh của các bộ dự đoán
không gian. Như Hình 8.41 cho thấy, bộ định lượng, thay thế hàm số nguyên
gần nhất của hàm không có lỗi
a
Trình tự Trình tự nén
đầu vào
b
HÌNH 8.41
Một mô hình
mã hóa dự đoán
không mất dữ
liệu:
(a) mã hoá;
(b) bộ giải mã.

Trình tự nén
Trình tự đã giải
nén

bộ mã hóa, được chèn vào giữa bộ mã hóa biểu tượng và điểm mà tại đó lỗi dự
đoán được hình thành. Nó ánh xạ lỗi dự đoán thành một phạm vi đầu ra hạn chế,
được ký hiệu là ė (n), thiết lập lượng nén và biến dạng xảy ra.
Để phù hợp với việc chèn bước lượng tử hóa, bộ mã hóa không có lỗi của
Hình 8.33 (a) phải được thay đổi để các dự đoán được tạo ra bởi bộ mã hóa và
bộ giải mã là tương đương. Như Hình 8.41 (a) cho thấy, điều này được thực hiện
bằng cách đặt bộ dự đoán của bộ mã hóa tổn hao trong một vòng phản hồi, trong
đó đầu vào của nó, ký hiệu là ḟ (n), được tạo ra như một hàm của các dự đoán
trong quá khứ và các lỗi lượng tử hóa tương ứng. Đó là:
ḟ ( n )=ė ( n ) + f^ ( n ) (8.2−38)
trong đó ^f (n) được xác định trước đó. Cấu hình vòng kín này ngăn chặn sự tích
tụ lỗi ở đầu ra của bộ giải mã. Lưu ý trong Hình 8.41 (b) rằng đầu ra của bộ giải
mã cũng được đưa ra bởi Eq. (8,2-38).

Điều chế Delta (DM) là một dạng mã hóa dự báo mất dữ liệu VÍ DỤ 8.23:
Điều chế Delta.
đơn giản nhưng nổi tiếng, trong đó bộ dự đoán và bộ định lượng
được định nghĩa là:
^f ( n )=α ḟ ( n−1 ) (8.2−39)

{
ė ( n )= ¿+ζ ∧¿ for e (n)>0 (8.2−40)
¿−ζ∧¿ otherwise

trong đó α là hệ số dự đoán (thường nhỏ hơn 1) và ξ là hằng số dương. Đầu ra


của bộ định lượng, ė (n), có thể được biểu diễn bằng một bit duy nhất [Hình. 8.42
(a)], vì vậy bộ mã hóa ký hiệu của Hình 8.41 (a) có thể sử dụng mã có độ dài cố
định 1 bit. Tỷ lệ mã DM kết quả là 1 bit / pixel.
Hình 8.42 (c) minh họa cơ chế của quá trình điều chế delta, trong đó các tính
abc
HÌNH 8.42
Một ví dụ về điều
chế delta.

toán cần thiết để nén và tái tạo trình tự đầu vào

{14,15,14,15,13,15,15,14, 20, 26, 27, 28, 27, 27, 29, 37, 47, 62, 75, 77, 78, 79,
80, 81, 81 , 82, 82} với a = 1 và z = 6,5 được lập thành bảng. Quá trình bắt đầu
với việc chuyển mẫu đầu vào đầu tiên không có lỗi đến bộ giải mã. Với điều
kiện ban đầu ḟ (0) = f (0) = 14 được thiết lập ở cả bộ mã hóa và bộ giải mã, các
kết quả đầu ra còn lại có thể được tính toán bằng cách đánh giá nhiều lần các
phương trình. (8,2-39), (8,2-30), (8,2-40) và (8,2-38). Do đó, khi n = 1, chẳng
hạn, ^f (1) = (1) (14) = 14, e (1) = 15 - 14 = 1, ė (1) = + 6,5 (vì e (1) > 0), ḟ (1) =
6.4 + 14 = 20.5, và kết quả là sai số tái tạo là (15 - 20.5), hoặc -5.5.
Hình 8.42 (b) biểu diễn dữ liệu được lập bảng trong Hình 8.42 (c) bằng đồ thị.
Cả đầu vào và đầu ra được giải mã hoàn toàn [f (n) và ḟ (n)] đều được hiển thị.
Lưu ý rằng trong vùng thay đổi nhanh chóng từ n = 14 đến 19, trong đó ξ quá
nhỏ để thể hiện những thay đổi lớn nhất của đầu vào, một biến dạng được gọi là
quá tải độ dốc xảy ra. Hơn nữa, khi ξ quá lớn để thể hiện những thay đổi nhỏ
nhất của đầu vào, như trong vùng tương đối mịn từ n = 0 đến n = 7, nhiễu hạt
xuất hiện. Trong hình ảnh, hai hiện tượng này dẫn đến các cạnh đối tượng bị mờ
và bề mặt có hạt hoặc nhiễu (nghĩa là các vùng mịn bị méo).
Các biến dạng được lưu ý trong ví dụ trước là phổ biến đối với tất cả các hình
thức mã hóa dự đoán mất dữ liệu. Mức độ nghiêm trọng của những sai lệch này
phụ thuộc vào một loạt các tương tác phức tạp giữa các phương pháp lượng tử
hóa và dự đoán được sử dụng. Bất chấp những tương tác này, bộ dự đoán
thường được thiết kế với giả định không có lỗi lượng tử hóa và bộ lượng tử hóa
được thiết kế để giảm thiểu lỗi của chính nó. Tức là bộ dự đoán và bộ định
lượng được thiết kế độc lập với nhau.Các công cụ dự đoán tối ưu
Trong nhiều ứng dụng mã hóa dự đoán, công cụ dự đoán được chọn để giảm
thiểu lỗi dự đoán bình phương trung bình của bộ mã hóa
E { e (n) }=E ¿
2

chịu sự ràng buộc rằng


ḟ ( n )=ė ( n ) + f^ ( n ) ≈ e ( n )+ f^ ( n ) =f ( n ) (8.2−42)

m
^f ( n )=∑ ❑α i f ( n−i ) (8.2−43)
i=1

tôi = 1
Tức là, tiêu chí tối ưu hóa là sai số dự đoán bình phương trung bình tối thiểu, sai
số lượng tử hóa được giả định là không đáng kể [ ė (n) ≈e (n)] và dự đoán bị
ràng buộc trong một tổ hợp tuyến tính của m mẫu trước đó.* † Những hạn chế
này là không cần thiết, nhưng chúng đơn giản hóa đáng kể việc phân tích và
đồng thời làm giảm độ phức tạp tính toán của công cụ dự đoán. Phương pháp mã
hóa dự đoán kết quả được gọi là điều chế mã xung vi sai (DPCM).
Trong các điều kiện này, bài toán thiết kế bộ dự báo tối ưu được rút gọn thành
bài tập tương đối đơn giản là chọn m hệ số dự đoán để tối thiểu hóa biểu thức

{[ ]}
m 2

E {e (n) }=E f (n)−∑ ❑ α i f ( n−i ) ( 8.2−44 )


2

i=1

Phân biệt Eq. (8.2-44) đối với từng hệ số, cân bằng các đạo hàm bằng 0 và giải
bộ phương trình kết quả đồng thời theo giả định rằng f (n) có trung bình bằng 0
và phương sai σ 2 cho kết quả:
−1
α =R r (8.2−45)
trong đó R-1 là nghịch đảo của ma trận tự tương quan m X m
R=¿
và r và a là các vectơ phần tử m

*'Kí hiệu E { •} biểu thị toán tử kỳ vọng thống kê.


†Nói chung, dự đoán tối ưu cho một chuỗi không Gauss là một hàm phi tuyến của các mẫu được sử dụng để tạo ước lượng.
[ ] []
E {f (n)f (n−1)} α1
r = E {f (n)f (n−2)} and α = α 2 (8.2−47)
⋮ ⋮
E {f (n)f (n−m)} αm

Do đó, đối với bất kỳ chuỗi đầu vào nào, các hệ số tối thiểu hóa Eq. (8.2-44) có
thể được xác định thông qua một loạt các phép toán ma trận cơ bản. Hơn nữa,
các hệ số chỉ phụ thuộc vào tự tương quan của các mẫu trong dãy ban đầu.
Phương sai của sai số dự đoán là kết quả của việc sử dụng các hệ số tối ưu này
là:
m
σ e =σ −α r =σ −∑ ❑ E { f ( n ) f ( n−i ) } α i (8.2−48)
2 2 T 2

i=1

Tôi =1
Mặc dù cơ chế đánh giá Eq. (8.2-45) khá đơn giản, việc tính toán các tự tương
quan cần thiết để tạo thành R và r là rất khó trong thực tế nên các dự đoán cục
bộ (những dự đoán trong đó các hệ số dự đoán được tính cho mỗi chuỗi đầu vào)
hầu như không được sử dụng. Trong hầu hết các trường hợp, một tập hợp các hệ
số toàn cục được tính toán bằng cách giả sử một mô hình đầu vào đơn giản và
thay thế các phép tự tương quan tương ứng thành các phương trình. (8,2-46) và
(8,2-47). Ví dụ: khi nguồn hình ảnh Markov 2-D (xem Phần 8.1.4) với chức
năng tự tương quan có thể phân tách:
E { f ( x , y ) f ( x −i , y− j ) }=σ ρ v ρh (8.2−49)
2 i j

và công cụ dự đoán tuyến tính bậc 4 tổng quát

được giả định, các hệ số tối ưu kết quả (Jain [1989]) là

trong đó ρh và ρ vlần lượt là hệ số tương quan ngang và dọc của hình ảnh đang
xét.
Cuối cùng, tổng các hệ số dự đoán trong Eq. (8.2-43) thường được yêu cầu
nhỏ hơn hoặc bằng một. Đó là:

Hạn chế này được thực hiện để đảm bảo rằng đầu ra của bộ dự đoán nằm
trong phạm vi cho phép của đầu vào và để giảm tác động của nhiễu truyền
[thường được coi là các vệt ngang trong hình ảnh được tái tạo khi đầu vào của
Hình 8.41 (a) là một tấm ảnh]. Giảm tính nhạy cảm của bộ giải mã DPCM đối
với nhiễu đầu vào là rất quan trọng, vì một lỗi đơn lẻ (trong các trường hợp thích
hợp) có thể lan truyền đến tất cả
các đầu ra trong tương lai. Đó là,
đầu ra của bộ giải mã có thể
không ổn định. Bằng cách hạn chế VÍ DỤ 8.24:
So sánh các kỹ
thuật dự đoán.

hơn nữa Eq. (8.2-52) nhỏ hơn 1


giới hạn tác động của lỗi đầu vào
đối với một số lượng nhỏ đầu ra.
Hãy xem xét lỗi dự đoán là kết
quả từ việc mã hóa DPCM cho
hình ảnh đơn sắc của Hình 8.9 (a) theo giả định về lỗi lượng tử hóa bằng không
và với mỗi trong số bốn yếu tố dự đoán:

trong đó ∆h = | f (x - 1, y) - f (x - 1, y - 1) 1 và ∆v = | f (x, y - 1) - f (x - 1, y - 1) |
biểu thị độ dốc ngang và dọc tại điểm (x, y). Các phương trình (8.2-53) đến (8.2-
56) xác định một tập hợp tương đối mạnh mẽ của một cung cấp hiệu suất thỏa
đáng trên nhiều loại hình ảnh. Công cụ dự đoán thích ứng của Eq. (8.2-56) được
thiết kế để cải thiện kết xuất cạnh bằng cách tính toán một phép đo cục bộ về các
thuộc tính hướng của hình ảnh (∆h và ∆v) và chọn một công cụ dự đoán được
điều chỉnh cụ thể cho hành vi được đo.
Hình 8.43 (a) đến (d) cho thấy các hình ảnh lỗi dự đoán là kết quả của việc sử
dụng các công cụ dự đoán của Eqs. (8.2-53) đến (8.2-56). Lưu ý rằng

ab
CD
HÌNH 8.43
So sánh bốn kỹ thuật dự đoán tuyến tính.
sai số cảm nhận trực quan giảm khi thứ tự của bộ dự đoán tăng lên? Độ
lệch chuẩn của các lỗi dự đoán cũng theo một mô hình tương tự. Chúng
lần lượt là các mức cường độ 11,1,9,8,9,1 và 9,7.

Lượng tử hóa tối ưu


Hàm lượng tử hóa cầu thang t = q (s) trong Hình 8.44 là một hàm lẻ của s [nghĩa
là, q (- s) = - q (s)] có thể được mô tả hoàn toàn bằng các giá trị L / 2 của si và
cảm thấy ở góc phần tư đầu tiên của đồ thị. Các điểm ngắt này xác định các
điểm gián đoạn chức năng và được gọi là các mức quyết định và tái tạo của bộ
định lượng. Theo quy ước, s được coi là ánh xạ đến cảm xúc nếu nó nằm trong
khoảng nửa mở (sb si + 1].
Vấn đề thiết kế bộ định lượng là lựa chọn tốt nhất và ưng ý nhất cho một tiêu
chí tối ưu hóa cụ thể và p (các) hàm mật độ xác suất đầu vào. Nếu tiêu chí tối ưu
hóa, có thể là thước đo thống kê hoặc tâm lý,‡ § là mức tối thiểu của sai số lượng
tử bình phương trung bình (nghĩa là E {(sị - cảm) 2}) và p (s) là hàm chẵn, điều
kiện để có sai số tối thiểu (Max [1960]) là
HÌNH 8.44
Một chức năng lượng tử hóa điển hình.

Phương trình (8.2-57) chỉ ra rằng các cấp độ tái thiết là trọng tâm của các khu
vực dưới p (các) khoảng thời gian quyết định cụ thể, trong khi Eq. (8.2-58) chỉ
ra rằng các cấp độ quyết định nằm giữa các cấp độ tái thiết. Phương trình (8.2-
59) là hệ quả của thực tế rằng q là một hàm lẻ. Đối với bất kỳ L, si và t i đều say
mê và cảm thấy hài lòng. (8.2-57) đến (8.2-59) là tối ưu theo nghĩa sai số trung
bình bình phương; bộ định lượng tương ứng được gọi là bộ định lượng L-level
Lloyd-Max.
Bảng 8.12 liệt kê các mức quyết định và tái thiết Lloyd-Max 2, 4 và 8 cho một
phương sai đơn vị hàm mật độ xác suất Laplacian [xem Phương trình. (8,2-35)].
Bởi vì có được một giải pháp rõ ràng hoặc dạng đóng cho Eqs. (8.2-57) đến
(8.2-59) đối với hầu hết (các) p không tầm thường là khó, những giá trị này
được tạo ra bằng số (Paez và Glisson [1972]). Ba bộ lượng tử được hiển thị cung
cấp tốc độ đầu ra cố định tương ứng là 1, 2 và 3 bit / pixel. Vì Bảng 8.12 được
xây dựng cho phân phối phương sai đơn vị, các mức tái tạo và quyết định cho
trường hợp s σ≠1 thu được bằng cách nhân các giá trị được lập bảng với độ lệch
chuẩn của hàm mật độ xác suất đang xét. Hàng cuối cùng của bảng liệt kê kích
thước bước, θ, đồng thời thỏa mãn các Eq. (8.2-57) đến (8.5-59) và ràng buộc
bổ sung

Nếu một bộ mã hóa ký hiệu sử dụng mã có độ dài thay đổi được sử dụng trong

‡^ Các trình dự đoán sử dụng nhiều hơn ba hoặc bốn pixel trước đó cung cấp ít tăng độ nén cho độ phức tạp của trình dự báo được thêm vào (Hab
§Xem Netravali [1977] và Limb and Rubinstein [1978] để biết thêm về các biện pháp tâm lý.
bộ mã hóa dự đoán tổn hao chung của Hình 8.41 (a), một bộ định lượng đồng
nhất tối ưu có kích thước bước θ sẽ cung cấp tốc độ mã thấp hơn (đối với PDF
Laplacian) so với cố định - Bộ định lượng Lloyd-Max được mã hóa cường độ
với cùng độ trung thực đầu ra (O'Neil [1971]).
Mặc dù Lloyd-Max và các bộ lượng tử thống nhất tối ưu không thích ứng,
nhưng có thể thu được nhiều điều từ việc điều chỉnh các mức lượng tử hóa dựa
trên hành vi cục bộ của một hình ảnh. Về lý thuyết, các vùng thay đổi chậm có
thể được lượng tử hóa một cách tinh vi, trong khi các vùng thay đổi nhanh
chóng được lượng tử hóa thô hơn. Cách tiếp cận này đồng thời giảm cả nhiễu
hạt và quá tải độ dốc, trong khi chỉ cần tăng tốc độ mã tối thiểu. Sự đánh đổi là
độ phức tạp của bộ định lượng tăng lên.

BẢNG 8.12
Bộ lượng tử Lloyd-
Max cho hàm mật độ
xác suất Laplacian
của phương sai đơn
vị.
8.2.10 Mã hóa Wavelet
Với tham chiếu đến Bảng
8.3 và 8.4, mã hóa Cũng như các kỹ thuật mã hóa biến đổi của Phần 8.2.8, mã hóa wavelet dựa
wavelet được sử dụng
trong trên ý tưởng rằng các hệ số của một phép biến đổi liên quan đến các pixel
• JPEG-2000

tiêu chuẩn nén.


của hình ảnh có thể được mã hóa hiệu quả hơn chính các pixel gốc. Nếu các
hàm cơ bản của phép biến đổi — trong trường hợp này là các wavelet —
gói hầu hết các thông tin trực quan quan trọng thành một số lượng nhỏ các hệ số,
thì các hệ số còn lại có thể được lượng tử hóa một cách thô sơ hoặc cắt ngắn
thành 0 với ít biến dạng hình ảnh.
Hình 8.45 cho thấy một hệ thống mã hóa wavelet điển hình. Để mã hóa
một hình ảnh 2J X 2J, một wavelet phân tích, c và mức phân rã tối thiểu, J - P,
được chọn và sử dụng để tính toán biến đổi wavelet rời rạc của hình ảnh. Nếu
wavelet có chức năng chia tỷ lệ bổ sung φ, thì có thể sử dụng phép biến đổi
wavelet nhanh (xem Phần 7.4 và 7.5). Trong cả hai trường hợp, phép biến đổi
được tính toán chuyển đổi một phần lớn hình ảnh ban đầu thành các hệ số phân
hủy ngang, dọc và chéo với các xác suất trung bình bằng 0 và giống như
Laplacian. Nhớ lại hình ảnh của Hình 7.1 và các thống kê đơn giản hơn đáng kể
của phép biến đổi Wavelet của nó trong Hình 7.10 (a). Vì nhiều hệ số được tính
toán mang ít thông tin trực quan, chúng có thể được lượng tử hóa và mã hóa để
giảm thiểu sự dư thừa liên hệ số và mã hóa. Hơn thế nữa, lượng tử hóa có thể
được điều chỉnh để khai thác bất kỳ mối tương quan vị trí nào trên các mức phân
hủy P. Một hoặc nhiều phương pháp mã hóa không mất dữ liệu, như chạy-
length, Huffman, mã số học và mặt phẳng bit, có thể được kết hợp vào bước mã
hóa ký hiệu cuối cùng. Việc giải mã được thực hiện bằng cách đảo ngược các
hoạt động mã hóa — ngoại trừ lượng tử hóa, không thể đảo ngược chính xác.
Sự khác biệt cơ bản giữa hệ thống dựa trên wavelet trong Hình 8.45 và hệ
thống mã hóa biến đổi trong Hình 8.21 là việc bỏ qua các giai đoạn xử lý hình
ảnh con của bộ mã hóa biến đổi. Bởi vì các phép biến đổi wavelet đều hiệu quả
về mặt tính toán và vốn có tính cục bộ (tức là các hàm cơ sở của chúng bị giới
hạn về thời gian), nên việc chia nhỏ ảnh gốc là không cần thiết. Như bạn sẽ thấy
ở phần sau của phần này, việc loại bỏ bước chia nhỏ sẽ loại bỏ cấu phần chặn
đặc trưng cho các phép gần đúng dựa trên DCT ở tỷ lệ nén cao.
Lựa chọn Wavelet Các wavelet được chọn làm cơ sở của các phép biến
đổi thuận và nghịch trong Hình 8.45 ảnh hưởng đến tất cả các khía cạnh của
thiết kế và hiệu suất hệ thống mã hóa wavelet. Chúng tác động trực tiếp đến độ
phức tạp tính toán của các phép biến đổi và ít trực tiếp hơn, khả năng nén và cấu
trúc lại của hệ thống
a
b
HÌNH 8.45
Một hệ thống mã hóa wavelet:
(a) mã hoá;
(b) bộ giải mã.
Hình
ảnh Hình
đầu ảnh nén
vào

Hình Hình ảnh


ảnh nén được giải
nén
hình ảnh của lỗi chấp nhận được. Khi wavelet biến đổi có chức Trong lọc kỹ thuật số,
mỗi vòi lọc nhân một
năng chia tỷ lệ đồng hành, việc chuyển đổi có thể được thực hiện hệ số lọc với một phiên
bản trễ của tín hiệu
dưới dạng một chuỗi các hoạt động lọc kỹ thuật số, với số lượng vòi đang được lọc.
bộ lọc bằng số wavelet khác và hệ số vectơ tỷ lệ. Khả năng của
wavelet để đóng gói thông tin thành một số lượng nhỏ các hệ số
biến đổi xác định hiệu suất nén và tái tạo của nó.
Các chức năng mở rộng được sử dụng rộng rãi nhất để nén dựa trên wavelet là
wavelet Daubechies và wavelet sinh học. Loại thứ hai cho phép các thuộc tính
phân tích hữu ích, chẳng hạn như số mô men không (xem Phần 7.5), được đưa
vào bộ lọc phân hủy, trong khi các đặc tính tổng hợp quan trọng, như độ trơn
của quá trình tái tạo, được tích hợp vào bộ lọc tái tạo.
Hình 8.46 chứa bốn phép biến đổi wavelet rời rạc của Hình 8.9 (a). Các wavelets
Haar, wavelets đơn giản nhất và duy nhất được xem xét trong ví dụ này, được sử VÍ DỤ 8.25:
dụng làm hàm mở rộng hoặc hàm cơ sở trong Hình 8.46 (a). Bánh wavelets Cơ sở của Wavelet trong
Daubechies, trong số các wavelet hình ảnh phổ biến nhất, được sử dụng trong Hình
8.46 (b),
mã hóa Wavelet.

ab
CD
HÌNH 8.46
Các phép biến đổi wavelet
ba tỷ lệ của
Hình 8.9 (a) đối với
(a) Haar wavelets,
(b) Bánh wavelets
Daubechies,
(c) symlets, và
(d) Bánh quế sinh học
Cohen- Daubechies
Feauveau.
Các hệ số chi tiết DWT và các symlet, là một phần mở rộng của wavellet Daubechies với tính đối xứng
được thảo luận trong
Phần 7.3.2. tăng lên, được sử dụng trong Hình 8.46 (c). Các wavellet Cohen-Daubechies-
Feauveau được sử dụng trong Hình 8.46 (d) được đưa vào để minh họa các khả
năng của biorthogonal wavelets. Như trong các kết quả trước đây của loại này,
tất cả các hệ số chi tiết đã được chia tỷ lệ để làm cho cấu trúc bên dưới dễ nhìn
thấy hơn — với cường độ 128 tương ứng với giá trị hệ số 0.
Như bạn có thể thấy trong Bảng 8.13, số lượng các phép toán liên quan đến
việc tính toán các phép biến đổi trong Hình 8.46 tăng từ 4 lên 28 phép nhân và
phép cộng cho mỗi hệ số (đối với mỗi mức phân rã) khi bạn chuyển từ Hình
8.46 (a) sang (d). Tất cả bốn phép biến đổi được tính toán bằng cách sử dụng
công thức biến đổi wavelet nhanh (tức là ngân hàng bộ lọc). Lưu ý rằng khi độ
phức tạp tính toán (tức là số lượng vòi bộ lọc) tăng lên, thì hiệu suất đóng gói
thông tin cũng giảm theo. Khi sử dụng các wavelets Haar và các hệ số chi tiết
dưới 1,5 được cắt ngắn về 0, 33,8% tổng số biến đổi sẽ bị xóa. Với các wavelets
sinh học phức tạp hơn, số lượng hệ số zero tăng lên 42,1%, tăng khả năng nén
gần 10% .
Lựa chọn mức độ phân hủy
Một yếu tố khác ảnh hưởng đến độ phức tạp tính toán của mã hóa wavelet và lỗi
xây dựng lại là số lượng mức phân rã biến đổi. Bởi vì biến đổi wavelet nhanh
quy mô P liên quan đến các lần lặp lại ngân hàng bộ lọc P, số lượng các hoạt
động trong tính toán của các phép biến đổi thuận và nghịch tăng lên cùng với số
lượng mức phân rã. Hơn nữa, lượng tử hóa các hệ số ngày càng thấp dẫn đến
mức độ phân hủy nhiều hơn ảnh hưởng đến các khu vực ngày càng lớn hơn của
hình ảnh được tái tạo. Trong nhiều ứng dụng, chẳng hạn như tìm kiếm cơ sở dữ
liệu hình ảnh hoặc truyền hình ảnh để tái tạo liên tục, độ phân giải của hình ảnh
được lưu trữ hoặc truyền và tỷ lệ của các giá trị xấp xỉ hữu ích thấp nhất thường
xác định số lượng mức biến đổi.
VÍ DỤ 8.26: Bảng 8.14 minh họa ảnh hưởng của việc lựa chọn mức độ phân hủy đối với việc
Các mức độ phân
hủy trong mã hóa mã hóa Hình 8.9 (a) bằng cách sử dụng wavelet sinh học và ngưỡng tổng thể cố
wavelet. định là 25. Như trong ví dụ mã hóa wavelet trước, chỉ các hệ số chi tiết được cắt
bớt. Bảng liệt kê cả tỷ lệ phần trăm của hệ số bằng 0 và các lỗi xây dựng lại rms kết
quả từ Eq. (8.1-10). Lưu ý rằng các phân rã ban đầu chịu trách nhiệm cho phần lớn
quá trình nén dữ liệu. Có rất ít thay đổi về số lượng hệ số bị cắt ngắn trên ba mức
phân tích. ■

BẢNG 8.13
Các vòi bộ lọc biến Vòi lọc (Chia tỷ lệ +
đổi Wavelet và các Wavelet Wavelet) Hệ số Zeroed
hệ số bằng không
khi cắt bớt các biến Haar (xem Ví dụ 7.10) 2+2 33,8%
đổi trong Hình 8.46 Daubechies (xem Hình 7.8) số 8 + số 8 40,9%
bên dưới 1.5. Symlet (xem Hình 7.26) số 8+số 8 41,2%
Biorthogonal (xem Hình 7.39) 17 + 11 42.1%
Mức độ phân hủy Hình ảnh hệ Hệ số rút Lỗi xây
(Quy mô hoặc Lặp số xấp xỉ gọn (%) dựng lại
lại
1 ngân hàng lọc) 256 X 256 74,7% (rms)3,27
2 128 X 128 91,7% 4,23
3 64 X 64 95,1% 4,54
4 32 X 32 95,6% 4,61
5 16 X 16 95,5% 4,63
BẢNG
8.14
Mức độ
phân hủy
ảnh hưởng
đến mã
hóa
wavelet
512 X 512
hình ảnh
của Hình
8.9 (a).
Thiết kế bộ định lượng
Yếu tố quan trọng nhất ảnh hưởng đến quá trình nén mã hóa wavelet và lỗi tái
tạo là lượng tử hóa hệ số. Mặc dù các bộ lượng tử hóa được sử dụng rộng rãi
nhất là đồng nhất, hiệu quả của quá trình lượng tử hóa có thể được cải thiện
đáng kể bằng cách (1) đưa vào khoảng lượng tử hóa lớn hơn xung quanh 0, được
gọi là vùng chết, hoặc (2) điều chỉnh kích thước của khoảng lượng tử hóa từ quy
mô này sang quy mô khác . Trong cả hai trường hợp, các khoảng lượng tử hóa
đã chọn phải được truyền tới bộ giải mã với dòng bit hình ảnh được Một phép đo năng lượng
của tín hiệu kỹ thuật số là
mã hóa. Bản thân các khoảng thời gian này có thể được xác định tổng của các mẫu bình
phương.
theo kinh nghiệm hoặc được tính toán tự động dựa trên hình ảnh VÍ DỤ 8.27:
được nén. Ví dụ, Lựa chọn khoảng
thời gian vùng chết
trong mã hóa
wavelet.
Hình 8.47 minh họa tác động của kích thước khoảng chết đối với
tỷ lệ phần trăm hệ số chi tiết bị cắt ngắn đối với mã hóa dựa trên wavelet sinh
học ba tỷ lệ của Hình 8.9 (a). Khi kích thước của vùng chết tăng lên, số lượng hệ
số bị cắt ngắn cũng tăng theo. Trên đầu gối của đường cong (tức là, vượt quá 5),
có rất ít tăng. Điều này là do biểu đồ của các hệ số chi tiết có đỉnh cao xung
quanh 0 (ví dụ, xem Hình 7.10).
Các lỗi tái tạo rms tương ứng với các ngưỡng vùng chết trong Hình 8.47 tăng
từ 0 đến 1,94 mức cường độ ở ngưỡng 5 và lên 3,83 mức cường độ cho ngưỡng
18, trong đó số 0 đạt 93,85%. Nếu loại bỏ mọi hệ số chi tiết, tỷ lệ phần trăm đó
sẽ tăng lên khoảng 97,92% (khoảng 4%), nhưng sai số tái tạo sẽ tăng lên 12,3
mức cường độ.
JPEG-2000
JPEG-2000 mở rộng tiêu chuẩn JPEG phổ biến để tăng tính linh hoạt trong cả
việc nén ảnh tĩnh có tông màu liên tục và truy cập vào dữ liệu nén. Ví dụ: các
phần của hình ảnh nén JPEG-2000 có thể được trích xuất để truyền lại, lưu trữ,
hiển thị và / hoặc chỉnh sửa. Tiêu chuẩn này dựa trên các kỹ thuật mã hóa
wavelet vừa được mô tả. Lượng tử hóa hệ số được điều chỉnh cho phù hợp với
quy mô và băng con riêng lẻ và lượng tử hóa
HÌNH 8.47 Tác
động của việc lựa
chọn khoảng thời
gian chết đối với
mã hóa wavelet.

các hệ số được mã hóa số học trên cơ sở mặt phẳng bit (xem Phần 8.2.3 và
8.2.7). Sử dụng ký hiệu của tiêu chuẩn, một hình ảnh được mã hóa như sau (ISO
/ IeC [2000]).

Bước đầu tiên của quá trình mã hóa là ở mức DC, hãy dịch chuyển các mẫu
Ssiz được sử dụng
trong tiêu chuẩn để của hình ảnh không dấu Ssiz-bit được mã hóa bằng cách trừ 2Ssiz- 1. Nếu hình
biểu thị độ phân giải
cường độ. ảnh có nhiều hơn một thành phần — như mặt phẳng đỏ, lục và lam của một hình
Biến đổi thành phần
ảnh màu — mỗi thành phần được dịch chuyển riêng lẻ. Nếu có chính xác ba
không thể đảo ngược là
biến đổi thành phần
thành phần, chúng có thể được tùy ý trang trí bằng cách sử dụng kết hợp tuyến
được sử dụng để nén
mất mát. Bản thân phép
tính có thể đảo ngược hoặc không linh hoạt của các thành phần. Ví dụ, biến đổi
biến đổi thành phần
không phải là không thể thành phần không thể đảo ngược của tiêu chuẩn là
đảo ngược. Một biến
đổi thành phần khác
được sử dụng để nén
thuận nghịch.
trong đó / 0, / 1 và / 2 là các thành phần đầu vào được dịch chuyển mức độ và
Y), Y và Y là các thành phần tương ứng có liên quan đến trang trí. Nếu các
thành phần đầu vào là mặt phẳng màu đỏ, xanh lục và xanh lam của một hình
ảnh màu, thì Eq. (8.2-61) xấp xỉ chuyển đổi video màu R'G'B 'sang Y'CbCr
(Poynton [1996]) f Mục tiêu của phép biến đổi là cải thiện hiệu quả nén; các
thành phần được biến đổi Y và Y là các hình ảnh khác biệt có biểu đồ có đỉnh
cao xung quanh 0.

fR'G'B' là phiên bản phi tuyến tính, đã hiệu chỉnh gamma của giá trị đo màu
RGB tuyến tính CIE (Ủy ban Quốc tế về Chiếu sáng). Y 'là độ chói và Cb và Cr
là sự khác biệt về màu sắc (tức là, tỷ lệ BGiá trị '- Y' và R '- Y').
Sau khi hình ảnh đã được chuyển cấp độ và tùy chọn trang trí liên quan,
các thành phần của nó có thể được chia thành các ô. Ô vuông là các mảng hình
chữ nhật gồm các pixel được xử lý độc lập. Bởi vì một hình ảnh có thể có nhiều
hơn một thành phần (ví dụ: nó có thể được tạo thành từ ba thành phần màu), quá
trình lát gạch sẽ tạo ra các thành phần gạch. Mỗi thành phần ô có thể được tái
tạo độc lập, cung cấp một cơ chế đơn giản để truy cập và / hoặc thao tác một
vùng giới hạn của hình ảnh được mã hóa. Ví dụ: một hình ảnh có tỷ lệ khung
hình 16: 9 có thể được chia nhỏ thành các ô để một trong các ô của nó là hình
ảnh con có tỷ lệ khung hình 4: 3. Sau đó, ô đó có thể được tạo lại mà không cần
truy cập các ô khác trong hình ảnh nén. Nếu hình ảnh không được chia nhỏ
thành các ô thì nó là một ô đơn lẻ.
Sau đó, phép biến đổi wavelet rời rạc 1-D của các hàng và cột của mỗi
thành phần ô xếp được tính toán. Để nén không có lỗi, phép biến đổi dựa trên
một vector sinh học, chia tỷ lệ hệ số 5-3 và véc tơ wavelet (Le Gall và Tabatabai
[1988]). Một quy trình làm tròn được xác định cho các hệ số biến đổi có giá trị
không nguyên. Trong các ứng dụng có tổn hao, véc tơ Các triển khai dựa trên
wavelet chia tỷ lệ hệ số 9-7 (Antonini, Barlaud, Mathieu và nâng là một cách khác để
Daubechies [1992]) được sử dụng. phương pháp tiếp cận tính toán các phép biến đổi
dựa trên cơ sở (Mallat [1999]). Ví dụ, trong các ứng dụng Wavelet. Các hệ số được sử
dụng trong phương pháp
có tổn thất, các hệ số được sử dụng để xây dựng ngân hàng này liên quan trực tiếp đến
bộ lọc phân tích 9-7 FWT được đưa ra trong Bảng 8.15. mở các hệ số ngân hàng bộ lọc
rộng ”hoạt động: FWT.

Ở đây, thành phần xếp có được biến đổi, là kết quả biến đổi và xác định vị
trí của thành phần xếp trong một thành phần. Nghĩa là, chúng là các chỉ số của
mẫu đầu tiên của hàng hoặc cột thành phần ô được chuyển đổi và là chỉ số ngay
sau mẫu cuối cùng. Biến giả định các giá trị dựa trên và hoạt động nào trong sáu
hoạt động:

BẢNG 8.15 Đáp


ứng xung của
bộ lọc phân
tích thông
thấp và thông
cao cho phép
biến đổi
Wavelet 9-7
không thể đảo
ngược.
đang được thực hiện. Nếu n <i0 hoặc n ≥i1 , X (n) thu được bằng cách mở rộng
đối xứng X. Ví dụ, X (i 0 - 1) = X (i0 + 1), X (i 0 - 2) = X (i0 + 2) , X (i1) = X (i1 -
2) và X (i1 + 1) = X (i1 - 3). Khi kết thúc các hoạt động nâng và mở rộng quy
Các hệ số dựa trên lực
mô, các giá trị được lập chỉ mục chẵn của Y tương đương với đầu ra được
nâng này được quy định
trong tiêu chuẩn.
lọc thông thấp FWT; các giá trị được lập chỉ mục lẻ của Y tương ứng với
kết quả được lọc FWT thông cao. Các thông số nâng α, β, γ và δ lần lượt
Nhớ lại từ Chương 7 rằng
DWT phân tách một hình là -1,586134342, -0,052980118, 0,882911075 và 0,433506852. Hệ số tỷ lệ
ảnh thành một tập hợp
các thành phần giới hạn K là 1,230174105.
băng tần được gọi là băng
con. Sự chuyển đổi vừa được mô tả tạo ra bốn băng con — một xấp xỉ có độ
phân giải thấp của thành phần xếp và các đặc tính tần số ngang, dọc và
chéo của thành phần. Lặp lại các lần biến đổi N L, với các lần lặp tiếp theo bị giới
hạn ở các hệ số xấp xỉ của phép phân rã trước đó, tạo ra một phép biến đổi
wavelet quy mô NL. Các thang đo liền kề có liên quan với nhau về mặt không
gian theo lũy thừa của 2 và thang đo thấp nhất chứa giá trị xấp xỉ được xác định
rõ ràng duy nhất của thành phần ô gốc. Như có thể được phỏng đoán từ Hình
8.48, trong đó ký hiệu của tiêu chuẩn JPEG-2000 được tóm tắt cho trường hợp
NL = 2, một phép biến đổi quy mô NL tổng quát chứa 3Nl + 1 băng con có hệ
số được ký hiệu là ab, cho b = NLLL, NLHL,..., 1HL, 1LH, 1HH. Tiêu chuẩn
không quy định số lượng thang đo được tính toán.
Khi từng thành phần ô đã được xử lý, tổng số hệ số biến đổi bằng số mẫu
trong ảnh gốc — nhưng thông tin hình ảnh quan trọng tập trung ở một vài hệ số.
Để giảm số lượng bit cần thiết để biểu diễn phép biến đổi, hệ số a b (u, v) của b
được lượng tử hóa thành giá trị qb (u, v) bằng cách sử dụng

HÌNH 8.48 JPEG 2000


biến đổi wavelet hai
thang đo ký hiệu hệ
số thành phần và độ
lợi phân tích.
trong đó kích thước bước lượng tử hóa ∆b là
Rblà dải động danh định của băng con b,ε b và μb là số bit được phân Đừng nhầm lẫn định
nghĩa của tiêu chuẩn về
bổ cho số mũ và phần định trị của các hệ số của băng con. Dải dải động danh định với
định nghĩa có liên quan
động danh định của băng con b là tổng số bit được sử dụng để biểu chặt 2.
chẽ trong Chương

diễn ảnh gốc và các bit độ lợi phân tích cho băng con b. Các bit
khuếch đại phân tích băng con tuân theo mô hình đơn giản được
chỉ ra trong Hình 8.48. Ví dụ, có hai bit khuếch đại phân tích cho
băng con b = 1HH.
Đối với nén không có lỗi, μb = 0, Rb = ε b và ∆b = 1. Đối với nén không thể đảo
ngược, không có kích thước bước lượng tử hóa cụ thể nào được chỉ định trong
tiêu chuẩn. Thay vào đó, số lượng các bit mũ và phần định trị phải được cung
cấp cho bộ giải mã trên cơ sở băng con, được gọi là lượng tử hóa có nghĩa, hoặc
chỉ dành cho băng con NLLL, được gọi là lượng tử hóa dẫn xuất. Trong trường
hợp thứ hai, các băng con còn lại được lượng tử hóa bằng cách sử dụng các
tham số băng con NLLL ngoại suy. Gọi e0 và m0 là số bit được phân bổ cho
băng con NLLL, các tham số ngoại suy cho băng con b là

trong đó nb biểu thị số lượng mức độ phân hủy của băng con từ thành phần hình
ảnh ban đầu đến băng con b.
Trong các bước cuối cùng của quá trình mã hóa, các hệ số của mỗi dải con
của thành phần ô đã biến đổi được sắp xếp thành các khối hình chữ nhật gọi là
khối mã, được mã hóa riêng lẻ, mỗi mặt phẳng một bit. Bắt đầu từ mặt phẳng bit
quan trọng nhất với phần tử khác không, mỗi mặt phẳng bit được xử lý trong ba
lần. Mỗi bit (trong một mặt phẳng bit) chỉ được mã hóa theo một trong ba bước,
được gọi là truyền ý nghĩa, tinh chỉnh độ lớn và dọn dẹp. Các đầu ra sau đó được
mã hóa theo số học và được nhóm lại với các đường chuyền tương tự từ các
khối mã khác để tạo thành các lớp. Một lớp là một số nhóm mã hóa tùy ý đi từ
mỗi khối mã. Các lớp kết quả cuối cùng được phân chia thành các gói, cung cấp
một phương pháp bổ sung để trích xuất một vùng không gian quan tâm từ tổng
dòng mã.
Bộ giải mã JPEG-2000 chỉ cần đảo ngược các hoạt động được mô tả trước đó.
Sau khi tạo lại các băng con của các thành phần xếp từ các gói JPEG-2000 được
mã hóa theo số học, một số lượng các băng con do người dùng chọn sẽ được giải
mã. Mặc dù bộ mã hóa có thể đã mã hóa các mặt phẳng bit Mb cho một băng
con cụ thể, người dùng - do tính chất nhúng của dòng mã - có thể chọn chỉ giải
mã các mặt phẳng bit Nb. Điều này tương đương với việc lượng hóa các hệ số
của khối mã bằng cách sử dụng kích thước bước là 2 Mb - Nb • ∆b. Bất kỳ bit không
được mã hóa nào được đặt thành 0 và các hệ số kết quả, được ký hiệu
Lượng tử hóa như đã định
nghĩa trước đó trong
chương là không thể đảo qb (u, v), được lượng tử hóa nghịch đảo bằng cách sử dụng
ngược. Thuật ngữ “lượng
tử hóa nghịch đảo” không
có nghĩa là không có mất
mát thông tin. Quá trình
này là mất mát ngoại trừ
trường hợp nén JPEG-
2000 có thể đảo ngược,
trong đó mb = 0, Rb = £ b
và Ab = 1.
trong đó Rqb (u, v) biểu thị hệ số biến đổi lượng tử hóa nghịch đảo và N b (u, v) là
số mặt phẳng bit được giải mã cho qb (u, v). Tham số tái tạo r được bộ giải mã
chọn để tạo ra chất lượng tái tạo hình ảnh hoặc khách quan tốt nhất. Nói chung
là 0 - r <1, với giá trị chung là r = 1/2. Sau đó, các hệ số được lượng tử hóa
nghịch đảo được biến đổi ngược theo cột và theo hàng bằng cách sử dụng ngân
hàng bộ lọc FWT-1 có hệ số thu được từ Bảng 8.15 và Eq. (7.1-11), hoặc thông
qua các hoạt động dựa trên nâng sau:

trong đó các tham số α, β, γ, δ và K được xác định cho phương trình. (8,2-62).
Phần tử hàng hoặc cột hệ số lượng tử hóa nghịch đảo Y (n) được mở rộng đối
xứng khi cần thiết. Các bước giải mã cuối cùng là lắp ráp các ô thành phần,
chuyển đổi thành phần nghịch đảo (nếu cần) và chuyển mức DC. Đối với mã
hóa không thể đảo ngược, phép biến đổi thành phần nghịch đảo là:

và các pixel đã biến đổi được dịch chuyển bởi + 2Ssiz-1.

Hình 8.49 cho thấy bốn xấp xỉ JPEG-2000 của ảnh đơn sắc trong Hình 8.9
(a). Các hàng kế tiếp của hình minh họa mức độ nén ngày càng tăng - bao gồm
C = 25, 52, 75 và 105. Các hình ảnh trong cột 1 là mã hóa JPEG-2000 được giải
nén. Sự khác biệt giữa những hình ảnh này và hình ảnh gốc [Hình. 8.9 (a)] được
hiển thị trong cột thứ hai và cột thứ ba chứa một phần được thu phóng của các
cấu trúc lại trong cột 1. Bởi vì tỷ lệ nén cho hai hàng đầu tiên hầu như giống với
tỷ lệ nén trong Ví dụ 8.18, những kết quả này có thể được so sánh — cả định
tính và định lượng-với kết quả dựa trên biến đổi JPEG trong Hình. 8.32 (a) đến
(f).
HÌNH 8.49 Bốn xấp xỉ JPEG-2000 của Hình 8.9 (a). Mỗi hàng chứa một kết
quả sau khi nén và tái tạo, chênh lệch tỷ lệ giữa kết quả và hình ảnh gốc và một
phần được thu phóng của hình ảnh được tái tạo. (So sánh kết quả ở hàng 1 và 2
với kết quả JPEG trong Hình 8.32.)
So sánh trực quan các hình ảnh lỗi trong hàng 1 và 2 của Hình 8.49 với các
hình ảnh tương ứng trong Hình. 8,32 (b) và (e) cho thấy mức độ sai số giảm
đáng kể trong kết quả JPEG-2000 — mức cường độ 3,86 và 5,77 so với mức
cường độ 5,4 và 10,7 cho kết quả JPEG. Các lỗi tính toán nghiêng về kết quả
dựa trên wavelet ở cả hai cấp độ nén. Bên cạnh việc giảm lỗi xây dựng lại, mã
hóa wavelet làm tăng đáng kể chất lượng hình ảnh (theo nghĩa chủ quan). Lưu ý
rằng cấu phần chặn đã thống trị kết quả JPEG [xem Hình. 8.32 (c) và (f)] không
có trong Hình 8.49. Cuối cùng, chúng tôi lưu ý rằng việc nén đạt được ở hàng 3
và 4 của Hình 8.49 là không thực tế với JPEG. JPEG-2000 cung cấp hình ảnh có
thể sử dụng được nén hơn 100: 1 — với sự giảm chất lượng khó chịu nhất là
tăng hình ảnhmơ hồ.B

You might also like