LỜI CAM ĐOAN .2
MỤC LỤC .4
DANH MỤC CÁC KÝ HIỆU VÀ CHỮ VIẾT TẮT.6
DANH MỤC HÌNH VẼ.8
DANH MỤC BẢNG BIỂU .9
PHẦN MỞ ĐẦU .10
PHẦN NỘI DUNG .12
CHƯƠNG 1.12
1.1 Đặt vấn đề .12
1.2 Tổng quan về mã hóa video dự đoán HEVC.12
1.2.1 Kiến trúc tổng quát của bộ mã hóa HEVC.14
1.2.2 Các kỹ thuật mã hóa video HEVC .17
1.2.2.1 Biểu diễn lấy mẫu ảnh .17
1.2.2.2 Phân chia hình ảnh thành đơn vị cây mã hóa .17
1.2.2.3 Phân chia CTB thành CB .17
1.2.2.4 Khối dự đoán (PB) và đơn vị dự đoán (PU).17
1.2.2.5 Phân chia cây cấu trúc thành các đơn vị biến đổi và các khối biến đổi .19
1.2.2.6 Mảng (Slice) và Tile.20
1.2.2.7 Dự đoán trong ảnh .21
1.2.3 Kết luận chương .23
CHƯƠNG 2.24
2.1. Tổng quan về mã hóa video phân tán DVC .24
2.2 Định lý Slepian-Wolf .25
2.3 Định lý Winer-Ziv .26
2.4 Các mô hình thực nghiệm của kỹ thuật mã hóa video phân tán.27
2.4.1 Giải pháp Stanford.27
2.4.2 Giải pháp PRISM .30
2.5 Kết luận chương .32
52 trang |
Chia sẻ: honganh20 | Ngày: 04/03/2022 | Lượt xem: 375 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu Luận văn Phát triển mô hình tạp âm tương quan nhằm nâng cao hiệu năng mã hóa của kỹ thuật mã hóa video phân tán dvc phát triển mô hình tạp âm tương quan nhằm nâng cao hiệu năng mã hóa của kỹ thuật mã hóa video phân tán dvc, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
bốn PB. Việc chia thành bốn PB chỉ được phép khi kích
thước CB bằng với kích thước CB cho phép tối thiểu. Khi một CB được chia thành
bốn PB, mỗi PB là một góc phần tư của CB và khi một CB được chia thành hai PB,
sẽ có 6 kiểu chia tách. Các khả năng phân chia cho CB dự đoán liên ảnh được mô tả
trong hình 1.4.
Bốn loại phân chia cao hơn minh họa cho trường hợp chia tách CB thành kích
thước Mx M, chia tách CB thành hai PB kích thước Mx M/2 hoặc M/2xM hoặc chia
tách nó thành bốn PB có kích thước M/2xM/2. 4 loại phân chia thấp hơn được gọi là
phân chia chuyển động bất đối xứng (AMP - asymmetric motion partitioning ), và chỉ
được phép khi M ≥ 16, đối với thành phần chói. Một PB của phân chia bất đối xứng
19
có chiều cao hoặc chiều rộng là M/4 và chiều rộng hoặc chiều cao là M và các PB
khác lấp đầy phần còn lại của CB bởi một chiều cao hoặc chiều rộng của 3M/4 và
chiều rộng hoặc chiều cao M. Mỗi PB dự đoán liên ảnh được gán một hoặc hai vectơ
chuyển động và các chỉ số ảnh tham chiếu. Để tối thiểu băng thông bộ nhớ trường hợp
xấu nhất, các PB của thành phần chói 4x4 là không được phép cho dự đoán liên ảnh,
và các PB của thành phần chói 4x8 và 8x4 được giới hạn cho mã hóa dự đoán đơn.
Các PB thành phần chói và màu kết hợp với cú pháp dự đoán tạo thành PU.
1.2.2.5 Phân chia cây cấu trúc thành các đơn vị biến đổi và các khối biến đổi
Đối với mã hóa dư thừa, một CB có thể được phân vùng 1 cách đệ quy thành
các khối biến đổi (TB). Việc phân chia được báo hiệu bằng một cây tứ phân dư thừa.
Phân chia CB và TB, nơi mà một khối có thể được chia 1 cách đệ quy thành
các góc phần tư, như minh họa trong hình 1.5. Đối với một CB thành phần chói MxM,
một cờ báo hiệu có được chia thành bốn khối có kích thước M/2xM/2 không. Độ sâu
tối đa của cây tứ phân dư thừa trong SPS sẽ báo hiệu cho việc có chia tách thêm nữa
không. Mỗi góc phần tư có một cờ chỉ định việc nó có được chia thành bốn góc phần
tư không. Các khối nút lá từ cây tứ phân dư thừa là các khối biến đổi được xử lý tiếp
bằng mã hóa biến đổi. Các bộ mã hóa chỉ ra kích thước TB thành phần chói tối thiểu
và tối đa mà nó sẽ sử dụng. Việc chia tách là ngầm mặc định khi kích thước CB lớn
hơn so với kích thước TB tối đa. Và việc không chia tách là ngầm mặc định khi chia
tách sẽ cho kết quả là kích thước TB thành phần chói nhỏ hơn kích thước tối thiểu.
Kích thước TB thành phần màu bằng một nửa kích thước TB thành phần chói ở mỗi
chiều, ngoại trừ trường hơp kích thước TB chói là 4x4, trong đó trường hợp đó, một
TB màu 4x4 duy nhất được bao phủ bởi bốn TB chói 4x4. Trong trường hợp các CU
dự đoán trong ảnh, các mẫu được giải mã của các TB lân cận gần nhất(trong hoặc
ngoài CB) được sử dụng như là dữ liệu tham chiếu cho dự đoán trong ảnh.
20
a) b)
Hình 1. 5: Chia nhỏ một CTB thành các CB
(a) Phân chia CTB. (b) Cây tứ phân tương ứng
Đường liền chỉ ra các biên CB và đường chấm là biên TB.
1.2.2.6 Mảng (Slice) và Tile
Mảng là một chuỗi các CTU được xử lý theo thứ tự của quét mành. Một ảnh
được chia thành một hoặc một vài mảng như vì thế một ảnh là một tập hợp của một
hoặc nhiều mảng. Mỗi mảng có thể được mã hóa sử dụng các loại mã hóa khác nhau
như sau.
Mảng I: tất cả CU của mảng được mã hóa chỉ sử dụng dự đoán trong ảnh.
Mảng P: Ngoài các loại mã hóa của mảng I, một số CU của mảng P cũng có
thể được mã hóa bằng dự đoán liên ảnh với nhiều nhất một tín hiệu dự đoán bù chuyển
động cho mỗi PB ( dự đoán đơn). Mảng P chỉ sử dụng danh sách 0 ảnh tham chiếu.
Mảng B: Bên cạnh các loại mã hóa có sẵn trong một mảng P, một số CU của
mảng B cũng có thể được mã hóa bằng dự đoán liên ảnh với nhiều nhất hai tín hiệu
dự đoán bù chuyển động cho mỗi PB (dự đoán đôi ). Mảng B sử dụng cả hai danh
sách 0 và 1 ảnh tham chiếu.
Mục đích chính của các mảng là đồng bộ lại sau khi dữ liệu mất. Hơn nữa, các
mảng thường được hạn chế để sử dụng số bit tối đa. Vì vậy, các mảng thường có thể
chứa số CTU thay đổi mức độ cao/mảng.
Tile là các vùng hình chữ nhật của ảnh có khả năng giải mã độc lập. Mục đích
chính của tile là cho phép sử dụng các kiến trúc xử lý song song đối với mã hóa và
giải mã. Nhiều tile có thể chia sẻ thông tin tiêu đề được chứa trong cùng mảng.
21
1.2.2.7 Dự đoán trong ảnh
Dự đoán trong ảnh hoạt động theo kích thước TB, và các mẫu biên giải mã
trước đó từ những TB lân cận về mặt không gian được sử dụng để tạo ra tín hiệu dự
đoán. Dự đoán trong ảnh hỗ trợ 33 hướng khác nhau với các kích thước TB từ 4x4
đến 32x32. Các hướng dự đoán được thể hiện trong hình 1.6. Ngoài ra dự đoán mặt
phẳng và dự đoán DC cũng có thể được sử dụng. Đối với thành phần màu, chế độ dự
đoán ngang, dọc, mặt phẳng và DC có thể được báo hiệu một cách rõ ràng, hoặc chế
độ dự đoán thành phần màu được chỉ định giống các chế độ dự đoán thành phần chói.
Hình 1. 6: Các chế độ và các hướng cho dự đoán hình trong ảnh
Mỗi CB được mã hóa bằng một trong những loại mã hóa, tùy thuộc vào loại
mảng. Tương tự như H.264 / MPEG-4 AVC, mã hóa dự đoán trong ảnh được hỗ trợ
trong tất cả các loại mảng. HEVC hỗ trợ các phương pháp mã hóa dự đoán trong ảnh
khác nhau gọi là Intra_Angular, Intra_Planar, and Intra−DC.
a) Phân chia khối dự đoán
Một CB dự đoán trong ảnh có kích thước MxM có thể có một trong hai loại
phân chia PB gọi là PART_2Nx2N và PART_NxN, loại đầu tiên chỉ ra rằng các CB
không phân chia và loại thứ hai chỉ ra rằng CB được chia thành bốn PB kích thước
bằng nhau. (N = M / 2). Tuy nhiên, nó có khả năng biểu diễn các vùng tương tự mà
có thể được xác định bởi bốn PB bằng cách sử dụng bốn CB nhỏ hơn khi kích thước
của các CB hiện tại lớn hơn so với kích thước CU tối thiểu. Vì vậy, HEVC chỉ cho
22
phép kiểu phân chia PART_NxN được sử dụng khi kích thước CB hiện tại bằng với
kích thước CU tối thiểu. Điều này có nghĩa rằng kích thước PB luôn bằng với kích
thước CB khi CB được mã hóa bằng chế độ dự đoán trong ảnh và kích thước CB là
không bằng với kích thước CU tối thiểu. Dù chế độ dự đoán trong ảnh ở mức PB,
nhưng các quá trình dự đoán thực tại lại hoạt động riêng biệt cho từng TB.
b) Dự đoán Intra_Angular
Dự đoán trong ảnh miền không gian trước đây đã được sử dụng trong H.264 -
/MPEG-4 AVC. Dự đoán trong ảnh của HEVC hoạt động tương tự trong miền không
gian, nhưng được mở rộng đáng kể, do kích thước của TB tăng và số lượng các hướng
dự đoán tăng. So với tám hướng dự đoán của H.264/MPEG-4 AVC, HEVC hỗ trợ 33
hướng dự báo, ký hiệu là Intra_Angular[k], k là số chế độ, k=2...34. Các góc được
thiết kế để cung cấp phạm vi dày hơn cho góc gần chiều ngang và gần thẳng đứng và
phạm vi kém hơn cho góc gần đường chéo để phản ánh sự phổ biến thống kê quan sát
được các góc và tính hiệu quả của việc xử lý dự đoán tín hiệu.
Khi sử dụng một chế độ Intra_Angular, mỗi TB được dự đoán là có hướng từ
các mẫu lân cận theo không gian đã được tái tạo lại (nhưng chưa được lọc bởi bộ lọc
trong vòng) trước khi được sử dụng cho dự đoán này. Đối với một TB có kích thước
N x N, tổng 4N + 1 mẫu lân cận theo không gian được sử dụng để dự đoán. Khi hoạt
động giải mã là có trước, các mẫu từ các TB phía dưới bên trái được sử dụng để dự
đoán trong HEVC bên cạnh các mẫu từ các TB ở bên trái, phía trên, và phía trên bên
phải của TB hiện tại.
Quá trình dự đoán của chế độ Intra_Angular có thể liên quan đến mẫu ngoại
suy từ vị trí mẫu tham chiếu dự đoán theo một hướng đã cho. Để loại bỏ sự chuyển
đổi mẫu-theo-mẫu giữa các bộ đệm hàng và cột tham chiếu, cho Intra_Angular [k] với
k = 2 ...17, các mẫu nằm ở hàng trên được dự tính như mẫu bổ sung nằm ở cột bên
trái; và với k = 18...34, các mẫu ở cột bên trái được dự tính nằm cùng với các mẫu
hàng trên.
Để cải thiện tính chính xác dự đoán trong ảnh, vị trí mẫu tham chiếu dự tính
được tính toán với độ chính xác 1/32 mẫu. Phép nội suy song tuyến tính được sử dụng
để có giá trị của mẫu tham chiếu dự tính sử dụng hai mẫu tham chiếu gần nhất nằm ở
vị trí số nguyên.
23
c) Dự đoán Intra-Planar và Intra-DC
Bên cạnh dự đoán Intra_Angular nhắm tới các vùng với các biên có hướng
mạnh mẽ, HEVC hỗ trợ hai phương pháp dự đoán khác, Intra_Planar và Intra_DC, 2
chế độ tương tự được quy định trong H.264 / MPEG-4 AVC. Trong khi dự đoán
Intra_DC sử dụng giá trị trung bình của các mẫu tham chiếu cho các dự đoán, giá trị
trung bình của hai dự đoán tuyến tính sử dụng bốn mẫu tham chiếu góc được sử dụng
trong dự đoán Intra_Planar để ngăn chặn sự gián đoạn dọc theo biên khối. Các chế độ
dự đoán Intra_Planar được hỗ trợ ở tất cả các kích thước khối trong HEVC, trong khi
H.264 / MPEG-4 AVC hỗ trợ dự đoán mặt phẳng chỉ khi PB thành phần chói là 16x16,
và dự đoán mặt phẳng hoạt động hơi khác so với dự đoán mặt phẳng trong HEVC.
1.2.3 Kết luận chương
Trong chương 1, luận văn đã tìm hiểu lịch sử phát triển các chuẩn nén, sự ra
đời của chuẩn nén tiên tiến H.265/HEVC, và phân tích một số kỹ thuật mã hóa trong
chuẩn nén H.265 để thấy được các đặc điểm chung nhất và những cải tiến của chuẩn
nén mới so với chuẩn nén cũ, từ đó đem lại chất lượng mã hóa tốt hơn.
Vì vậy, luận văn cũng sẽ áp dụng chuẩn nén H.265/HEVC Intra trong mô hình
mã hóa video phân tán được đề cập chi tiết trong Chương 2.
24
Giải mã
liên kết
Mã
hóa
liên
kết
CHƯƠNG 2
TỔNG QUAN VỀ MÃ HÓA VIDEO PHÂN TÁN DVC
2.1. Tổng quan về mã hóa video phân tán DVC
Lý thuyết thông tin đã chứng minh được rằng:
- Với các nguồn độc lập thì tốc độ tối thiểu để mã và giải mã không lỗi chính
là entropy của nguồn, ví dụ 2 nguồn độc lập X và Y thì tốc độ tối thiểu mã
là: H(X), H(Y).
- Với 2 nguồn thống kê phụ thuộc, ví dụ X và Y có tương quan thì tốc độ
tối thiểu để mã hóa mã và khôi phụ không lỗi là H(X,Y).
Vì H(X) + H(Y) ≥ H(X,Y) = H(X) + H(Y|X) = H(Y) + H(X|Y) (2.1)
Điều này có nghĩa là nếu khai thác được đặc tính phụ thuộc của 2 nguồn sẽ cho
phép giảm tốc độ mã hóa đến entropy liên kết.
Hai nguồn thông tin phụ thuộc (có tương quan cao) này thực tế có thể là các
khung liên tiếp của cùng 1 chuỗi video. Mã liên kết 2 khung hình video liên tiếp có thể
là mã một khung (H(X)) rồi mã tiếp dự đoán của Y dựa trên thông tin về X (H(Y|X))
như công thức (2.1).
Tuy nhiên để có H(Y|X) nhỏ nhất, cần tìm vector dự đoán có xác suất cao nhất
điều này dẫn đến việc dò tìm phức tạp trong kiểu mã hóa liên kết của kỹ thuật mã hóa
truyền thống.
Rx ≥ H(X) Ry ≥ H(Y)
Rx,y=Rx+Ry ≥ H(X,Y)
Hình 2. 1: Mô hình mã hóa dự đoán cổ điển
X
X Y
Rx,y
X’
X Y
’
25
2.2 Định lý Slepian-Wolf
Định lý này không đổi hỏi phải trực tiếp mã liên kết theo H(X,Y) như nói ở trên
mà có thể mã 2 nguồn phụ thuộc một cách độc lập mà vẫn khai thác đặc tính phụ thuộc
tức là không làm mất mát hiệu suất nén, song vẫn phải giải mã liên kết. Điều này cho
xác suất khôi phục có lỗi tiến đến 0.
Tuy nhiên mã độc lập phải thỏa mã 3 điều kiện (bất đẳng thức) sau:
Rx + Ry ≥ H(X,Y)
Rx ≥ H(X/Y)
Ry ≥ H(Y/X)
Hình 2. 2: Sơ đồ mã nguồn phụ thuộc thống kê
Hình 2. 3: Biểu đồ vùng tỉ lệ tốc độ mã giữa 2 nguồn X, Y
Việc thực hiện định lý Slepian-Wolf có thể qua kỹ thuật mã kênh:
Coi X như một phiên bản lỗi của Y (như đi qua kênh truyền). Trong mã kênh để
hiệu chỉnh lỗi giải pháp là chèn thêm các bít chẵn lẻ (Parity bits) nhằm tăng thêm khoảng
Mã hóa
nguồn X
Mã hóa
nguồn Y
Đồng giải
mã
Phụ thuộc
thống kê
X
Y
Rx
Ry
X’
Y’
Khu vực không xảy ra lỗi
Mã hóa và giải mã độc lập
Có xác suất xảy ra lỗi
Mã hóa phân phối, đồng giải mã
26
cách giữa các từ mã lớn hơn 2 lần khoảng cách lỗi.
Khi đó nếu bên giải mã truy cập Y như thông tin lề (từ khung trước), bên mã hóa
sẽ mã X bằng các bít chẵn lẻ (tạo nên các tập Coset mà X thuộc về một trong các tập
Coset) và gửi các bít chẵn lẻ này đến bên thu, sau đó dựa vào Y có sẵn ở bên thu khôi
phục chính xác được X. Ở kỹ thuật này càng ít bít chẵn lẻ, hệ số nén càng cao.
Hình 2. 4: Mô tả định lý Slepian – Wolf với thông tin phụ
2.3 Định lý Winer-Ziv
Đây là sự mở rộng của định lý Slepian-Wolf với mã có mất mát cho các nguồn phụ
thuộc có phân phối Gauss, định lý Wyner-Zip xem xét điểm tọa độ: Rx=(X/Y) và
Ry=H(Y) với điều kiện Y được biết ở bên giải mã như thông tin phụ, định lý phát biểu
rằng: nếu 2 nguồn Gauss phụ thuộc không nhớ X, Y, ở đây Y là thông tin phụ, được mã
độc lập với độ méo d xác định (mã có mất mát), thì sẽ không mất hệ số nén so với mã
cổ điển khi mã X và khôi phục X (Hình 2.5).
Nếu thống kê của nguồn không phải là Gauss sẽ có sự tăng thêm tốc độ mã WZ,
RWZ so với mã truyền thống. Sau này Zamir đã chứng minh sự tăng tốc độ giữa phương
pháp WZ và phương pháp truyền thống là nhỏ hơn hoặc bằng 0.5 bit/mẫu.
Hình 2. 5: Mã hóa mất mát thông tin với thông tin phụ ở phần giải mã
Mã hóa
nguồn X
Đồng giải
mã
Phụ thuộc
thống kê
X
Y
Rx= parity bits
Thông tin phụ
X’
Mã hóa
nguồn X
Đồng giải
mã
Phụ thuộc
thống kê
X
Y
Rwz(d)
Thông tin phụ
X’
27
2.4 Các mô hình thực nghiệm của kỹ thuật mã hóa video phân tán
2.4.1 Giải pháp Stanford
Mã hóa video phân tán theo phương pháp đề xuất tại trường Đại học Stanford bởi
giáo sư Bernd Girod [1] là giải pháp mã hóa video theo mức độ khung hình, kết hợp
giữa mã hóa nguồn và mã hóa kênh, có sử dụng kênh phản hồi (backward channel) từ
phía thu gửi sang phía phát. Tiêu biểu cho hướng nghiên cứu này là bộ mã hóa
DISCOVER, đề xuất và xây dựng bởi nhóm nghiên cứu tại viện IST, Bồ Đào Nha [2].
Trong giải pháp này, dữ liệu video được chia thành nhóm các khung hình (Group of
pictures: GOPs). Khung đầu tiên và cuối cùng trong mỗi GOP, gọi là khung chính, được
mã hóa theo kiểu mã hóa thông tin dự đoán truyền thống như H.264/AVC [3]. Các
khung duy trì giữa các khung chính được gọi là khung Wyner-Ziv (WZ) và được mã
hóa bằng việc sử dụng kỹ thuật DVC. So với giải pháp Stanford DVC ban đầu [4], bộ
mã hóa DISCOVER đề xuất một thuật toán GOP thích nghi dựa trên nội dung phân tích
video, kỹ thuật tạo thông tin phụ hiệu quả và sử dụng mã hóa kênh LDPC như mô tả ở
hình 2.6.
DCT
Lượng tử hóa
và chuỗi bit
Kênh mã hóa Buffer
Tỉ lệ ước lượng
tối thiểu
Kênh giải
mã
Giải mã thành
công/ thất bại
Tái tạo, DCT
ngược
Mô hình tạp âm
tương quan
DCT
Khai thác thông
tin phụ
Tách khung
Bộ mã hóa video
truyền thống
Bộ giải mã video
truyền thống
Khung chính
Khung chính
được giải mã
Mã hóa Wyner-Ziv Giải mã Wyner-Ziv
Khung WZ
được giải mã
Khung WZ
Hình 2. 6: Kiến trúc bộ mã hóa DISCOVER [2]
Đối với khung WZ
Tại phía mã hóa:
1. Biến đổi và lượng tử hóa: Đầu tiên, biến đổi Cosin rời rạc (Discrete cosin
28
transform: DCT) được áp dụng trong các khối pixel 4 x 4 của mỗi khung WZ.
Hệ số DCT của toàn bộ khung WZ sau đó được nhóm lại với nhau, theo vị trí
của từng hệ số DCT trong một khối, tạo ra một hệ số DCT chuẩn. Mỗi chuẩn
DCT sau đó được lương tử hóa đồng nhất với một số mức độ tùy thuộc vào
chất lượng đích. Đối với mỗi một chuẩn, các bits biểu diễn lượng tử sẽ được
nhóm lại với nhau, tạo nên một “mặt phẳng” bít (bitplane), sau đó được mã
hóa độc lập.
2. Mã hóa kênh và bộ đệm: Một tốc độ phù hợp mã tích lũy chẵn lẻ mật độ
thấp (Low density parity codes accumulate: LDPCA) được áp dụng với mỗi
chuẩn DCT bắt đầu từ bitplane lớn nhất (most significant bitplane: MSB).
Thông tin chẵn lẻ từ mỗi bitplane được lưu trữ tại một vùng đệm ra và được
gửi thành từng mảng khi có yêu cầu từ bộ giải mã hóa qua kênh phản hồi.
3. Tỉ lệ ước tính tối thiểu: DISCOVER codec đề xuất một modul mới gọi bộ
ước lượng tốc độ tối thiểu được sử dụng để giảm số Syndrom tích trữ yêu
cầu bởi bộ giải mã, vì vậy sẽ giảm sự phức tạp giải mã toàn thể. Tốc độ tối
thiểu được tính toán dựa trên giới hạn Wyner-Ziv RD của hai nguồn phân
phối Gauss tương quan [5].
Tại phía giải mã:
4. Tạo và khai thác thông tin phụ: DISCOVER codec sử dụng giải pháp nội
suy bù trừ chuyển động (motion compensated interpolation: MCI) để tạo ra
thông tin phụ (side information: SI) [6-7]. Tại MCI, một trường chuyển động
gần chuyển động thực được ước lượng giữa trước (quá khứ) và sau (hiện tại)
khung tham chiếu. Sau đó, sự bù trừ chuyển động giữa hai khung tham chiếu
được thực hiện để có được các thông tin phụ. Thông tin phụ được hiểu như
là ước lượng (phiên bản tạp âm) của khung WZ gốc để mã hóa. Chất lượng
thông tin phụ tốt hơn, lỗi ước tính nhỏ hơn để giải mã chính xác. Để khai thác
dư thừa không gian, một phép biến đổi được áp dụng, ở đây là phép biến đổi
DCT được áp dụng cho thông tin phụ miền pixel.
5. Mô hình kênh ảo và tính toán đầu vào mềm: DISCOVER codec sử dụng
phân phối Laplace để làm mô hình tạp âm tương quan (Phân phối lỗi giữa
DCT chuẩn tương ứng của SI và khung WZ). Tuy nhiên, thay vì sử dụng
một quy trình huấn luyện offline để tính toán tham số tạp âm tương quan [1],
29
thì DISCOVER codec ước tính các tham số này online và tại bộ giải mã, theo
một kĩ thuật được đề xuất trong [8]. Phương pháp ước lượng tham số Laplace
sử dụng khung dư thừa, nghĩa là sự sai khác giữa trước và sau khung tham
chiếu đã bù chuyển động, như một sự ước tính thô của chất lượng SI. Mô hình
phân phối mẫu Laplace sau đó được sử dụng để chuyển các hệ số SI DCT
thành thông tin đầu vào mềm cho bộ giải mã LDPC.
6. Giải mã kênh và kiểm tra CRC: Khi các hệ số SI DCT và thống kê tạp âm
tương quan cho mỗi DCT chuẩn được biết, từng bitplane sẽ được giải mã
LDPCA (bắt đầu từ MSB) để sửa lỗi bit trong SI. Trong trường hợp này, bộ
giải mã LDPCA nhận từ bộ mã hóa các mảng bít chẵn lẻ nối tiếp theo yêu cầu
thông qua kênh phản hồi. Để điều khiển số lượng bitplanes cần cho sự giải
mã thành công của từng bitplane, bộ mã hóa sử dụng tiêu chẩn dừng yêu cầu
theo [9]. Vì một số lỗi dư thừa có thể còn lại sau việc dừng yêu cầu, có thể
tạo nên ảnh hưởng tiêu cực đến chất lượng khung giải mã. Một kiểm tra tổng
CRC được truyền để giúp bộ giải mã tìm ra và sửa các lỗi còn sót lại tại mỗi
bitplane. Sau khi giải mã thành công bitplane MSB của một DCT chuẩn, bộ
giải mã LDPCA sẽ xử lý với các bitplanes còn lại của cùng chuẩn DCT. Quá
trình đó là sẽ áp dụng liên tiếp cho các DCT còn lại.
7. Khôi phục và biến đổi ngược: Sau giải mã kênh, tất cả các bitplanes liên
quan đến mỗi DCT chuẩn sẽ được nhóm lại với nhau để tạo nên ký hiệu lượng
tử gắn với mỗi chuẩn. Ký hiệu lượng tử được giải mã này sau đó được kết
hợp với các thông tin phụ có sẵn tại bộ giải mã để khôi phục hệ số DCT. Giải
pháp khôi phục thực hiện trong DISCOVER codec là lỗi bình phương tối thiểu
(MMSE) được dựa trên giải pháp được đề xuất trong [10]. Sau khi tất cả các
DCT chuẩn được khôi phục, biến đổi cosine ngược rời rạc (Inverse discrete
cosine transform: IDCT) được áp dụng và nhận được khung WZ.
DISCOVER codec cung cấp hiệu quả RD cạnh tranh khi so sánh với những
bộ codec khác có độ phức tạp mã hóa tương tự (thấp), cụ thể là giải pháp
H.264/AVC Intra.
30
2.4.2 Giải pháp PRISM
Gần như cùng lúc với giải pháp Stanford WZ, Đại học Berkely cũng đưa ra một giải
pháp mã hóa video WZ khác, và thường được nhắc đến trong các tài liệu là giải pháp
PRISM – giải pháp mã hóa tiết kiệm năng lượng, độ nén cao, mã hóa đa phương tiện
dựa trên mã Syndrome . Bộ mã hóa PRISM làm việc ở mức khối (block level), và được
mô tả tổng quan như hình 2.7 dưới đây.
Tại phía mã hóa:
1. Biến đổi: Mỗi khung hình được chia thành các block 8x8 không chồng nhau,
biến đổi DCT sẽ được áp dụng trên từng block.
2. Lượng tử hóa: Một bộ lượng tử vô hướng được áp dụng cho các hệ số DCT
tương ứng với chất lượng mong muốn.
3. Phân loại block: Trước khi mã hóa, mỗi block được phân vào một trong các
lớp được định nghĩa sẵn dựa trên sự tương quan giữa block hiện tại và block
dự đoán trong khung tham chiếu. Phụ thuộc vào độ phức tạp của phía mã hóa,
block dự đoán có thể là block có cùng vị trí, hoặc một block đã được bù
chuyển động; trong trường hợp thứ hai, kĩ thuật ước lượng chuyển động nhanh
được đề xuất. Bước phân loại quyết định cơ chế mã hóa đối với từng block
của khung hiện tại: không mã hóa (lớp skip), mã hóa nội khung truyền thống
(lớp mã hóa entropy), hoặc mã hóa syndrome (các lớp mã hóa syndrome khác
nhau), phụ thuộc vào tương quan về thời gian được ước lượng. Các block
được xếp vào lớp mã hóa syndrome được mã hóa bằng phương pháp WZ như
mô tả dưới đây. Phương thức mã hóa được truyền tới bộ giải mã trong thông
tin header.
31
DCT Lượng tử hóa
Tạo hàm băm
Mã hóa
Syndrome
Phân loại
Giải mã
Syndrome
Kiểm tra
hàm băm
Ước lượng, Tái
tạo và xử lý hậu
kỳ
Tìm kiếm
chuyển động
Video gốc
Ước lượng
tương quan
Độ méo
mong muốn
Thông tin
kênh
Dòng bit
được mã hóa
Dòng bit
được mã hóa
Dự đoán
ứng viên
Dòng bit đã
giải mã
CÓ
KHÔNG
(a)
(b)
Hình 2. 7: Bộ mã hóa PRISM: (a) cấu trúc mã hóa; (b) cấu trúc giải mã
4. Mã hóa Syndrome: với những block được xếp vào các lớp mã hóa syndrome,
chỉ các bit có trọng số thấp nhất trong các hệ số DCT đã lượng tử hóa trong
một block được mã hóa syndrome, vì giả định rằng các bit có trọng số cao
nhất có thể suy ra từ SI (do có tương quan thời gian). Số lượng bit có trọng số
thấp nhất được truyền đến bộ giải mã phụ thuộc vào lớp syndrome của block
đó. Với các bit có trọng số thấp nhất, phần dưới được mã hóa bằng bộ mã hóa
entropy dựa trên bảng chữ cái 4 số hạng (run, depth, past, last); phần trên
được mã hóa sử dụng mã kênh coset.
5. Hàm băm: Tính toán các bit dư thừa cho mỗi block và truyền các bit này đến
phía giải mã. Với mỗi block, bộ mã hóa sẽ gửi 16-bit mã kiểm tra CRC (cyclic
redundancy check) như chữ kí của các hệ số DCT lượng tử hóa. Điều này là
cần thiết để chọn ra block ứng viên tốt nhất làm SI ở bộ giải mã.
Tại phía giải mã:
6. Tìm kiếm chuyển động: Bộ giải mã tạo các block làm ứng viên cho SI, ứng
với tất cả các block dịch nửa pixel trong khung tham chiếu, trong một cửa sổ
xung quanh tâm của mỗi block cần giải mã.
32
7. Bộ giải mã Syndrome: Mỗi block ứng viên sẽ đóng vai trò là thông tin phụ
cho việc giải mã Syndrome, bao gồm hai bước. Bước đầu tiên liên quan đến
việc giải mã entropy của phần dưới của các bitplanes ít quan trọng nhất và
các bitplanes được mã hóa kênh coset để xác định các coset trong đó thông
tin bên phải được giải mã. Bước thứ hai liên quan đến giải mã quyết định
mềm được thực hiện cho từng khối ứng cử viên (thông tin phụ) để tìm ra từ
mã (lượng tử hóa) gần nhất trong tập hợp được xác định trong bước đầu tiên.
Đối với mỗi khối ứng cử viên, do đó, một khối lượng tử được giải mã được
lấy từ hoạt động giải mã Syndrome.
8. Kiểm tra hàm băm: Chữ ký hàm băm (CRC sum) được tạo cho mỗi khối
lượng tử được giải mã. Để phát hiện giải mã thành công (nghĩa là các khối có
xác suất lỗi nhỏ), bộ giải mã CRC được tạo được so sánh với tổng CRC nhận
được từ bộ mã hóa. Các khối ứng cử viên được truy cập cho đến khi giải mã
dẫn đến kết hợp tổng CRC. Khi điều này xảy ra, khối hệ số DCT được lượng
tử hóa được phục hồi và khối thông tin phụ tương ứng được xác định.
2.5 Kết luận chương
Trong chương 2 này, luận văn đã nghiên cứu tổng quan về mã hóa video phân
tán, khác với các kỹ thuật video truyền thống, kỹ thuật mã hóa video phân tán phù hợp
hơn với các hệ thống video giám sát, camera an ninh với yêu cầu phần phát đơn giản,
gọn nhẹ, rẻ tiền trong khi phần phức tạp có thể chuyển về bộ xử lý trung tâm ở phía thu,
nơi sẽ được đầu tư thiết bị tập trung và hiện đại hơn.
Mô hình luận văn sẽ áp dụng mô phỏng là mô hình Stanford, với luồng video đầu
vào sẽ tách làm 2 luồng xử lý, một luồng gồm các key frame sẽ mã hóa với chuẩn nén
H.265/HEVC Intra được nghiên cứu ở Chương 1 của luận văn, luồng hai là các khung
Wyner Ziv, được mã hóa và giải mã Wyner Ziv. Chương 3 sẽ nghiên cứu sâu hơn về
mô hình tạp âm tương quan trong bộ mã hóa WZ, về các phương pháp tính toán tham
số cho bộ CNM để đạt được hiệu năng nén tốt nhất.
33
CHƯƠNG 3
MÔ HÌNH TẠP ÂM TƯƠNG QUAN CNM
TRONG BỘ MÃ HÓA DVC
3.1 Mô hình tạp âm tương quan trong mã hóa video WZ
Mã hóa video WZ là mô hình mã hóa video khai thác một phần hoặc toàn bộ
thông tin của đoạn video ở phía decoder, giúp phân bổ linh hoạt về độ phức tạp giữa
encoder và decoder. Hiệu quả mã hóa của các phương pháp mã hóa video WZ phụ thuộc
chủ yếu vào khả năng mô hình các thông số tương quan giữa dữ liệu gốc tại encoder và
thông tin dự đoán được tạo ra ở decoder, hay còn gọi là thông tin phụ (SI). Đây là một
vấn đề khó do thông tin gốc không sẵn có tại phía decoder và chất lượng của SI thay đổi
trong dọc theo chuỗi video và thay đổi trong từng frame (ví dụ: phân phối lỗi theo không
gian hoặc thời gian là không cố định). Một mặt, khi càng có nhiều chuyển động trong
một chuỗi video thì việc ước lượng khung WZ sẽ càng khó, lỗi trong SI cũng tăng lên
rõ rệt. Mặt khác, sự thay đổi vùng tối và vùng sáng cũng là nguyên nhân chủ yếu làm
thay đổi chất lượng SI tro
Các file đính kèm theo tài liệu này:
- luan_van_phat_trien_mo_hinh_tap_am_tuong_quan_nham_nang_cao.pdf