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

Câu 1.1: Thế nào là dữ liệu ảnh số/ video số, audio số?

Dữ liệu ảnh số là các tập hợp dữ liệu được mã hóa dưới dạng các số hoặc ký tự
để biểu diễn các thông tin liên quan đến hình ảnh. Các dữ liệu này có thể bao
gồm các thông tin về màu sắc, độ phân giải, chiều rộng, chiều cao, tần số khung
hình, độ sáng, độ tương phản và các thông tin khác.
Tương tự, dữ liệu video số là các tập hợp dữ liệu được mã hóa dưới dạng các số
hoặc ký tự để biểu diễn các thông tin liên quan đến một loạt các hình ảnh, được
xếp theo thứ tự để tạo ra một chuỗi động. Các dữ liệu này có thể bao gồm các
thông tin về tốc độ khung hình, độ phân giải, độ sáng, độ tương phản, âm thanh
và các thông tin khác.
Tương tự, dữ liệu âm thanh số là các tập hợp dữ liệu được mã hóa dưới dạng các
số hoặc ký tự để biểu diễn các thông tin liên quan đến âm thanh, bao gồm tần số,
biên độ, độ phân giải, độ sáng, độ tương phản và các thông tin khác.
Các dữ liệu số này thường được sử dụng để lưu trữ và truyền tải các thông tin
liên quan đến hình ảnh, âm thanh và video trong các ứng dụng như các trang web
đa phương tiện, ứng dụng trò chơi, các ứng dụng chuyển đổi media, máy tính cá
nhân và thiết bị di động.

Câu 1.2: Thế nào là bitrate của dữ liệu phụ thuộc thời gian?
Bitrate của dữ liệu phụ thuộc thời gian được sử dụng để chỉ tỷ lệ số bit được sử
dụng để biểu diễn dữ liệu trong một đoạn thời gian nhất định, thường được đo
bằng đơn vị bit/giây (bps).
Khi dữ liệu phụ thuộc thời gian được truyền qua mạng, thì TDBR sẽ thay đổi
theo từng thời điểm tùy thuộc vào đặc tính của dữ liệu và tốc độ truyền thông
của kênh truyền. Ví dụ, trong video streaming, TDBR có thể tăng lên khi có
nhiều chuyển động trong hình ảnh, và giảm xuống khi có ít chuyển động hoặc
khi có các đoạn video tĩnh.
TDBR cũng được sử dụng trong việc thiết kế và lựa chọn các hệ thống truyền
thông, đặc biệt là trong việc xác định băng thông của kênh truyền cần thiết để
truyền các loại dữ liệu phụ thuộc thời gian như video, âm thanh, và các ứng dụng
trực tuyến khác. TDBR càng cao, thì độ chi tiết và chất lượng của dữ liệu càng
cao, nhưng đồng thời cũng yêu cầu băng thông kênh truyền càng rộng để truyền
được dữ liệu đó.
Câu 1.3: Trình bày về định dạng và cấu trúc dữ liệu ảnh số/ video số, audio số
(định dạng biểu diễn, định dạng lưu trữ)
Định dạng và cấu trúc dữ liệu ảnh số, video số và audio số thường được sử dụng
trong các ứng dụng xử lý hình ảnh, video và âm thanh. Các định dạng này định
nghĩa cách biểu diễn, mã hóa và lưu trữ dữ liệu số để có thể truyền tải, xử lý và
tái tạo các tín hiệu âm thanh, hình ảnh và video.
Định dạng và cấu trúc dữ liệu ảnh số:
 Định dạng biểu diễn: ảnh số được biểu diễn bằng các giá trị số (được lưu
trữ dưới dạng các byte, short, hoặc float) tương ứng với giá trị màu của
các pixel trong ảnh.
 Định dạng lưu trữ: JPEG, PNG, GIF, BMP, TIFF, PSD.
Định dạng và cấu trúc dữ liệu video số:
 Định dạng biểu diễn: Video số thường được biểu diễn bằng các khung
hình (frame) ảnh số liên tiếp, với mỗi khung hình được biểu diễn theo định
dạng ảnh số.
 Định dạng lưu trữ: AVI, MPEG, MP4, MOV, WMV, FLV.
Định dạng và cấu trúc dữ liệu audio số:
 Định dạng biểu diễn: Audio số được biểu diễn bằng các giá trị số tương
ứng với sóng âm thanh, được lưu trữ dưới dạng các byte, short hoặc float.
 Định dạng lưu trữ: WAV, MP3, AAC, FLAC, WMA, OGG.
Mỗi định dạng và cấu trúc dữ liệu này có những đặc điểm riêng về cách mã hóa,
giải mã, nén, chất lượng, kích thước và tốc độ truyền tải, cho phép chúng được
sử dụng cho các ứng dụng khác nhau như lưu trữ, truyền tải, xử lý và phát lại tín
hiệu âm thanh, hình ảnh và video.

Câu 1.4: Hãy cho biết vai trò mã hóa trong hệ thống truyền thông đa phương
tiện.
Mã hóa (encoding) là quá trình biến đổi dữ liệu analog thành dữ liệu số và biểu
diễn chúng dưới dạng các mã số hoặc ký tự để có thể truyền tải và lưu trữ dữ liệu
số. Trong hệ thống truyền thông đa phương tiện, mã hóa đóng vai trò quan trọng
để đảm bảo tín hiệu âm thanh, hình ảnh và video có thể được truyền tải và tái tạo
chất lượng cao. Cụ thể, vai trò của mã hóa trong hệ thống truyền thông đa
phương tiện như sau:
Giảm kích thước tín hiệu: Mã hóa cho phép giảm kích thước tín hiệu, giúp tiết
kiệm băng thông và dung lượng lưu trữ mà vẫn đảm bảo chất lượng tín hiệu.
Tăng tốc độ truyền tải: Khi tín hiệu đã được mã hóa, nó có thể được truyền tải
nhanh hơn vì đã được nén kích thước. Ngoài ra, mã hóa còn giúp tối ưu hóa quá
trình truyền tải bằng cách sử dụng các phương pháp mã hóa dựa trên đặc tính của
tín hiệu (ví dụ như mã hóa dựa trên thời gian hay tần số).
Tăng chất lượng tín hiệu: Mã hóa còn giúp tăng chất lượng tín hiệu bằng cách
loại bỏ các nhiễu, nhiễu xạ, hoặc nén tín hiệu.
Hỗ trợ tính tương thích: Mã hóa đóng vai trò quan trọng trong việc hỗ trợ tính
tương thích giữa các thiết bị và phần mềm khác nhau. Các định dạng tập tin và
các thuật toán mã hóa phổ biến giúp đảm bảo rằng tín hiệu có thể được đọc và
phát lại trên nhiều thiết bị khác nhau.
Vì vậy, mã hóa là một phần quan trọng của hệ thống truyền thông đa phương
tiện, giúp đảm bảo tín hiệu âm thanh, hình ảnh và video được truyền tải và tái tạo
chất lượng cao nhất có thể.

Câu 1.5: Làm rõ nội hàm (chức năng) của mã hóa dữ liệu đa phương tiện (thu
nhận thông tin, số hóa- mã hóa tín hiệu, nén dữ liệu, lưu trữ/ tái tạo)
Mã hóa dữ liệu đa phương tiện là quá trình thu nhận tín hiệu âm thanh, hình ảnh
và video và chuyển đổi chúng thành định dạng số để có thể được xử lý và lưu trữ
trên các thiết bị kỹ thuật số. Các bước chính trong quá trình mã hóa dữ liệu đa
phương tiện bao gồm thu nhận thông tin, số hóa và mã hóa tín hiệu, nén dữ liệu
và lưu trữ/tái tạo.
Bước đầu tiên trong quá trình mã hóa dữ liệu đa phương tiện là thu nhận thông
tin, bao gồm âm thanh, hình ảnh và video từ nguồn gốc, chẳng hạn như micro,
máy quay phim hoặc máy ảnh.
Sau đó, tín hiệu này được chuyển đổi thành dạng số (số hoá) bằng các thiết bị số
hóa như bộ chuyển đổi ADC. Tín hiệu số được mã hóa để tạo ra một tập dữ liệu
được lưu trữ trong định dạng tệp nhất định. Quá trình mã hóa này có thể được
thực hiện bằng cách sử dụng các thuật toán mã hóa khác nhau, chẳng hạn như
MPEG-2, H.264, HEVC, Opus, AAC-LD, ...
Khi tín hiệu đã được mã hóa, nén dữ liệu có thể được thực hiện để giảm kích
thước của tệp và giảm băng thông cần thiết để truyền tải nó trên mạng. Quá trình
nén dữ liệu có thể được thực hiện bằng cách loại bỏ các thông tin không cần thiết
và sử dụng các thuật toán nén khác nhau như Lempel-Ziv-Welch, Huffman,
Run-Length Encoding, …
Cuối cùng, tập dữ liệu đã được mã hóa và nén có thể được lưu trữ hoặc truyền tải
đến các thiết bị khác nhau như máy tính, điện thoại di động hoặc máy nghe nhạc
để tái tạo tín hiệu âm thanh, hình ảnh và video. Quá trình tái tạo này bao gồm
giải nén dữ liệu và chuyển đổi nó trở lại thành tín hiệu âm thanh, hình ảnh và
video ban đầu.

Câu 1.6: Thế nào là mã hóa nén không tổn hao và có tổn hao
Mã hóa nén dữ liệu là quá trình giảm thiểu kích thước của dữ liệu mà vẫn đảm
bảo giữ nguyên nội dung của nó. Có hai loại mã hóa nén dữ liệu là mã hóa nén
không tổn hao (lossless compression) và mã hóa nén có tổn hao (lossy
compression).
Mã hóa nén không tổn hao (lossless compression) là quá trình giảm kích thước
của dữ liệu mà không mất mát thông tin. Điều này có nghĩa là sau khi giải nén,
dữ liệu sẽ được phục hồi chính xác như trước khi nén. Mã hóa nén không tổn hao
thường được sử dụng cho các tập tin văn bản, lịch sử, mã nguồn hoặc các tệp tin
có tính toán chính xác.
Một số ví dụ về phương pháp mã hóa nén không tổn hao là Gzip, Zip, và bản mã
hóa Huffman. Các phương pháp này hoạt động bằng cách sử dụng các thuật toán
nén dữ liệu để loại bỏ thông tin lặp lại hoặc không cần thiết trong dữ liệu. Khi
giải nén, các thuật toán này sẽ sử dụng thông tin đặc biệt để phục hồi dữ liệu
gốc.
Mã hóa nén có tổn hao (lossy compression) là quá trình giảm kích thước của dữ
liệu bằng cách loại bỏ một số thông tin không cần thiết hoặc ít quan trọng. Điều
này dẫn đến việc mất mát một số thông tin sau khi giải nén, đặc biệt là khi giảm
kích thước của tệp tin quá lớn. Mã hóa nén có tổn hao thường được sử dụng cho
các tệp tin ảnh, video, âm thanh, vì họ thường chứa nhiều thông tin không cần
thiết và có thể bị loại bỏ mà không làm mất nhiều thông tin quan trọng.
Một số ví dụ về phương pháp mã hóa nén có tổn hao là JPEG, MP3, và MPEG.
Các phương pháp này hoạt động bằng cách sử dụng các thuật toán nén dữ liệu và
giảm mức độ chi tiết của dữ liệu, giảm số lượng màu sắc, hoặc giảm số lượng
khung hình. Khi giải nén, dữ liệu được phục hồi dựa trên các thông tin khác nhau
và có thể không giống như dữ liệu gốc.

Câu 1.7: Tính các độ đo hiệu năng nén: Tỷ số nén? Độ tổn hao?
Các độ đo hiệu năng nén chủ yếu bao gồm tỷ lệ nén và độ tổn hao.
Tỷ số nén (compression ratio) là tỷ số giữa kích thước tệp dữ liệu ban đầu và
kích thước tệp dữ liệu được nén. Thông thường, giá trị này được biểu thị dưới
dạng tỷ số hoặc phần trăm. Tỷ số nén càng cao thì mức độ nén càng tốt, tuy
nhiên đôi khi nó sẽ ảnh hưởng đến chất lượng dữ liệu nén.
Tỷ số nén = kích thước tệp gốc / kích thước tệp nén
Độ tổn hao (compression loss) là mức độ mất mát thông tin khi dữ liệu được nén
và giải nén. Khi dữ liệu được nén, một số thông tin sẽ bị xóa bỏ để giảm kích
thước tệp. Trong một số trường hợp, việc xóa bỏ thông tin này không ảnh hưởng
đến chất lượng dữ liệu, nhưng trong một số trường hợp khác, việc xóa bỏ thông
tin này có thể dẫn đến mất mát thông tin quan trọng, gây ảnh hưởng đến chất
lượng dữ liệu nén.
Độ tổn hao có thể được đánh giá bằng cách so sánh chất lượng dữ liệu gốc và dữ
liệu giải nén hoặc bằng cách sử dụng các độ đo chất lượng như PSNR (Peak
Signal-to-Noise Ratio) hoặc SSIM (Structural Similarity Index). Các độ đo này
cung cấp thông tin về sự khác biệt giữa dữ liệu gốc và dữ liệu nén, và giúp đánh
giá chất lượng của dữ liệu nén.

Câu 2.1: Nguyên lý mã hóa dự đoán DPCM, làm rõ đặc điểm về hiệu năng của
phương pháp và cách tính các độ đo hiệu năng
Điều xung mã sai phân (DPCM – Differential Pulse Code Modulation): Là
phương pháp cơ sở của nén dữ liệu dựa trên mã hóa dự đoán, thường được sử
dụng đối với các tín hiệu có độ tương quan mạnh, là độ tương quan cao giữa các
mẫu lân cận của tín hiệu số như tín hiệu ảnh, video, tín hiệu tiếng nói …
Nguyên tắc của mã hóa dự đoán DPCM:
 Mã hóa sự sai khác giữa các mẫu: mẫu dự đoán theo thời điểm trước và
mẫu hiện tại. Cho phép đạt hiệu quả nén cao hơn nhiều mã hóa từng mẫu
riêng biệt
 Giá trị mẫu được giải mã dựa trên sự sai khác và giá trị dự đoán ở thời
điểm trước nó.
Như vậy có thể thấy rằng thay vì truyền đi toàn bộ thông tin của các mẫu, ta chỉ
truyền đi sự sai lệch giữa các mẫu.
DPCM được sử dụng trong nhiều chuẩn nén ảnh, video, tiếng nói: JPEG, MPEG,
H26X, GSM, MP3…

Đầu vào: Tín hiệu số DPCM (số) → Dữliệu 1 chiều


X(n)T = [X(n)] = [x[0], x[1], x[2],... x(N - 1)]; trong đó n là chỉ số thời gian.
Đầu ra: Dãy chuỗi các từ mã của tín hiệu vào
Y(n)T = [Y(n)] = [y[0], y[1], y[2],... y(N - 1)] → Dòng bit các từ mã
Các khối chức năng:
 Bộ dự đoán (Predictor): Tính dự đoán ra các mẫu tín hiệu số hiện tại theo
mẫu tại thời điểm trước (mẫu tín hiệu tham chiếu)
 Sai số dự đoán (Prediction error): Sai khác giữa giá trị tín hiệu dự đoán
với tín hiệu được truyền đến (phân biệt sai số dự đoán với sai số lượng tử
hóa). Sai số dự đoán được đưa vào bộ Lượng tử hóa Q biểu diễn thành số
nguyên, để đưa vào bộ mã hóa (Encoder) không mất mát thông tin.
 Bộ mã hóa (Encoder): Thực hiện mã hóa các sai số dự đoán (ví dụ
Huffman) tạo thành dòng bít các từ mã để lưu file hoặc truyền.
Một số đặc điểm về hiệu năng của mã hóa DPCM:
 Mã hóa DPCM có thể giảm lượng dữ liệu cần thiết để lưu trữ hoặc truyền
tải âm thanh hoặc video, vì sự giảm thiểu thông lượng được thực hiện
bằng cách truyền tải sự khác biệt giữa các giá trị mẫu thay vì toàn bộ giá
trị mẫu.
 Hiệu năng của mã hóa DPCM phụ thuộc vào mức độ tương quan giữa các
giá trị mẫu. Nếu mức độ tương quan cao, thì mã hóa DPCM sẽ đạt được
hiệu quả cao hơn.
 DPCM có sai số tích luỹ. Sai số này là kết quả của việc tính toán sai số
giữa giá trị thực tế và giá trị được dự đoán và sau đó sử dụng sai số này để
mã hóa thay vì sử dụng giá trị thực tế. Khi giá trị sai số tích luỹ ngày càng
lớn, thì chất lượng dữ liệu giảm đi và sai số này có thể dẫn đến hiện tượng
giật hoặc nhiễu trong quá trình phát lại dữ liệu.
Độ đo hiệu năng:
Tỷ số nén: Tỷ số giữa số lượng bit cần thiết để mã hóa dữ liệu đầu vào và số
lượng bit cần thiết để mã hóa dữ liệu đã nén.
Độ tổn hao: Thước đo chất lượng tín hiệu sau khi nén và mã hóa bằng phương
pháp DPCM.

Câu 2.2: Mã hóa dự đoán DPCM phù hợp với dữ liệu nào để đạt tỷ số nén cao?
Độ tổn hao của DPCM phụ thuộc vào điều kiện gì? Tính tỷ số nén với ví dụ cụ
thể
Mã hóa dự đoán DPCM phù hợp với dữ liệu có tính chất có sự tương quan cao
giữa các mẫu liên tiếp trong dữ liệu. Nói cách khác, nếu có sự thay đổi nhỏ giữa
các mẫu liên tiếp trong dữ liệu, DPCM có thể giúp giảm kích thước của tín hiệu
ban đầu một cách hiệu quả.
Độ tổn hao của DPCM phụ thuộc vào một số yếu tố, bao gồm số bit được sử
dụng để biểu diễn giá trị sai khác (differential) và mức độ tương quan giữa các
mẫu trong dữ liệu. Nếu tương quan giữa các mẫu trong dữ liệu cao, DPCM có
thể đạt được tỷ lệ nén cao và độ tổn hao thấp hơn.
Ví dụ: giả sử chúng ta có một tín hiệu âm thanh với tần số lấy mẫu là 8kHz,
được biểu diễn bằng 16-bit số nguyên có dấu. Nếu chúng ta sử dụng DPCM để
nén tín hiệu này và chỉ sử dụng 4 bit để biểu diễn giá trị sai khác giữa các mẫu,
ta có thể đạt được tỷ lệ nén khoảng 2:1. Tuy nhiên, tỷ lệ nén và độ tổn hao cụ thể
phụ thuộc vào tính chất của tín hiệu và các thông số của quá trình mã hóa và giải
mã được sử dụng.

Câu 3.1:
Phép lượng tử hóa vector – VQ là một phép ánh xạ các vector trong không gian
vector k chiều sang một tập xác định các vector Y = {y i: i=1, 2, …, N}. Mỗi
vector yi được gọi là một vector mã (codevector) hay còn gọi là một từ mã
(codeword) và tập các codevector này gọi là bộ codebook.
Nguyên lý cơ bản của phương pháp VQ là tìm ra một tập hợp các vector lượng
tử mà mỗi vector dữ liệu đầu vào có thể được biểu diễn bằng một vector lượng tử
gần nhất trong tập hợp này. Để xác định tập hợp các vector lượng tử này, chúng
ta cần sử dụng các thuật toán học máy như K-means clustering, Learning vector
quantization (LVQ) hoặc Self-Organizing Maps (SOM).
Mã hóa theo phương pháp VQ cần hai giai đoạn: pha huấn luyện (học: Learning
vector quantization LVQ) và pha mã hóa/giải mã.
Giai đoạn huấn luyện (LVQ) là giai đoạn trong đó các vector lượng tử (codebook
vectors) được học từ tập dữ liệu huấn luyện. Trong giai đoạn này, các vector
lượng tử ban đầu được khởi tạo và sau đó được cập nhật theo cách tốt nhất để tối
thiểu hóa tổn hao dữ liệu. Tổn hao dữ liệu được tính bằng khoảng cách giữa mỗi
mẫu dữ liệu và vector lượng tử gần nhất. Trong quá trình huấn luyện, các vector
lượng tử được cập nhật theo cách tối thiểu hóa tổn hao dữ liệu cho tập huấn
luyện.
Giai đoạn mã hóa/giải mã là giai đoạn trong đó dữ liệu được mã hóa và giải mã
bằng cách ánh xạ các mẫu dữ liệu vào các vector lượng tử. Trong giai đoạn này,
mỗi mẫu dữ liệu được ánh xạ vào vector lượng tử gần nhất trong codebook và
được biểu diễn bằng chỉ số của vector lượng tử đó. Khi giải mã, chỉ số được
chuyển đổi trở lại thành vector lượng tử và dữ liệu được khôi phục lại.
Vì vậy, việc sử dụng hai giai đoạn giúp tối ưu hóa quá trình học và ánh xạ dữ
liệu, giúp đạt được tỷ lệ nén cao, tối thiểu hoá sai số D và đảm bảo chất lượng
của dữ liệu được giữ nguyên.

Câu 3.2: Dùng thuật toán K-Mean (hoặc LBG) xây dựng bộ codebook cho ảnh
đa xám với độ phân giải MN pixel. Tùy chọn tham số thiết kế bộ codebook và
khảo sát ảnh hưởng của tham số chọn đến hiệu năng nén
Thuật toán LBG (Linde-Buzo-Gray) là một phương pháp để xây dựng bộ
codebook trong mã hóa VQ. Về cơ bản, thuật toán LBG sẽ tìm kiếm một bộ
codebook tối ưu bằng cách tối thiểu hóa tổng bình phương khoảng cách giữa các
điểm dữ liệu và các điểm trong codebook. Các bước của thuật toán LBG là:
 Khởi tạo một điểm trung tâm, là trung bình của tất cả các điểm dữ liệu
trong tập huấn luyện.
 Tìm kiếm hai điểm mới bằng cách phân chia các điểm hiện có thành hai
cụm, mỗi cụm có khoảng cách trung bình đến trung tâm của nó là nhỏ
nhất.
 Lặp lại bước 2 cho đến khi đạt đến số lượng điểm trong bộ codebook đã
cho trước.
 Tối ưu hóa bộ codebook bằng cách sử dụng thuật toán K-Mean để tìm
kiếm các điểm dữ liệu tốt nhất tương ứng với các điểm trong codebook.
Để thiết kế bộ codebook cho ảnh đa xám với độ phân giải MxN pixel, ta có thể
sử dụng các bước sau:
 Chọn tập huấn luyện gồm các khối 8x8 pixel trong ảnh đầu vào.
 Thực hiện thuật toán LBG trên tập huấn luyện để xây dựng bộ codebook.
 Sử dụng bộ codebook để thực hiện mã hóa và giải mã ảnh đầu vào.
 Tính toán các độ đo hiệu năng nén như tỷ lệ nén và độ tổn hao SNR để
đánh giá hiệu suất của bộ mã hóa.
Các tham số thiết kế bộ codebook bao gồm số lượng điểm trong bộ codebook, số
lần lặp lại thuật toán, và tiêu chí dừng thuật toán. Việc lựa chọn các tham số này
sẽ ảnh hưởng đến kết quả của bộ mã hóa VQ. Ví dụ, nếu ta chọn số lượng điểm
trong bộ codebook quá nhỏ, tỷ lệ nén sẽ thấp hơn, trong khi nếu chọn số lượng
điểm quá lớn, độ phức tạp tính toán sẽ tăng lên. Do đó, cần thực hiện các thử
nghiệm để chọn các tham số tối ưu cho bộ mã hóa VQ.

Câu 3.3: Cài đặt bộ mã hoá codec


Để cài đặt bộ mã hóa CODEC sử dụng nhiều lần bộ codebook, chúng ta cần thực
hiện các bước sau:
 Xây dựng các bộ codebook sử dụng thuật toán VQ hoặc LBG. Các bộ
codebook có thể được xây dựng với các kích thước khác nhau để phù hợp
với các yêu cầu nén ảnh khác nhau.
 Thực hiện mã hóa ảnh đầu vào bằng cách chia ảnh thành các khối (block)
và mã hóa từng khối bằng cách tìm kiếm vector gần nhất trong bộ
codebook. Kết quả của quá trình này là các chỉ số (index) của các vector
đó.
 Lưu trữ các chỉ số này và bộ codebook được sử dụng để mã hóa. Với mỗi
khối, chỉ cần lưu trữ chỉ số của vector được chọn và không cần lưu trữ tất
cả các giá trị pixel.
 Thực hiện giải mã bằng cách lấy các vector tương ứng với chỉ số được lưu
trữ từ bộ codebook và ghép lại các khối để tạo ra ảnh đã nén.
Với cách thực hiện trên, ta có thể sử dụng nhiều lần các bộ codebook để nén ảnh
với các mức nén khác nhau. Điều này giúp tăng tính linh hoạt và hiệu quả của bộ
mã hóa CODEC.

Câu 3.4: Mã hóa nén ảnh màu RGB theo VQ thực hiện thế nào?
Mã hóa nén ảnh màu RGB theo VQ thực hiện bằng cách chia ảnh màu thành các
khối 8x8 pixel (hoặc kích thước khác tùy chọn) và áp dụng thuật toán VQ để mã
hóa từng khối. Mỗi khối được mã hóa bằng cách tìm vector trong bộ codebook
có khoảng cách nhỏ nhất với các vector trong khối đó. Các giá trị của vector
được lưu trữ dưới dạng mã hóa để tạo thành tệp nén.
Tuy nhiên, với ảnh màu RGB, không thể áp dụng VQ trực tiếp trên các kênh
màu (Red, Green, Blue) một cách độc lập, vì các kênh này có sự tương quan cao
với nhau. Do đó, thường sẽ sử dụng một số phương pháp như chuyển đổi màu
không gian (ví dụ như YUV) hoặc sử dụng kết hợp các kênh màu để tạo thành
một vector đặc trưng để áp dụng VQ.

Câu 4.1: Mô hình và nguyên lý phân tích tín hiệu thành các tín hiệu dải tần con
(Subband) và các kỹ thuật cơ sở (Sampling, Downsampling, Linear filter/ Digital
filter, Filter bank…)
Mô hình phân tích tín hiệu thành các tín hiệu dải tần con (subband) là một
phương pháp xử lý tín hiệu số để phân tích và tái tạo các tín hiệu dưới dạng các
subband có băng thông nhỏ hơn. Các subband này được tạo ra bằng cách chia tín
hiệu đầu vào thành các phần tần số khác nhau sử dụng các bộ lọc thông thấp và
thông cao. Mỗi subband chứa thông tin về các tần số trong một khoảng tần số cụ
thể.
Nguyên lý của mô hình phân tích tín hiệu thành các tín hiệu dải tần con là sử
dụng các bộ lọc thông thấp và thông cao để tách tín hiệu thành các thành phần
tần số khác nhau. Bộ lọc thông thấp được sử dụng để loại bỏ các tần số cao hơn
một giới hạn tần số cắt (cut-off frequency), trong khi bộ lọc thông cao được sử
dụng để loại bỏ các tần số thấp hơn giới hạn tần số cắt.
Các kỹ thuật cơ sở trong mô hình phân tích tín hiệu thành các tín hiệu dải tần con
bao gồm:
Lấy mẫu (sampling): Quá trình chuyển đổi tín hiệu liên tục thành tín hiệu rời rạc.
Tần số lấy mẫu phải được chọn sao cho đảm bảo tín hiệu mới tái tạo có độ phân
giải đủ để phục vụ mục đích sử dụng.
Giảm mẫu (downsampling): Quá trình giảm số lượng mẫu dữ liệu để giảm kích
thước của tín hiệu, tăng tốc độ xử lý và giảm băng thông của tín hiệu.
Bộ lọc tuyến tính/ Bộ lọc số (Linear filter/ Digital filter): Các bộ lọc được sử
dụng để loại bỏ các tần số không mong muốn và truyền các tần số mong muốn
vào các subband tương ứng.
Bộ lọc thông tần số (Filter bank): Là một hệ thống bộ lọc, mỗi bộ lọc trong hệ
thống có thể được sử dụng để tách các subband khác nhau của tín hiệu.

Câu 4.2: Hai kiểu sơ đồ phân tách tín hiệu thành dải tần con và thuật toán triển
khai các sơ đồ phân tách
Sơ đồ dùng băng lọc thông thấp - thông cao (Low-pass - High-pass filter):
Sơ đồ này sử dụng hai bộ lọc: bộ lọc thông thấp và bộ lọc thông cao để phân tách
tín hiệu thành hai thành phần tần số khác nhau. Bộ lọc thông thấp loại bỏ tần số
cao hơn ngưỡng cắt (cut-off frequency) và chỉ cho phép các tần số thấp hơn đi
qua. Ngược lại, bộ lọc thông cao loại bỏ các tần số thấp hơn ngưỡng cắt và chỉ
cho phép các tần số cao hơn đi qua. Sơ đồ này được sử dụng phổ biến trong các
ứng dụng phân tích tín hiệu và xử lý ảnh để tách các thành phần tần số khác nhau
của tín hiệu.
Sơ đồ dùng băng lọc thông dải (Band-pass filter):
Sơ đồ này sử dụng hai bộ lọc thông thấp và hai bộ lọc thông cao để chọn lọc một
dải tần số nhất định của tín hiệu. Bộ lọc thông thấp đặt ngưỡng cắt thấp hơn
ngưỡng cắt của bộ lọc thông cao, và chỉ cho phép các tần số trong một dải tần số
nhất định đi qua. Sơ đồ này được sử dụng phổ biến trong các ứng dụng như xử lý
âm thanh và xử lý tín hiệu để tách các tần số có ý nghĩa đặc biệt trong tín hiệu.
Tùy vào nhu cầu và mục đích sử dụng, người dùng có thể lựa chọn sử dụng sơ
đồ phân tách tín hiệu thành dải tần con với bộ lọc thông thấp - thông cao hoặc bộ
lọc thông dải để tách các thành phần tần số của tín hiệu.

Câu 4.3: Tổng quan hệ thống mã hóa dải tần con (SBC) gồm 2 giai đoạn luồng
xử lý : (1) Analysis Subband; (2) Quantization and Coding, mỗi khối có nhiệm
vụ gì?
Hệ thống mã hóa dải tần con (SBC) bao gồm hai giai đoạn chính với các nhiệm
vụ như sau:
Giai đoạn phân tích dải tần con (Analysis Subband):
 Phân tích tín hiệu âm thanh thành các dải tần con bằng cách sử dụng bộ
lọc đa cực (finite impulse response filter bank).
 Các dải tần con này tương ứng với các băng tần khác nhau của tín hiệu,
được chọn để phù hợp với đặc tính của tín hiệu.
 Các tín hiệu trong mỗi dải tần con được xử lý và chuyển tiếp đến giai đoạn
tiếp theo.
Giai đoạn điều biến và mã hóa (Quantization and Coding):
 Tiền xử lý các tín hiệu trong từng dải tần con để chuẩn bị cho việc mã hóa.
 Quantization: Các giá trị tín hiệu được xác định và ánh xạ vào một tập hợp
giá trị được định trước để giảm chi phí lưu trữ và tốc độ truyền tải.
 Mã hóa: Các giá trị quantized được mã hóa bằng một phương pháp mã hóa
dựa trên đặc điểm của từng dải tần con.
 Các tín hiệu được mã hóa trong từng dải tần con được đóng gói lại thành
một luồng dữ liệu để truyền tải hoặc lưu trữ.
Tóm lại, nhiệm vụ của giai đoạn phân tích dải tần con là phân tích tín hiệu âm
thanh thành các dải tần con và đưa các tín hiệu trong từng dải tần con vào giai
đoạn tiếp theo. Nhiệm vụ của giai đoạn điều biến và mã hóa là giảm kích thước
dữ liệu và tối ưu hóa tốc độ truyền tải hoặc lưu trữ của tín hiệu đã được phân
tích.

Câu 4.4: Thuật toán mã hóa dải tần con (Coding) có đặc điểm thế nào?
Thuật toán mã hóa dải tần con (Coding) trong hệ thống mã hóa dải tần con
(SBC) có các đặc điểm sau:
Mã hóa thích nghi: SBC sử dụng một thuật toán mã hóa thích nghi, có khả năng
thích nghi với các thông tin đặc trưng của từng dải tần con để tối ưu hóa chất
lượng và kích thước dữ liệu được mã hóa.
Sử dụng nhiều phương pháp mã hóa: Thuật toán mã hóa dải tần con trong SBC
sử dụng nhiều phương pháp mã hóa khác nhau cho từng dải tần con, tùy thuộc
vào đặc tính của tín hiệu âm thanh trong từng dải tần con.
Giảm thiểu sự mất mát: SBC sử dụng các kỹ thuật giảm thiểu sự mất mát trong
quá trình mã hóa, nhằm tăng chất lượng dữ liệu được phát lại sau khi giải mã.
Có thể tùy chỉnh cấu hình mã hóa: SBC cho phép tùy chỉnh cấu hình mã hóa để
đạt được chất lượng và tốc độ truyền tải phù hợp với yêu cầu của ứng dụng cụ
thể.
Câu 5.1: Mã hóa nén dùng phép biến đổi (TC) dựa trên những cơ sở lý thuyết
nào, có kết hợp các phương pháp gì? Tại sao phương pháp TC này hiện nay được
dùng nhiều trong chuẩn nén dữ liệu ảnh/video, audio? Tại sao TC có thể đạt tỷ số
nén cao và làm thế nào để hiệu chỉnh hiệu năng nén?
Mã hóa nén dùng phép biến đổi (TC) dựa trên các cơ sở lý thuyết về phân tích
tín hiệu thành các thành phần tần số. Các phương pháp phổ biến nhất được sử
dụng trong TC bao gồm:
 Phép biến đổi cosinus rời rạc (DCT): DCT là phương pháp biến đổi tín
hiệu từ miền thời gian sang miền tần số, cho phép tách tín hiệu thành các
thành phần tần số khác nhau. DCT được sử dụng rộng rãi trong các chuẩn
nén dữ liệu ảnh và video như JPEG và MPEG.
 Phép biến đổi sóng rời rạc (DWT): DWT cũng là phương pháp biến đổi tín
hiệu từ miền thời gian sang miền tần số, nhưng nó sử dụng các hàm sóng
thay vì hàm cosinus để phân tích tín hiệu thành các thành phần tần số.
DWT được sử dụng trong nhiều chuẩn nén dữ liệu ảnh và video như
JPEG2000 và H.264.
 Kết hợp giữa DCT và DWT: Trong một số ứng dụng, sử dụng cả DCT và
DWT có thể cải thiện hiệu suất nén và chất lượng hình ảnh hoặc video
được nén.
 Ngoài ra, TC còn kết hợp với các phương pháp khác như mã hóa entropy,
quantization, motion estimation, và predictive coding để đạt được tỷ lệ nén
cao và chất lượng hình ảnh, video hoặc âm thanh được nén tốt.
Phương pháp mã hóa nén dùng phép biến đổi (TC) được sử dụng nhiều trong
chuẩn nén dữ liệu ảnh/video, audio vì có những ưu điểm sau:
 Hiệu quả cao: Phép biến đổi TC giúp chuyển đổi dữ liệu không gian sang
tần số, từ đó giúp phân tích và tách bớt những thông tin không cần thiết
trong tần số cao và giữ lại những thông tin quan trọng ở tần số thấp, từ đó
giảm được kích thước của tập tin đầu vào mà vẫn giữ được chất lượng.
 Tính ổn định: Phương pháp TC độc lập với các tính chất không gian của
tập tin đầu vào, do đó các tập tin đầu vào có kích thước khác nhau vẫn có
thể áp dụng được phương pháp TC một cách hiệu quả.
 Dễ dàng triển khai: Các phép biến đổi TC như DCT, DWT, FFT... đã được
đưa vào các thư viện, công cụ phần mềm và phần cứng nên rất dễ dàng
triển khai trong các ứng dụng thực tế.
 Tương thích: Phương pháp TC được sử dụng rộng rãi trong các chuẩn nén
dữ liệu ảnh, video và âm thanh như JPEG, MPEG, MP3... giúp các tập tin
được mã hóa theo chuẩn này có thể phát lại và truyền tải dễ dàng trên
nhiều thiết bị khác nhau.
TC có thể đạt tỷ số nén cao do việc biến đổi tín hiệu từ miền không gian hay thời
gian sang miền tần số giúp tách được các thành phần tần số cao và thấp của tín
hiệu. Các thành phần tần số cao thường có độ phức tạp thấp và đóng góp ít hơn
vào nội dung của tín hiệu so với các thành phần tần số thấp, do đó chúng có thể
được loại bỏ một cách hiệu quả mà không gây ra sự thay đổi đáng kể trong nội
dung của tín hiệu.
Để hiệu chỉnh hiệu năng nén, chúng ta có thể điều chỉnh các tham số trong quá
trình mã hóa như mức độ nén, số lượng bit được sử dụng để lưu trữ các giá trị
sau khi biến đổi tín hiệu, hay chọn các giá trị ngưỡng khác nhau để lọc các thành
phần tần số cao. Ngoài ra, các kỹ thuật khác như sử dụng mã hóa hình ảnh có
mất mát hay không mất mát, hoặc sử dụng kỹ thuật nén dữ liệu phân cấp có thể
được áp dụng để tăng hiệu năng nén của hệ thống.

Câu 5.2: Phép biến đổi DCT. Tại sao DCT được dùng nhiều trong các chuẩn nén
ảnh/ video (giải thích tính chất tập trung năng lượng, giải tương quan và cho
phép xây dựng thuật toán tính nhanh của DCT). Thành phần DC của DCT là gì
và tại sao dùng DPCM mã hóa các DC của các khối điểm ảnh?
Tính chất tập trung năng lượng của DCT có nghĩa là hầu hết năng lượng của tín
hiệu sẽ được tập trung ở một số lượng nhỏ các hệ số của miền tần số. Nhờ tính
chất này, các hệ số DCT có giá trị rất gần với 0 sẽ không ảnh hưởng đáng kể đến
chất lượng của tín hiệu sau khi được tái tạo. Do đó, trong quá trình nén tín hiệu
hình ảnh hoặc âm thanh, các hệ số DCT có giá trị gần bằng 0 có thể được loại bỏ
mà không làm mất nhiều thông tin quan trọng. Điều này giúp giảm kích thước
tệp và tốc độ truyền dữ liệu.
Giải tương quan (Correlation): Các hệ số DCT được tính bằng cách tính tích vô
hướng của tín hiệu với các hàm cosin khác nhau. Điều này có nghĩa là các hệ số
DCT sẽ phản ánh mức độ tương quan giữa các phần của tín hiệu. Nếu hai phần
của tín hiệu tương quan cao, các hệ số DCT tương ứng sẽ có giá trị lớn. Tương
tự, nếu hai phần của tín hiệu không tương quan, các hệ số DCT tương ứng sẽ có
giá trị gần bằng 0.
Thuật toán tính nhanh DCT: DCT thường được tính toán bằng cách sử dụng FFT
(Fast Fourier Transform) để tính toán các hệ số. Tuy nhiên, có một số thuật toán
khác được phát triển để tính toán DCT nhanh hơn, bao gồm thuật toán DCT-IV
và thuật toán DCT-VII. Các thuật toán này sử dụng các công thức đơn giản hơn
để tính toán các hệ số DCT và yêu cầu ít bộ nhớ hơn so với việc sử dụng FFT.
Do đó, chúng được sử dụng rộng rãi trong các ứng dụng thực tế.
Trong nén ảnh JPEG mã hóa dự đoán DPCM được áp dụng để mã hóa thành
phần DC của ảnh. Phương pháp mã hóa này được sử dụng là do thành phần DC
trong JPEG là lớn và khác nhau, các thành phần DC kế tiếp thường gần bằng
nhau. Vì vậy độ tương quan giữa mẫu hiện tại và mẫu ở thời điểm trước là lớn.
Nên áp dụng phương pháp mã hóa dự đoán DPCM để mã hóa thành phần DC sẽ
mang lại tỉ số nén cao.

Câu 5.3: Tóm tắt cơ sở lý thuyết, sơ đồ và thuật toán thực hiện DWT cho ảnh
2D/ video
Biến đổi wavelet rời rạc (DWT - Discrete Wavelet Transform) là một phương
pháp chuyển đổi tín hiệu từ miền thời gian sang miền tần số, trong đó tín hiệu
được biểu diễn dưới dạng tổng các hàm wavelet ở các tần số và tỷ lệ khác nhau.
DWT được sử dụng rộng rãi trong xử lý tín hiệu số, nhất là trong xử lý tín hiệu
hình ảnh và video, để phân tích và tái tạo tín hiệu với độ phân giải khác nhau.
Sơ đồ DWT cho ảnh 2D / video:
 Bước 1: Áp dụng biến đổi wavelet theo chiều dọc của ảnh/ video để thu
được các giá trị wavelet hệ số (LL, LH, HL, HH) của các khối hình chữ
nhật.
 Bước 2: Áp dụng biến đổi wavelet theo chiều ngang của ảnh/ video để thu
được các giá trị wavelet hệ số của các khối hình chữ nhật trong kết quả
bước 1.
 Bước 3: Lặp lại các bước 1 và 2 với các khối hình chữ nhật thu được từ
các giá trị wavelet hệ số LL để thu được các giá trị wavelet hệ số của các
khối nhỏ hơn.
Thuật toán thực hiện DWT cho ảnh 2D/ video:
 Chọn một hàm wavelet và một mức độ (level) DWT.
 Chia ảnh/ video ban đầu thành các khối hình chữ nhật có kích thước bằng
với độ phân giải của ảnh/ video.
 Áp dụng biến đổi wavelet theo chiều dọc của các khối hình chữ nhật để
thu được các giá trị wavelet hệ số.
 Áp dụng biến đổi wavelet theo chiều ngang của các khối hình chữ nhật thu
được ở bước trước để thu được các giá trị wavelet hệ số của các khối hình
chữ nhật trong kết quả bước 3.
 Lặp lại các bước 3 và 4 với các khối hình chữ nhật thu được từ các giá trị
wavelet hệ số LL để thu được các giá trị wavelet hệ số của các khối nhỏ
hơn.
 Tái tạo ảnh/ video từ các giá trị wavelet hệ số thu được bằng cách áp dụng
biến đổi ngược (inverse DWT).

Câu 5.4: Mã hoá DWT trong jpeg2000


 Ảnh nguồn được phân tách thành các thành phần ảnh (các thành phần màu
YUV - YCrCb).
 Các thành phần ảnh được phân tách (tùy chọn) thành các ô hình chữ nhật.
Thành phần ô là đơn vị cơ bản của ảnh gốc hoặc ảnh tái tạo.
 Phép biến đổi sónglet (DWT) được áp dụng trên mỗi ô hình ảnh. Ô hình
được phân tách thành các cấp độ độ phân giải khác nhau.
 Các cấp độ phân giải được tạo thành từ các mảnh con của các hệ số DWT
mô tả đặc tính tần số của các khu vực địa phương của các thành phần ô
hình, chứ không phải trên toàn bộ thành phần ảnh.
 Các mảnh con của hệ số DWT được định lượng và thu thập vào các mảng
ô hình mã hóa.
 Các mặt phẳng bit của các hệ số trong một ô hình mã hóa (tức là các bit có
ý nghĩa bằng nhau trên các hệ số trong một ô hình) được mã hóa thông tin
năng lượng.
 Việc mã hóa có thể được thực hiện sao cho một số khu vực quan tâm
(ROI) có thể được mã hóa với chất lượng cao hơn so với phần nền.
 Đánh dấu được thêm vào luồng bit để cho phép khả năng chống lỗi.
 Dòng mã có một tiêu đề chính ở đầu mô tả ảnh gốc và các phong cách
phân tách và mã hóa được sử dụng để xác định, trích xuất, giải mã và tái
tạo ảnh với độ phân giải, độ trung thực, vùng quan tâm hoặc các đặc tính
khác mong muốn.

Câu 5.5: Phân biệt biến đổi liên thành phần và đơn thành phần
JPEG2000 là một phương pháp nén ảnh, trong đó có sử dụng các biến đổi liên
thành phần và đơn thành phần để tạo ra dữ liệu nén.
Các biến đổi liên thành phần được sử dụng để giảm thiểu sự trùng lặp dữ liệu
trong các thành phần màu khác nhau của ảnh. Điều này được thực hiện bằng
cách áp dụng biến đổi Wavelet 2D trên các thành phần màu và sau đó kết hợp
các thông tin được thu thập từ các biến đổi khác nhau để tạo ra dữ liệu nén.
Các biến đổi đơn thành phần được sử dụng để tách dữ liệu ảnh thành các thành
phần có tần số khác nhau. Điều này được thực hiện bằng cách áp dụng biến đổi
Wavelet 2D trên ảnh và tách ra các thông tin về tần số cao và thấp. Sau đó, các
thông tin về tần số thấp được lưu trữ với độ chính xác cao hơn để đảm bảo rằng
chất lượng của hình ảnh được giữ nguyên, trong khi các thông tin về tần số cao
được lưu trữ với độ chính xác thấp hơn để giảm kích thước dữ liệu.
Tóm lại, biến đổi liên thành phần được sử dụng để giảm thiểu sự trùng lặp giữa
các thành phần màu của ảnh, trong khi biến đổi đơn thành phần được sử dụng để
tách dữ liệu thành các thành phần tần số khác nhau và giảm kích thước dữ liệu
của ảnh.

Câu 5.6: Quy trình xử lý nén ảnh jpeg 2000


Qui trình xử lý nén ảnh JPEG2000 bao gồm các bước sau:
 Phân tích hình ảnh: Ảnh gốc được chia thành các thành phần màu (RGB
hoặc YCbCr).
 Phân tích đa phân giải (multiresolution analysis): Sử dụng phép biến đổi
DWT để phân tích đa phân giải các thành phần của ảnh.
 Lượng tử hóa (quantization): Các hệ số biến đổi được chia thành các
khoảng lượng tử và được làm tròn thành giá trị nguyên để giảm số lượng
thông tin trong ảnh.
 Nén Entropy: Các hệ số biến đổi được mã hóa entropically để giảm kích
thước của tập tin ảnh.
 Tinh chỉnh bit (bitstream refinement): Lặp lại các bước lượng tử hóa và
nén entropy để cải thiện chất lượng và kích thước của tập tin ảnh.
 Ghi dữ liệu: Dữ liệu được lưu trữ và ghi vào tập tin ảnh.
 Phục hồi ảnh: Tập tin ảnh được đọc và giải mã để khôi phục lại ảnh ban
đầu.
Tóm lại, quá trình nén ảnh JPEG2000 sử dụng phương pháp phân tích đa phân
giải và lượng tử hóa để giảm kích thước tập tin ảnh. Sau đó, các hệ số biến đổi
được mã hóa entropy và tinh chỉnh bit để cải thiện chất lượng và kích thước của
tập tin ảnh. Cuối cùng, tập tin ảnh được lưu trữ và giải mã để khôi phục lại ảnh
ban đầu.

Câu 5.7: Sơ đồ và thuật toán mã hóa nén JPEG2000 (2 pha mã hóa Tier 1, 2)
Pha mã hóa Tier 1:
Tạo tập hợp các tile ảnh vuông (tile-component) từ các thành phần màu của ảnh
đầu vào (thường là YCbCr).
 Áp dụng phép biến đổi wavelet rời rạc (DWT) 2 chiều trên từng tile-
component. Kết quả của phép biến đổi là các hệ số DWT, tạo thành các
subband.
 Tìm giá trị trung bình và độ lệch chuẩn của các subband.
 Áp dụng thuật toán EZW (Embedded Zerotree Wavelet) để mã hóa các hệ
số DWT. Thuật toán này xác định các giá trị bằng 0 và chỉ mã hóa những
giá trị khác 0, tạo ra dữ liệu nén hiệu quả.
 Chọn các hệ số DWT được mã hóa để tạo thành các code block. Các hệ số
này được sắp xếp theo thứ tự mức độ quan trọng để cho phép mã hóa hiệu
quả hơn.
 Tạo các bit-plane của các hệ số trong từng code block và mã hóa entropy
các bit-plane này.
 Chọn chế độ mã hóa để tạo các tập tin nén cho phù hợp với yêu cầu của
ứng dụng.
Pha mã hóa Tier 2:
 Xây dựng một bảng giá trị của các hệ số trong từng tile-component. Bảng
này được sử dụng để tối ưu hóa việc lựa chọn các code block cho từng
tile-component.
 Áp dụng thuật toán T1 (Tiling 1) để nén các code block theo từng tile-
component. Thuật toán này loại bỏ các code block không cần thiết và
chuyển các hệ số nén sang các kích thước khác nhau để giảm thiểu dung
lượng dữ liệu nén.
 Áp dụng thuật toán T2 (Tiling 2) để kết hợp các code block theo các kích
thước khác nhau trong từng tile-component thành một tập tin dữ liệu nén
duy nhất.
 Thêm các header vào tập tin nén để mô tả các thông tin cần thiết để giải
nén dữ liệu, chẳng hạn như kích thước ảnh, số lượng tile-component và
thông tin về phương pháp biến đổi và mã hóa được sử dụng.

Câu 6.1: Cho biết tại sao mã hóa âm thanh có 2 cách tiếp cận và 2 họ chuẩn riêng
(chuẩn ITU-T và MPEG)? Tín hiệu và định dạng audio khác với tín hiệu và định
dạng ảnh/ video như thế nào?
Speech coding (mã hóa giọng nói) và audio coding (mã hóa âm thanh) là hai loại
mã hóa tín hiệu âm thanh khác nhau và được sử dụng cho các mục đích khác
nhau.
Speech coding được sử dụng để mã hóa giọng nói của con người, với mục đích
chủ yếu là truyền tải giọng nói qua mạng điện thoại và các mạng truyền thông
khác. Speech coding tập trung vào các tính chất của giọng nói, ví dụ như tần số
cơ bản, tần số hình chữ nhật, độ phức tạp âm thanh và nhiễu. Do đó, speech
coding sử dụng các kỹ thuật mã hóa tín hiệu tiếng nói theo chuẩn ITU.
Audio coding, ngược lại, được sử dụng để mã hóa âm thanh trong các ứng dụng
khác, chẳng hạn như lưu trữ và phát lại âm nhạc. Audio coding tập trung vào các
tính chất khác của tín hiệu âm thanh, ví dụ như độ phân giải, độ chính xác của
tần số và độ lớn. Do đó, audio coding sử dụng các kỹ thuật mã hóa tín hiệu âm
thanh khác nhau, ví dụ như MPEG Audio Layer 3 (MP3).
Tín hiệu và định dạng audio khác với tín hiệu và định dạng ảnh/video ở những
điểm sau:
 Tín hiệu âm thanh là tín hiệu dạng sóng âm, trong khi đó tín hiệu
ảnh/video là tín hiệu dạng số.
 Tín hiệu âm thanh được truyền đi và phát lại liên tục theo thời gian, trong
khi đó tín hiệu ảnh/video được truyền đi và phát lại liên tục theo không
gian.
 Tín hiệu âm thanh có các thông số cơ bản như tần số, độ lớn và thời gian,
trong khi đó tín hiệu ảnh/video có các thông số cơ bản như kích thước, độ
phân giải và số khung hình/giây.
 Định dạng audio thường sử dụng các định dạng file như WAV, MP3,
AAC, FLAC,... trong khi đó định dạng ảnh/video thường sử dụng các định
dạng file như JPEG, PNG, GIF, MPEG, AVI,...

Câu 6.2: Trình bày tóm tắt 3 phương pháp cơ sở mã hóa tiếng nói thoại và cho
biết các phương pháp này được dùng trong VOIP như thế nào?
Có ba phương pháp mã hóa tiếng nói khác nhau:
Mã hoá dạng sóng: Phương pháp này mã hoá dữ liệu âm thanh bằng cách lưu trữ
các giá trị âm thanh liên tục theo thời gian. Ví dụ với định dạng .wav, âm thanh
sẽ được lưu trữ dưới dạng các giá trị số biểu diễn âm lượng và tần số. Phương
pháp này không nén dữ liệu, do đó yêu cầu băng thông lớn hơn.
Mã hoá nguồn tiếng nói: Phương pháp này mã hoá dữ liệu âm thanh bằng cách
nén dữ liệu theo các kỹ thuật lập trình để loại bỏ các thông tin không cần thiết
trong âm thanh. Ví dụ với định dạng .mp3, các thông tin không cần thiết như
tiếng ồn hoặc âm thanh tần số thấp có thể được loại bỏ để giảm kích thước tệp và
yêu cầu băng thông.
Mã hoá hybrid: Phương pháp này kết hợp mã hóa dạng sóng và mã hóa nguồn để
cung cấp chất lượng âm thanh tốt hơn với băng thông nhỏ hơn. Ví dụ, mã hoá
hybrid trong VOIP sử dụng G.729 để mã hoá nguồn và sử dụng mã hoá dạng
sóng để mã hoá các khung âm thanh để chuyển truyền.
Tùy thuộc vào mục đích và ứng dụng của các ứng dụng âm thanh, người dùng có
thể lựa chọn phương pháp mã hóa phù hợp để đảm bảo chất lượng âm thanh tốt
nhất với băng thông thấp nhất có thể.

Câu 6.3: Tại sao có nhiều chuẩn ITU


Các chuẩn mã hóa nén tiếng nói theo ITU-T gồm nhiều chuẩn cụ thể với mã
chuẩn riêng biệt bao gồm PCM, DPCM, LPC, vv. vì mỗi phương pháp mã hóa
có những ưu điểm và hạn chế riêng, và áp dụng được cho các ứng dụng khác
nhau.
Ví dụ, PCM (Pulse Code Modulation) là một phương pháp mã hóa dạng sóng cơ
bản, cho phép chuyển đổi tín hiệu âm thanh thành các giá trị số dưới dạng mã
hóa nhị phân. Đây là một phương pháp đơn giản và dễ triển khai, nhưng có kích
thước tệp lớn hơn so với các phương pháp nén khác.
Trong khi đó, LPC (Linear Predictive Coding) là một phương pháp mã hóa
nguồn, cho phép loại bỏ các thông tin không cần thiết trong tín hiệu âm thanh
bằng cách sử dụng các kỹ thuật dự đoán tín hiệu và giảm thiểu số lượng dữ liệu
cần được truyền đi. Vì vậy, phương pháp LPC thường được sử dụng trong các
ứng dụng VoIP để giảm thiểu băng thông truyền tải.
Ngoài ra, DPCM (Differential Pulse Code Modulation) là một phương pháp mã
hóa dựa trên việc lưu trữ sự khác biệt giữa các mẫu tín hiệu liền kề thay vì lưu
trữ từng mẫu tín hiệu một. Phương pháp này giúp giảm kích thước tệp nhưng đòi
hỏi nhiều tài nguyên xử lý hơn để giải mã.

Câu 6.4: Đánh giá ITU-T


Để đánh giá hiệu năng của các bộ CODEC tiếng nói thoại, ITU-T đã đưa ra các
độ đo đánh giá sau:
MOS (Mean Opinion Score): MOS là một độ đo đánh giá chất lượng âm thanh
dựa trên đánh giá của con người về chất lượng của tín hiệu âm thanh được mã
hóa và giải mã. MOS được đánh giá bằng cách đưa cho một nhóm người tham
gia nghe các tín hiệu âm thanh được mã hóa và giải mã bằng các bộ CODEC
khác nhau, sau đó họ đánh giá chất lượng của âm thanh đó trên thang điểm từ 1
đến 5. MOS được tính bằng giá trị trung bình của các điểm số đó.
PESQ (Perceptual Evaluation of Speech Quality): PESQ là một độ đo đánh giá
chất lượng âm thanh dựa trên độ tương đồng giữa tín hiệu âm thanh gốc và tín
hiệu âm thanh được mã hóa và giải mã. PESQ sử dụng thuật toán để đo lường độ
tương đồng giữa hai tín hiệu âm thanh, sau đó đánh giá chất lượng của âm thanh
đó trên thang điểm từ 0 đến 4.5.
STOI (Short-Time Objective Intelligibility): STOI là một độ đo đánh giá khả
năng thông hiểu của tiếng nói trong môi trường ồn và được tính bằng cách đo độ
tương đồng giữa tín hiệu âm thanh gốc và tín hiệu âm thanh được mã hóa và giải
mã. STOI đánh giá khả năng thông hiểu của tiếng nói trên thang điểm từ 0 đến 1.
Các độ đo đánh giá này cung cấp cho người dùng, nhà sản xuất và các tổ chức
kiểm định một cách tiêu chuẩn để đánh giá hiệu năng của các bộ CODEC tiếng
nói thoại và đưa ra quyết định cho việc sử dụng các bộ CODEC trong các ứng
dụng khác nhau.

Câu 6.5: Tại sao không sử dụng mô hình cảm thụ với speech coding?
Trong mã hóa tiếng nói thoại, phương pháp mã hóa dựa trên mô hình cảm thụ
thường không được sử dụng vì các ứng dụng tiếng nói thường đòi hỏi tốc độ xử
lý nhanh và các phương pháp đơn giản để giảm thiểu thông tin không cần thiết.
Do đó, các phương pháp mã hóa tiếng nói thoại thường dựa trên các thuật toán
đơn giản hơn, chẳng hạn như LPC (Linear Predictive Coding) và CELP (Code-
Excited Linear Prediction). Các phương pháp này tập trung vào các tính năng
quan trọng của tín hiệu tiếng nói, chẳng hạn như tần số và năng lượng, để giảm
thiểu thông tin không cần thiết và tăng tốc độ xử lý.

Câu 6.6: Tần số mẫu và tốc độ dữ liệu audio trong mpeg


Chuẩn MPEG về âm thanh định nghĩa tần số lấy mẫu là số lần mẫu âm thanh
được lấy trong một giây. Các giá trị chuẩn của tần số lấy mẫu là 32 kHz, 44.1
kHz và 48 kHz. Tần số lấy mẫu càng cao, chất lượng âm thanh càng tốt nhưng
đồng thời yêu cầu băng thông truyền tải dữ liệu cũng cao hơn.
Tốc độ dữ liệu audio theo chuẩn MPEG là số bit dữ liệu được truyền trong một
giây để tái tạo âm thanh. Các giá trị chuẩn của tốc độ dữ liệu audio là 32, 48, 56,
64, 112, 128, 192, 256 và 384 Kbit/s. Tốc độ dữ liệu audio càng cao, chất lượng
âm thanh càng tốt nhưng đồng thời yêu cầu băng thông truyền tải cũng cao hơn.
Việc chọn giá trị tần số lấy mẫu và tốc độ dữ liệu audio phù hợp là rất quan trọng
để đảm bảo chất lượng âm thanh đáp ứng yêu cầu của ứng dụng sử dụng.

Câu 6.7: Tại sao 32 dải tần con?


Một trong những lý do chính mà chuẩn MPEG qui định phân tích tín hiệu số
audio thành 32 dải tần con bằng phương pháp subband là để giảm bớt lượng dữ
liệu cần truyền tải và lưu trữ. Thay vì truyền tải toàn bộ tín hiệu audio, chúng ta
chỉ cần truyền tải 32 dải tần con, từ đó giảm bớt lượng dữ liệu cần truyền tải đi
đáng kể.
Việc sử dụng băng lọc 32 bộ lọc thông dải để phân tích tín hiệu audio thành 32
dải tần con giúp chúng ta có thể xác định các dải tần con với độ rộng băng thông
nhỏ hơn so với cách phân tích tín hiệu audio thông thường. Nhờ vậy, chúng ta có
thể chuyển đổi các tín hiệu audio từ dạng tín hiệu liên tục sang dạng tín hiệu rời
rạc, giúp dễ dàng xử lý và nén dữ liệu hơn.
Ngoài ra, phương pháp subband còn giúp chúng ta có thể thực hiện xử lý tín hiệu
như tách âm thanh và giọng nói, giúp cho việc mã hóa và nén tín hiệu audio trở
nên hiệu quả hơn.

Câu 6.8: Trình bày thuật toán xử lý thực hiện Subband thành 32 tín hiệu dải tần
con trong sơ đồ MP3 và cho biết trong trường hợp tần số lấy mẫu tín hiệu là 48
kHz thì mỗi dải tần con có độ rộng tần số (dải phổ tín hiệu số) là bao nhiêu?
Thuật toán xử lý để phân tích tín hiệu audio thành 32 dải tần con theo phương
pháp Subband trong chuẩn MPEG Layer 3 (MP3) gồm các bước như sau:
Tiền xử lý tín hiệu audio: Bước này bao gồm các hoạt động như lấy mẫu, lọc tín
hiệu và phân tích khối.
Chia tín hiệu audio thành các khối có độ dài bằng nhau.
Áp dụng bộ lọc thông dải cho từng khối tín hiệu audio: Mỗi khối tín hiệu audio
sẽ được chia thành 32 dải tần con bằng cách sử dụng bộ lọc thông dải. Các bộ
lọc này được thiết kế để loại bỏ các tín hiệu có tần số cao hơn mức tần số tối đa
có thể xử lý. Điều này giúp giảm bớt lượng thông tin không cần thiết được xử lý.
Thực hiện đổi Fourier ngược để chuyển đổi tín hiệu từ miền tần số sang miền
thời gian: Sau khi phân tích tín hiệu audio thành 32 dải tần con, chúng ta cần
chuyển đổi từ miền tần số sang miền thời gian để tạo ra các tín hiệu dạng sóng.
Điều này được thực hiện thông qua quá trình IFFT.
Kết hợp các tín hiệu tín hiệu dạng sóng thu được từ các bộ lọc thông dải để tạo ra
tín hiệu âm thanh ban đầu: Sau khi đã chuyển đổi các tín hiệu dạng sóng từ 32
dải tần con, chúng ta kết hợp các tín hiệu này để tạo ra tín hiệu âm thanh ban
đầu.
Mỗi dải tần con có độ rộng: 48khz/32 = 1500hz

Câu 7.1: Thành phần màu trong video, tại sao sử dụng yuv/ycbcr
Tín hiệu video có thể được phân thành hai thành phần chính: thành phần độ sáng
(luminance) và thành phần màu sắc (chrominance). Thành phần độ sáng chứa
thông tin về mức độ sáng của mỗi điểm ảnh, trong khi thành phần màu sắc chứa
thông tin về màu sắc của mỗi điểm ảnh.
Các chuẩn nén ảnh như JPEG, MPEG, H26X đều sử dụng hệ màu YUV hoặc
YCrCb để mã hóa tín hiệu video. Lý do cho việc sử dụng hệ màu này là vì nó có
tính chất phù hợp với thị giác của con người và cung cấp khả năng nén hiệu quả
hơn so với các hệ màu khác.
Hệ màu YUV hoặc YCrCb được tạo ra bằng cách chuyển đổi hệ màu RGB sang
hệ màu mới, trong đó kênh Y (luminance) chứa thông tin về độ sáng của mỗi
điểm ảnh, còn các kênh U và V hoặc Cr và Cb (chrominance) chứa thông tin về
màu sắc của mỗi điểm ảnh.
Hệ màu YUV/ YCrCb thường được sử dụng vì tính hiệu quả của nó trong việc
nén dữ liệu video mà vẫn đảm bảo chất lượng ảnh.

Câu 7.2: Mã hoá Inter/Intra:


Mã hóa Intraframe/Interframe Coding là một kỹ thuật kết hợp giữa hai phương
pháp mã hóa khung hình: mã hóa Intraframe (IFrame) và Interframe (PFrame).
IFrame là một khung hình được mã hóa độc lập với bất kỳ khung hình nào khác
trong chuỗi video, trong khi PFrame được mã hóa dựa trên khung hình trước đó.
Kỹ thuật mã hóa IFrame được sử dụng để giảm bớt nhiễu và khắc phục sự chênh
lệch giữa các khung hình, trong khi kỹ thuật mã hóa PFrame giúp giảm dung
lượng dữ liệu và tăng tốc độ truyền tải. Kỹ thuật mã hóa Intraframe/Interframe
Coding được sử dụng trong các chuẩn nén video như MPEG và H.264.

Câu 7.3: Các qui định về dữ liệu của chuẩn MPEG được thực hiện như thể nào
để mã hóa “Intraframe/ Interframe Coding”
I-frame (hay còn gọi là khung chính hoặc khung liên tục độc lập): là khung được
mã hóa độc lập với bất kỳ khung nào khác trong chuỗi video và chứa đầy đủ
thông tin của khung đó.
P-frame (hay còn gọi là khung dự đoán): được mã hóa dựa trên sự khác biệt giữa
nó và khung tham chiếu trước đó (I-frame hoặc P-frame). P-frame thường chứa
các phần thay đổi giữa khung tham chiếu và khung đang được mã hóa.
B-frame (hay còn gọi là khung nội suy): được mã hóa dựa trên sự khác biệt giữa
nó và khung tham chiếu trước và sau nó. B-frame thường chứa các phần thay đổi
giữa khung tham chiếu trước và khung đang được mã hóa, và giữa khung tham
chiếu sau và khung đang được mã hóa.
Câu 7.4: Khi thay đổi tham số GOP cho biết tỷ số nén và chất lượng ảnh
video thay đổi thế nào? Tại sao?
Điều chỉnh kích thước GOP trong quá trình mã hóa video có thể giúp đạt được
các mục đích khác nhau, bao gồm:
Tối ưu hóa tốc độ mã hóa: Kích thước GOP ảnh hưởng đến tốc độ mã hóa video.
Nếu kích thước GOP nhỏ, số lượng khung cần được mã hóa sẽ ít hơn, do đó tốc
độ mã hóa sẽ nhanh hơn. Tuy nhiên, việc sử dụng kích thước GOP nhỏ cũng có
thể làm giảm chất lượng video.
Giảm dung lượng dữ liệu: Kích thước GOP càng lớn, thì dung lượng dữ liệu của
chuỗi video càng nhỏ. Việc giảm dung lượng dữ liệu có thể giúp tiết kiệm băng
thông mạng và lưu trữ dữ liệu.
Cải thiện chất lượng hình ảnh: Nếu kích thước GOP nhỏ hơn, mỗi khung P-
frame hoặc B-frame càng giống với khung I-frame trước đó. Điều này có thể làm
giảm hiện tượng nhòe hình (motion blur) trong video và cải thiện chất lượng
hình ảnh.
Phù hợp với nhu cầu ứng dụng: Kích thước GOP cần phù hợp với nhu cầu ứng
dụng cụ thể. Ví dụ, trong các ứng dụng truyền hình thời gian thực, kích thước
GOP cần nhỏ để giảm độ trễ (latency) giữa các khung trong video. Trong khi đó,
trong các ứng dụng lưu trữ video, kích thước GOP có thể được tăng để giảm
dung lượng dữ liệu và tiết kiệm bộ nhớ lưu trữ.
Thay đổi số lượng khung B-frame trong mỗi GOP có thể ảnh hưởng đến chất
lượng video và tốc độ mã hóa. Khi có nhiều khung B-frame hơn trong mỗi GOP,
hệ thống mã hóa video sẽ có nhiều khung tham chiếu để sử dụng cho việc dự
đoán khung hình tiếp theo, giúp cải thiện chất lượng video và giảm lượng dữ liệu
cần truyền đi. Tuy nhiên, nếu có quá nhiều khung B-frame, tốc độ mã hóa có thể
chậm hơn và tạo ra các đoạn video không mượt.
Việc thay đổi số lượng khung B-frame trong mỗi GOP cần phải được cân nhắc
kỹ lưỡng để đạt được sự cân bằng giữa chất lượng video và tốc độ mã hóa.

Câu 7.5: Qui trình mã hóa nén video theo chuẩn MPEG-1
Qui trình mã hóa nén video theo chuẩn MPEG-1 bao gồm các bước sau:
 Chia khung hình thành các khối 8x8 pixel để sử dụng trong quá trình mã
hóa.
 Áp dụng thuật toán biến đổi cosi rời rạc (DCT) để chuyển đổi từ miền thời
gian sang miền tần số cho từng khối 8x8 pixel.
 Sử dụng ma trận lượng tử hóa để giảm số lượng bit cần thiết để lưu trữ
thông tin trong từng khối 8x8 pixel.
 Áp dụng mã hóa entropy để giảm số lượng bit cần thiết để lưu trữ thông
tin đầu ra. Mã hóa entropy sử dụng các phương pháp mã hóa như mã
Huffman hoặc mã RLE (run-length encoding) để biểu diễn thông tin một
cách hiệu quả.
 Sử dụng kỹ thuật mã hóa dự đoán động (motion estimation) để tìm ra các
khung tham chiếu gần đây nhất cho từng khung hình. Các khung tham
chiếu này được sử dụng để dự đoán nội dung của khung hiện tại và chỉ
trích các khác biệt giữa khung dự đoán và khung hiện tại.
 Áp dụng mã hóa entropy cho các khác biệt giữa khung dự đoán và khung
hiện tại.
 Gộp các khối 8x8 pixel đã được mã hóa vào các khung hình video nén.
 Đóng gói các khung hình video nén vào các GOP (group of pictures) để
chuẩn bị cho việc mã hóa và lưu trữ.
Trong qui trình này, các bước từ 1 đến 7 được lặp lại cho từng khối 8x8 pixel
trong từng khung hình video gốc. Các bước này được thực hiện theo thứ tự từ
trên xuống dưới và từ trái sang phải để tạo ra chuỗi video nén.

Câu 7.6: Ước lượng chuyển động


Ước lượng chuyển động (motion estimation) là một trong những kỹ thuật quan
trọng trong việc nén video. Nó được sử dụng để giảm thiểu lượng dữ liệu cần
được mã hóa bằng cách tìm ra sự di chuyển giữa các khung hình liên tiếp trong
video và chỉ mã hóa các khác biệt giữa các khung thay vì toàn bộ nội dung của
các khung.
Trong sơ đồ nén MPEG-1, thuật toán ước lượng chuyển động được thực hiện
theo các bước sau:
 Chọn một khung tham chiếu (reference frame) gần đây nhất để so sánh với
khung hiện tại.
 Chia khung hiện tại thành các khối 16x16 pixel (hay 8x8 pixel, tùy thuộc
vào kích thước GOP).
 Với mỗi khối 16x16 pixel trong khung hiện tại, tìm khối 16x16 tương ứng
trong khung tham chiếu gần đây nhất.
 Tìm sự di chuyển giữa các khối bằng cách tìm kiếm sự khớp tối ưu giữa
các khối 16x16 tương ứng.
 Lưu trữ vector chuyển động (motion vector) cho mỗi khối, biểu thị sự di
chuyển giữa khối hiện tại và khối tham chiếu tương ứng.
 Sử dụng các motion vector để xác định các khác biệt giữa khung hiện tại
và khung tham chiếu và chỉ mã hóa các khác biệt này.
Các motion vector thường được lưu trữ dưới dạng vector 2 chiều (horizontal và
vertical) với các giá trị nguyên, tương ứng với số lượng pixel cần di chuyển theo
chiều ngang và dọc để khối hiện tại phù hợp với khối tham chiếu.
Việc ước lượng chuyển động trong sơ đồ nén MPEG-1 giúp giảm lượng dữ liệu
cần được mã hóa và giảm kích thước của video nén, đồng thời cải thiện chất
lượng video và tăng tốc độ phát lại video.

Câu 7.7: Trình bày mã hóa dự đoán bù chuyển động frame P


Mã hóa dự đoán bù chuyển động (Predictive Interframe Coding) là một trong
những phương pháp quan trọng trong việc nén video. Đối với các khung P, nó sử
dụng thông tin về khung I (khung tham chiếu) và các khung P trước đó để dự
đoán các khung P tiếp theo và chỉ mã hóa sự khác biệt giữa các khung P và dự
đoán.
Thuật toán mã hóa dự đoán bù chuyển động cho khung P được thực hiện theo
các bước sau:
 Chọn khung tham chiếu gần nhất là một khung I hoặc một khung P đã
được mã hóa trước đó.
 Chia khung hiện tại thành các khối có kích thước là 16x16 pixel (hoặc 8x8
pixel).
 Tìm các khối trong khung tham chiếu gần nhất tương ứng với các khối
trong khung hiện tại bằng cách sử dụng thuật toán ước lượng chuyển
động.
 Sử dụng các motion vector để xác định các khác biệt giữa các khối trong
khung hiện tại và khung dự đoán (có được bằng cách ghép các khối trong
khung tham chiếu tương ứng lại với các motion vector tương ứng).
 Chỉ mã hóa các khác biệt giữa khung hiện tại và khung dự đoán.
Để tái tạo khung P từ khung dự đoán và các khác biệt, đầu tiên giải mã các khác
biệt để tạo ra khung được dự đoán, sau đó ghép khung dự đoán và khung được
dự đoán để tạo ra khung P.
Phương pháp mã hóa dự đoán bù chuyển động cho khung P giúp giảm lượng dữ
liệu cần được mã hóa và giảm kích thước của video nén, đồng thời cải thiện chất
lượng video và tăng tốc độ phát lại video.

Câu 7.8: Thế nào là SVC, “Sub-tream” là gì?


SVC là viết tắt của Scalable Video Coding, là một tiêu chuẩn nén video cho phép
mã hóa video ở nhiều mức độ chất lượng khác nhau. Nó cho phép tách một video
thành nhiều "lớp" (hay "tầng"), mỗi lớp tương ứng với một chất lượng video
khác nhau. Bằng cách này, SVC có thể cung cấp cho người dùng nhiều lựa chọn
để phát video ở các chất lượng khác nhau, phù hợp với băng thông mạng và thiết
bị người dùng.
Mỗi lớp của video được gọi là một "sub-stream" (luồng con), và các sub-stream
này được mã hóa theo cùng một phương pháp nén video. Khi một tín hiệu video
được nén theo tiêu chuẩn SVC, nó được chia thành các sub-streams. Các sub-
stream này được mã hóa độc lập với nhau, điều này cho phép người dùng lựa
chọn mức độ chất lượng thích hợp để phát video trên các thiết bị khác nhau.
Việc sử dụng SVC giúp tăng khả năng tương thích của video trên các thiết bị với
khả năng xử lý khác nhau, đồng thời cải thiện trải nghiệm người dùng. Tuy
nhiên, việc mã hóa video theo tiêu chuẩn SVC cần sử dụng các công cụ mã hóa
phức tạp hơn, và tốn nhiều tài nguyên hơn so với mã hóa video theo các tiêu
chuẩn khác.

Câu 7.9
SNR Scalability:
SNR Scalability là một kiểu của SVC, cho phép tạo ra các sub-streams của video
với độ phân giải và mức độ nén khác nhau, mà mỗi sub-stream tương ứng với
một mức độ giảm nhiễu (giảm độ trung thực) khác nhau. Điều này có nghĩa là
khi giảm độ trung thực của video, độ phân giải và mức độ nén của video sẽ được
giảm xuống, tuy nhiên nó vẫn có thể được phát lại trên các thiết bị có khả năng
xử lý yếu hoặc kết nối mạng kém.
Kỹ thuật thực hiện SNR Scalability thường sử dụng hai loại mã hóa khác nhau
để tạo ra các sub-streams. Loại đầu tiên là mã hóa Intra (I-frame), trong đó các
khung hình được nén độc lập với các khung hình khác. Loại thứ hai là mã hóa
Predictive (P-frame), trong đó các khung hình được nén bằng cách dự đoán các
khung hình trước đó. Tuy nhiên, ở chế độ SNR Scalability, các P-frame được
nén với mức độ nén thấp hơn so với các P-frame trong chế độ mã hóa thông
thường, để giảm nhiễu và tăng độ trung thực của video.
Spatial scalability:
Spatial Scalability là một trong hai kiểu SVC (Scalable Video Coding), cho phép
tạo ra các sub-streams của video với độ phân giải khác nhau, mà mỗi sub-stream
tương ứng với một mức độ giảm nén khác nhau. Điều này có nghĩa là khi giảm
độ phân giải của video, mức độ nén sẽ được tăng lên, tuy nhiên vẫn có thể phát
lại trên các thiết bị có độ phân giải thấp hơn hoặc kết nối mạng kém hơn.
Kỹ thuật thực hiện Spatial Scalability thường sử dụng hai loại mã hóa khác nhau
để tạo ra các sub-streams. Loại đầu tiên là mã hóa Intra (I-frame), trong đó các
khung hình được nén độc lập với các khung hình khác. Loại thứ hai là mã hóa
Predictive (P-frame), trong đó các khung hình được nén bằng cách dự đoán các
khung hình trước đó. Tuy nhiên, ở chế độ Spatial Scalability, các P-frame được
nén với mức độ nén thấp hơn so với các P-frame trong chế độ mã hóa thông
thường, để đảm bảo tính liên tục và giảm thiểu hiện tượng blockiness khi giảm
độ phân giải.
Temporal scalability:
Temporal scalability là một kỹ thuật trong nén video để cho phép truyền tải
video ở các mức độ chất lượng và độ phân giải khác nhau. Kỹ thuật này cho
phép giảm bớt tần số khung hình (frame rate) của video, làm giảm khối lượng dữ
liệu và tăng khả năng truyền tải video trên các kênh băng thông hẹp.
Thuật toán chính để thực hiện temporal scalability trong nén video là dự đoán
các khung hình mới dựa trên các khung hình trước đó. Để thực hiện điều này,
một số khung hình được chọn để được mã hóa một cách đầy đủ và được gọi là
khung IDR (Instantaneous Decoder Refresh). Các khung hình khác được mã hóa
chỉ bằng việc lưu trữ các thông tin về sự khác biệt giữa chúng và các khung hình
tham chiếu trước đó. Các khung hình này được gọi là khung P (predicted) và
khung B (bi-predicted).

Câu 7.10: SVC và MPEG1


SVC (Scalable Video Coding) là một tiêu chuẩn mã hóa video được phát triển
bởi ITU-T và MPEG (Moving Picture Experts Group) để hỗ trợ việc truyền tải
video trong mạng có băng thông thấp hoặc không đồng nhất.
Sơ đồ kiến trúc tổng quát của SVC gồm có các thành phần chính như sau:
 Encoder: Chịu trách nhiệm chuyển đổi tín hiệu video đầu vào thành các
khung hình video được mã hóa.
 Decoder: Thực hiện giải mã các khung hình video đã được mã hóa và tạo
ra đầu ra video.
 Scalability Structure: Cung cấp cơ chế để phân chia video thành các tầng
dữ liệu khác nhau để hỗ trợ việc truyền tải video trên mạng không đồng
nhất.
 Layered Encoding: Mã hóa video theo kiểu lớp, mỗi lớp được xử lý và mã
hóa một cách độc lập với các lớp khác. Các lớp này có thể được sử dụng
để tạo ra các phiên bản video với chất lượng khác nhau.
SVC được liên kết chặt chẽ với tiêu chuẩn MPEG1. MPEG1 là một tiêu chuẩn
mã hóa video được phát triển bởi MPEG để hỗ trợ việc nén video và phát hình
ảnh chất lượng cao trên các thiết bị phát khác nhau. Như vậy, SVC có thể sử
dụng các codec MPEG1 để thực hiện mã hóa và giải mã các khung hình video.
Thêm vào đó, SVC sử dụng một số kỹ thuật của MPEG1 như cơ chế mã hóa theo
khối, biến đổi cosinus, phân tích ngưỡng và mã hóa vòng lặp để tạo ra các khung
hình video có chất lượng cao và kích thước nhỏ hơn.

Câu 7.11: Chuẩn MPEG qui định TS (Transport Stream) như thế nào? Trình bày
mô hình TS liên quan thế nào đến kỹ thuật nén và đồng bộ dữ liệu video
Chuẩn MPEG qui định TS (Transport Stream) là một chuẩn truyền tải dữ liệu đa
phương tiện, được sử dụng rộng rãi trong việc truyền tải các luồng video và âm
thanh từ nguồn gốc đến các thiết bị đầu cuối, chẳng hạn như TV, STB (Set-Top
Box), các thiết bị ghi đĩa, máy tính và các thiết bị di động.
Mô hình TS liên quan chặt chẽ đến kỹ thuật nén và đồng bộ dữ liệu video. TS
bao gồm các thành phần chính như sau:
 Packetized Elementary Stream (PES): Là một khối dữ liệu được mã hóa và
đóng gói theo chuẩn MPEG, bao gồm các khối video, âm thanh, hoặc các
loại dữ liệu khác.
 Transport Packet: Là một khối dữ liệu cơ bản của TS, có kích thước là 188
byte và bao gồm các trường header và payload. Trong đó, header chứa các
thông tin về các gói dữ liệu, bao gồm sync byte, PID (Packet Identifier),
Continuity Counter, và các thông tin khác.
 Program Specific Information (PSI): Là một loại dữ liệu chứa thông tin về
cấu trúc của các kênh phát sóng, gồm Program Association Table (PAT),
Program Map Table (PMT), và các loại PSI khác.

TS có thể được sử dụng để truyền tải các luồng video được nén bằng các chuẩn
mã hóa như MPEG-2, MPEG-4 và H.264. Khi các luồng video này được nén,
chúng sẽ được chia thành các khối dữ liệu nhỏ hơn và được đóng gói trong các
PES. Sau đó, các PES này sẽ được đóng gói vào các transport packet và truyền
tải đến các thiết bị đầu cuối.
Việc sử dụng TS để truyền tải các luồng video nén có nhiều lợi ích. Đầu tiên, TS
cho phép truyền tải các luồng dữ liệu khác nhau trên cùng một kênh truyền, tạo
điều kiện thuận lợi cho việc truyền tải các kênh truyền hình đa kênh. Thứ hai, TS
cung cấp một cơ chế đồng bộ dữ liệu cho các khối dữ liệu video, đảm bảo rằng
các khối này sẽ được giải mã theo đúng thứ tự và không bị mất mát dữ liệu.

Câu 7.12: Chuẩn MPEG - TS liên quan đến lưu trữ file video và truyền dòng
video trong ứng dụng video streaming online thế nào?
Chuẩn MPEG - TS có ứng dụng rộng rãi trong việc lưu trữ và truyền tải video.
Cụ thể, nó có liên quan đến lưu trữ file video và truyền dòng video trong ứng
dụng video streaming online như sau:
 Lưu trữ file video: Chuẩn MPEG - TS cho phép lưu trữ các file video dưới
dạng các transport stream. Các transport stream này có thể được lưu trữ
trên đĩa cứng hoặc các thiết bị lưu trữ khác. Các file transport stream này
thường chứa nhiều luồng dữ liệu, bao gồm các luồng video, âm thanh và
các luồng dữ liệu khác.
 Truyền dòng video trong ứng dụng video streaming online: Chuẩn MPEG
- TS cũng được sử dụng để truyền dòng video trong các ứng dụng video
streaming online. Các khối dữ liệu video được nén bằng các chuẩn mã hóa
như MPEG-2, MPEG-4 hoặc H.264 được chia thành các khối nhỏ hơn và
được đóng gói vào các transport packet. Các transport packet này sau đó
được truyền tải từ máy chủ đến máy khách qua mạng Internet.
Trong ứng dụng video streaming online, việc sử dụng chuẩn MPEG - TS có
nhiều lợi ích. Đầu tiên, nó cho phép truyền tải các luồng dữ liệu khác nhau trên
cùng một kênh truyền, giúp tối ưu hóa băng thông mạng và tăng hiệu suất truyền
tải. Thứ hai, nó cung cấp một cơ chế đồng bộ dữ liệu cho các khối dữ liệu video,
đảm bảo rằng các khối này sẽ được giải mã theo đúng thứ tự và không bị mất
mát dữ liệu.
Tuy nhiên, việc sử dụng chuẩn MPEG - TS cũng có một số hạn chế. Đặc biệt là
trong các ứng dụng video streaming trực tuyến, các transport packet có thể bị
mất mát hoặc bị trễ do các vấn đề về đường truyền mạng. Điều này có thể dẫn
đến hiện tượng giật hoặc mất mát khung hình trong quá trình truyền tải. Do đó,
các kỹ thuật điều khiển lỗi và đồng bộ dữ liệu được sử dụng để giảm thiểu tác
động của các vấn đề này.

You might also like