Chương 3: Truyền dẫn audio và video
Chương 3
TRUYỀN DẪN AUDIO VÀ VIDEO SỐ
3.1. GIỚI THIỆU
Tín hiệu audio-video sau khi được số hoá sẽ được đưa đến kênh truyền để
truyền đi hoặc có thể lưu trữ trên các thiết bị ghi phát số. Truyền dẫn audio video là
chuyển dữ liệu từ nơi này đến nơi khác với những phương thức truyền khác nhau.
Từ một camcorder nhỏ nhất cho đến một mạng lớn như mạng toàn cầu internet, tất
cả những hệ thống số đó đều phải đối mặt với rất nhiều khó khăn trong vấn đề
truyền dẫn tức là chuyển dữ liệu từ nơi này đến nơi khác. Ghi và lưu trữ là hai loại
ứng dụng truyền dẫn khác, chuyển dữ liệu từ thời điểm này tới thời điểm khác.
Chương này sẽ bàn đến một số công nghệ cũng như một số hệ thống truyền dẫn dữ
liệu số.
3.2 CÔNG NGHỆ TRUYỀN DẪN SỐ
Toàn bộ môi trường truyền dẫn (được gọi là kênh), đối với tín hiệu analog đều
có những hạn chế nhất định, thông thường về dải thông, tạp âm, không ổn định về
thời gian gốc và đặc tuyến biên độ phi tuyến. Sự suy giảm analog này có thể gây ra
lỗi trong truyền dẫn số vì vậy nó phá vỡ ưu điểm cơ bản của kĩ thuật số, một công
nghệ khá hoàn hảo. Phần này bàn đến một vài công nghệ dùng để xử lý các vấn đề
gặp phải của môi trường analog trong truyền dẫn số.
Hình 3.1. là sơ đồ khối một hệ thống truyền dẫn số tiêu biểu bao gồm tất cả các
phần tử có thể có trong hệ thống, mặc dù không phải tất cả mọi hệ thống đều có.
3.2.1. Mã hóa
Trong hầu hết các truờng hợp dữ liệu nhị phân gốc tạo bởi ADC không phù
hợp cho truyền dẫn, vì vậy nó phải được định dạng trước khi truyền dẫn. Quá trình
này được gọi là mã hóa (encoding hay coding), đây là quá trình biến đổi hoặc bổ
sung vào dữ liệu mà không làm tổn hao bất cứ nội dung thông tin nào của dữ liệu.
Mã hóa có thể được thực hiện và phá bỏ (giải mã) bằng một vài cách khác nhau để
tín hiệu số truyền qua hệ thống. Kỹ thuật mã hóa trình bày ở đây chỉ sử dụng cho
truyền dẫn, quá trình mã hóa bổ sung có thể được áp dụng. Ví dụ, để thực hiện nén
dữ liệu có thể làm mất lượng thông tin không quan trọng để quá trình nén đạt hiệu
Mã sửa lỗi
Đóng gói
Điều chế
Kênh
truyền
Khôi phục
clock
Giải điều
chế
Phân tích
gói
EADC Giải mã
EADC
EADC
Giải mã
Giải mã
Ngỏ ra
dữ liệu A
Ngỏ ra
dữ liệu B
Ngỏ ra
dữ liệu C
Ngỏ vào
dữ liệu A
ỏ vào
dữ liệu B
ỏ vào
dữ liệu C
Ng
Ng
Lớp ứng dụng
Lớp t
r
ình diễn
Lớp phiên
Lớp giao vận
Lớp mạng
Lớp liên kết dữ liệu
Lớp vật lý
Người sử dụng
Phần cứng
Hình 3.2. Các giao thức của mô hình ISO tiêu chuẩn
Đầu ra của quá trình mã hóa vẫn là dòng bit nhị phân. Mặc dù một dòng bit
như thế này đôi khi có thể được truyền trực tiếp tới kênh truyền analog, song việc
thực hiện thêm quá trình xử lý tương tự hoặc số nhằm tạo ra tín hiệu phù hợp hơn
cho kênh truyền là hoàn toàn thỏa mãn. Đầu ra của những quá trình này không còn
là tín hiệu số nhị phân nữa, nó có thể có các đặc tính analog. Trong chương này, quá
trình xử lý đặc trưng của kênh như trên được gọi là điều chế hoặc mã hóa kênh. Cần
chú ý rằng, một vài bước mã hóa như định nghĩa ở đây trong công nghiệp thường có
ý nghĩa như điều chế.
3.2.2. Dạng nối tiếp và song song
Dữ liệu số cho audio và video thường có cấu trúc dạng nhóm bit, các nhóm này
trình bày một đoạn thông tin, ví dụ như pixel cho video hoặc một mẫu cho audio.
Nhiều khi phần cứng tạo thông tin cung cấp dữ liệu trên một số mạch song song,
trên cơ sở cấu trúc dữ liệu một mạch trên mẫu. Vì vậy, 1 bộ ADC 8 bit có thể có 8
dây đầu ra. Cấu trúc song song như vậy rất phù hợp cho việc truyền dữ liệu ở những
58
Chương 3: Truyền dẫn audio và video
clock
Dạng sóng VCO dốc
thoải
Xung lấy mẫu
Dạng sóng dữ liệu
Hình 3.3. Sơ đồ khối của một vòng khóa pha
59
Chương 3: Truyền dẫn audio và video
Hình 3.3 là sơ đồ khối của một vòng khóa pha. Một bộ tạo sóng điều khiển
điện áp (VCO) hoạt động với tần số xấp xỉ bằng tần số đồng hồ. Nó được điều khiển
bởi đầu ra của bộ tách sóng pha tạo bởi quá trình lấy mẫu và lưu trữ dạng sóng thoải
ở VCO với các xung nhận được từ các biên chính của tín hiệu dữ liệu. Đầu ra của bộ
phận trích mẫu và lưu trữ có điện áp có thể làm thay đổi tần số của VCO theo hướng
đồng hồ. Tại đồng hồ, bộ phân tích sẽ kết thúc quá trình lấy mẫu tín hiệu VCO ở
gần trung tâm của mỗi bước chuyển tích cực. Do có thể có sự trượt về thời gian của
tín hiệu đầu vào và đối với một vài định dạng có thể sẽ không có bước chuyển tích
cực ở mọi chu kỳ đồng hồ cho nên bộ lọc thông thấp ở PLL sẽ làm chậm hoạt động
lại, vì vậy đồng hồ được trích vẫn ổn định.
Đầu ra ở VCO của PLL trở thành đồng hồ dữ liệu. Tuy nhiên, dữ liệu được tạo
đồ mã hóa tốt phải loại bỏ hoặc giảm thiểu thành phần dc.
Bảng 3.1 đưa ra danh sách một vài quá trình mã hóa và các đặc tính của nó.
Đầu vào thứ nhất trong bảng, dạng xung không trở về 0 (NRZ) là khi các số “1” và
“0” của tín hiệu được truyền trực tiếp lần lượt. Đây chính là cách thức mà chúng ta
thường gán cho dòng bit. Trong NRZ, bước chuyển đi tới cực dương được ấn định
là “1” và bước chuyển đi tới âm được ấn định là “0”. Các chuỗi của các số “1” và
60
Chương 3: Truyền dẫn audio và video
“0” lặp lại sẽ không tạo ra các bước chuyển tiếp. NRZ đơn giản nhưng không sử
dụng được bởi vì T
max
không xác định và thành phần dc lớn làm cho quá trình trích
đồng hồ không thể thực hiện được.
Tên ký
hiệu
T
min
T
max
DR Thành
phần DC
Tự đồng
bộ
NRZI T ∞ 1 lớn không
FM T/2 T 0,5 không có
PE T/2 T 0,5 không có
MFM T 2T 1 không có
EFM 1,41T 5,18T 1,41 không có
Dạng sóng
sẽ có 14 bit thực sự được truyền cho 8 bit dữ liệu.
61
Chương 3: Truyền dẫn audio và video
Việc chèn các bit phụ trong EFM được thực hiện bằng cách sử dụng bảng tra
cứu cung cấp 14 bit cho mỗi giá trị 8 bit đầu vào (nội dung của bảng mã hóa như thế
này được gọi là bảng mã) bảng có 256 đầu vào 14 bit. Do một từ 14 bit có thể biểu
thị tới 16384 giá trị và chỉ có 256 là cần thiết, cho nên giá trị 14 bit thực sự cần sử
dụng phải được chọn lọc cẩn thận để kiểm soát T
min
, T
max
và thành phần DC. Các
cách lựa chọn khác nhau này dẫn đến các hệ thống điều chế khác nhau. Tất nhiên
phương pháp phải được tiêu chuẫn hóa, bởi vì bộ giải mã phải biết nội dung chính
xác của bảng mã được sử dụng.
Để EFM chọn các giá trị 14 bit, sẽ có khả năng hai hay nhiều bit được chọn
cặp với nhau. Khi hai bit đầu ra ứng với (2x8)/14 = 1,14 bit đầu vào, T
min
= 1,14
(T
min
được tính theo số bit đầu vào). DR có cùng giá trị, do vậy bằng cách cộng 6 bit
vào 8 bit chúng ta có thể truyền được hơn 14% dữ liệu. Điều này xảy ra bởi vì sự
lựa chọn các giá trị EFM 14 bit tránh được tất cả cách bước chuyển tiếp bit đơn
bằng cách giảm một nửa độ rộng của kênh truyền như yêu cầu. Quá trình mã hóa
EFM giới hạn số bit đầu ra theo đoạn tối đa là 7, vì vậy tính theo số bit đầu vào
T
max
=(7x8)/14=4.
của quá trình đồng bộ hóa. Người ta cũng phải xác định vị trí các đặc điểm duy nhất
của định dạng dữ liệu để thông tin thực có thể được hồi lại. Ví dụ, giải mã định dạng
EFM được miêu tả trong phần 3.2.3.3 yêu cầu phải xác định vị trí của bit chính xác
tại điểm mỗi mô hình 4 bit bắt đầu. Việc này thường được thực hiện bằng cách xác
định một đoạn bit duy nhất (từ đồng bộ) được chèn vào dữ liệu mã hóa. Khi hồi
phục, tìm từ đồng bộ có nghĩa là (ví dụ ở EFM) bit dữ liệu tiếp theo đó chính là
điểm xuất phát của một từ được mã hóa 14 bit. Trong những trường hợp khác, các
bit tiếp sau từ đồng bộ có thể là điểm xuất phát của một đầu xác định mức đầu tiên
của định dạng dữ liệu. Tất nhiên, mã hóa phải được thiết kế để từ đồng bộ là duy
nhất, tức là dữ liệu ngẫu nhiên không thể tạo ra từ đồng bộ. Một vài sơ đồ mã hóa
tiến bộ hơn như EFM tự động cung cấp các định dạng các từ đồng bộ duy nhất.
Clock lấy mẫu
Mức
ngưỡng tối
Vị trí lấy mẫu
tối ưu
Biên biên
độ
Biên
đi tại một thời điểm bởi tín hiệu kênh truyền. Mỗi symbol có thể mang một số bit
được xác định thông qua phương pháp điều chế mà kênh sử dụng.
Điều chế có thể được coi như một quá trình chuyển đổi các bit dữ liệu sang
symbol. Giải điều chế là quá trình chuyển đổi các symbol ngược trở lại dạng bit.
Phương pháp điều chế tốt nhất cho một kênh truyền chuyên biệt sẽ truyền số bit
nhiều nhất/symbol, các giá trị thông dụng của bit/symbol trong khoảng từ ½ đến 4.
Những giá trị lớn hơn có thể sử dụng nhưng không thông dụng bởi vì khi đó phải
cần đến các chỉ tiêu về SNR và tuyến tính của kênh quá cao.
Cần phải có một chu kỳ thời gian nhỏ cho tín hiệu của kênh truyền một symbol
độc lập với các symbol gần kề. Chu kỳ này xác định tỉ lệ symbol khác nhau cho
kênh (việc xác định này phụ thuộc vào dải thông của kênh). Tốc độ truyền dữ liệu
được xác định bằng các bit/symbol nhân với tỉ lệ symbol.
Hầu hết bản chất các kênh là analog và gần như tuyến tính. Chính vì vậy,
chúng có khả năng xử lý nhiều hơn hai giá trị. Phụ thuộc vào SNR và các đặc tính
khác của kênh, việc truyền dữ liệu số với chỉ hai giá trị có thể gây lãng phí dung
lượng kênh truyền. Khi các symbol có giá trị lớn hơn hai, khả năng truyền số
bit/mẫu lớn hơn là hoàn toàn có thể.
3.2.4.3 Symbol đa mức
Tại đầu thu cuối của kênh truyền, tín hiệu chứa lẫn tạp âm tham nhập trong quá
trình truyền. Một đồng hồ symbol được khôi phục, sử dụng lấy mẫu tín hiệu với
mục đích khôi phục các giá trị symbol. Tuy nhiên, các giá trị này phải được lượng
64
Chương 3: Truyền dẫn audio và video
tử hóa để chuyển đổi chúng sang các giá trị số thực sự. Trong trường hợp một hệ
thống chỉ có hai mức symbol, mỗi symbol sẽ lượng tử thành một bit. Tất nhiên,
nhiều mức symbol sẽ lượng tử thành nhiều bit hơn. Ví dụ, nếu hệ thống được thiết
kế cho 4 mức, mỗi symbol sau đó sẽ lượng tử thành hai bit.
Số mức symbol nhiều hơn sẽ đòi hỏi SNR của kênh truyền cao hơn để lượng
tử hóa thành công. Tuy nhiên, tốc độ dữ liệu của hệ thống cho một dải thông xác
65
Chương 3: Truyền dẫn audio và video
3.2.5. Phát hiện và sửa lỗi
Tất cả các kênh truyền số thực thỉnh thoảng gây ra các lỗi bit. Đều này được
đặc tả bằng cách xác định tỉ lệ lỗi bit cho kênh (BER), có nghĩa là khả năng gây ra
lỗi bit đơn. BER thường được xác định bằng lũy thừa của 10. Ví dụ, một kênh trung
bình tạo ra một lỗi bit trong số 1.000.000 bit có BER là 10
-6
.
Phụ thuộc vào loại dữ liệu tham gia, các lỗi bit có thể có giá trị lớn hoặc nhỏ.
Những hệ thống thông dụng được thiết kế để bỏ qua một mức lỗi nào đó của kênh
bằng cách sử dụng kỹ thuật bảo vệ chống lỗi. Khả năng phát hiện và sữa lỗi này của
các hệ thống số là một ưu điểm lớn so với các hệ thống analog. Đây chính là lý do
tại sao lỗi truyền dẫn không gây ra lỗi dữ liệu nghiêm trọng, và các lỗi này không
tích tụ lại khi hệ thống được mở rộng.
Vấn đề lỗi được quan tâm ở mọi điểm trong hệ thống số, và việc phát hiện và
sửa lỗi là một yếu tố quan trọng trong mọi quá trình xử lý, không chỉ riêng quá trình
truyền dẫn. Trong hệ thống truyền dẫn, các đặc điểm phát hiện-sửa lổi được thiết lập
ở mọi khâu của quá trình mã hóa và cùng với sự kế hợp của một vài công nghệ, có
thể sẽ có các hệ thống mạnh mẽ thực sự (BER thấp) hoạt động thành công trên kênh
truyền nhiều lỗi (BER cao).
3.2.5.1. Thống kê lỗi
Thống kê lỗi rất quan trọng trong việc thiết kế các hệ thống bảo vệ chống lỗi.
Các lỗi có thể xảy ra như là các lỗi bit đơn riêng lẻ hay các lỗi burst có độ dài bất
kỳ. Việc phát hiện-sửa các lỗi đơn dễ hơn xử lý các lỗi burst dài rất nhiều. Khi cần
sữa các lỗi burst, cách hiệu quả nhất là chèn dữ liệu trước khi áp dụng các phương
pháp phát hiện-sửa lỗi khác. Chèn dữ liệu mở rộng các lỗi burst một cách có hiệu
quả thành một số lượng các lỗi bit đơn riêng rẽ, sau đó sẽ rất dễ sửa.
3.2.5.2. Nguyên tắc phát hiện-sửa lỗi
và sửa lỗi
Che lỗi
Ngỏ vào
dữ liệu
Ngỏ ra
dữ liệu
Báo hiệu lỗi
không được sữa
Hình 3.6 Sơ đồ khối tổng quát quá trình phát hiện và sửa lỗi
3.2.5.3. Tính chẵn lẻ
Dạng phát hiện lỗi đơn giản nhất sử dụng một bit đơn phụ cộng vào dòng bit
theo chu kỳ. Ví dụ, một bit phụ có thể được chèn vào bit nhớ thứ 8 trong dòng bit .
Bit này có một giá trị khiến các số “1” trong số tám bit cộng với một bit phụ luôn là
giá trị chẵn. Đây được gọi tính chẵn và bit phụ gọi là bit chẵn lẻ.
Để kiểm tra lỗi của dòng bit, người ta cộng tất cả các giá trị của bit “1” trong
nhóm bit 9, nếu kết quả là một số lẻ sẽ xuất hiện một hoặc nhiều lỗi. Về hình thức,
có vẽ như sơ đồ này chỉ phát hiện số lẻ của các lỗi trong nhóm, các số chẵn của lỗi
sẽ không bị ảnh hưởng tới quá trình kiểm tra chẵn lẻ, sẽ xuất hiện một hoặc nhiều
lỗi. Bởi vì tính chẵn lẻ chỉ thật sự hoạt động đối với các lỗi đơn trong nhóm và chỉ
phát hiện ra sự có mặt của lỗi chứ không thể chỉ ra chính xác bit nào bị lỗi, nên nó
chỉ được sử dụng trong những trường hợp đặc biệt như các bộ nhớ truy cập ngẫu
nhiên hoặc các hệ thống liên lạc đơn giản như RS-232.
3.2.5.4. Các mã sản phẩm
Khái niệm nề tính chẵn lẻ có thể được cũng cố bằng cách áp dụng vào một
khối dữ liệu. Ví dụ, 64 bit dữ liệu có thể được đưa vào một mảng hai chiều có kích
thước 8×8 bit. Nếu bit chẵn lẻ được đánh dấu cho mỗi hàng và mỗi cột của mảng,
khi đó có thể xác định lỗi và vị trí của nó trong mảng. Sau đó, lỗi có thể sửa bằng
cách đổi dấu bit đơn giản tại vị trí được ấn định. Đây là trường hợp đơn giản nhất
1 0 1 0 0 1 0 1
1 1 1 1 1 1 1 0
0 0 0 1 1 1 0 0
1 1 0 1 0 1 1 0
0 1 0 0 1 1 0 1
0
0
1
0
1
0
1 1
0
1
0
1
1
1
0
0
0 0 1 1 0 0 1 0 0 0 1 1 0 0 1 0
0
1
0
1
1
0
0
0
rất nhiều lỗi trên một khối. Ví dụ, một khối có chứa 20 byte biên phát hiện và sửa
68
Chương 3: Truyền dẫn audio và video
lỗi R-S có khả năng sửa tới 10 byte lỗi trên một khối. Sự lựa chọn khả năng sửa lỗi
được thực hiện trong quá trình thiết kế hệ thống. Quá trình xử lý hết sức phức tạp,
tuy nhiên với các mạch tích hợp có sẵn, việc lắp đặt trở nên dể dàng.
Các mã R-S được xác định bằng cách đưa ra số byte trong khối tổng và số byte
trong phạm vi dữ liệu. Ví dụ, mã được sử dụng trong hệ thống truyền dẫn Grand
Alliance, được gọi là mã (207, 187) bởi vì kích cỡ của khối tổng là 207 byte và có
20 byte của mã chẵn lẻ R-S, còn lại 187 byte cho dữ liệu. 1 2 3 4 5 6 7 8
9 10 11 12 13 14 15 16
Giải mã
Hình 3.8. Chèn các bit lỗi khôi phục thành các bit lỗi độc lập
Một khối dữ liệu được đọc cho các hàng của bộ nhớ cấu trúc theo mảng hai
chiều. Dữ liệu sau đó sẽ được đọc ra từ bộ nhớ theo cột. Quá trình ngược lại được
thực hiện khi khôi phục. Nếu burst lỗi (chữ × trong hình) xảy ra khi tín hiệu ở trong
định dạng được chèn nó sẽ được chuyển thành các lỗi bit đơn khi dữ liệu không
được chèn cho đến khi hồi phục. Kỹ thuật này được sử dụng rộng rãi cho các hệ
thống như các máy ghi từ nhạy cảm với burst lỗi.
3.2.5.7. Mã chèn chéo
69
Chương 3: Truyền dẫn audio và video
Hiện tại, người ta vẫn tiếp tục cải tiến bằng cách đưa quá trình quét lớp vào
giữa hai khoảng của mã phát hiện và sửa lỗi Reed-solomon. Đây được gọi là chèn
chéo và minh họa như hình 3.9. Mã R-S
ngoài
Chèn
dữ liệu
Mã R-S
trong
Điều chế
nghĩa của lỗi đối với việc tái tạo sẽ phụ thuộc vào quá trình mã hóa số audio hoặc
video ở điểm xảy ra lỗi. Ví dụ, nếu chúng ta xử lý với audio ở PCM tuyến tính, một
lỗi bit đơn sẽ là một lỗi ở giá trị mẫu đơn. Mẫu này có thể được nghe thấy như một
click trong quá trình tạo. Độ cao của tiếng click sẽ phụ thuộc vào ý nghĩa từ mẫu
của bit bị lỗi. Tuy nhiên, nếu tính hiệu audio được mã hóa trong định dạng nén, một
lỗi bit đơn sẽ gây thiệt hại nhiều hơn và có thể phải cần đến một kỹ thuật che khác.
70
Chương 3: Truyền dẫn audio và video
Tiếp tục với trường hợp tín hiệu audio được mã hóa PCM, có một số khả năng
che mẫu đơn được phát hiện có lỗi. Hình 3.10 minh họa một dạng sóng đầu vào
được lấy mẫu và ba trường hợp dạng sóng đầu ra với một lỗi mẫu đơn lẻ. Trường
hợp thứ nhất (b) là với lỗi chưa được sửa. Tiếp theo (c) là để thay thế mẫu bị lỗi với
giá trị của mẫu trước, và cuối cùng (d) được đặt xen vào giữa các mẫu trước và mẫu
tiếp theo để tạo ra một giá trị che. Tất cả đều hoạt động dựa trên cơ sở là tín hiệu
audio được lấy mẫu thường không thay đổi từ mẫu này sang từ mẫu khác.
Hình 3.10. Che lỗi a) dạng sóng ban đầu được lấy mẫu, b) một mẫu lỗi,
c) mẫu lặp lại, d) nội suy.
Burst lỗi lấy ra một số mẫu audio liên tiếp là một trường hợp khác, khó hơn.
Như vậy sẽ có sự thay đổi nhỏ trong tín hiệu khi lỗi không còn hiệu lực. Trong
gói này được sử dụng rộng rãi trong các hệ thống viễn thông, mạng máy tính.
Ý tưởng của gói là dòng dữ liệu được chia thành một chuỗi các khối, tại đó
mỗi khối chứa một header để nhận dạng gói và dữ liệu xác định. Các gói có thể có
kích thước giống nhau hoặc khác nhau với các header xác định kích thước của mỗi
gói. Ở đầu thu cuối, các gói được giải mã ngược trở lại định dạng video có nén sau
đó sẽ được giải mã thành tín hiệu video để hiển thị.
3.2.6.1. Ưu điểm của quá trình đóng gói
1. Truyền dẫn gói tạo ra một đường linh hoạt để xác định vị trí của kênh truyền
động cho nhiều dòng bit.
2. Nhiều dòng bit của các loại dữ liệu khác nhau có thể được truyền cùng nhau
trên cùng một kênh. Việc xác định vị trí trước cho một dòng bit là cần thiết,
các gói của dòng bit có thể đơn giản là “trượt vào” dòng gói mỗi khi chúng
xảy ra. Điều này sẽ dừng lại khi vượt quá dung lượng tổng cộng của kênh.
3. Cùng với khả năng phát hiện sửa lỗi có thể đã có ở đầu vào của các dòng bit,
các gói có thể chứa mã phát hiện và sửa lỗi riêng của mình.
4. Cùng với nhận dạng, các header của gói chứa các thông tin đích đến, do vậy
hệ thống có thể được thiết kế với khả năng phân tuyến các gói độc lập tới các
đích khác nhau. Đây là cơ sở của các mạng điện thoại chuyển mạch gói đang
dùng hiện nay và cho cả Internet.
Quá trình đóng gói có sự tham gia của các overhead bổ sung dưới dạng cấu
trúc của các header gói chỉ phù hợp trong các trường hợp các ưu điểm được liệt kê
trên đây là quan trọng.
72