Professional Documents
Culture Documents
001 Du Lieu Goc
001 Du Lieu Goc
[Bảng danh mục từ viết tắt sẽ thêm ở đây, sau phần mục lục]
MỞ ĐẦU
Trong mã hóa video phân tán DVC (Distributed Video Coding), thông tin phụ trợ (SI-
Side Information) được tạo ra tại bộ giải mã cho phép phân bố linh hoạt độ phức tạp
tính toán giữa bộ mã hóa và bộ giải mã. Lợi thế này rất có ích đối với các yêu cầu của
các ứng dụng như giám sát video, mạng cảm biến và điện thoại camera di động. Chất
lượng của SI tại bộ giải mã có vai trò quan trọng trong việc quyết định hiệu năng méo-
tốc độ (RD-Rate-Distortion) của hệ thống mã hóa video phân tán có thể giúp đạt được
mức tương đương với các hệ thống mã hóa video dự đoán tiêu chuẩn. Do đó việc nghiên
cứu các thuật toán tìm kiếm chuyển động hiệu quả cho nội suy khung hình tại bộ giải
mã là rất cần thiết. Thực tế này đã thúc đẩy sự phát triển của rất nhiều cải tiến so với các
phương pháp tạo SI ban đầu, thường đơn giản và ít hiệu quả hơn, ví dụ tính toán SI là
trung bình của hai frame chính gần nhất như trong giải pháp video WZ Stanford thời kỳ
đầu. Do đó, trong phạm vi đề tài này, nhóm chủ trì sẽ tập trung nghiên cứu một kỹ thuật
tạo thông tin phụ trợ trong hệ thống mã hóa video phân tán nhằm nâng cao hiệu năng
của hệ thống.
Chúng tôi xin chân thành cảm ơn các đồng nghiệp trong Khoa Kỹ thuật điện tửđãđóng
góp cácý kiến quý báu và xin chân thành cảmơn lãnh đạo Học viện Công nghệ Bưu
chính Viễn thông đã tạo điều kiện để chúng tôi hoàn thành đề tài này.
Hà Nội, ngày 1 tháng 12 năm 2017
Chủ trì đề tài
Mai Liêm Chính
CHƯƠNG 1. TỔNG QUAN VỀ MÃ HÓA VIDEO
Như chúng ta đều biết, thông tin hình ảnh đặc biệt quan trọng đối với con người nếu
muốn cảm nhận, nhận thức và hiểu về thế giới xung quanh. Với sự phát triển mạnh mẽ
của các công nghệ tiên tiến, đặc biệt trong lĩnh vực mạch tích hợp quy mô rất lớn và
hiệu năng cao của các máy tính và các công cụ tính toán, các dữ liệu video ngày càng
được sử dụng rộng rãi trong cuộc sống hàng ngày của chúng ta. Ví dụ trong các ứng
dụng như điện thoại có hình, điện thoại hội nghị, truyền hình độ nét cao HDTV, và đĩa
video số DVD.
Theo số liệu thống kê của [1], trong năm 2015, Youtube có 400 giờ video được tải lên
mạng mỗi phút. Trong tháng 11, Facebook thông báo rằng có 8 tỉ lượt xem video mỗi
ngày. Theo Tubular Labs, có 654,7 triệu video được tải lên bởi 66,7 triệu người tạo
video. Các video này có 2,8 ngàn tỉ lượt xem, hay trung bình có 4590 lượt xem trên mỗi
video. Các số liệu này cho thấy thị trường quan trọng và đầy tiềm năng của video. Vậy
làm thế nào để các hệ thống mạng có thể truyền tải và lưu trữ một lượng video khổng lồ
như vậy.
Trước hết chúng ta tìm hiểu về bản chất của video. Về cơ bản, video là một chuỗi các
khung hình video chứa một lượng lớn dữ liệu. Hãy xem xét một ví dụ minh họa. Mạng
điện thoại chuyển mạch hiện nay (PSTN) có thể hoạt động ở tốc độ bit tối đa 56.600
bit/s. Giả sử có một khung hình video có độ phân giải 288 x 352, tương đương với một
hình ảnh TV và được coi ở định dạng trung bình chung (CIF). Mỗi thành phần màu
RGB (Red, Green, Blue) được hiển thị bằng 8 bit, và như thường lệ, tốc độ khung hình
truyền dẫn là 30 khung hình/s để cung cấp một chuỗi video chuyển động liên tục. Khi
đó, tốc độ bit yêu cầu là 288 x 352 x 3 x 30 = 72.990.720 bps. Vì vậy, tỉ số giữa tốc độ
bit yêu cầu và tốc độ bit cao nhất có thể là khoảng 1289. Điều này nhấn mạnh rằng
chúng ta phải nén dữ liệu video ít nhất 1289 lần để có thể truyền được dữ liệu ở ví dụ
này.
Nén video hay mã hóa video là quá trình làm giảm lượng dữ liệu yêu cầu để biểu diễn
một tín hiệu video số, trước khi truyền hoặc lưu trữ. Qúa trình giải nén hay giải mã,
nhằm khôi phục lại tín hiệu video số từ biểu diễn đã nén, trước khi hiển thị. Dữ liệu
video số thường chiếm một lượng lưu trữ lớn hoặc truyền đi và vì vậy việc mã hóa và
giải mã video, hay video coding, là cần thiết cho bất cứ ứng dụng nào khi mà dung
lượng lưu trữ hoặc băng thông truyền dẫn bị hạn chế.
1.3. Mã hóa Video
Các kỹ thuật nén video số đóng một vai trò quan trọng trong các hệ thống viễn thông và
đa phương tiện mà ở đó băng tần vẫn là một tài nguyên hạn chế. Vì vậy, các kỹ thuật mã
hóa video có nhiệm vụ giảm lượng thông tin cần để biểu diễn nguồn video mà không
làm giảm đáng kể chất lượng của nó, thường được đánh giá bằng cảm nhận của người
xem. Cụ thể, các mục tiêu chính của các kỹ thuật nén video là:
Hiệu suất nén cao: Băng tần là một tài nguyên rất hạn chế và khan hiếm. Với
một lượng dữ liệu video lớn, việc sử dụng các kỹ thuật mã hóa hiệu quả là rất cần thiết.
Mặc dù các kỹ thuật mã hóa hiện nay có thể cung cấp tỉ lệ nén rất cao, vẫn cần hiệu suất
nén cao hơn để cải thiện chất lượng video (nghĩa là định dạng lớn hơn, tốc độ khung
hình cao hơn và chất lượng hình ảnh tốt hơn) tại các tốc độ bit rất thấp.
Giảm độ phức tạp tính toán: Trong nhiều thiết bị đầu cuối, năng lực xử lý và tuổi
thọ pin rất hạn chế và là các tài nguyên khan hiếm. Để xử lý video yêu cầu lượng đáng
kể năng lực tính toán, do đó sử dụng các kỹ thuật làm giảm độ phức tạp là rất cần thiết.
Cải thiện khả năng chống lỗi: Các kênh truyền dẫn, đặc biệt với các kênh vô tuyến, là
môi trường có tỉ lệ lỗi bit cao do hàng loạt các cơ chế tổn thất, ví dụ như fading đa
đường, nhiễu xuyên kênh. Trong trường hợp video, các ảnh hưởng của các lỗi này sẽ
làm giảm cấp rất nhiều đối với chất lượng video vì thực tế rằng luồng bit đã được nén
rất cao để đáp ứng các hạn chế của băng tần. Thực tế thì nén càng nhiều, luồng bit càng
nhạy cảm với nhiễu bởi vì trong trường hợp này mỗi bit phải biểu diễn một lượng video
lớn hơn. Ảnh hưởng của nhiễu đến video cũng bị tăng lên khi sử dụng mã hóa dự đoán
và mã hóa chiều dài thay đổi (VLC- Variable length coding). Việc sử dụng các phương
pháp mã hóa như thế này có thể dẫn đến lan truyền lỗi theo thời gian và không gian. Vì
vậy, không khó để nhận ra rằng lỗi có thể giảm cấp nghiêm trọng cho video nén và việc
sử dụng các kỹ thuật chống lỗi là rất cần thiết.
Trên đây là ba yêu cầu cơ bản khi nhắc đến các kỹ thuật mã hóa video, nhưng cũng cần
nhấn mạnh rằng đây không phải là các yêu cầu duy nhất đối với một hệ thống truyền
video. Các yêu cầu như độ trễ thấp, tính tương thích, khả năng liên lớp và bảo mật có độ
quan trọng tương tự nhau. Nhưng như chúng ta dễ dàng nhận thấy, ba yêu cầu này luôn
luôn xung đột với nhau và rất khó để đạt được cả ba yêu cầu này cùng một lúc. Thực tế,
các chuẩn mã hóa video dự đoán như H264, HEVC cho hiệu suất nén cao nhưng độ
phức tạp bộ mã hóa cũng cao và khả năng chống lỗi chưa tốt. Ngược lại các nghiên cứu
cho thấy các hệ thống mã hóa video phân tán có độ phức tạp thấp hơn và khả năng
chống lỗi tốt hơn so với các chuẩn truyền thống.
Mục tiêu của mã hóa video là để giảm, hay nén số lượng bit cần sử dụng để biểu diễn
video. Các tín hiệu video chứa ba loại dư thừa: dư thừa không gian, dư thừa thời gian và
dư thừa thống kê.
Dư thừa không gian: Trong miền không gian thường có sự tương quan cao giữa
các pixel ở gần nhau, nghĩa là giá trị của các mẫu lân cận thường rất giống nhau. Giảm
dư thừa không gian bằng cách sử dụng các kỹ thuật nén dữ liệu, ví dụ mã hóa biến đổi.
Dư thừa thời gian: Giữa các khung hình liên tiếp thường có sự tương quan với
nhau. Giảm dư thừa thời gian, ví dụ bằng cách mã hóa sự sai khác giữa các khung hình
gần nhau.
Dư thừa mã hóa: Nhằm làm giảm dư thừa giữa các ký tự dữ liệu được nén, ví dụ
sử dụng các kỹ thuật mã hóa chiều dài thay đổi.
Ngoài ra còn có thể kể đến dư thừa do cảm nhận hình ảnh. Do thực tế là hệ
thống thị giác người (HVS- Human Visual System) ít nhạy cảm với thông tin hình ảnh
nào đó so với các thông tin hình ảnh khác. Do đó có thể giảm bớt các thông tin hình ảnh
mà mắt người ít nhạy cảm sẽ giúp giảm bớt lượng bit cần biểu diễn mà không làm giảm
nhiều chất lượng của video.
Các codec video thường dựa trên việc giảm hoặc loại bỏ các loại dư thừa này. Hình 1.1
mô tả các thành phần chính của bộ mã hóa video. Mỗi thành phần được thiết kế để giảm
một trong các loại dư thừa cơ bản ở trên.
[Hình 1. 1 Sơ đồ khối của bộ mã hóa Video]
Trong Hình 1.1, sơ đồ khối một bộ mã hóa video gồm mô hình dự đoán, mô hình không
gian và một bộ mã hóa entropy. Đầu vào của mô hình dự đoán là một chuỗi video “thô”
chưa được nén. Khối dự đoán nỗ lực giảm sự dư thừa bằng cách khai thác sự tương
đồng giữa các khung hình video lân cận và/hoặc các mẫu ảnh lân cận nhau, thông
thường bằng cách xây dựng một dự đoán về khung hình hoặc khối video hiện thời của
dữ liệu video. Trong H.264/AVC, dự đoán được tạo ra từ dữ liệu trong khung hình hiện
thời hoặc trong một (hoặc nhiều) khung hình quá khứ và /hoặc tương lai. Nó được tạo ra
bằng cách ngoại suy không gian từ các mẫu ảnh lân cận, dự đoán nội ảnh (intra
prediction), hoặc bằng cách bù sự sai khác giữa các khung hình, dự đoán ngoại ảnh hoặc
bù chuyển động (inter or motion compensated prediction). Đầu ra của khối dự đoán là
một khung hình sai khác, được tạo ra bằng cách trừ dự đoán với khung hình hiện thời
thực sự, và một tập các tham số mô hình chỉ báo loại dự đoán intra hoặc mô tả cách
chuyển động được bù như thế nào.
Khung hình sai khác trở thành đầu vào cho khối mô hình không gian, khối này tận dụng
sự tương đồng giữa các mẫu nội bộ trong khung hình sai khác để giảm dư thừa không
gian. Trong H264/AVC, điều này được thực hiện bằng cách áp dụng biến đổi đối với
các mẫu dư thừa và lượng tử hóa các kết quả. Biến đổi nhằm chuyển các mẫu sang một
miền khác trong đó chúng được biểu diễn bằng các hệ số biến đổi. Các hệ số được
lượng tử hóa để loại bỏ các giá trị không quan trọng, giữ lại một số lượng nhỏ các hệ số
quan trọng sẽ tạo ra một biểu diễn gọn hơn nhiều cho khung hình sai khác. Đầu ra của
khối mô hình không gian là một tập các hệ số biến đổi được lượng tử hóa.
Các tham số của khối mô hình dự đoán, bao gồm chế độ dự đoán intra hoặc chế độ dự
đoán inter và vector chuyển động, khối không gian, tức là các hệ số, được nén bởi bộ
mã hóa entropy. Khối này sẽ loại bỏ dư thừa thống kê trong dữ liệu, ví dụ biểu diễn các
vector và các hệ số có xác suất xảy ra thường xuyên bằng các mã nhị phân ngắn. Bộ mã
hóa entropy tạo ra một luồng bit hoặc file được nén để có thể truyền và/hoặc lưu trữ.
Chuỗi nén bao gồm các tham số dự đoán và các hệ số sai khác được mã hóa và thông tin
tiêu đề.
Bộ giải mã video tái tạo lại khung hình video từ luồng bit được nén. Các hệ số và tham
số dự đoán được giải mã bởi bộ giải mã entropy, sau đó khối không gian được giải mã
để tái tạo một phiên bản của khung hình sai khác. Bộ giải mã sử dụng các tham số dự
đoán, cùng với các pixel ảnh được giải mã trước đó, để tạo nên dự đoán về khung hình
hiện thời, và bản thân khung hình được tái tạo lại bằng cách cộng khung hình sai khác
với dự đoán này.
Trong giai đoạn đầu của nén ảnh, các công cụ xử lý tín hiệu và thiết bị lưu trữ đều là các
tài nguyên khan hiếm. Tại thời điểm này, một phương pháp đơn giản để giảm dư thừa là
dự đoán giá trị của các pixel dựa trên các giá trị đã được mã hóa trước đó và mã hóa
phần sai số dự đoán. Phương pháp này gọi là Điều chế mã xung vi sai (DPCM –
Differential Pulse Code Modulation). Hình 1.2 mô tả sơ đồ khối của một CODEC (bộ
mã hóa/giải mã) DPCM ở đó chỉ sự sai khác giữa phần dự đoán và dữ liệu hiện thời
được lượng tử hóa và mã hóa để truyền. Tại bộ giải mã, tín hiệu sai khác nhận được sẽ
được cộng với dự đoán tại phía giải mã để tái tạo lại tín hiệu. Để bộ giải mã có thể tạo
một dự đoán giống phía mã hóa, bộ mã hóa cần phải tạo ra dự đoán mà chỉ sử dụng dữ
liệu sẵn có tại phía giải mã, nghĩa là dữ liệu đã được mã hóa và truyền rồi.
Một phương pháp thực tế và được sử dụng rộng rãi là bù chuyển động cho các vùng chữ
nhật hay khối (block) của khung hình hiện thời. Quy trình sau đây được thực hiện cho
mỗi khối M x N mẫu trong khung hình hiện thời:
Tìm kiếm một vùng của sổ của khung hình tham chiếu, khung hình quá khứ hoặc tương
lai, để tìm ra một vùng mẫu M x N tương tự. Tìm kiếm này có thể được thực hiện bằng
cách so sánh khối M x N trong khung hình hiện thời với một vài hoặc toàn bộ các khối
M x N có thể trong cửa sổ tìm kiếm, nghĩa là một vùng có tâm là vị trí của khối hiện
thời, và tìm kiếm vùng có sự phù hợp tốt nhất. Tiêu chí đối sánh thông dụng là năng
lượng dư thừa được tạo ra bằng cách trừ khối M x N hiện thời cho vùng ứng viên, sao
cho vùng ứng viên nào tối thiểu hóa năng lượng dư thừa sẽ được chọn là sự phù hợp
nhất. Quá trình tìm khối phù hợp nhất gọi là dự đoán chuyển động.
Khối sai khác được mã hóa và truyền và sự dịch chuyển giữa khối hiện thời và
vị trí của vùng ứng viên (vector chuyển động) cũng được truyền.
Bộ giải mã sử dụng vector chuyển động nhận được để tái tạo lại vùng dự đoán. Nó giải
mã khối sai khác, cộng nó vào bộ dự đoán và tái tạo lại phiên bản của khối ban đầu.
Bù chuyển động dựa trên khối rất phổ biến vì một số lý do. Nó tương đối rõ ràng và dễ
tính toán, phù hợp tốt với khung hình video hình chữ nhật và các biến đổi ảnh dựa trên
khối ví dụ như DCT và nó cung cấp mô hình thời gian hiệu quả cho nhiều chuỗi video.
Tuy nhiên có một số nhược điểm. Ví dụ, các đối tượng “thực” hiếm khi có cạnh rõ ràng
phù hợp với các biên hình chữ nhật, các đối tượng thường di chuyển một phần vị trí
pixel giữa các khung hình và nhiều loại chuyển động đối tượng rất khó để bù khi sử
dụng các phương pháp dựa trên khối, ví dụ các đối tượng bị biến dạng, quay, chuyển
động phức tạp và làm cong ví dụ như đám khói. Mặc dù có nhược điểm, bù chuyển
động dựa trên khối là cơ sở cho mô hình dự đoán thời gian được sử dụng bởi tất cả các
chuẩn mã hóa video hiện thời.
Mã hóa biến đổi được sử dụng chủ yếu để loại bỏ dư thừa không gian trong ảnh bằng
cách ánh xạ các pixel sang miền biến đổi trước khi giảm dư thừa. Điểm mạnh của mã
hóa biến đổi để đạt được nén dữ liệu là ở chỗ phần lớn năng lượng của ảnh tập trung
chủ yếu vào vùng tần số thấp và vì vậy vào một số ít các hệ số biến đổi. Các hệ số này
sau đó sẽ được lượng tử hóa với mục đích loại bỏ các hệ số không quan trọng mà không
làm ảnh hưởng nhiều đến chất lượng ảnh tái tạo. Qúa trình lượng tử hóa vì vậy là có tổn
thất vì các giá trị ban đầu không được giữ lại nguyên vẹn.
Đối với mã hóa video, biến đổi cosine rời rạc (DCT) được lựa chọn. Lý do là vì các
vector cơ sở thay đổi mượt mà rất giống với sự thay đổi cường độ của hầu hết các ảnh
tự nhiên, điều này dẫn đến năng lượng của ảnh tập trung vào một số lượng nhỏ các hệ
số. Vì lý do này, hiệu năng méo – tốc độ (RD-Rate Distortion) của DCT gần bằng so
với biến đổi Karhunen-Loeve, loại biến đổi được coi là tối ưu.
Biến đổi DCT hoạt động trên X, một khối mẫu N x N, thường là các mẫu ảnh hoặc giá
trị dư thừa sau khi dự đoán, để tạo ra Y, một khối N x N các hệ số. Hoạt động của DCT
và biến đổi ngược của nó, IDCT có thể được mô tả theo ma trận biến đổi A. DCT thuận
(FDCT – Forward DCT) của một khối mẫu N x N được cho dưới đây
Biến đổi DCT cho các khối thực sự không tạo ra nén. Một khối gồm 64 hệ số được biến
đổi thành 64 hệ số. Do tính trực giao của biến đổi, năng lượng trong cả hai miền pixel
và biến đổi là như nhau, vì vậy không tạo ra nén. Tuy nhiên, biến đổi làm cho phần
năng lượng lớn của ảnh tập trung vào các thành phần tần số thấp, với một lượng lớn các
hệ số lại có năng lượng rất thấp. Để giảm tốc độ bit thực hiện lượng tử hóa và mã hóa
chiều dài thay đổi (VLC:Variable Length Code) đối với các hệ số DCT. Hơn nữa, bằng
cách khai thác đặc tính của mắt người, đó là ít nhạy cảm với méo ở các vùng tần số cao,
ta có thể áp dụng lượng tử hóa thô hơn tại vùng tần số này để đạt được tỉ lệ nén cao hơn.
Kích thước bước lượng tử lớn hơn làm cho nhiều hệ số trở thành 0 và do đó đạt được
nén, tất nhiên chất lượng ảnh sẽ giảm đi.
Bộ lượng tử hóa ánh xạ một tín hiệu với một dải các giá trị X thành một tín hiệu lượng
tử với dải các giá trị Y giảm đi. Có thể biểu diễn tín hiệu lượng tử với ít bit hơn so với
tín hiệu gốc bởi vì dải các giá trị có thể nhỏ hơn. Bộ lượng tử hóa vô hướng (scalar
quantizer) ánh xạ một mẫu của tín hiệu đầu vào thành một giá trị đầu ra lượng tử và một
bộ lượng tử hóa vector (vector quantizer) ánh xạ một nhóm các mẫu đầu vào, một
“vector”, thành một nhóm các giá trị lượng tử hóa.
Để giảm nhiều hơn nữa số lượng bit, các hệ số biến đổi và các tọa độ của vector chuyển
động được mã hóa chiều dài biến đổi VLC. Trong VLC, các từ mã ngắn được ấn định
cho các giá trị có xác suất cao và các từ mã dài cho các giá trị có xác suất thấp. Chiều
dài của các mã sẽ tỉ lệ nghịch với xác suất xuất hiện của các ký tự khác nhau trong
VLC. Có hai loại VLC được sử dụng trong các CODEC video tiêu chuẩn. Đó là mã
Huffman và mã số học. Cần lưu ý rằng mã Huffman là một mã VLC thực tế, nhưng hiệu
quả nén của nó không bao giờ đạt đến entropy của nguồn do ràng buộc rằng các ký tự
được ấn định phải có số lượng bit nguyên. Tuy nhiên, mã số học có thể tiệm cận entropy
bởi vì các ký tự không được mã hóa riêng biệt. Mã Huffman được sử dụng trong tất cả
các CODEC tiêu chuẩn để mã hóa các hệ số DCT lượng tử hóa cũng như vector chuyển
động. Mã số học được sử dụng trong JPEG, H.263 và mã hóa ảnh của MPEG-4 có yêu
cầu nén nhiều hơn.
CHƯƠNG 2. KIẾN TRÚC MÃ HÓA VIDEO PHÂN TÁN
2. 1. Mã hóa Video phân tán
2.1.1. Định lý Slepian-Wolf và Wyner-Ziv
Trước hết chúng ta xác định bài toán: Giả sử và là hai chuỗi video có phân bố độc
lập, giống nhau, tương quan thống kê từ hai bộ mã hóa riêng biệt nhưng đều biết về sự
tồn tại của nhau. Bộ giải mã cũng có đầy đủ thông tin về các bộ mã hóa. Bài toán là xác
định tốc độ (bit) mã hóa tối thiểu cho mỗi nguồn video sao cho giải mã kết hợp tại bộ
giải mã có thể tái tạo lại mỗi nguồn với đủ độ chính xác. Bài toán này có thể được giải
quyết bằng cách sử dụng entropy kết hợp vì các chuỗi video và là tương quan thống
kê. Có hai phương pháp để tái tạo chúng:
Hình 2. 1. Kiến trúc mã hóa video: a. Phương pháp mã hóa video dự đoán; b. Phương
pháp mã hóa video phân tán.
Định lý Slepian-Wolf đối với nén không tổn thất: Với hai chuỗi ngẫu nhiên phụ thuộc
thống kê, độc lập và có phân bố giống nhau, X và Y, tốc độ tối thiểu để mã hóa độc lập
hai nguồn tương quan bằng tốc độ tối thiểu khi mã hóa kết hợp với xác suất lỗi nhỏ tùy
ý.
Định lý Wyner-Ziv đối với nén có tổn thất: Wyner-Ziv đề xuất mở rộng của định lý
Slepian-Wolf bằng cách định nghĩa một kịch bản tương tự về việc mã hóa độc lập
nhưng trong ngữ cảnh nén có tổn thất và nguồn Y (thông tin phụ trợ) chỉ sẵn có ở bộ
giải mã. Định lý phát biểu rằng khi thực hiện mã hóa độc lập X với thông tin phụ trợ Y
với một số điều kiện: X và Y là các nguồn Gaussian kết hợp, không nhớ và có xét đến
giá trị sai khác bình phương trung bình (Mean Square Error – MSE) thì sẽ không có tổn
thất về hiệu suất mã hóa so với trường hợp mã hóa kết hợp.
Định lý Wyner-Ziv còn được gọi là định lý mã hóa video phân tán Wyner-Ziv. Kiến
trúc mã hóa này được mô tả trong Hình 2.2.
3) Lượng tử hóa: Mỗi dải DCT được lượng tử hóa đồng nhất với số lượng các mức tùy
thuộc vào chất lượng yêu cầu. Đối với một dải DCT cho trước, các bit của các ký tự đã
lượng tử hóa được nhóm với nhau tạo thành các mặt phẳng bit. Các mặt phẳng bit này
sau đó được mã hóa turbo độc lập.
4) Mã hóa turbo: Mã hóa turbo cho mỗi dải DCT bắt đầu với mặt phẳng bit quan trọng
nhất (MSB). Các thông tin chẵn lẻ được tạo ra cho mỗi mặt phẳng bit sau đó được lưu
trong bộ đệm và được gửi theo từng gói tùy theo yêu cầu từ phía bộ giải mã dựa trên
kênh phản hồi.
2.3. Kiến trúc mã hóa video WZ Bekerly (PRISM)
Kiến trúc bộ mã hóa và giải mã được mô tả trong Hình 2.5, nhấn mạnh đến các module
mã hóa chính.
Trước tiên, các khung hình (thông thường chỉ độ sáng nhưng giải pháp tương tự cũng có
thể áp dụng cho độ chói) được chia thành các khối 8 x8 không chồng lấn nhau. Mỗi
khối sau đó được mã hóa độc lập sử dụng các module mã hóa sau:
1) DCT (Biến đổi cosine rời rạc): DCT làm bộc lộ dư thừa không gian và cung cấp biểu
diễn trong miền tần số của tín hiệu. Vì các hệ số DCT có các đặc tính khác nhau, chúng
sẽ được xử lý tiếp theo các cách khác nhau. Qúa trình này tạo ra ma trận các hệ số biến
đổi đối với mỗi khối (được quét zig-zag) để tạo ra luồng mã hóa.
2) Bộ lượng tử hóa: Tiếp theo áp dụng lượng tử hóa vô hướng lên các hệ số DCT thu
được từ module mã hóa trước. Bước lượng tử hóa được lựa chọn cho mỗi hệ số được
xác định bởi chất lượng tái tạo mong muốn trong khi vẫn xem xét đến độ nhạy khác
nhau của hệ thống thị giác người (HVS) đối với các tần số không gian khác nhau.
2.4. So sánh hai kiến trúc Wyner-Ziv của Stanford và Berkeley
Trong khi các lý do mà cộng đồng nghiên cứu chấp nhận kiến trúc WZ Stanford vẫn
chưa rõ ràng, từ quan điểm kỹ thuật, các sự khác nhau chính về mặt chức năng giữa các
bộ codec video WZ thời kỳ đầu có thể tóm tắt như sau (Stanford và Berkeley):
Mã hóa dựa trên frame với mã hóa dựa trên khối.
Điều khiển tốc độ bộ giải mã và điều khiển tốc độ bộ mã hóa – trong trường hợp
đầu cần có kênh phản hồi, điều này hạn chế các ứng dụng thời gian thực trong khi đó
xây dựng giải pháp điều khiển tốc độ đơn giản hơn nhiều.
Bộ mã hóa cực đơn giản và bộ mã hóa phức tạp hơn và thông minh hơn.
Mã kênh phức tạp hơn với mã kênh đơn giản hơn – Codec video WZ Stanford
sử dụng các mã kênh phức tạp hơn cho module mã hóa Slepian –Wolf, chủ yếu là mã
turbo và LDPC, điều này cho phép tiến đến hiệu năng RD tổng thể cao hơn.
Không dữ liệu phụ trợ với các mã băm – Trong hệ thống thứ hai, bộ mã hóa gửi
các thông tin phụ trợ /giúp đỡ về khung hình hiện thời để giúp bộ giải mã trong quá
trình ước lượng chuyển động.
Khả năng chống nhiễu thấp hơn với khả năng chống nhiễu cao hơn – Cách tiếp
cận giống như tìm kiếm chuyển động PRISM được thực hiện ở phía giải mã cho phép
tìm ra SI ít bị lỗi hơn, và vì vậy giảm ảnh hưởng của nhiễu dư thừa liên quan đến lỗi
kênh.
Theo thời gian, một số sự khác nhau giữa hai bộ codec video WZ này cũng đã mờ dần,
ví dụ ngày này bộ codec dựa trên Stanford ngày này với mã hóa intra dựa trên khối lựa
chọn, bộ mã hóa truyền chữ ký băm và không cần kênh phản hồi. Tuy nhiên, sau một
vài năm, khoảng cách về hiệu năng giữa hai giải pháp này vẫn khá lớn, ít nhất là khía
cạnh hiệu năng RD không lỗi. Tháng 11 năm 2007, dự án châu âu DISCOVER
(DIStributed Coding for video sERvices) đã cho các kết quả về hiệu năng RD không lỗi
đối với codec video WZ dựa trên Stanford – các kết quả này có thể thực hiện tốt hơn
Intra H.264/AVC và, đôi khi, thậm chí cả H.264/AVC Zero Motion với độ phức tạp mã
hóa thấp hơn. Vào tháng 10 năm 2007, đội Berkeley công bố kết quả hiệu năng RD
không lỗi chỉ hơn một chút so với mã hóa H.263+ với cả hai bộ mã hóa thực hiện ước
lượng chuyển động bộ mã hóa; tuy nhiên, với điều kiện có thiên hướng lỗi không dây,
đáng chú ý là lỗi gói theo chuẩn CDMA2000 1X, PRISM thực hiện tốt hơn so với
H.263 + cũng như tốt hơn H.263+ với hiệu chỉnh lỗi trước (FEC) và H.263+ với làm
mới intra, tạo ra giảm cấp lỗi nhỏ
2.5. Kết luận
Trong các hệ thống DVC đã trình bày có thể thấy vai trò quan trọng của thông tin phụ
trợ. Tạo thông tin phụ trợ càng chính xác thì số lượng bit phía mã hóa gửi đi càng ít và
chất lượng của thông tin tái tạo tại phía giải mã càng tốt. Đó là lý do đề tài này tập trung
đề xuất một phương pháp tạo thông tin phụ trợ cho hệ thống mã hóa video phân tán.