Luận văn
Nghiên cứu và xây dựng
chương trình truyền thông
đa phương tiện
Simpo PDF Merge and Split Unregistered Version -
Nghiên cứu và xây dựng chương trình truyền thông đa phương tiện
Trần Thanh Long - Nguyễn Thành Nam 1
CHƯƠNG 0: GIỚI THIỆU 4
CHƯƠNG 1: TÌM HIỂU CÁC CHUẨN NÉN ÂM THANH 6
1. Giới thiệu: 6
2. Chuẩn nén G.711: 6
2.1. Giới thiệu: 6
2.2. Tốc độ lấy mẫu: 6
2.3. Quy luật mã hoá: 7
2.4. Truyền tín hiệu ký tự: 7
2.5. Mối liên hệ giữa luật mã hóa và cấp độ âm thanh: 7
2.6. Sự chuyển đổi giữa A-law và µ-law : 8
2.7. Sự chuyển đổi giữa µ-law và A-law: 9
3. Chuẩn nén G.723: 12
3.1. Giới thiệu: 12
3.2. Cơ chế mã hóa: 12
3.3. Cơ chế giải mã: 14
4. Chuẩn nén G.729: 15
4.1. Giới thiệu: 15
4.2. Mô tả chung về bộ mã CS-ACELP: 15
4.2.1.Nguyên lý mã hóa: 16
4.2.2.Nguyên lý giải mã: 18
CHƯƠNG 2: TÌM HIỂU CÁC CHUẨN NÉN HÌNH ẢNH 20
1. Giới thiệu: 20
2. Chuẩn nén H.261: 20
2.1. Giới thiệu: 20
2.2. Đinh dạng ảnh nguồn của chuẩn H.261 20
2.3. Ghép kênh H.261 (H.261 Multiplexing): 22
2.3.1.Picture layer: 22
2.3.2.Group of blocks (GOB): 23
2.3.3.Macroblocks: 24
2.3.4.Block: 26
3. Chuẩn nén H.263: 26
3.1. Giới thiệu: 26
3.2. Những khác biệt giữa H.263 và H.261: 27
3.2.1.SubQCIF: 27
3.2.2.Cách tính độ sai lệch tốt hơn: 27
3.2.3.Độ chính xác trong việc dự đoán: 27
3.2.4.Cách xử lý truyền macroblock: 27
CHƯƠNG 3: TÌM HIỂU VỀ VOICE OVER IP 28
1. Giới thiệu về VoIP: 28
2. Ưu điểm của VoIP so với PSTN: 28
2.1. Tiết kiệm băng thông: 28
2.2. Đơn giản hóa: 29
2.3. Khả năng tích hợp: 29
2.4. Uyển chuyển trong quản lý: 29
2.5. Quản lý tốt: 29
2.6. Giá thành thấp: 30
3. Các hình thức truyền thoại trên mạng IP: 30
Simpo PDF Merge and Split Unregistered Version -
Nghiên cứu và xây dựng chương trình truyền thông đa phương tiện
Trần Thanh Long - Nguyễn Thành Nam 2
3.1. PC-PC : 30
3.2. PC – Phone : 30
3.3. Phone - Internet - Phone : 30
4. Nguyên tắc và mô hình hoạt động của VoIP: 31
4.1. Quá trình thiết lập một kết nối VoIP : 31
4.2. Mô hình hoạt động của VoIP: 31
5. Các nghi thức được sử dụng trong hệ thống VoIP: 31
5.1. Giao thức UDP (User Datagram Protocol): 31
5.2. Giao thức RTP (Realtime Protocol): 32
5.3. Giao thức RTCP ( RTP Control Protocol ): 32
5.4. Giao thức RSVP: 32
5.5. SGCP: 33
5.6. MGCP: 34
6. Các vấn đề liên quan đến chất lượng dịch vụ : 34
6.1. Mất gói và các giải pháp khắc phục tình trạng này: 34
6.1.1.Tổng quan: 34
6.1.2.Các giải pháp khắc phục: 34
6.2. Trễ gói 35
6.2.1.Tổng quan 35
6.2.2.Có hai giải pháp: 35
6.3. Network Jitter 35
6.4. Kết luận: 36
CHƯƠNG 4: TÌM HIỂU CÁC NGHI THỨC TRUYỀN THÔNG THỜI GIAN
THỰC RTP (REALTIME PROTOCOL) 37
1. Giới thiệu giao thức RTP (Realtime Protocol): 37
2. Các khái niệm và định nghĩa được sử dụng trong RTP: 37
3. Thứ tự byte, alignment và định dạng thời gian: 40
4. Nghi thức truyền dữ liệu RTP (RTP Data Transfer Protocol): 40
4.1. Các trường cố định trong RTP header: 40
4.2. Ghép kênh các phiên RTP (Multiplexing RTP sessions): 43
4.3. Những thay đổi trong đặc tả profile của RTP Header: 44
4.3.1.Phần RTP header mở rộng (RTP Header Extension): 45
5. Giao thức điều khiển RTP (RTP Control Protocol – RTCP): 46
5.1. Cấu Trúc của gói RTP (RTP Packet Format): 47
5.2. Các thông báo của bên gửi và bên nhận ( Sender and Receiver reports ):.49
CHƯƠNG 5: TÌM HIỂU CHUẨN H.323 VÀ THƯ VIỆN OPENH323 56
1. Giới thiệu: 56
2. Chuẩn H.323: 56
2.1. Các ưu điểm của chuẩn H.323: 56
2.2. Kiến trúc hệ thống H.323: 58
2.2.1.Terminal: 59
2.2.2.Gateway: 60
2.2.3.Gatekeeper: 61
2.2.4.MCU (Multipoint Control Unit): 63
2.3. Sơ đồ cấu trúc phân lớp: 64
2.3.1.Video Codec: 65
2.3.2.Audio Codec: 65
2.3.3.Data Channel (Kênh dữ liệu): 66
Simpo PDF Merge and Split Unregistered Version -
Nghiên cứu và xây dựng chương trình truyền thông đa phương tiện
Trần Thanh Long - Nguyễn Thành Nam 3
2.4. Điều khiển hệ thống: 66
2.4.1.Chức năng điều khiển H.245: 66
2.4.2.Chức năng báo hiệu RAS H.225.0: 67
2.4.3.Chức năng báo hiệu cuộc gọi H.225.0: 68
2.5. Hội nghị đa điểm: 70
2.5.1.Hội nghị đa điểm tập trung: 70
2.5.2.Hội nghị đa điểm phân tán: 71
2.5.3.Hội nghị đa điểm tập trung và phân tán kết hợp: 71
2.6. Quy trình thiết lập cuộc gọi qua mạng H.323: 71
2.7. Mối quan hệ giữa nghi thức H323 và mô hình OSI: 77
2.8. Tổng kết: 77
3. Thư viện OpenH323 78
3.1. Giới thiệu: 78
3.2. Cấu trúc phân lớp và phương thức hoạt động: 78
3.2.1.Cấu trúc phân lớp: 78
3.2.2.Ý nghĩa một số lớp trong thư viện: 81
3.3. Phương thức hoạt động: 85
CHƯƠNG 6: XÂY DỰNG ỨNG DỤNG TRUYỀN THÔNG ĐA PHƯƠNG TIỆN
THỂ NGHIỆM 88
1. Mô hình thực tế: 88
2. Xác định các yêu cầu: 88
2.1. Các yêu cầu chức năng: 88
2.2. Các yêu cầu phi chức năng: 89
2.3. Mô hình giao tiếp giữa các thành phần trong hệ thống: 90
3. Đặc tả chung cho hệ thống và sơ đồ khối của các yêu cầu: 91
3.1. Đặc tả chung cho hệ thống: 91
3.2. Sơ đồ khối của một vài chức năng của client: 92
4. Thiết kế cơ sở dữ liệu: 100
4.1. Các trường của bảng lưu thông tin user như sau: 100
4.2. Các trường của bảng lưu thông tin danh sách các user trong contact list101
5. Thiết kế giao diện: 101
6. Cách thực thi hệ thống: 110
7. Cài đặt chương trình: 111
8. Đánh giá kết quả xây dựng ứng dụng: 111
9. Hướng phát triển chương trình: 112
TỔNG KẾT 114
BẢNG THAM CHIẾU CÁC TỪ VIẾT TẮT 115
CÁC TÀI LIỆU THAM KHẢO 118
Simpo PDF Merge and Split Unregistered Version -
Nghiên cứu và xây dựng chương trình truyền thông đa phương tiện
Trần Thanh Long - Nguyễn Thành Nam 4
CHƯƠNG 0: GIỚI THIỆU
Hiện nay với sự phát triển của xã hội, các dịch vụ, các ứng dụng về
truyền thông đa phương tiện như điện thoại, nhắn tin, nghe nhac, xem phim,
v.v… không còn xa lạ với mọi người. Song song với sự phát triển của xã hội
hiện nay là sự phát triển của mạng máy tính, trong đó có mạng truyền thông
đa phương tiện. Trong những năm trước đây, các dịch vụ truyền thông đa
phương tiện đều rất khó thực hiện bởi vì ít có sự hỗ trợ về phần cứng, băng
thông chính là điểm khó khăn cho việc truyền và nhận các tín hiệu âm thanh
và hình ảnh. Tuy nhiên, với kỹ thuật phát triển như hiện nay, các tín hiệu âm
thanh và hình ảnh có thể được nén và giải nén môt cách dễ dàng và băng
thông không còn là vấn đề trở ngại đối với việc truyền nhận tín hiệu âm
thanh, hình ảnh. Hội nghị video (video conference) là một minh chứng rất
thuyết phục cho khả năng này của mạng truyền thông đa phương tiện hiện
nay.
Những kỹ thuật để phục vụ cho mạng truyền thông đa phương tiện hiện
nay đã được nhiều người đi trước nghiên cứu chuyên sâu, tuy nhiên việc kết
hợp các kỹ thuật này lại là một vấn đề mới, thú vị và rất cần thiết cho cuộc
sống hiện nay. Do vậy, chúng em đã chọn đề tài “Nghiên cứu và xây dựng
chương trình truyền thông đa phương tiện tích hợp” để làm đề tài luận văn tốt
nghiệp của mình. Mục tiêu của đề tài là tìm hiểu các chuẩn truyền thông thời
gian thực, các chuẩn nén âm thanh, hình ảnh, nghiên cứu bộ thư viện giao
diện lập trình OpenH323 và từ những kết quả tìm hiểu được, xây dựng một
hệ thống truyền thông giao tiếp trực tuyến sử dụng máy tính giữa nhiều người
dùng trong các tổ chức hoặc công ty hoạt động phân tán tại nhiều vùng địa lý
khác nhau, hoặc giữa các trường đại học, sử dụng cơ sở hạ tầng mạng nối kết
giữa các vị trí đó (mạng cục bộ, đường truyền thuê bao riêng hoặc Internet).
Simpo PDF Merge and Split Unregistered Version -
Nghiên cứu và xây dựng chương trình truyền thông đa phương tiện
Trần Thanh Long - Nguyễn Thành Nam 5
Phương thức giao tiếp cho phép đa dạng, gồm nhiều phương thức thông qua
nhiều loại phương tiện thông tin khác nhau (thông điệp ngắn, âm thanh, hình
ảnh ) nhằm đáp ứng những nhu cầu thông tin và điều kiện môi trường trong
thực tế.
Ngoài ra hệ thống còn cần có khả năng nối kết với phương tiện truyền
thông truyền thống đang được sử dụng phổ biến như điện thoại để bàn nối kết
với hệ thống điện thoại công cộng, điện thoại di động và hệ thống thư điện tử.
Sự kết nối tích hợp này sẽ giúp làm tăng khả năng thông tin liên lạc xuyên
suốt giữa các người dùng.
Với khả năng còn hạn chế, luận văn này vẫn còn nhiều điều chưa hoàn
tất, kính mong sự đóng góp ý kiến và giúp đỡ của quý thầy cô.
Thành phố Hồ Chí Minh, 7/2003
Trần Thanh Long - Nguyễn Thành Nam
Simpo PDF Merge and Split Unregistered Version -
Nghiên cứu và xây dựng chương trình truyền thông đa phương tiện
Trần Thanh Long - Nguyễn Thành Nam 6
CHƯƠNG 1: TÌM HIỂU CÁC CHUẨN NÉN ÂM THANH
1. Giới thiệu:
Như chúng ta đã biết, các tín hiệu âm thanh có dung lượng rất lớn nên
rất khó khăn cho việc truyền dẫn mà vẫn đạt được một chất lượng tương đối
trên cơ sở hạ tầng mạng hiện nay. Do vậy, việc nén các luồng âm thanh để có
thể truyền trên băng thông thấp với chất lượng dịch vụ cao là một điều rất cần
thiết.
Hiệp hội viễn thông quốc tế, ITU-T ( International Telecommunication
Union – Telecommunication ) đã đưa ra những chuẩn nén âm thanh mới nhất
như G728, G729, G723.1 v.v… dành cho băng thông thoại thấp với tần số
300 Hz đến 3,4kHz. Tất cả các chuẩn này đều dựa trên chuẩn mã hóa CELP
(Code-Excited Linear Prediction). Chuẩn nén âm thanh đã được tiêu chuẩn
hóa trong mã ANSI-C với 2 lý do chính:
• Độ tin cậy khi tương tác giữa các thiết bị.
• Giá thành thấp và những tiện ích thực thi dựa trên 16 bit fixpoint
DSP.
2. Chuẩn nén G.711:
2.1. Giới thiệu:
Chuẩn G.711 là một chuẩn nén âm thanh được sử dụng rộng rãi cho
các hội nghị âm thanh. Chuẩn này mô tả phương pháp mã hoá và giải mã âm
thanh với tốc độ 64Kbps.
2.2. Tốc độ lấy mẫu:
Một giá trị được đề nghị của tần số lấy mẫu là 8000 samples/giây. Độ
sai sót thường là +/- 50 phần triệu.
Simpo PDF Merge and Split Unregistered Version -
Nghiên cứu và xây dựng chương trình truyền thông đa phương tiện
Trần Thanh Long - Nguyễn Thành Nam 7
2.3. Quy luật mã hoá:
Mỗi mẫu âm thanh là một số nhị phân có tám bit được sử dụng cho
phạm vi toàn cầu. ITU – T đưa ra hai quy luật mã hóa là mã hóa theo quy luật
A và mã hóa theo quy luật µ.
Khi sử dụng luật mã hóa µ trong mạng truyền thông thì việc chặn tất cả
các tín hiệu ký tự 0 là yêu cầu nhất thiết. Giá trị lượng tử hóa là kết quả của
luật mã hóa. Bất cứ sự chuyển đổi cần thiết giữa các quốc gia đều sử dụng
quy luật µ.
Sự chuyển đổi PCM: Giá trị ấn định (decision value) và giá trị lượng
tử (quantizer value) của A-law được kết hợp với giá trị đồng dạng PCM. Sự
chuyển đổi từ A-law hoặc µ-law từ giá trị đồng dạng PCM tương ứng với giá
trị ấn đinh là một phần chỉ định của giá trị riêng lẽ.
2.4. Truyền tín hiệu ký tự:
Khi tín hiệu ký tự được truyền tuần tự trong một tầng vật lý, bit số 1
(bit dấu) được truyền trước tiên và bit số 8 (bit ít có ý nghĩa nhất) được
truyền cuối cùng.
2.5. Mối liên hệ giữa luật mã hóa và cấp độ âm thanh:
Tín hiệu sóng hình sin 1kHz ở cấp độ nhỏ của 0 dBm0 được thể hiện ở
bất cứ tần số âm thanh nào ở đẩu ra của bộ ghép kênh PCM khi một chuổi tín
hiệu định kỳ của A-law (table 1) và µ-law (table 2) được dùng ở đẩu vào của
bộ giải mã. Theo kết quả lý thuyết, giá trị T
max
= +3.14 dBm0 ứng với A-law
và T
max
= +3.17 dBm0 ứng với µ-law.
Simpo PDF Merge and Split Unregistered Version -
Nghiên cứu và xây dựng chương trình truyền thông đa phương tiện
Trần Thanh Long - Nguyễn Thành Nam 8
2.6. Sự chuyển đổi giữa A-law và µ-law :
Xem Table 3.
Ghi chú:
• Tín hiệu đầu vào của bộ giải mã A-law sẽ bao gồm sự đảo ngược các bit
chẳn của giá trị đưa vào. Do đó tín hiệu đầu ra của bộ chuyển đổi µ-A sẽ
có quá trình chuyển đổi các bit chẳn được thể hiện trong bộ chuyển đổi ở
đầu ra.
• Nếu bộ chuyển đổi µ-A được thay bằng A-µ thì hầu hết các octets sẽ được
lưu trữ ở giá trị nguyên thủy của nó. Chỉ có những octet tương ứng với bộ
giải mã µ-law ở đầu ra được đánh số 0,2,4,6,8,10,12,14 bị thay đổi (các
con số được tăng lên 1). Hơn nữa trong các octets này, chỉ có bit 8
(thường ít giữ vị trí quan trọng trong PCM) thay đổi. Để phù hợp với
những điều nói trên, bộ chuyển đổi kép µ-A-µ thường trong suốt đối với
bit 1 đến bit 7.
Table 1 Table 2
Simpo PDF Merge and Split Unregistered Version -
Nghiên cứu và xây dựng chương trình truyền thông đa phương tiện
Trần Thanh Long - Nguyễn Thành Nam 9
• Tương tự như vậy, nếu bộ chuyển đổi A-µ được thay bằng µ-A chỉ có các
octet tương ứng với bộ giải mã A-law ở đầu ra có số 26,28,30,32,45,47,63
và 80 bị thay đổi và bit thứ 8 cũng thay đổi. Kết quả là hầu hết dãy tín
hiệu tần số âm thanh tương tự được đưa vào lượng tử hóa thường không
cho kết quả chính xác bởi vì bộ chuyển đổi kép µ-A-µ hay A-µ-A không
cho kết quả tốt hơn bộ chuyển đổi đơn µ-A hay A-µ.
2.7. Sự chuyển đổi giữa µ-law và A-law:
Xem Table 4.
Simpo PDF Merge and Split Unregistered Version -
Nghiên cứu và xây dựng chương trình truyền thông đa phương tiện
Trần Thanh Long - Nguyễn Thành Nam 10
Table 3
Simpo PDF Merge and Split Unregistered Version -
Nghiên cứu và xây dựng chương trình truyền thông đa phương tiện
Trần Thanh Long - Nguyễn Thành Nam 11
Table 4
Simpo PDF Merge and Split Unregistered Version -
Nghiên cứu và xây dựng chương trình truyền thông đa phương tiện
Trần Thanh Long - Nguyễn Thành Nam 12
3. Chuẩn nén G.723:
3.1. Giới thiệu:
Chuẩn G.723 giới thiệu một bộ nén có thể dùng để nén tín hiệu thoại
hoặc những tín hiệu âm thanh khác của các dịch vụ đa phương tiện ở tốc độ
bit rất thấp. Trong thiết kế của chuẩn này, nguyên lý ứng dụng làm việc ở tốc
độ truyền bit rất nhỏ. Bộ mã hóa này được tích hợp hai tốc độ khác nhau: 5.3
và 6.3kbit/s. Cả hai tốc độ đều hỗ trợ bởi bộ mã hóa và giải mã. Chúng có thể
chuyển đổi qua lại tại bất kì khung truyền (30 ms) nào. Với tốc độ 6.3 kbit/s
chất lượng âm thanh tốt hơn. Bộ mã hóa này nén thoại với chất lượng cao ở
cả hai tốc độ nhưng ít sử dụng kĩ thuật phức tạp. Các tín hiệu âm thanh khác
sau khi được nén cho âm thanh có chất lượng không thực lắm. Về độ trễ, bộ
mã hóa này mã hóa tín hiệu thoại và những tín hiệu âm thanh khác bằng
những khung 30 ms, thêm độ trễ của phần chuyển đổi giữa các khung 7.5 ms,
thời gian trễ tổng cộng là 37.5 ms.
3.2. Cơ chế mã hóa:
Bộ mã hóa này được thiết kế để thực thi với một tín hiệu số. Tín hiệu
này có được bằng cách thực hiện lọc tín hiệu tương tự đầu vào trong băng tần
thoại, sau đó tiến hành lấy mẫu ở tần số 8000 Hz, tiếp theo nó chuyển đổi
thành PCM tuyến tính 16 bit để đưa vào đầu vào của bộ mã hóa. Đầu ra của
bộ mã hóa phải được chuyển đổi ngược lại sang tín hiệu tương tự bằng những
cách tương tự. Những kiểu dữ liệu có đầu vào/đầu ra(input/output) khác, như
dữ liệu PCM 64 kbit/s trong Khuyến nghị G711, phải được chuyển đổi sang
PCM tuyến tính 16 bit trước khi mã hóa hoặc từ PCM tuyến tính 16 bit đến
định dạng đúng sau khi giải mã. Luồng bit từ bộ mã hóa sang bộ giải mã
được định nghĩa rõ trong chuẩn này.
Bộ mã hóa dựa trên nguyên lý mã hóa phân tích bằng cách tổng hợp(
analysis-by-synthesis) dự đoán tuyến tính và cố gắng tối thiểu tín hiệu trọng
số lỗi một cách trực quan( conceptual). Bộ mã hóa hoạt động dựa trên những
khối (frame 240 mẫu), tương đương với thời gian lấy mẫu là 30 ms ở tốc độ
Simpo PDF Merge and Split Unregistered Version -
Nghiên cứu và xây dựng chương trình truyền thông đa phương tiện
Trần Thanh Long - Nguyễn Thành Nam 13
lấy mẫu 8 kHz. Với mỗi block, trước tiến nó được đưa qua bộ lọc tần số cao
để loại bỏ thành phần DC, sau đó chia vào 4 subframe, mỗi subframe có 60
mẫu. Ứng với mỗi subframe, bộ lọc mã hóa dự đoán tuyến tính (LPC filter–
Linear Prediction Coder filter) cấp 10 được tính toán dùng những tín hiệu đầu
vào chưa được xử lý. LPC filter cho subframe cuối cùng được lượng tử hóa
dùng PSVQ (Predictive Split Vector Quantizer). Các hệ số LPC không được
lượng tử hóa được sử dụng để xây dựng bộ lọc trọng số ngắn hạn(short-term
perceptual weighting filter). Bộ lọc này dùng để lọc toàn bộ frame để nhận
được tín hiệu trong số thoại.
Ứng với 2 subframe (120 mẫu), vòng lặp mở định kỳ cường độ, LOL,
được tính toán dùng tín hiệu trọng số thoại. Sự đánh giá về cường độ âm
thanh được thực thi trên một khối 120 mẫu. Định kỳ về cường độ được dò
tìm trong một khoảng từ 18 đến 142 mẫu. Từ điểm này âm thoại được xử lí
với 60 mẫu trên một subframe.
Bằng cách dùng sự ước lượng về cường độ âm thanh được tính toán ở
phía trước ta xây dựng được bộ lọc định dạng nhiễu điều hòa( harmonic noise
shaping filter). Sự kết hợp của bộ lọc tổng hợp LPC, bộ lọc trọng số và bộ lọc
điều hòa tạp âm được dùng để tạo nên các xung hồi đáp sử dụng cho những
sự tính toán về sau.
Vòng lặp đóng của sự dự đoán cường độ âm thanh được tính toán dựa
trên sự ước lượng định kỳ cường độ âm thanh và đáp ứng xung. Chu kì
cường độ được tính toán như là một giá trị sai biệt nhỏ xung quanh sự ước
đoán cường độ vòng lặp mở. Ứng với trường hợp tốc độ bit cao (6.3 kbit/s),
kĩ thuật lượng tử Multi-pulse Maximum Likelihood Quantization( MP-MLQ)
được dùng, còn đối với trường hợp tốc độ bit thấp (5.3 kbit/s), sự kích thích
các mã đại số được dùng (ACELP). Biểu đồ khối của bộ mã hóa được thể
hiện trong hình dưới đây.
Simpo PDF Merge and Split Unregistered Version -
Nghiên cứu và xây dựng chương trình truyền thông đa phương tiện
Trần Thanh Long - Nguyễn Thành Nam 14
3.3. Cơ chế giải mã:
Bộ giải mã được thực thi dựa trên cơ sở frame-by-frame. Trước tiên
các chỉ mục LPC đã lượng tử hóa được giải mã, tiếp theo bộ giải mã tạo ra bộ
lọc tổng hợp LPC. Ứng với mỗi subframe, cả bộ dự đoán adaptive codebook
và fixed codebook được giải mã và được đưa vào bộ lọc tổng hợp. Tín hiệu
kích hoạt được đưa vào bộ lọc chuyển (postfilter) cường độ âm thanh, bộ lọc
này được kích hoạt để đưa vào bộ lọc tổng hợp.
Biểu đồ khối của bộ mã hóa tín hiệu thoại
Simpo PDF Merge and Split Unregistered Version -
Nghiên cứu và xây dựng chương trình truyền thông đa phương tiện
Trần Thanh Long - Nguyễn Thành Nam 15
4. Chuẩn nén G.729:
4.1. Giới thiệu:
Chuẩn này sử dụng thuật toán Conjugate-Structure Algebraic-Code-
Excited Linear-Prediction (CS-ACELP) để mã hóa tín hiệu âm thanh với tốc
độ 8kbit/s. Bộ mã hóa này được thiết kế để thực thi với tín hiệu số nhận được
từ bộ lọc băng thông thoại đầu tiên (được giới thiệu ở chuẩn G.712) của tín
hiệu tương tự ở đầu vào, sau đó tiến hành lấy mẫu ở tần số 8000 Hz và
chuyển đổi các mẫu âm thanh này thành PCM tuyến tính 16 bits để chuyển
đến bộ mã hóa ở đầu vào. Đầu ra của bộ giải mã phải chuyển đổi ngược sang
tín hiệu tương tự bằng cách giống như ở đầu vào.
4.2. Mô tả chung về bộ mã CS-ACELP:
Bộ mã CS-ACELP được dựa trên nền tảng của mô hình mã hóa CELP
(Code-Excited Linear-Prediction). Bộ mã này thực thi trên những khung âm
thanh 10 ms tương đương với tốc độ lấy mẫu 8000 sample/s. Cứ mỗi khung
10 ms, tín hiệu âm thanh được phân tích để trích ra những tham số của mô
hình CELP, những tham số này được mã hóa và truyền đi
Tại bộ phận giải mã, các tham số này được dùng vào việc khởi tạo và
tổng hợp các tham số trong bộ lọc. Âm thanh được khôi phục bằng cách lọc
Biểu đồ khối của bộ giải mã tín hiệu thoại
Simpo PDF Merge and Split Unregistered Version -
Nghiên cứu và xây dựng chương trình truyền thông đa phương tiện
Trần Thanh Long - Nguyễn Thành Nam 16
khởi tạo này thông qua các bộ lọc tổng hợp và bộ lọc dự đoán. Sau khi tính
toán xong luồng, âm thanh vừa được tổng hợp lại được nâng cao hơn nữa
bằng một bộ postfilter.
4.2.1. Nguyên lý mã hóa:
Nguyên lý mã hóa được biểu diễn trong hình dưới đây. Tín hiệu đầu
vào được chuyển lên bộ lọc chất lượng cao và được chia tỷ lệ trong những
khối trước khi xử lý . Tín hiệu tiền xử lý cung cấp như là tín hiệu đầu vào để
dùng cho tất cả những việc phân tích tiếp theo. Việc phân tích dự đoán tuyến
tính (Linear Prediction - LP) được làm một lần trên một khung 10 ms để tiến
hành tính toán hệ số lọc LP. Các hệ số này được chuyển sang dạng quang phổ
vạch dạng đôi (Line Spectrum Pairs - LSP) và dạng lượng tử hóa sử dùng dự
đoán hai giai đoạn vector lượng tử (Vector Quantization – VQ) 18 bits. Sự
kích hoạt tín hiệu được chọn bằng cách dùng một thủ tục tìm kiếm phân tích
tổng hợp, trong đó những lỗi giữa âm thanh nguồn và âm thanh sau khi được
tổng hợp lại giảm đến mức tối thiểu theo một quan niệm về việc đo lường
trọng lượng không chính xác. Việc này được thực hiện bằng cách lọc những
tín hiệu lỗi theo quan niệm về trọng lượng mà các hệ số của nó nhận được từ
bộ lọc LP chưa được lượng tử hóa. Hầu hết các quan niệm về trọng lượng
được tương thích hóa để cải thiện hiệu năng của tín hiệu đầu vào với một tần
số đáp ứng không thay đổi. Sự kích hoạt các tham số (các tham số cố định và
Biểu đồ khối của mô hình quan niệm tổng hợp CELP
Simpo PDF Merge and Split Unregistered Version -
Nghiên cứu và xây dựng chương trình truyền thông đa phương tiện
Trần Thanh Long - Nguyễn Thành Nam 17
tương thích các ký hiệu điện tử) được xác định trên mỗi khung phụ
(subframe) 5 ms (40 mẫu). Các hệ số trong bộ lọc LP đã được lượng tử hóa
và chưa được lượng tử hóa được sử dụng trong một khung phụ thứ hai, trong
khi khung phụ thứ nhất được tự động thêm vào các hệ số trong bộ lọc LP để
sử dụng ( cả hệ số lượng tử và hệ số chưa được lượng tử hóa). Một vòng lặp
mở với độ delay của chất lượng tiếng nói được đánh giá một lần trên một
khung 10 ms dựa trên quan niệm về trọng lượng của tín hiệu tiếng nói. Sau
đó các thao tác này được lặp lại cho mỗi khung phụ. Tín hiệu cần đạt đến
x(n) được tính toán bằng cách lọc LP còn dư lại qua một bộ lọc phân tích
trọng lượng W(z)/Â(z). Trạng thái khởi tạo của các bộ lọc này được cập nhật
bằng cách lọc các lỗi giữa LP còn dư và LP kích thích, nó tương đương với
việc trừ đi những tín hiệu zero ở đầu vào của bộ lọc tổng hợp trọng lượng từ
trọng lượng của tín hiệu tiếng nói. Những xung đáp ứng h(n) của bộ lọc tổng
hợp trọng lượng được tính toán. Sau đó vòng lặp đóng của chất lượng âm
thanh được thi hành (để tìm độ delay của bộ mã tương thích các ký hiệu điện
tử và tăng tốc cho nó), dùng x(n) và h(n), và bằng cách tìm kiếm xung quanh
những giá trị của vòng lặp mở độ delay của chất lượng âm thanh. Độ trể của
chất lượng âm thanh được mã hóa 8 bits rong khung phụ thứ nhất và mã hóa
5 bit cho khung phụ thứ hai. Tín hiệu đạt được x(n) được cập nhật bằng cách
trừ đi (lọc) các codebook tương thích tham gia vào, và một tín hiệu đạt được
khác x’(n) được dùng trong việc tìm kiếm các fixed_codebook để tìm ra một
sự kích thích tương thích nhất. Codebook đại số 17 bits được dùng cho sự
kích thích fixed_codebook. Sự gia tăng của độ tương thích và những mã cố
định đóng góp vào là một vector lượng tử hóa 7 bits. Cuối cùng bộ nhớ của
bộ lọc được cập nhật lại dùng tín hiệu kích thích đã được xác định trước.
Simpo PDF Merge and Split Unregistered Version -
Nghiên cứu và xây dựng chương trình truyền thông đa phương tiện
Trần Thanh Long - Nguyễn Thành Nam 18
4.2.2. Nguyên lý giải mã:
Cơ chế mã hóa của bộ mã hóa CS-ACELP
Cơ chế giải mã của bộ mã hóa CS-ACELP
Simpo PDF Merge and Split Unregistered Version -
Nghiên cứu và xây dựng chương trình truyền thông đa phương tiện
Trần Thanh Long - Nguyễn Thành Nam 19
Trước tiên, tham số chỉ mục được trích ra từ luồng bits nhận được.
Những tham số chỉ mục này được giải mã để nhận được tham số mã hóa
tương ứng với các khung thoại 10 ms. Các tham số này đều là các hệ số LSP
(Line Spectrum Pairs), hai phân số độ trễ chất lượng âm thanh, 2 vector
fixed-codebook, và 2 tập hợp tính tương thích và fixed-codebook được tăng
lên. Các hệ số LSP được tự động thêm vào và chuyển đổi sang hệ số bộ lọc
LP (Linear Prediction) cho mỗi khung phụ. Sau đó các bước sau được thực
hiện cho mỗi subframe 5 ms:
Sự kích thích được xây dựng bằng cách thêm độ tương thích và chia tỷ
lệ các vector fixed-codebook bằng cách tăng những phần riêng của nó.
Âm thanh được khôi phục lại bằng cách lọc sự kích thích thông qua
một bộ lọc tổng hợp LP.
Tín hiệu thoại sau khi đã được tái tạo, nó được chuyển qua công đoạn
post-processing, nó bao gồm bộ tương thích postfilter dựa trên bộ lọc tổng
hợp ngắn hạn và dài hạn, chuyển sang bộ lọc high-pass và tiến hành chia tỷ
lệ.
Simpo PDF Merge and Split Unregistered Version -
Nghiên cứu và xây dựng chương trình truyền thông đa phương tiện
Trần Thanh Long - Nguyễn Thành Nam 20
CHƯƠNG 2: TÌM HIỂU CÁC CHUẨN NÉN HÌNH ẢNH
1. Giới thiệu:
Cũng giống như các tín hiệu âm thanh, tín hiệu hình cũng gặp rất nhiều
khó khăn trong việc truyền dẫn tín hiệu do sự hạn chế về băng thông. Về điều
này, Hiệp hội viễn thông quốc tế ITU-T cũng đưa ra một vài chuẩn nén dùng
cho video như H.261, H.263 v.v… để có thể truyền các tín hiệu hình ảnh trên
băng thông thấp nhưng vẫn đạt được chất lượng dịch vụ tốt. Các chuẩn kỹ
thuật này đang được sử dụng rộng rãi trong các hội nghị truyền hình.
Ngoài ra, chúng ta có thể sử dụng các kỹ thuật nén hình khác như
MPEG I & II phục vụ cho nhu cầu mã hoá chung các hình ảnh động. Tuy
nhiên, luận văn này đi sâu vào nghiên cứu hai chuẩn nén do ITU-T đưa ra là
H.261 và H.263.
2. Chuẩn nén H.261:
2.1. Giới thiệu:
Chuẩn H.261được ITU-T đưa ra vào năm 1990. Chuẩn này đưa ra
những phương pháp mã hoá và giải mã hình ảnh, dùng trong việc truyền hình
ảnh video của các dịch vụ nghe nhìn với tốc độ px64Kbps ( p = 1- 30 ).
Chuẩn này thực sự hiệu quả khi sử dụng cho các ứng dụng sử dụng trong
mạng chuyển mạch điện tử (SCN). H.261 thường được dùng với các chuẩn
khác như: H221, H230, H242 và H320 hoặc những chuẩn mới.
2.2. Đinh dạng ảnh nguồn của chuẩn H.261
Bộ mã nguồn chỉ có tác dụng với loại ảnh không đan xen (non-
interlaced). Ảnh được mã hoá theo độ sáng và hai thành phần màu khác nhau
(Y, Cb,Cr). Ma trận Cb, Cr có kích thước bằng một nửa ma trận Y.
H261 hỗ trợ hai độ phân giải ảnh khác nhau: QCIF(144*176 pixel) và
CIF(288*352 pixel).
Simpo PDF Merge and Split Unregistered Version -
Nghiên cứu và xây dựng chương trình truyền thông đa phương tiện
Trần Thanh Long - Nguyễn Thành Nam 21
Trong bộ mã hoá H.261, có ba thành phần chính là prediction, block
tranformation, quantization & entropy coding. Chúng ta sẽ đi sau vào các
phần trên đây.
a. Prediction:
H261 định nghĩa hai loại mã khác nhau:
• INTRA coding: mỗi block 8*8 pixel được mã hoá một cách độc
lập và được gởi đi trực tiếp đến tiến trình chuyển đổi block
(block transformation process).
• INTER coding: mỗi frame được mã hoá có sự liên quan đến các
frame khác. Độ sai lệch được tính toán giữa một vùng 16*16
pixel (gọi là macroblock) với một macroblock của frame trước.
b. Block transformation:
H261 hỗ trợ việc bù đắp những mất mát của quá trình chuyển
động trong bộ mã hoá như một tùy chọn. Trong việc bồi thường
chuyển động, một vùng tìm kiếm được xây dựng dựa trên frame trước
để xác định macroblock tham chiếu tốt nhất (reference macroblock).
Cả độ sai lệch ước tính cũng như vector chuyển động, xác định giá trị
và hướng di chuyển giữa macroblock được mã hóa và vùng tham chiếu
đã chọn đều được gửi đi. Cùng tìm kiếm cũng như làm thế nào để tính
toán vector chuyển động không tùy thuộc và sự chuẩn hóa. Thành
Y
YY
Y
Cb
Cr
H.1
Simpo PDF Merge and Split Unregistered Version -
Nghiên cứu và xây dựng chương trình truyền thông đa phương tiện
Trần Thanh Long - Nguyễn Thành Nam 22
phần nằm ngang và thẳng đứng của vector phải có giá trị nguyên nằm
trong khoảng -15 đến 15.
Trong sự biến đổi khối, những frame mã hóa theo kiểu INTRA
cũng như những sai số dự đoán đều được đưa vào trong khối 8*8. Mỗi
khối sẽ được xử lý bởi một hàm FDCT hai chiều.
c. Quantization & Entropy Coding:
Mục đích của bước này là đạt được sự nén tốt hơn bằng các hệ
số DCT (Discrete Cosine Transform) để đạt được chất lượng đòi hỏi.
Số lượng tử hóa là 1 đối với các hệ số INTRA và là 31 cho tất cả các
hệ số khác.
Mã hóa entropy kéo theo sự nén tốt hơn được thực hiện bằng
cách gán những từ mã ngắn hơn cho những sự kiện phổ biến và sử
dụng những sự kiện ít phổ biến hơn. Mã hóa Huffman thường được sử
dụng trong trường hợp này.
Nói cách khác, chúng ta có thể mất một vài hệ số trong việc
chuyển đổi bằng cách sử dụng ít bit hơn so với số bit cần thiết cho tất
cả các giá trị. Chúng ta sẽ dùng những từ mã ngắn hơn đối với những
giá trị thông thường (giống như việc sử dụng 8 bit cho việc mã hóa 3 kí
tự trong tiếng Anh).
2.3. Ghép kênh H.261 (H.261 Multiplexing):
Dữ liệu trong bộ ghép kênh H.261 được nén thành các luồng bit phân
lớp. Hệ thống gồm có 4 lớp sau:
2.3.1. Picture layer:
Mỗi một picture layer tương ứng với một khung hình và có cấu trúc
như sau:
PSC T
R
PTYPE PEI PSPA
R
E PEI GOB Data
H.2 Structure of picture layer
Simpo PDF Merge and Split Unregistered Version -
Nghiên cứu và xây dựng chương trình truyền thông đa phương tiện
Trần Thanh Long - Nguyễn Thành Nam 23
• PSC : Picture Start Code (20 bit), có giá trị 0000 0000 0001 0000 0000.
• TR : Temperal Reference (5 bit):
Có 32 giá trị khác nhau, nó được thành lập bằng cách tăng giá trị đó
ở header của ảnh đã chuyển trước lên 1 cộng với số lượng ảnh chưa được
chuyển kể từ ảnh notice chuyển cuối cùng.
• PTYPE : Type Information (6 bit):
Thông số này lưu thông tin về toàn bộ ảnh.
Bit 1: Split screen indicator, “0”: off , “1”: on
Bit 2: Document camera indicator, “0”: off, “1”: on
Bit 3: Freeze Picture Release, “0”: off , “1”: on
Bit 4: Source Format, “0”: QCIF , “1”: CIF.
Bit 5,6 Space.
• PEI : Extra Insertion Information (1 bit)
Được bật lên 1 nếu có trường data tùy chọn theo sau.
• PSPARE : Spare Information (0, 8, 16 …bits)
Nếu trường PEI được bật lên 1 thì 9 bits bao gồm 8 bits data và 1
bit PEI dùng để chỉ tiếp 9 bits theo sau và cứ tiếp tục như thế cho đến khi
bit PEI = 0.
2.3.2. Group of blocks (GOB):
Ứng với 1/12 CIF (Common Image Format) picture hoặc 1/3 QCIF
(Quarter Common Image Format)
H.3 Trật tự của một GOB trong một ảnh
CIF
1 2
3 4
5 6
7 8
9 10
11 12
QCIF
1
2
3
Simpo PDF Merge and Split Unregistered Version -
Nghiên cứu và xây dựng chương trình truyền thông đa phương tiện
Trần Thanh Long - Nguyễn Thành Nam 24
Dữ liệu cho một group of block bao gồm một GOB header theo sau là
macroblock data. Cẩu trúc của nó như sau:
• GBSC : Group of Blocks Start Code (16 bits)
Một word 16 bits, có giá trị là 0000 0000 0000 0001.
• GN : Group of Number (4 bits)
4 bits này dùng để chỉ vị trí của group of blocks
• GQUANT : Quantizer Information (5 bits)
Dùng để chỉ ra lượng tử hóa (quantizer) được dùng trong group of
block cho đến khi bị loại bỏ bởi bất kỳ một MQUANT nào theo sau. Đây
là giá trị của lượng tử có trị số từ 1-31.
• GEI : Extra Insertion Information (1 bit)
Được bật lên 1 khi có trường data.
• GSPARE : Spare Information (0,8,16,…bits)
Khi thông số GEI bật lên thì 9 bits theo sau sẽ bao gồm 8 bits data
và 1 bit GEI khác dùng để 9 bits tiếp theo và cứ tiếp tục như thế cho đến
khi gặp bit GEI = 0.
2.3.3. Macroblocks:
Mỗi GOB (Group of Block) được chia thành 33 macroblock ứng với
16*16 pixel của cường độ sáng và 2 thành phần màu (8*8).
GBSC GN GQUANT GEI GSPARE GEI MB Data
H.4 Structure of GOB Layer
1 2 3 4 5 6 7 8 9 10 11
12 13 14 15 16 17 18 19 20 21 22
23 24 25 26 27 28 29 30 31 32 33
H.5 Trật tự của các macroblock trong một GOB
MBA MTYPE MQUANT MVD CBP Block Data
H.6 Cấu trúc một lớp macroblock
Simpo PDF Merge and Split Unregistered Version -