Khóa luận Đảm bảo chất lượng dịch vụ cho việc truyền video streaming trong mạng không dây 802.11
ĐꢀI HꢁC QUꢂC GIA HÀ NꢃI
TRƯꢄNG ĐꢀI HꢁC CÔNG NGHꢅ
Nguyꢆn Đình Hòa
ĐꢇM BꢇO CHꢈT LƯꢉNG DꢊCH Vꢋ CHO VIꢅC
TRUYꢌN VIDEO STREAMING TRONG MꢀNG
KHÔNG DÂY 802.11
KHOÁ LUꢍN TꢂT NGHIꢅP ĐꢀI HꢁC Hꢅ CHÍNH QUY
Ngành: Công nghꢎ thông tin
HÀ NꢃI - 2010
ĐꢀI HꢁC QUꢂC GIA HÀ NꢃI
TRƯꢄNG ĐꢀI HꢁC CÔNG NGHꢅ
Nguyꢆn Đình Hòa
ĐꢇM BꢇO CHꢈT LƯꢉNG DꢊCH Vꢋ CHO VIꢅC
TRUYꢌN VIDEO STREAMING TRONG MꢀNG
KHÔNG DÂY 802.11
KHOÁ LUꢍN TꢂT NGHIꢅP ĐꢀI HꢁC Hꢅ CHÍNH QUY
Ngành: Công nghꢎ thông tin
Cán bꢏ hưꢐng dꢑn: TS. Nguyꢆn Hoài Sơn
HÀ NꢃI - 2010
Lꢒi cꢓm ơn
Em xin chân thành cꢀm ơn các thꢁy cô trong trưꢂng Đꢃi hꢄc Công Nghꢅ - ĐHQG
Hà Nꢆi ñã tꢇn tình giúp ñꢈ truyꢉn ñꢃt kiꢊn thꢋc cho em trong suꢌt 4 năm hꢄc qua ñꢍ
em có ñꢎ kiꢊn thꢋc hoàn thành khóa luꢇn này
Đꢏc biꢅt, em xin gꢐi lꢂi cꢀm ơn sâu sꢑc tꢒi thꢁy Nguyꢓn Hoài Sơn. Ngưꢂi ñã
nhiꢅn tình ñꢆng viên hưꢒng dꢔn và giúp ñꢈ em trong suꢌt quá trình thꢕc hiꢅn khóa
luꢇn này.
Em xin cꢀm ơn sꢕ nhiꢅt tình chia sꢖ kinh nghiꢅm, ñóng góp ý kiꢊn cꢎa nhóm
nghiên cꢋu do thꢁy Nguyꢓn Hoài Sơn hưꢒng dꢔn.
Xin gꢐi lꢂi cꢀm ơn tha thiꢊt nhꢗt tꢒi bꢌ mꢘ và nhꢙng ngưꢂi thân khác trong gia
ñình ñã ñꢆng viên giúp ñꢈ con/cháu rꢗt nhiꢉu trong suꢌt quá trình hꢄc tꢇp cũng như
hoàn thành khóa luꢇn này.
Mꢏc dù ñã rꢗt cꢌ gꢑng hoàn thành khóa luꢇn này vꢒi tꢗt cꢀ nꢚ lꢕc cꢎa bꢀn thân,
xong khóa luꢇn sꢛ khó tránh khꢜi nhꢙng thiꢊu sót, kính mong quý thꢁy cô tꢇn tình chꢝ
bꢀo cho em nhꢙng sai lꢁm cꢁn khꢑc phꢞc cꢎa mình. Mꢆt lꢁn nꢙa em xin gꢐi tꢒi tꢗt cꢀ
mꢄi ngưꢂi lꢂi cꢀm ơn chân thành nhꢗt.
Hà nꢀi, tháng 05 năm 2010
Sinh viên : Nguyꢆn Đình Hòa
Tóm tꢔt
Ngày nay, vꢒi sꢕ phát triꢍn cꢎa Internet các dꢟch vꢞ truyꢉn thông ña phương tiꢅn
ngày càng phát triꢍn và ñóng vai trò quan trꢄng trong nhiꢉu mꢏt cꢎa ñꢂi sꢌng. Video
streaming là mꢆt trong sꢌ nhꢙng dꢟch vꢞ như thꢊ. Trong video streaming, dꢙ liꢅu ñưꢠc
truyꢉn trꢕc tiꢊp tꢡ nguꢢn phát và hiꢍn thꢟ trꢕc tiꢊp tꢃi bên nhꢇn trong khi truyꢉn mà
không cꢁn phꢀi ñꢠi cho viꢅc truyꢉn dꢙ liꢅu kꢊt thúc. Vꢒi ñꢏc ñiꢍm như vꢇy dꢟch vꢞ
video streaming có nhꢙng ràng buꢆc khá cao vꢉ băng thông cao, ñꢆ trꢓ thꢗp, tꢣ lꢅ mꢗt
gói tin thꢗp...
Video streaming ngày càng ñưꢠc sꢐ dung nhiꢉu trong mꢃng không dây như mꢃng
LAN không dây theo quy chuꢤn IEEE 802.11. Bꢥng chꢋng là sꢕ ra ñꢂi và phát triꢍn
cꢎa các ꢋng dꢞng như mobile tv, video call… Nhꢙng ꢋng dꢞng này ñã và ñang ñưꢠc
nghiên cꢋu cꢀi tiꢊn vꢒi mꢞc tiêu cꢋu chꢎ yꢊu là làm sao ñꢍ khꢑc phꢞc các nhưꢠc ñiꢍm
cꢌ hꢙu cꢎa mꢃng không dây cũng như ñáp ꢋng tꢌt các ràng buꢆc cꢎa video streaming.
Tuy nhiên, vꢗn ñꢉ ñꢀm bꢀo chꢗt lưꢠng dꢟch vꢞ cꢎa các dꢟch vꢞ video streaming vꢔn
cꢁn có sꢕ hꢚ trꢠ cꢎa mꢃng không dây. IEEE 802.11e nhꢥm ñáp ꢋng yêu cꢁu ñó.
IEEE 802.11e là mꢆt biꢊn thꢍ cꢎa chuꢤn IEEE 802.11. Nó ñꢟnh nghĩa tꢇp các cꢀi
tiꢊn vꢉ ñꢀm bꢀo chꢗt lưꢠng dꢟch vꢞ dành cho mꢃng WLAN thông qua các sꢐa ñꢦi ꢧ
tꢁng MAC. Trong viꢅc truyꢉn video streaming chuꢤn IEEE 802.11e ñã có nhiꢉu cꢀi
tiꢊn mang tính tích cꢕc. IEEE 802.11e cho phép phân cꢗp các dꢟch vꢞ bꢥng cách gán
cho luꢢng dꢙ liꢅu cꢎa chúng tương ꢋng vꢒi các ñꢆ ưu tiên khác nhau. Các gói tin cꢎa
dꢟch vꢞ có ñꢆ ưu tiên cao hơn có thꢍ dành ñưꢠc cơ hꢆi truyꢉn tꢌt hơn các gói tin cꢎa
dꢟch vꢞ có ñꢆ ưu tiên thꢗp hơn.
Tuy nhiên viꢅc ñꢀm bꢀo chꢗt lưꢠng truyꢉn video streaming trong mꢃng không
dây sꢐ dꢞng chuꢤn IEEE 802.11e vꢔn tꢢn tꢃi nhꢙng ñiꢍm bꢗt cꢇp. Ví dꢞ, viꢅc phân
tꢁng trong video streaming sꢛ cho kꢊt quꢀ là mꢆt video sꢛ ñưꢠc truyꢉn dưꢒi dꢃng các
luꢢng khác nhau ñꢍ ñáp ꢋng nhꢙng nhu cꢁu và tình trꢃng mꢃng khác nhau. Nhưng vꢒi
IEEE 802.11e các luꢢng này sꢛ ñưꢠc xꢊp vào cùng mꢆt ñꢆ ưu tiên viꢅc này sꢛ làm cho
chꢗt lưꢠng dꢟch vꢞ kém ñi khi tình trꢃng mꢃng tꢑc nghꢛn.
Khóa luꢇn sꢛ trình bày giꢀi pháp ñꢍ hꢚ trꢠ tꢌt hꢠn viꢅc ñꢀm bꢀo chꢗt lưꢠng cꢎa
viꢅc truyꢉn video streaming trong mꢃng không dây. Đó là giꢀi pháp gán ñꢆ ưu tiên
ñꢆng cho các luꢢng dꢙ liꢅu tương ꢋng vꢒi các tꢁng cꢎa video streaming. Viꢅc truyꢉn
video streaming có thꢍ ñꢃt ñưꢠc sꢕ linh ñꢆng hơn vì các luꢢng dꢙ liꢅu sꢛ có khꢀ năng
thay ñꢦi ñưꢠc ñꢆ ưu tiên trong quá trình truyꢉn. Giꢀi pháp này sꢛ ñꢀm bꢀo duy trì dꢟch
vꢞ cũng như ñꢀm bꢀo chꢗt lưꢠng dꢟch vꢞ cꢎa video streaming mꢆt cách tꢌt hơn.
Mꢕc lꢕc
Chương 1. Tꢦng quan vꢉ video streaming ....................................................................1
1.1. Giꢒi thiꢅu vꢉ video streaming ...............................................................................1
1.1.1. Nén dꢙ liꢅu.........................................................................................................2
1.1.2. Điꢉu khiꢍn chꢗt lưꢠng dꢟch vꢞ tꢁng ꢋng dꢞng...................................................3
1.1.2.1. Điꢁu khiꢂn tꢃc nghꢄn......................................................................................4
1.1.2.2. Điꢁu khiꢂn lꢅi..................................................................................................7
1.1.2.3. Che dꢆu lꢅi......................................................................................................9
1.1.3. Dꢟch vꢞ phân phꢌi phương tiꢅn truyꢉn thông liên tꢞc .......................................9
1.1.4. Máy chꢎ (streaming server) .............................................................................12
1.1.5. Các giao thꢋc video streaming.........................................................................12
1.1.6. Cơ chꢊ ñꢢng bꢆ video streaming......................................................................13
1.2. Kꢨ thuꢇt phân tꢁng trong video streaming ..........................................................13
1.3. Đꢀm bꢀo chꢗt lưꢠng dꢟch vꢞ truyꢉn video streaming. ........................................15
Chương 2. Chuꢤn IEEE 802.11e vꢉ ñꢀm bꢀo chꢗt lưꢠng dꢟch vꢞ trong mꢃng không
dây
...................................................................................................................17
2.1. Tꢦng quan vꢉ IEEE 802.11 MAC .......................................................................17
2.1.1. Các khoꢀng liên khung (Inter-frame space).....................................................17
2.1.2. Chꢋc năng phꢌi hꢠp phân tán (Distributed Coordination Function - DCF)....19
2.1.2.1. Thꢇ tꢈc quay lui ngꢉu nhiên (random backoff) ............................................19
2.1.2.2. Thꢇ tꢈc xác nhꢊn ACK..................................................................................20
2.1.3. Chꢋc năng phꢌi hꢠp ñiꢍm (Point Coordination Function - PCF)....................21
2.1.3.1. Chu kỳ không tranh chꢆp..............................................................................21
2.1.3.2. Thꢇ tꢈc truy cꢊp PCF ...................................................................................22
2.2. Chuꢤn IEEE 802.11e ...........................................................................................23
2.2.1. Chꢋc năng phꢌi hꢠp lai (Hybrid Coordination Function - HCF) ....................23
2.2.1.1. EDCF (Enhanced Distributed Coordinated Function)................................24
2.2.1.2. HCCA(HCF controlled channel access) ......................................................27
2.3. Truyꢉn video streaming trong mꢃng không dây IEEE 802.11e..........................28
Chương 3. Giꢀi pháp gán ñꢆ ưu tiên ñꢆng cho các luꢢng video streaming trong mꢃng
IEEE 802.11e.................................................................................................................30
3.1. Vꢗn ñꢉ nghiên cꢋu...............................................................................................30
3.2. Giꢀi pháp gán ñꢆ ưu tiên ñꢆng cho các luꢢng video streaming ..........................37
3.2.1. Các tham sꢌ ñánh giá môi trưꢂng truyꢉn.........................................................38
3.2.2. Mô tꢀ giꢀi pháp. ...............................................................................................39
3.3. Phân tích ñánh giá ...............................................................................................41
Chương 4. Đánh giá giꢀi pháp ñꢆ ưu tiên ñꢆng cho các luꢢng video streaming trong
mꢃng IEEE 802.11e.......................................................................................................43
4.1. Môi trưꢂng mô phꢜng .........................................................................................43
4.1.1. Xây dꢕng chương trình mô phꢜng...................................................................43
4.1.2. Kꢟch bꢀn mô phꢜng..........................................................................................45
4.1.2.1. Các tham sꢋ môi trưꢌng ...............................................................................45
4.1.2.2. Thông sꢋ tꢍi các trꢍm...................................................................................46
4.2. Kꢊt quꢀ mô phꢜng ...............................................................................................47
4.2.1. Đánh giá vꢉ thông lưꢠng..................................................................................47
4.2.2. Đánh giá vꢉ ñꢆ trꢓ............................................................................................49
Chương 5. Kꢊt luꢇn .....................................................................................................52
5.1. Kꢊt luꢇn ...............................................................................................................52
5.2. Hưꢒng phát triꢍn tiꢊp theo...................................................................................52
Tài liꢅu tham khꢀo.........................................................................................................53
Mꢖ ñꢗu
Trong nhꢙng năm gꢁn ñây vꢒi sꢕ phát triꢍn mꢃnh cꢎa công nghꢅ mꢃng nói
chung và công nghꢅ mꢃng không dây nói riêng. Ngày càng có nhiꢉu ꢋng dꢞng ra ñꢂi,
mꢆt trong sꢌ ñó là các ꢋng dꢞng video streaming vꢒi ñiꢍn hình như là video call,
mobile tv… Nhꢙng ꢋng dꢞng này, ñang ngày càng ñưꢠc phát triꢍn và hoàn thiꢅn dꢁn.
Tuy nhiên, ñꢍ duy trì và ñꢀm bꢀo chꢗt lưꢠng cho các ꢋng dꢞng này không phꢀi là viꢅc
ñơn giꢀn. Các ꢋng dꢞng video streaming luôn luôn gꢑn liꢉn vꢒi nhꢙng ràng buꢆc vꢉ ñꢆ
trꢓ, thông lưꢠng cũng như tꢣ lꢅ mꢗt gói tin nhꢗt ñꢟnh. Mꢃng không dây lꢃi là môi
trưꢂng không ñưꢠc ꢦn ñꢟnh như mꢃng có dây. Trong mꢃng không dây viꢅc kiꢍm soát
băng thông và ñꢆ trꢓ cũng như tꢣ lꢅ mꢗt gói tin là rꢗt khó.
Mꢏc dù, viꢅc hꢚ trꢠ ñꢀm bꢀo chꢗt lưꢠng dꢟch vꢞ ñã ñưꢠc hꢚ trꢠ trong mꢃng
không dây vꢒi viꢅc áp dꢞng chuꢤn IEEE 802.11e, tuy nhiên chuꢤn này chꢝ dꢡng lꢃi ꢧ
mꢋc cung cꢗp viꢅc cho phép các ꢋng dꢞng ñưꢠc gán ñꢆ ưu tiên khác nhau tꢡ ñó cơ hꢆi
truyꢉn dꢙ liꢅu cꢎa các luꢢng dꢙ liꢅu tương ꢋng vꢒi dꢟch vꢞ sꢛ khác nhau. Tuy nhiên,
bꢀn thân dꢟch vꢞ video streaming lꢃi là viꢅc truyꢉn mꢆt tꢇp hꢠp các luꢢng dꢙ liꢅu
tương ꢋng vꢒi các tꢁng trong cơ chꢊ phân tꢁng cꢎa nó. Theo chuꢤn 802.11e thì các
luꢢng này vꢔn sꢛ có cùng ñꢆ ưu tiên và sꢛ có cơ hꢆi truyꢉn ngang nhau.
Mꢏt khác, các tꢁng cꢎa video streaming là không tương ñương nhau, mꢚi tꢁng lꢃi
có mꢋc ñꢆ quan trꢄng khác nhau. Nꢊu ñꢍ ñꢀm bꢀo chꢗt lưꢠng dꢟch vꢞ cho video
streaming mꢆt cách hiꢅu quꢀ thì các luꢢng này phꢀi ñưꢠc phân biꢅt vꢒi nhau ꢧ tꢁng
MAC ñꢍ có cơ chꢊ phân phꢌi cơ hꢆi truyꢉn phù hꢠp. Chuꢤn 802.11e không làm ñưꢠc
viꢅc này.
Vꢇy phꢀi có mꢆt giꢀi pháp nào ñó ñꢍ có thꢍ hꢚ trꢠ viꢅc ñꢀm bꢀo chꢗt lưꢠng dꢟch
vꢞ phù hꢠp vꢒi cơ chꢊ phân tꢁng cꢎa video streaming sao cho hiꢅu suꢗt viꢅc truyꢉn
video streaming ñꢃt hiꢅu quꢀ cao hơn.
Khóa luꢇn sꢛ ñꢉ xuꢗt giꢀi pháp gán ñꢆ ưu tiên ñꢆng cho các luꢢng dꢙ liꢅu tương
ꢋng vꢒi các tꢁng cꢎa video streaming. Trong video streaming các tꢁng video ñưꢠc
phân cꢗp ñꢆ quan trꢄng theo thꢋ tꢕ giꢀm dꢁn như sau : tꢁng cơ bꢀn, tꢁng mꢧ rꢆng 1,
tꢁng mꢧ rꢆng 2… Vꢒi trưꢂng hꢠp mꢃng rꢀnh rꢚi, viꢅc các luꢢng dꢙ liꢅu cꢎa các tꢁng
này ñꢉu nhꢇn giá trꢟ ñꢆ ưu tiên cao như trong chuꢤn IEEE 802.11e mô tꢀ là hꢠp lý, ñꢍ
tꢇn dꢞng băng thông cꢎa môi trưꢂng truyꢉn cũng như giꢀm thiꢍu ñꢆ trꢓ cꢎa gói tin.
Nhưng, vꢒi trưꢂng hꢠp mꢃng bꢇn viꢅc phân bꢦ ñꢆ ưu tiên như vꢇy là không hꢠp lý bꢧi
vì nó sꢛ làm hiꢅu quꢀ truyꢉn cꢎa tꢗt cꢀ các luꢢng cùng giꢀm xuꢌng. Do ñó tùy theo
mꢋc ñꢆ bꢇn cꢎa môi trưꢂng truyꢉn, các luꢢng dꢙ liꢅu sꢛ ñưꢠc gán lꢃi ñꢆ ưu tiên mꢆt
cách hꢠp lý, sao cho ñꢀm bꢀo rꢥng viꢅc truyꢉn cꢎa luꢢng dꢙ liꢅu quan trꢄng phꢀi có
hiꢅu quꢀ cao, và cꢌ gꢑng truyꢉn dꢙ liꢅu cꢎa luꢢng có ñꢆ quan trꢄng nhꢜ hơn mꢆt mꢋc
có thꢍ.
Khóa luꢇn chia thành năm chương.
Chương 1. Giꢒi thiꢅu tꢦng quan vꢉ dꢟch vꢞ video streaming, cơ chꢊ phân tꢁng
trong video streaming và ñꢀm bꢀo chꢗt lưꢠng dꢟch vꢞ truyꢉn video streaming.
Chương 2. Mô tꢀ tꢦng quan vꢉ 802.11 MAC và chuꢤn 802.11e ñꢢng thꢂi giꢒi
thiꢅu và nhꢇn xét vꢉ viꢅc truyꢉn video streaming trong 802.11e
Chương 3. Đi sâu phân tích và chꢋng minh sꢕ cꢁn thiꢊt cꢎa viꢅc gán ñꢆ ưu tiên
ñꢆng cho các luꢢng video streaming. Sau ñó sꢛ trình bày giꢀi pháp ñưa ra và nhꢇn xét
vꢉ giꢀi pháp
Chương 4. Tiꢊn hành ñánh giá giꢀi pháp gán ñꢆ ưu tiên ñꢆng cho các luꢢng video
streaming vꢒi chuꢤn ieee 802.11e bꢥng cách xây dꢕng thí nghiꢅm mô phꢜng trên bꢆ
công cꢞ mô phꢜng ns2.
Chương 5. Kꢊ luꢇn và nêu hưꢒng nghiên cꢋu tiꢊp theo.
Chương 1. Tꢘng quan vꢙ video streaming
1.1. Giꢐi thiꢎu vꢙ video streaming
Video streaming là phương thꢋc chuyꢍn giao dꢙ liꢅu video ꢧ dꢃng nén trên
Internet mꢆt cách ñꢉu ñꢏn và liên tꢞc, sao cho ngưꢂi dùng không cꢁn ñꢠi tꢒi khi có
toàn bꢆ tꢇp tin mꢒi có thꢍ xem ñưꢠc nꢆi dung cꢎa nó mà có thꢍ bꢑt ñꢁu hiꢍn thꢟ các dꢙ
liꢅu ña phương tiꢅn khi mà mꢆt phꢁn dꢙ liꢅu ñã ñưꢠc nhꢇn. Ngưꢂi dùng phꢀi dùng mꢆt
chương trình ñꢏt biꢅt nó có thꢍ giꢀi nén dꢙ liꢅu và phân phꢌi dꢙ liꢅu hình ꢀnh cho
mành hình cũng như âm thanh tꢒi loa. Video streaming ñưꢠc phát triꢍn dꢕa trên hai
công nghꢅ chꢎ chꢌt ñó là các công nghꢅ mã hóa video và các công nghê tăng khꢀ năng
mꢧ rꢆng viꢅc phân phꢌi video.
Streaming Server
Client/Receiver
Video
Decoder
Audio
Decoder
Media
Syschronization
Storage Device
Video
Compression
Application-layer
QoS Control
Compressed
Video
Application-layer
QoS Control
Raw Video
Raw Audio
Audio
Compression
Compressed
Audio
Transport
Protocol
Transport
Protocol
Internet
(Continuous media
distribution services)
Hình 1.1. Kiꢀn trúc hꢁ thꢂng video streaming
Ban ñꢁu dꢙ liꢅu thô ñưꢠc nén lꢃi thông qua bꢆ nén dꢙ liꢅu, và ñưꢠc lưu trꢙ tꢃi
thiꢊt bꢟ lưu trꢙ bên trong server. Sau ñó khi có yêu cꢁu tꢡ client thì server sꢛ lꢗy các dꢙ
liꢅu tương ꢋng ñã ñưꢠc nén lꢃi trong thiꢊt bꢟ lưu trꢙ, và chuyꢍn giao tꢒi cho bꢆ phꢇn
ñiꢉu khiꢍn chꢗt lưꢠng chꢗt lưꢠng dꢟch vꢞ tꢁng ꢋng dꢞng. Bꢆ phꢇn này sꢛ tùy vào yêu
cꢁu ꢋng dꢞng, tình trꢃng mꢃng ñꢍ tꢃo các dòng lưu lưꢠng hꢠp lý, sau ñó sꢛ ñꢤy các
luꢢng dꢙ liꢅu xuꢌng cho tꢁng giao vꢇn (transport layer). Các giao thꢋc tꢁng giao vꢇn sꢛ
có trách nhiꢅm gꢐi dꢙ liꢅu thông qua Internet tꢒi client. Khi các gói tin ñưꢠc lưu
1
chuyꢍn trên mꢃng, nó có thꢍ bꢟ mꢗt mát hoꢏc là có ñꢆ trꢓ lꢒn khi mꢃng bꢟ tꢑc nghꢛn.
Đꢍ hꢚ trꢠ chꢗt lưꢠng video/audio truyꢉn tꢀi, các dꢟch vꢞ hꢚ trꢠ truyꢉn thông ña phương
tiꢅn liên tꢞc ñưꢠc triꢍn khai (ví dꢞ như caching …). Khi các gói tin ñꢊn ñưꢠc client
thành công, nó ñưꢠc truyꢉn lên tꢁng giao vꢇn, rꢢi tiꢊp ñó là bꢆ phꢇn ñiꢉu khiꢍn chꢗt
lưꢠng dꢟch vꢞ tꢁng ꢋng dꢞng. Sau ñó chúng ñưꢠc giꢀi mã ñꢍ cho ra các dꢙ liꢅu thô ban
ñꢁu, tiꢊp theo ñꢍ có thꢍ sꢐ dꢞng ñưꢠc nhꢙng dꢙ liꢅu này, cꢁn phꢀi sꢐ dꢞng ñꢊn bꢆ
ñꢢng bꢆ hóa ña phương tiꢅn ñꢍ ñꢢng bꢆ video và audio mꢆt cách chuꢤn xác.
Vꢇy tꢋc là mꢚi mꢆt hꢅ thꢌng video streaming cꢁn thiꢊt phꢀi có sáu thành phꢁn
tương ꢋng vꢒi sáu bưꢒc thao tác như trên, bây giꢂ ta sꢛ ñi cꢞ thꢍ tꢡng thành phꢁn ñó.
1.1.1. Nén dꢚ liꢎu
Các dꢙ liꢅu trong streaming server luôn luôn phꢀi ñưꢠc nén trưꢒc khi truyꢉn ñꢍ
giꢀm thiꢍu dung lưꢠng truyꢉn trên mꢃng. Đꢢng thꢂi, khi dꢙ liꢅu ñưꢠc nhꢇn ꢧ client
cũng phꢀi thꢕc hiꢅn thao tác giꢀi nén ñꢍ thu ñưꢠc dꢙ liꢅu gꢌc. Có hai kiꢍu nén dꢙ liꢅu
cơ bꢀn là phương pháp nén không mꢧ rꢆng (non-scalable compress), và phương pháp
nén mꢧ rꢆng (scalable compress).
DCT: Discrete Cosine
Transform
Compressed
Bit-stream
Raw
video
VLC
DCT
Q
Q: Quantization
VLC: Variable Length Coding
VLD: Variable Length Decoding
IQ: Inverse Quantization
IDCT: Inverse DCT
Decoded
video
Compressed
Bit-stream
VLC
DCT
Q
Hình 1.2. (a) nén không mꢃ rꢄng ; (b) giꢅi nén không mꢃ rꢄng
Phương pháp nén không mꢖ rꢏng :
Trong phương pháp nén không mꢧ rꢆng, dꢙ liꢅu thu ñưꢠc sau khi nén là mꢆt
chuꢚi bit. Chuꢚi bit này ñưꢠc gꢐi tꢒi bên nhꢇn, sau ñó quá trình giꢀi nén ñưꢠc thꢕc thi
trên chuꢚi bit và kꢊt quꢀ thu ñưꢠc là dꢙ liꢅu tương ꢋng vꢒi dꢙ liꢅu gꢌc ꢧ bên gꢐi.
2
Phương pháp nén mꢖ rꢏng :
Base Layer
Compressed Bit-stream
Raw
Video
DCT
Q
VLC
VLC
IQ
Enhancement Layer
Compressed Bit-stream
Q
(a)
Base Layer
Compressed Bit-stream
Base Layer
Decode Video
VLD
VLD
IQ
IDCT
IDCT
Enhancement
Layer Decode
Video
Enhancement Layer
Compressed Bit-stream
IQ
(b)
Hình 1.3. (a) nén mꢃ rꢄng ; (b) giꢅi nén không mꢃ
Trong phương pháp nén mꢧ rꢆng gꢌc ñưꢠc chia thành các luꢢng con, trong ñó có
mꢆt luꢢng ñưꢠc gꢄi là luꢢng cơ bꢀn, khi thꢕc hiꢅn quá trình giꢀi nén nó không phꢞ
thuꢆc vào bꢗt kỳ mꢆt luꢢng con nào khác, và cung cꢗp chꢗt lưꢠng video ꢧ dꢃng thô.
Các luꢢng con khác gꢄi là luꢢng mꢧ rꢆng, viꢅc giꢀi nén chúng phꢀi phꢞ thuꢆc vào
luꢢng cơ bꢀn, và chúng cung cꢗp chꢗt lưꢠng video tꢌt hơn. Luꢢng toàn phꢁn (kꢊt hꢠp
cꢎa tꢗt cꢀ các luꢢng ) sꢛ cung cꢗp chꢗt lưꢠng video tꢌt nhꢗt.
1.1.2. Điꢙu khiꢛn chꢜt lưꢝng dꢞch vꢕ tꢗng ꢟng dꢕng
Phꢁn này mô tꢀ các kꢨ thuꢇt ñiꢉu khiꢍn tꢑc nghꢛn và ñiꢉu khiꢍn lꢚi (chꢝ áp dꢞng
ꢧ các hꢅ thꢌng ñꢁu cuꢌi và không có bꢗt kỳ yêu cꢁu nào vꢒi mꢃng)
3
Congestion
control
Quality of
service
Error
control
Hình 1.4. mô hình ñiꢆu khiꢇn chꢈt lưꢉng dꢊch vꢋ
1.1.2.1.
Điꢀu khiꢁn tꢂc nghꢃn
Nꢆi dung chính cꢎa ñiꢉu khiꢍn tꢑc nghꢛn là làm giꢀm ñꢆ trꢓ và mꢗt gói tin. Cơ
chꢊ cꢎa nó dꢕa trên ñiꢉu khiꢍn tꢌc ñꢆ truyꢉn (rate control) và ñꢟnh hình tꢣ lꢅ (rate
shaping).
Điꢉu khiꢍn tꢌc ñꢆ truyꢉn là kꢨ thuꢇt ñꢍ giꢀm thiꢍu mꢆt cách nhꢜ nhꢗt có thꢍ sꢕ
tꢑc nghꢛn, bꢥng cách ñiꢉu chꢝnh tꢌc ñꢆ truyꢉn video dꢕa vào tình trꢃng hiꢅn thꢂi cꢎa
mꢃng. Có ba loꢃi ñiꢉu khiꢍn tꢌc ñꢆ truyꢉn là : căn cꢋ vào bên gꢐi, căn cꢋ vào bên
nhꢇn, và phương pháp kꢊt hꢠp.
a. Phương pháp căn cꢋ vào bên gꢐi :
Trong phương pháp này, bên gꢐi chꢟu trách nhiꢅm ñiꢉu chꢝnh tꢌc ñꢆ truyꢉn dꢙ
liꢅu. Dꢕa vào thông tin tꢡ các gói tin phꢀn hꢢi, bên gꢐi có thꢍ xác ñꢟnh ñưꢠc tình trꢃng
hiꢅn thꢂi cꢎa mꢃng, tꢡ ñó có thꢍ ñiꢉu chꢝnh tꢌc ñꢆ truyꢉn mꢆt cách hꢠp lý. Kꢨ thuꢇt
này có thꢍ sꢐ dꢞng trong cꢀ truyꢉn unicast cũng như multicast.
Hình 1.5. (a) Truyꢆn video unicast ; (b) Truyꢆn video multicast
4
Vꢒi truyꢉn video unicast có hai phương thꢋc thꢕc thi viꢅc ñiꢉu chꢝnh tꢌc ñꢆ
truyꢉn bên gꢐi, ñó là dꢕa trên cơ sꢧ thăm dò và dꢕa trên mꢔu.
• Phương thꢋc dꢕa trên cơ sꢧ thăm dò (probe-base) : Tư tưꢧng chính cꢎa phương
thꢋc này chính là viꢅc duy trì tꢣ lꢅ mꢗt gói ꢧ dưꢒi mꢆt ngưꢈng nhꢗt ñꢟnh. Có hai cách
ñꢍ thiꢊt lꢇp tꢌc ñꢆ truyꢉn mꢆt là tăng theo cꢗp sꢌ cꢆng và giꢀm theo cꢗp sꢌ nhân, hai là
tăng theo cꢗp sꢌ nhân và giꢀm theo cꢗp sꢌ nhân.
• Phương thꢋc dꢕa trên mꢔu (model-base) : Dꢕa vào mô hình cꢎa giao thꢋc TCP,
thông lưꢠng cꢎa bên gꢐi sꢛ ñưꢠc xác ñꢟnh theo công thꢋc :
1.22× MTU
λ
=
RTT × p
Trong ñó :
λ: thông lưꢎng.
MTU: kích thưꢏc gói tin ñưꢎc dùng trong kꢐt nꢋi.
RTT: round-trip time cꢇa mꢀt kꢐt nꢋi.
p: tꢑ lꢒ mꢆt gói tin cꢇa kꢐt nꢋi.
Vì lý do dꢕa trên mô hình cꢎa giao thꢋc TCP mà phương thꢋc này còn ñưꢠc gꢄi
là phương thꢋc ñiꢉu chꢝnh tꢌc ñꢆ truyꢉn “TCP-frendly”.
Vꢒi truyꢉn video multicast, bên gꢐi sꢛ sꢐ dꢞng mꢆt kênh truyꢉn ñơn ñꢍ gꢐi dꢙ
liꢅu cho các bên nhꢇn, trong trưꢂng hꢠp multicast thì chꢝ có phương thꢋc dꢕa trên cơ
sꢧ thăm dò ñưꢠc sꢐ dꢞng (ñiꢉu chꢝnh tꢝ lꢅ truyꢉn sao cho luôn nꢥm dưꢒi mꢆt ngưꢈng
nhꢗt ñꢟnh). Phương thꢋc sꢐ dꢞng kênh chung này rꢗt hiꢅu quꢀ cho các bên nhꢇn sꢐ
dꢞng chung 1 kênh. Tuy nhiên, phương pháp này thiꢊu tính mꢉm dꢖo bꢧi vì các yêu
cꢁu tꢡ các bên nhꢇn là khác nhau, băng thông truy cꢇp kênh chung cꢎa các bên cũng
khác nhau.
b. Phương pháp căn cꢋ vào bên nhꢇn :
Bên nhꢇn kiꢍm soát tꢌc ñꢆ nhꢇn dꢙ liꢅu bꢥng cách thêm hoꢏc bꢒt các kênh.
Thông thưꢂng, phương pháp này sꢐ dꢞng trong viꢅc truyꢉn multicast. Tương tꢕ như
trong phương pháp căn cꢋ vào bên gꢐi, phương pháp căn cꢋ vào bên nhꢇn cũng sꢐ
dꢞng 2 phương thꢋc : phương thꢋc dꢕa trên cơ sꢧ thăm dò và phương thꢋc dꢕa trên
mꢔu.
5
• Phương thꢋc dꢕa trên cơ sꢧ thăm dò bao gꢢm hai phꢁn : Khi không phát hiꢅn ra
tꢑc nghꢛn, bên nhꢇn sꢛ ñiꢉu tra môi trưꢂng bꢥng cách thêm mꢆt kênh truyꢉn, nꢊu như
vꢔn không phát hiꢅn ra tꢑc nghꢛn thì xem như viꢅc thêm kênh truyꢉn là thành công.
Ngưꢠc lꢃi nꢊu sau khi thêm mà phát hiꢅn tꢑc nghꢛn, thì bên nhꢇn phꢀi hꢎy ngay kênh
truyꢉn vꢡa thêm vào. Khi phát hiꢅn ra môi trưꢂng ñang tꢑc nghꢛn, bên gꢐi tꢕ ñꢆng xóa
mꢆt hoꢏc vài kênh truyꢉn ñꢍ giꢀm tꢌc ñꢆ truyꢉn tꢀi.
• Phương thꢋc dꢕa trên mꢔu vꢔn sꢐ dꢞng công thꢋc tính thông lưꢠng như ꢧ
phương pháp căn cꢋ vào bên gꢐi, không có gì khác biꢅt
c. Phương pháp kꢊt hꢠp :
Phương pháp này là sꢕ tꢦng hꢠp cꢎa cꢀ hai phương pháp căn cꢋ vào bên gꢐi và
căn cꢋ vào bên nhꢇn. Tꢋc là bên nhꢇn vꢔn ñiꢉu chꢝnh tꢌc ñꢆ nhꢇn bꢥng cách thêm bꢒt
các kênh truyꢉn, ñꢢng thꢂi bên gꢐi cũng thiꢊt lꢇp tꢌc ñꢆ gꢐi hꢠp lý dꢕa vào các gói tin
phꢀn hꢢi.
Đꢟnh hình tꢣ lꢅ (rate shaping) :
Mꢞc tiêu cꢎa ñꢟnh hình tꢣ lꢅ là cân ñꢌi tꢣ lꢅ giꢙa tꢌc ñꢆ truyꢉn luꢢng dꢙ liꢅu
trưꢒc khi nén và tꢌc ñꢆ hiꢅn thꢂi cꢎa mꢃng. Bꢧi vì, tꢌc ñꢆ video ñã lưu ꢧ máy chꢎ có
thꢍ không phù hꢠp vꢒi băng thông hiꢅn thꢂi cꢎa mꢃng. Bꢆ ñình hình tꢣ lꢅ chꢝ ñưꢠc sꢐ
dꢞng trong trưꢂng hꢠp, phương pháp ñiꢉu khiꢍn tꢑc nghꢛn là phương pháp căn cꢋ vào
bên gꢐi. Có mꢆt sꢌ phương pháp ñꢟnh hình tꢣ lꢅ như sau :
Lꢄc mã (Codec filter) : Sꢐ dꢞng ñꢍ giꢀi nén và nén video. Thông thưꢂng
phương thꢋc này dùng ñꢍ chuyꢍn mã giꢙa các phương thꢋc nén khác nhau. Viꢅc giꢀi
nén và nén lꢃi là không hoàn toàn (không giꢀn nén, nén lꢃi toàn bꢆ video) mà chꢝ thao
tác dꢕa vào phương thꢋc nén.
Lꢄc bꢜ khung (Frame-dropping filter) : Phân biꢅt các loꢃi khung và hꢎy các
khung dꢕa vào viꢅc phân chia ñꢆ quan trꢄng cꢎa chúng (ví dꢞ thꢋ tꢕ hꢃ dꢁn là B-
frame, P-frame, I-frame). Bꢆ lꢄc bꢜ frame dùng ñꢍ làm giꢀm tꢌc ñꢆ truyꢉn video bꢥng
cách tꢡ chꢌi mꢆt sꢌ khung và truyꢉn các khung còn lꢃi ꢧ tꢌc ñꢆ thꢗp.
Lꢄc bꢜ tꢁng (Layer-dropping filter) : Phân biꢅt các tꢁng và loꢃi bꢜ các tꢁng tùy
theo ñꢆ quan trꢄng cꢎa chúng. Viꢅc loꢃi bꢜ các tꢁng theo thꢋ tꢕ tꢡ các tꢁng mꢧ rꢆng
cao nhꢗt tꢒi tꢁng cơ sꢧ.
Lꢄc theo tꢁn sꢌ (Frequency filter) : thꢕc hiꢅn các thao tác ꢧ tꢁng nén dꢙ liꢅu.
Cơ chꢊ cꢎa lꢄc theo tꢁn sꢌ gꢢm ba thành phꢁn :
6
- Lꢄc thꢗp : loꢃi bꢜ hꢅ sꢌ DCT ꢧ nhꢙng tꢁn sꢌ cao
- Lꢄc giꢀm màu : thꢕc hiꢅn công viꢅc giꢌng như ꢧ phꢁn lꢄc thꢗp, tuy nhiên nó chꢝ
thao tác trên thông tin vꢉ ñꢆ màu sꢑc cꢎa video.
- Lꢄc màu thành khꢌi trꢌng : loꢃi bꢜ tꢗt cꢀ các thông tin vꢉ màu sꢑc cꢎa video.
Trong MPEG nó chꢝ ñơn giꢀn là thay thꢊ mꢚi khꢌi chꢋa thông tin màu sꢑc bꢧi khꢌi
trꢌng. Không giꢌng vꢒi lꢄc bꢜ khꢌi, lꢄc theo tꢁng sꢛ làm giꢀm bꢒt băng thông mà
không tác ñꢆng tꢒi tꢌc ñꢆ truyꢉn khꢌi. Nhưng cái giá phꢀi trꢀ là chꢗt lưꢠng cꢎa khꢌi sꢛ
bꢟ giꢀm ñi.
Lꢄc lưꢠng tꢐ hóa lꢃi (Re-quantization filter) : Thꢕc thi các thao tác ꢧ tꢁng nén dꢙ
liꢅu. Đꢁu tiên, bꢆ lꢄc trích các hꢅ sꢌ DCT tꢡ các dòng video ñã ñưꢠc nén thông qua
các kꢨ thuꢇt tương tꢕ như bꢜ lưꢠng tꢐ hóa. Sau ñó, bꢆ lꢄc lưꢠng tꢐng hóa lꢃi các hꢅ sꢌ
DCT vꢒi các bưꢒc lưꢠng tꢐ hóa lꢒn hơn, ñiꢉu ñó tꢃo nên hiꢅu quꢀ là giꢀm bꢒt tꢌc ñꢆ.
1.1.2.2.
Điꢀu khiꢁn lꢄi
Bao gꢢm bꢌn cơ chꢊ chính FEC (forward error correction), truyꢉn lꢃi
(retransmission), mã hóa lꢚi ñàn hꢢi (Error-resilient encoding) và che dꢗu lꢚi (Error
concealment.
a. FEC :
Nguyên lý cꢎa FEC là thêm thông tin vào thông ñiꢅp gꢌc ñꢍ có thꢍ xây dꢕng lꢃi
thông ñiꢅp trong trưꢂng hꢠp có mꢗt mát xꢀy ra. Các loꢃi cơ bꢀn cꢎa thông tin thêm vào
gꢢm : Mã hóa kênh (channel coding), Mã hóa nguꢢn (source coding-based FEC) và
Mã hóa kꢊt hꢠp nguꢢn/kênh (joint source/channel coding). Ta sꢛ tìm hiꢍu tꢡng loꢃi
thông tin thêm này.
• Mã hóa kênh (channel coding) : Trong các ꢋng dꢞng Internet, mã hóa kênh
thông thưꢂng sꢐ dꢞng vꢒi thuꢇt ngꢙ mã khóa khꢌi (block codes). Mꢚi mꢆt video ban
ñꢁu chia ra làm các ñoꢃn (segment). Mꢚi mꢆt ñoꢃn tương ꢋng vꢒi k gói tin. Sau ñó
ꢋng vꢒi mꢚi ñoꢃn, phương pháp mã hóa khꢌi ñưꢠc áp dꢞng cho k gói tin ñꢍ tꢃo ra mꢆt
khꢌi n gói tin (n>k). Đꢍ chuyꢍn ñꢦi tuyꢅt ñꢌi mꢆt ñoꢃn, mꢆt ngưꢂi dùng chꢝ cꢁn bꢗt kỳ
k gói tin trong sꢌ n gói tin kꢍ trên.
• Mã hóa nguꢢn (source coding-based FEC - SFEC) : Là phát kiꢊn gꢁn ñây nhꢗt
trong sꢌ các phương pháp FEC dành cho viꢅc truyꢉn video trên Internet. Giꢌng mã hóa
kênh, mã hóa nguꢢn cũng thêm thông tin dư thꢡa ñꢍ phꢞc hꢢi. Ví dꢞ, gói tin thꢋ n sꢛ
7
chꢋa nhóm khꢌi thꢋ n (group of blocks) và thông tin dư thꢡa cꢎa nhóm khꢌi thꢋ n-1.
Đó là mꢆt phiên bꢀn nén cꢎa nhóm khꢌi thꢋ n-1 vꢒi lưꢠng tꢐ lꢒn hơn.
• Mã hóa kꢊt hꢠp nguꢢn/kênh : là mꢆt cách tiꢊp cꢇn ñꢍ tꢌi ưu phân bꢦ tꢣ lꢅ giꢙa
mã hoá nguꢢn và mã hoá kênh.
b. Truyꢉn lꢃi vꢒi ràng buꢆc ñꢆ trꢓ :
Khi bên nhꢇn phát hiꢅn mꢗt gói N, nꢊu (Tc + RTT + Ds < Td(N)) bên nhꢇn sꢛ
gꢐi yêu cꢁu cho bên gꢐi ñꢍ gꢐi lꢃi gói N. ꢩ ñây Tc là thꢂi gian hiꢅn tꢃi, RTT là round
trip time, Ds là mꢆt thuꢇt ngꢙ yꢊu, Ds có thꢍ bao gꢢm dung sai cꢎa sꢕ ưꢒc lưꢠng RTT,
thꢂi gian trꢀ lꢂi cꢎa bên gꢐi, thꢂi gian giꢀi mã, T(N) là thꢂi gian mà N phꢀi hiꢍn thꢟ.
c. Mã hóa lꢚi ñàn hꢢi :
Mꢞc ñích là ñꢍ giꢀm thiꢍu lꢚi cꢎa video ñã nén do viꢅc mꢗt gói tin. Chuꢤn chung
cꢎa phương pháp mã hóa lꢚi ñàn hꢢi bao gꢢm ñꢢng bꢆ lꢃi nhãn, chia dꢙ liꢅu, khôi
phꢞc dꢙ liꢅu. Nhưng, nhꢙng cách thꢋc này lꢃi không phù hꢠp vꢒi môi trưꢂng wireless
cũng áp dꢞng ñưꢠc cho môi trưꢂng internet. Do vꢇy, chúng ta sꢛ không xét các công
cꢞ ñàn hꢢi lꢚi. Thay vào ñó chúng ta sꢛ trình bày phương thꢋc mã hóa ña mô tꢀ
(MDC), phương thꢋc này phù hꢠp hơn vꢒi viꢅc truyꢉn video trên Internet.
Vꢒi MDC, mꢆt video gꢌc sꢛ ñưꢠc mã hóa thành nhiꢉu luꢢng theo cách sau : Mꢚi
mꢆt sꢕ mô tꢀ cung cꢗp chꢗt lưꢠng có thꢍ chꢗp nhꢇn ñưꢠc, kꢊt hꢠp nhiꢉu mô tꢀ lꢃi vꢒi
nhau thì thu ñưꢠc chꢗt lưꢠng tꢌt hơn. Ưu ñiꢍm cꢎa MCD là :
- Có tính kháng cꢕ tꢌt vꢒi viꢅc mꢗt mát : Nꢊu mꢆt bên nhꢇn nào ñó chꢝ nhꢇn
ñưꢠc mꢆt mô tꢀ, thì nó vꢔn có thꢍ thu ñưꢠc video vꢒi chꢗt lưꢠng chꢗp nhꢇn ñưꢠc.
- Có tính tăng cưꢂng chꢗt lưꢠng : Nꢊu mꢆt bên nhꢇn nào ñó nhꢇn ñưꢠc nhiꢉu mô
tꢀ khác nhau cꢎa video, thì nó có thꢍ xây dꢕng ñưꢠc video có chꢗt lưꢠng tꢌt bꢥng cách
kꢊt hꢠp các mô tꢀ lꢃi vꢒi nhau (càng nhiꢉu mô tꢀ thì chꢗt lưꢠng càng tꢌt).
Tuy nhiên, nhꢙng ưu ñiꢍm ñó có cái giá cꢎa nó. Đꢍ tꢃo mꢆt mô tꢀ cung cꢗp các
chꢗt lưꢠng chꢗp nhꢇn ñưꢠc, mꢚi mô tꢀ cꢁn phꢀi ñưa ra các thông tin cꢁn thiꢊt vꢉ truyꢉn
hình ban ñꢁu. Thêm vào ñó, mꢏc dù kꢊt hꢠp các mô tꢀ ñꢍ cung cꢗp chât lưꢠng tꢌt hơn,
sꢕ ñúng ñꢑn cꢎa viꢅc kꢊt hꢠp các mô tꢀ có thꢍ làm cho chꢗt lưꢠng nén sau này giꢀm ñi.
8
1.1.2.3.
Che dꢅu lꢄi
Mã hóa lꢚi ñàn hꢢi ñưꢠc thꢕc thi bên gꢐi bꢥng cách tăng cưꢂng khꢀ năng cꢕ vꢒi
viꢅc mꢗt mát cho video nén ngay cꢀ khi có thꢍ không có sꢕ mꢗt mát gói tin. Ngưꢂi ta
còn gꢄi ñây là phương pháp phòng bꢟ, mꢆt cách tiꢊp cꢇn khác gꢄi là phương pháp
chꢌng mꢗt mát, ñưꢠc thꢕc thi ꢧ phía nhꢇn khi mà viꢅc mꢗt gói tin là thꢕc sꢕ xꢀy ra
phương pháp này gꢄi là che dꢗu lꢚi. Vꢉ cơ bꢀn, phương pháp này che dꢗu sꢕ mꢗt mát
dꢙ liꢅu bꢥng cách trình diꢓn video sao cho không làm cho ngưꢂi xem nhꢇn ra.
Có hai phương thꢋc thꢕc thi viꢅc che dꢗu lꢚi, ñó là nꢆi suy theo không gian và
nꢆi suy theo thꢂi gian. Trong phương thꢋc nꢆi suy không gian, các dꢙ liꢅu tꢃi nhꢙng
ñiꢍm ꢀnh bꢟ mꢗt có thꢍ ñưꢠc nꢆi suy thông qua nhꢙng hàng xóm cꢎa nó. Còn nꢆi suy
thꢂi gian thì sꢐ dꢞng các dꢙ liꢅu cꢎa các frame nhꢇn ñưꢠc ngay trưꢒc nó ñꢍ xây dꢕng
lꢃi dꢙ liꢅu cꢎa frame bꢟ mꢗt.
1.1.3. Dꢞch vꢕ phân phꢠi phương tiꢎn truyꢙn thông liên tꢕc
Sꢕ hꢚ trꢠ tꢡ tꢁng mꢃng có thꢍ cꢀi thiꢅn ñưꢠc ñꢆ trꢓ cũng như sꢕ mꢗt mát gói tin.
Viꢅc streaming video cũng như audio ñưꢠc xꢊp vào truyꢉn thông liên tꢞc bꢧi vì chúng
bao gꢢm mꢆt hàng ñꢠi phân ngꢃch truyꢉn thông. Chúng truyꢉn các thông tin sao cho
ñꢎ ñꢍ trình bày theo thꢂi gian. Xây dꢕng trên cơ sꢧ Internet (giao thꢋc IP), dꢟch vꢞ
phân phꢌi phương tiꢅn truyꢉn thông liên tꢞc hưꢒng tꢒi mꢞc ñích là cung cꢗp chꢗt
lưꢠng dꢟch vꢞ, và ñꢃt ñưꢠc hiꢅu quꢀ trong viꢅc truyꢉn video /audio trên cơ chꢊ cꢌ gꢑng
tꢌi ña cꢎa Internet. Dꢟch vꢞ phân phꢌi phương tiꢅn truyꢉn thông liên tꢞc bao gꢢm 3 cơ
chꢊ chính là lꢄc dꢙ liꢅu ꢧ tꢁng mꢃng, multicast trên tꢁng ꢋng dꢞng và nhân bꢀn nꢆi
dung.
a. Lꢡc dꢚ liꢎu ꢖ tꢗng mꢢng
Như kꢨ thuꢇt ñiꢉu khiꢍn tꢑc nghꢛn, lꢄc dꢙ liêu ꢧ tꢁng mꢃng cꢌ gꢑng ñꢃt ñưꢠc
chꢗt lưꢠng truyꢉn thông tꢌi ña trong ñiꢉu kiꢅn mꢃng tꢑc nghꢛn. Bꢆ lꢄc ꢧ máy chꢎ
truyꢉn thông có thꢍ ñiꢉu chꢝnh tꢣ lꢅ truyꢉn video streaming theo tình trꢃng cꢎa mꢃng.
Tuy nhiên, máy chꢎ quá bꢇn nên không ñiꢉu khiꢍn ñưꢠc. Do ñó, các nhà cung cꢗp dꢟch
vꢞ có thꢍ cung cꢗp các bꢆ lꢄc ꢧ mꢋc mꢃng.
9
Hình 1.6. Bꢄ lꢌc ñưꢉc cài ñꢍt ꢃ tꢎng mꢏng
Hình 1.6 trên mô tꢀ mꢆt ví dꢞ vꢉ viꢅc ñꢏt bꢆ lꢄc ꢧ tꢁng mꢃng. Các node ñưꢠc
ñánh nhãn “R” thông báo cho bꢆ ñꢟnh tuyꢊn rꢥng không có thông tin vꢉ ñꢟnh dꢃng
video streaming và có thꢍ ngꢔu nhiên vꢋt bꢜ gói tin. Các Node có nhãn “Fillter” nhꢇn
yêu cꢁu tꢡ máy khách và ñiꢉu chꢝnh luꢢng gꢐi bꢧi máy chꢎ tương ꢋng. Giꢀi pháp này
cho phép các nhà cung cꢗp dꢟch vꢞ có thꢍ thay thꢊ bꢆ lꢄc trên mꢚi node bꢥng bꢆ lꢄc ꢧ
mꢃng. Hơn nꢙa, có thꢍ cung cꢗp nhiꢉu bꢆ lꢄc trên ñưꢂng tꢡ mꢆt máy chꢎ ñꢊn máy
khách.
Hình 1.7. Mô hình hꢁ thꢂng cꢐa bꢄ lꢌc ꢃ tꢎng mꢏng.
Đꢍ mô phꢜng vꢇn hành cꢎa bꢆ lꢄc, mô hình hꢅ thꢌng ñưꢠc chꢝ ra trong Hình 1.7.
Mô hình bao gꢢm máy chꢎ, máy khách và ít nhꢗt mꢆt bꢆ lꢄc và hai kênh ꢀo giꢙa
chúng. Mꢆt kênh ꢀo dùng ñꢍ ñiꢉu khiꢍn, kênh khác dùng cho dꢙ liꢅu. Các kênh tương
ꢋng tꢢn tꢃi thành cꢏp vꢒi các bꢆ lꢄc. Kênh ñiꢉu khiꢍn có hai hưꢒng và có thꢍ là các kꢊt
nꢌi TCP. Mô hình trên chꢝ cho phép máy khách có thꢍ kꢊt nꢌi vꢒi chꢝ mꢆt máy (bꢆ lꢄc
cuꢌi cùng), và sꢛ hoꢏc chuyꢍn yêu cꢁu hoꢏc thꢕc hiꢅn luôn yêu cꢁu trên chúng. Sꢕ vꢇn
hành cꢎa bꢆ lꢄc trên dꢙ liꢅu phꢪng bao gꢢm: Nhꢇn video streaming tꢡ máy chꢎ hoꢏc
bꢆ lꢄc trưꢒc, thꢕc hiꢅn các yêu cꢁu, truyꢉn tiꢊp các yꢊu cꢁu tꢒi bꢆ lꢄc trưꢒc cꢎa nó.
Thông thưꢂng, các bꢆ lꢄc loꢃi frame ñưꢠc sꢐ dꢞng trong lꢄc tꢁng mꢃng. Bên
nhꢇn có thꢍ thay ñꢦi băng thông cꢎa video streaming bꢥng cách gꢐi yêu cꢁu tꢒi bꢆ lꢄc
ñꢍ tăng/giꢀm tꢣ lꢅ loꢃi bꢜ frame. Đꢍ quyꢊt ñꢟnh xem bꢆ lꢄc nên tăng hay giꢀm băng
10
thông, bên nhꢇn liên tꢞc ño ñꢃc tꢣ lꢅ mꢗt gói tin p. Dꢕa vào tꢣ lꢅ mꢗt gói tin, cơ chꢊ
ñiꢉu khiꢍn tꢣ lꢅ có thꢍ ñưꢠc thꢕc hiꢅn. Nꢊu tꢣ lꢅ mꢗt gói tin lꢒn hơn ngưꢈng α, máy
khách sꢛ yêu cꢁu bꢆ lꢄc tăng tꢣ lꢅ loꢃi frame. Nꢊu tꢣ lꢅ ñó thꢗp hơn ngưꢈng khác β (β
< α) thì bên nhꢇn sꢛ yêu cꢁu bꢆ lꢄc giꢀm tꢣ lꢅ loꢃi frame.
Ưu ñiꢍm cꢎa bꢆ lꢄc loꢃi gói tin sꢐ dꢞng trên tꢁng mꢃng là:
- Nâng cao chꢗt lưꢠng truyꢉn thông: Ví dꢞ, khi mꢆt video streaming tꢡ kꢊt nꢌi
luꢢng trên vꢒi băng thông còn lꢃi nhiꢉu hơn tꢒi kꢊt nꢌi luꢢng dưꢒi vꢒi băng thông còn
lꢃi ít hơn, sꢐ dꢞng bꢆ lꢄc loꢃi frame tꢃi ñiꢍm kꢊt nꢌi (giꢙa kꢊt nꢌi luꢢng dưꢒi và kꢊt
nꢌi luꢢng trên) có thꢍ nâng cao chꢗt lưꢠng truyꢉn thông. Bꢂi vì bꢆ lꢄc hiꢍu rꢥng ñꢟnh
dꢃng cꢎa video streaming và có thꢍ loꢃi bꢜ các gói tin theo cách tꢌt nhꢗt ñꢀm bꢀo chꢗt
lưꢠng luꢢng thay vào ngꢑt luꢢng.
- Hiꢅu quꢀ băng thông: bꢆ lꢄc có thꢍ giúp lưu trꢙ tài nguyên cꢎa mꢃng bꢥng viꢅc
loꢃi bꢜ các frame tꢒi trꢓ.
b. Multicast tꢗng ꢟng dꢕng
Các thiꢊt kꢊ trưꢒc ñó cho video streaming trên Internet thích hꢠp vꢒi cách truyꢉn
thông unicast (ñiꢍm-ñiꢍm) như email, trao ñꢦi file và trình duyꢅt Web, nhưng khó có
thꢍ hꢚ trꢠ hiꢅu quꢀ vꢒi viꢅc truyꢉn nꢆi dung lꢒn.
Chính vì vꢇy mà cơ chꢊ truyꢉn multicast ñã dꢁn thay thꢊ vꢒi nhꢙng ưu ñiꢍm vưꢠt
trꢆi. Nó giꢀm tꢀi cho máy chꢎ do mꢚi node mꢃng có thꢍ ñóng vai trò nhꢇn dꢙ liꢅu và
nguꢢn ñꢍ tiꢊp tꢞc truyꢉn dꢙ liꢅu sang các node khác.
c. Nhân bꢓn nꢏi dung
Mꢆt kꢨ thuꢇt quan trꢄng cho nâng cao ñꢆ mꢧ rꢆng cꢎa các hꢅ thꢌng truyꢉn thông
là viꢅc nhân bꢀn nꢆi dung. Nhân bꢀn nꢆi dung có hai loꢃi: lưu trꢙ và phꢀn chiꢊu. Cꢀ
hai loꢃi ñꢉu tìm mꢆt nꢆi dung ꢧ các máy khác gꢁn ñó và có ưu ñiꢍm:
- Giꢀm sꢐ dꢞng băng thông trong kꢊt nꢌi mꢃng.
- Giꢀm tꢀi trên các máy chꢎ truyꢉn thông.
- Giꢀm ñꢆ trꢓ cꢎa máy khách.
- Tăng ñꢆ sꢫn có.
11
1.1.4. Máy chꢣ (streaming server)
Máy chꢎ luꢢng ñóng mꢆt vai trò quan trꢄng trong viꢅc cung cꢗp dꢟch vꢞ video
streaming. Đꢍ ñưa ra nhꢙng dꢟch vꢞ chꢗt lưꢠng cao, máy chꢎ luꢢng cꢁn phꢀi xꢐ lý dꢙ
liꢅu ña phương tiꢅn vꢒi sꢕ ràng buꢆc vꢉ thꢂi gian. Ngoài ra, máy chꢎ luꢢng cũng cꢁn
hꢚ trꢠ các hoꢃt ñꢆng ñiꢉu khiꢍn VCR. Hơn nꢙa, nó cũng cꢁn cung cꢗp chꢋc năng
truyꢉn thông kiꢍu ñꢢng bꢆ.
Đꢍ làm ñưꢠc ñiꢉu ñó, thông thưꢂng, máy chꢎ luꢢng gꢢm các thành phꢁn sau:
- Cơ cꢗu truyꢉn: Mꢆt cơ cꢗu truyꢉn tham gia vào tꢁng ꢋng dꢞng và các giao thꢋc
giao vꢇn ñưꢠc thꢕc hiꢅn trong máy chꢎ. Thông qua cơ cꢗu truyꢉn, các máy khách có
thꢍ giao tiꢊp vꢒi mꢆt máy chꢎ và nhꢇn nꢆi dung ña phương tiꢅn mꢆt cách liên tꢞc và
ñꢢng bꢆ.
- Hꢅ ñiꢉu hành: Khác vꢒi hꢅ ñiꢉu hành thông thưꢂng, hꢅ ñiꢉu hành cho máy chꢎ
luꢢng cꢁn phꢀi có thꢂi gian thꢕc an toàn cho các ꢋng dꢞng luꢢng.
- Hꢅ lưu trꢙ: phꢀi hꢚ trꢠ lưu trꢙ truyꢉn thông liên tꢞc và có thꢍ truy cꢇp ñưꢠc.
1.1.5. Các giao thꢟc video streaming
Nhiꢉu giao thꢋc ñã ñưꢠc thiꢊt kꢊ và chuꢤn hoá cho giao tiꢊp giꢙa máy chꢎ luꢢng
và máy khách. Theo tính năng, các giao thꢋc này liên quan trꢕc tiꢊp ñꢊn video
streaming Internet và có thꢍ chia thành ba loꢃi sau:
- Giao thꢋc tꢁng mꢃng: Cung cꢗp dꢟch vꢞ mꢃng cơ bꢀn như ñánh ñꢟa chꢝ mꢃng.
Giao thꢋc Internet (IP) phꢞc vꢞ như giao thꢋc tꢁng mꢃng cho viꢅc video streaming trên
Internet.
- Giao thꢋc tꢁng giao vꢇn: Cung cꢗp các chꢋc năng truyꢉn tꢀi giꢙa các ñiꢍm ñꢁu
cuꢌi trong ꢋng dꢞng video streaming. Các giao thꢋc bao giꢢm UDP, TCP, giao thꢋc
giao vꢇn thꢂi gian thꢕc (RTP), giao thꢋc ñiꢉu khiꢍn thꢂi gian thꢕc (RTCP). UDP và
TCP là hai giao thꢋc tꢁng giao vꢇn thꢗp nhꢗt trong khi RTP và RTCP là các giao thꢋc
tꢁng giao vꢇn cao hơn.
- Giao thꢋc ñiꢉu khiꢍn phiên: Đꢟnh nghĩa thông ñiꢅp và cơ chꢊ ñꢍ ñiꢉu hiꢍn dꢙ
liꢅu truyꢉn thông trong mꢆt phiên. RTSP và giao thꢋc thiꢊt lꢇp phiên (SIP – session
initiation protocol) là các giao thꢋc tꢁng giao vꢇn.
12
1.1.6. Cơ chꢤ ñꢥng bꢏ video streaming
Đꢢng bꢆ video streaming chính là viꢅc bꢀo trì mꢌi quan hꢅ tꢃm thꢂi giꢙa mꢆt
luꢢng dꢙ liꢅu vꢒi mꢆt sꢌ luꢢng truyꢉn thông khác. Có ba mꢋc cꢎa ñꢢng bꢆ gꢄi là ñꢢng
bꢆ trong luꢢng, ñꢢng bꢆ luꢢng và ñꢢng bꢆ ñꢌi tưꢠng.
- Đꢢng bꢆ luꢢng trong luꢢng: Tꢁng thꢗp nhꢗt cꢎa truyꢉn thông liên tꢞc hoꢏc dꢙ
liꢅu thꢂi gian thꢕc là tꢁng dꢙ liꢅu truyꢉn thông. Đơn vꢟ cꢎa tꢁng truyꢉn thông là các
khꢌi dꢙ liꢅu logic như frame truyꢉn hình/truyꢉn thanh. Đꢢng bꢆ ꢧ mꢋc này ñưꢠc gꢄi là
ñꢢng bꢆ luꢢng dư; bꢀo trì sꢕ liên tꢞc cꢎa các ñơn vꢟ dꢙ liꢅu. Không có ñꢢng bꢆ luꢢng
dư, trình diꢓn cꢎa luꢢng có thꢍ bꢟ ngꢑt bꢧi viꢅc dꢡng và sꢕ sai khác.
- Đꢢng bꢆ luꢢng: tꢁng hai cꢎa dꢙ liꢅu thꢂi gian thꢕc là tꢁng luꢢng. Đơn vꢟ cꢎa
tꢁng luꢢng chính là mꢆt luꢢng. Đꢢng bꢆ ꢧ tꢁng này chính là ñꢢng bꢆ luꢢng, có nhiꢅm
vꢞ bꢀo trì mꢌi quan hꢅ giꢙa các truyꢉn thông liên tꢞc. Không có ñꢢng bꢆ luꢢng, sꢕ
không khꢒp giꢙa các luꢢng có thꢍ gây ra lꢚi. Ví dꢞ, ngưꢂi dùng sꢛ thꢗy khó chꢟu khi
viꢅc di chuyꢍn môi ngưꢂi nói không tương ꢋng vꢒi âm thanh.
- Đꢢng bꢆ ñꢌi tưꢠng: Tꢁng cao nhꢗt cꢎa tài liꢅu ña phương tiꢅn là tꢁng ñꢌi tưꢠng,
ñó là sꢕ kꢊt hꢠp luꢢng và dꢙ liꢅu thꢂi gian thꢕc như chꢙ và hình ꢀnh. Đꢢng bꢆ ꢧ tꢁng
này gꢄi là ñꢢng bꢆ ñꢌi tưꢠng. Mꢞc ñích cꢎa nó là bꢑt ñꢁu và kꢊt thúc cꢎa trình diꢓn
thꢂi gian thꢕc trong mꢆt khoꢀng thꢂi gian vꢡa phꢀi, nꢊu tꢃi các ñiꢍm ñꢟnh nghĩa trưꢒc
cꢎa ñꢌi tưꢠng truyꢉn thông ñꢆc lꢇp thꢂi gian có thꢍ ñꢃt ñưꢠc. Không có sꢕ ñꢢng bꢆ
này, ngưꢂi xem cꢎa viꢅc trình diꢓn slide có thꢍ khó chꢟu vì tiꢊng bình cho mꢆt slide thì
slide khác ñã hiꢍn thꢟ.
1.2. Kꢦ thuꢧt phân tꢗng trong video streaming
Viꢅc mã hóa video theo cách thông thưꢂng phꢀi xác ñꢟnh các tham sꢌ kích cꢈ
khung, tꢌc ñꢆ khung, tꢌc ñꢆ dꢙ liꢅu và chꢗt lưꢠng video. Mꢆt vꢗn ñꢉ nꢀy sinh là các
tham sꢌ này cꢌ ñꢟnh khi mã hóa và rꢗt khó thay ñꢦi. Giꢀ sꢐ như mã hóa chuꢤn vꢒi tꢌc
ñꢆ 6Mb/s sau ñó lưu trꢙ video ñã nén ꢧ server, khi nó ñưꢠc yêu cꢁu streaming bên
nhꢇn mong muꢌng tꢌc ñꢆ nhꢇn dꢙ liꢅu sꢛ là 6Mb/s nhưng vì mꢆt lý do nào ñó tꢌc ñꢆ
mà ñưꢂng truyꢉn cung cꢗp chꢝ tꢌi ña là 4Mb/s. Khi ñó, server phꢀi thꢕc hiꢅn chuyꢍn
mã ñꢍ phù hꢠp vꢒi các tham sꢌ hiꢅn tꢃi, ñiꢉu này ñòi hꢜi sꢕ tính toán rꢗt lꢒn. Có mꢆt
phương pháp có thꢍ giꢀi quyꢊt vꢗn ñꢉ này là tꢃo ra nhiꢉu bꢀn sao cꢎa video trên server
ñꢍ phꢞc vꢞ cho yêu cꢁu khác nhau tꢡ ngưꢂi dùng. Tương tꢕ như vꢇy, khi ngưꢂi xem
yêu cꢁu chꢗt lưꢠng video khác nhau. Điꢉu này là rꢗt quan trꢄng khi thương mꢃi hóa
bꢧi vì mꢚi lꢒp ngưꢂi dùng, mꢚi lꢒp khách hàng lꢃi có mꢆt ñꢆ ưu tiên khác nhau. Tꢡ
13
ñó, dꢔn ñꢊn viꢅc cung cꢗp chꢗt lưꢠng cho các lꢒp khách hàng là khác nhau. Đꢍ giꢀi
quyꢊt nhꢙng vꢗn ñꢉ này mã hóa video mꢧ rꢆng sinh ra, nó ñưꢠc sꢐ dꢞng ñꢁu tiên trong
MPEG-2 và phát triꢍn hoàn thiꢅn dꢁn.
Mã hóa video mꢧ rꢆng là mꢆt kꢨ thuꢇt cho phép nén video mꢆt lꢁn và cung cꢗp
viꢅc giꢀi nén video vꢒi các thông sꢌ như tꢌc ñꢆ dꢙ liꢅu, tꢌc ñꢆ khung, ñꢆ phân giꢀi và
chꢗt lưꢠng video khác nhau. Ngưꢂi ta còn gꢄi ñây là phương pháp mꢧ rꢆng ñꢆng bꢧi
vì các tham sꢌ trên có thꢍ thay ñꢦi bꢗt kỳ thꢂi gian nào trong quá trình truyꢉn. Ví dꢞ,
khi mꢃng tꢑc nghꢛn thì có thꢍ truyꢉn vꢒi tꢌc ñꢆ thꢗp hơn, và khi mꢃng rꢀnh rꢚi thì có
thꢍ chuyꢍn sang truyꢉn vꢒi tꢌc ñꢆ cao hơn. Dưꢒi ñây là mô hình cꢗu trúc mã hóa
video mꢧ rꢆng.
Hình 1.8. Cꢈu trúc mã hóa video mꢃ rꢄng
Mô hình mã hóa video mꢧ rꢆng dꢙ liꢅu video ñưꢠc mã hóa vào mꢆt tꢁng cơ sꢧ
(base layer) và mꢆt hoꢏc mꢆt vài tꢁng mꢧ rꢆng (enhancement layer). Tꢁng cơ sꢧ ñưꢠc
mã hóa vꢒi tꢌc ñꢆ thꢗp ñꢎ ñꢍ giꢀi mã dòng video, do vꢇy, chꢗt lưꢠng video ñưꢠc giꢀi
nén ra ꢋng vꢒi nó có chꢗt lưꢠng thꢗp nhꢗt. Viꢅc giꢀi mã tꢁng cơ sꢧ là ñꢆc lꢇp không
phꢞ thuꢆc vào bꢗt kỳ mꢆt dꢙ liꢅu nào khác. Trong khi ñó tꢁng mꢧ rꢆng ñưꢠc mã hóa
vꢒi tꢌc ñꢆ cao hơn, mꢞc ñích cꢎa nó là làm cꢀi thiꢅn chꢗt lưꢠng video ꢧ tꢁng cơ sꢧ, tuy
nhiên, viꢅc giꢀi mã các tꢁng mꢧ rꢆng là phꢞ thuꢆc vào tꢁng cơ bꢀn. Ví dꢞ, video gꢌc
mã hóa sꢐ dꢞng ba tꢁng : tꢁng cơ sꢧ vꢒi tꢌc ñꢆ là 64kb/s, tꢁng mꢧ rꢆng thꢋ nhꢗt vꢒi
tꢌc ñꢆ là 128kb/s và tꢁng mꢧ rꢆng thꢋ hai vꢒi tꢌc ñꢆ là 128kb/s. ꢩ bên nhꢇn có thꢍ
giꢀi mã ꢧ tꢌc ñꢆ 64kb/s (tꢋc là chꢝ sꢐ dꢞng tꢁng cơ sꢧ) thì kꢊt quꢀ giꢀi mã cho ra video
có chꢗt lưꢠng thꢗp nhꢗt. Nꢊu bên nhꢇn giꢀi mã ꢧ tꢌc ñꢆ 192kb/s (sꢐ dꢞng tꢁng cơ sꢧ
và tꢁng mꢧ rꢆng thꢋ nhꢗt) thì kꢊt quꢀ cho ra là video có chꢗt lưꢠng trung bình. Và ñꢍ
nhꢇn ñưꢠc video có chꢗt lưꢠng cao nhꢗt thì bên nhꢇn phꢀi giꢀi mã ꢧ tꢌc ñꢆ 320kb/s (sꢐ
dꢞng tꢁng cơ sꢧ và hai tꢁng mꢧ rꢆng).
14
Vꢒi phương pháp phân tꢁng này, viꢅc truyꢉn video streaming không cꢁn tꢒi các
phương thꢋc mã hóa lꢃi ñꢍ tương thích vꢒi ñiꢉu kiꢅn môi trưꢂng. Mꢆt mꢏt nꢙa, viꢅc
phân tꢁng làm cho vꢗn ñꢍ cung cꢗp dꢟch vꢞ hưꢒng ngưꢂi dùng trꢧ nên dꢓ dàng. Vꢒi
lꢒp ngưꢂi dùng mà có nhu cꢁu cũng như ñꢆ ưu tiên cao hơn, server sꢛ gꢐi cho hꢄ
nhiꢉu hơn các tꢁng mꢧ rꢆng tꢡ ñó tăng chꢗt lưꢠng video ꢧ ñꢁu cuꢌi. Vꢒi lꢒp ngưꢂi
dùng có nhu cꢁu và ñꢆ ưu tiên thꢗp hơn, server vꢔn có thꢍ cung cꢗp cho hꢄ mꢆt dꢟch
vꢞ video bình thưꢂng nhưng vꢒi chꢗt lưꢠng thꢗp hơn bꢥng cách giꢀm bꢒt gꢐi các
luꢢng dꢙ liꢅu ꢧ các mꢧ rꢆng.
1.3. Đꢓm bꢓo chꢜt lưꢝng dꢞch vꢕ truyꢙn video streaming.
Dꢟch vꢞ video streaming yêu cꢁu mꢆt sꢌ ñiꢉu kiꢅn kiên quyꢊt sau :
• Bandwidth : Mꢚi mꢆt ꢋng dꢞng video streaming ñꢉu có mꢆt yêu cꢁu vꢉ băng
thông nhꢜ nhꢗt ñꢍ duy trì ꢋng dꢞng. Tuy nhiên hꢅ vꢒi cơ sꢧ hꢃ tꢁng Internet hiꢅn tꢃi,
không có bꢗt kỳ cơ chꢊ nào ñꢍ ñáp ꢋng ñiꢉu kiꢅn này.
• Delay : Là khái niꢅm ñꢆ trꢓ cꢎa các gói tin ꢧ hai ñꢁu cuꢌi, hoꢏc cũng có thꢍ bao
gꢢm cꢀ thꢂi gian giꢀi mã và hiꢍn thꢟ video. Nꢊu gói tin không ñꢊn ñưꢠc ñúng thꢂi
ñiꢍm thì video có thꢍ bꢟ dꢡng gây cꢀm giác khó chꢟu cho ngưꢂi dùng
• Loss : Mꢗt gói tin là viꢅc không thꢍ tránh khꢜi trên môi trưꢂng Internet. Viꢅc
mꢗt gói tin có thꢍ gây ra hiꢅn tưꢠng méo mó hay mꢗt ñi sꢕ liên kꢊt trong viꢅc hiꢍn thꢟ
video.
Trong mô hình hꢅ thꢌng video streaming như ñã trình bày ꢧ phꢁn trưꢒc, hꢁu như
tꢗt cꢀ các thành phꢁn cꢎa hꢅ thꢌng ñꢉu thꢕc thi nhꢙng thao tác kꢨ thuꢇt ñꢍ thu ñưꢠc
hiꢅu quꢀ cao trong viꢅc duy trì băng thông, giꢀm ñꢆ trꢓ và khꢑc phꢞc mꢗt gói tin. Đây
cũng chính là tư tưꢧng cꢎa viꢅc ñꢀm bꢀo chꢗt lưꢠng dꢟch vꢞ trong video streaming.
Dꢟch vꢞ video streaming có tꢢn tꢃi và hoꢃt ñꢆng mꢆt cách chꢗt lưꢠng hay không tꢗt cꢀ
phꢞ thuꢆc vào viꢅc ñꢀm bꢀo chꢗt lưꢠng dꢟch vꢞ.
Tuy nhiên, vꢒi nhꢙng môi trưꢂng mꢃng khác nhau trong nhꢙng ñiꢉu kiꢅn khác
nhau thì cꢁn có thêm nhꢙng cơ chꢊ bꢦ sung cho viꢅc này. Ví dꢞ, trong mꢃng LAN thì
viꢅc ñꢀm bꢀo chꢗt lưꢠng dꢟch vꢞ cho video streaming có thꢍ ñơn giꢀn hơn là trong
mꢃng WLAN bꢧi vì bꢀn chꢗt môi trưꢂng truyꢉn cꢎa chúng là khác nhau. Do ñó, các
môi trưꢂng khác nhau cũng sꢛ có nhꢙng phương thꢋc khác nhau ñꢍ làm sao ñꢀm bꢀo
chꢗt lưꢠng dꢟch vꢞ tꢌt nhꢗt ꢧ hꢃ tꢁng, nhꢥm mꢞc ñích hꢚ trꢠ tꢌt nhꢗt cho các dꢟch vꢞ
sꢐ dꢞng hꢃ tꢁng ñó.
15
Chương tiꢊp theo ta sꢛ ñi nghiên cꢋu chuꢤn IEEE 802.11e là chuꢤn vꢉ ñꢀm bꢀo
chꢗt lưꢠng dꢟch vꢞ trong mꢃng WLAN, ñꢍ tìm hiꢍu xem phương pháp xây dꢕng ꢧ hꢃ
tꢁng mꢃng không dây ra sao có thꢍ hꢚ trꢠ cho dꢟch vꢞ video streaming trong ñiꢉu kiꢅn
môi trưꢂng có nhiꢉu tác nhân gây ꢀnh hưꢧng xꢗu tꢒi dꢟch vꢞ này.
16
Chương 2. Chuꢨn IEEE 802.11e vꢙ ñꢓm bꢓo chꢜt lưꢝng
dꢞch vꢕ trong mꢢng không dây
2.1. Tꢘng quan vꢙ IEEE 802.11 MAC
Cũng giꢌng như nhꢙng chuꢤn 802.x khác, IEEE 802.11 chꢝ mô tꢀ chuꢤn giao
thꢋc ꢧ tꢁng vꢇt lý (PHY) và tꢁng ñiꢉu khiꢍn truy cꢇp môi trưꢂng truyꢉn (medium
access control - MAC).
Tꢁng MAC thꢕc thi khá nhiꢉu nhiꢅm vꢞ nhưng nhiꢅm vꢞ chính và quan trꢄng
nhꢗt là truy cꢇp môi trưꢂng truyꢉn. Chuꢤn IEEE 802.11 MAC bao gꢢm hai cơ chꢊ truy
cꢇp môi trưꢂng truyꢉn : thꢋ nhꢗt là chꢋc năng phꢌi hꢠp phân tán DCF và thꢋ hai là
chꢋc năng phꢌi hꢠp ñiꢍm PCF. DCF sꢐ dꢞng giao thꢋc ña truy cꢇp cꢀm nhꢇn sóng
mang tránh tꢑc nghꢛn CSMA/CA (Carrier sense multiple access with conllision
avoidance). PCF sꢐ dꢞng phương thꢋc thăm dò vꢒi sꢕ hꢚ trꢠ cꢎa bꢆ phꢌi hꢠp ñiꢍm
PC. Cꢀ hai phương thꢋc có thꢍ cùng ñưꢠc sꢐ dꢞng trong mꢆt mꢃng BSS và sꢛ ñưꢠc sꢐ
dꢞng lꢁn lưꢠt xen kꢛ nhau. Cơ chꢊ DCF là bꢑt buꢆc trong khi PCF là tùy chꢄn. Vì viꢅc
triꢍn khai PCF phꢋc tꢃp nên nhiꢉu nhà sꢀn xuꢗt không hꢚ trꢠ PCF.
2.1.1. Các khoꢓng liên khung (Inter-frame space)
Khoꢀng liên khung là khoꢀng thꢂi gian giꢙa hai frame liên tiꢊp xuꢗt phát tꢡ mꢆt
trꢃm trong mꢃng không dây. Có bꢌn loꢃi khoꢀng liên khung tương ꢋng vꢒi bꢌn mꢋc
ñꢆ ưu tiên truy cꢇp kênh truyꢉn khác nhau. Dưꢒi ñây là danh sách bꢌn loꢃi IFS nói trên
sꢑp xꢊp theo thꢋ tꢕ tꢡ ngꢑn ñꢊn dài.
- SIFS (short inter-frame space)
- PIFS (PCF inter-frame space)
- DIFS (DCF inter-frame space)
- EIFS (extended inter-frame space)
17
Hình 2.1. Các khoꢅng liên khung IFS trong 802.11
a. Short Interframe Space (SIFS) :
Là khoꢀng thꢂi gian nhꢜ giꢙa các frame dꢙ liꢅu và ACK cꢎa nó. Chúng ñưꢠc sꢐ
dꢞng cho các trꢃm có ñꢆ ưu tiên cao nhꢗt yêu cꢁu truy cꢇp kênh truyꢉn ñꢁu tiên. Giá trꢟ
này là cꢌ ñꢟnh dꢕa vào tꢁng vꢇt lý phía dưꢒi. Thông thưꢂng các dꢙ liꢅu ñưꢠc truyꢉn
sau khoꢀng liên khung này là ACK (acknowledgement), RTS (Request to send) và
CTS (Clear to send) messages.
b. PCF inter-frame space (PCFS) :
PIFS ñưꢠc sꢐ dꢞng bꢧi AP hoꢃt ñꢆng trong PCF, khi bꢑt ñꢁu chu kỳ không tranh
chꢗp CFP. Giá trꢟ cꢎa PIFS nhꢜ hơn DIFS và lꢒn hơn SIFS (DIFS > PIFS > SIFS), do
ñó AP có ñꢆ ưu tiên cao hơn các trꢃm khác do nó chꢝ phꢀi chꢂ khoꢀng PIFS ngꢑn hơn
DIFS.
Giá trꢟ PIFS ñưꢠc tính thông qua công thꢋc : PIFS = SIFS + Slot time [4]
c. DCF inter-frame space (DIFS) :
Là khoꢀng liên khung sꢐ dꢞng trong phương pháp truy cꢇp kênh truyꢉn DCF.
Các khung dꢙ liꢅu phꢀi ñꢠi mꢆt khoꢀng thꢂi gian là DIFS mꢒi ñưꢠc phép truyꢉn ñi.
Giá trꢟ DIFS ñưꢠc tính theo công thꢋc : DIFS = SIFS + 2 * Slot time [4]
d. Extended Interframe space (EIFS) :
Nꢊu frame ñꢊn kꢊ trưꢒc có lꢚi thì trꢃm phꢀi ñꢠi mꢆt khoꢀng thꢂi gian là EIFS
thay vì DIFS trưꢒc khi truyꢉn frame.
EIFS ñưꢠc tính theo công thꢋc : EIFS = SIFS + DIFS + ACKTxTime [4]
ACKTxTime là thꢂi gian cꢁn thiꢊt ñꢍ truyꢉn mꢆt frame ACK
18
2.1.2. Chꢟc năng phꢠi hꢝp phân tán (Distributed Coordination Function - DCF)
Là phương pháp cơ bꢀn sꢐ dꢞng trong IEEE 802.11 MAC. DCF còn ñưꢠc biꢊt
ñꢊn như là cơ chꢊ cꢀm nhꢇn sóng mang ña truy cꢇp môi trưꢂng truyꢉn tránh tꢑc nghꢛn
(CSMA/CA), sꢐ dꢞng thꢎ tꢞc quay lui ngꢔu nhiên (backoff). Đꢢng thꢂi, tꢗt cꢀ các gói
gꢐi ñi ñꢉu ñưꢠc xác nhꢇn bꢧi frame ACK và bên gꢐi sꢛ gꢐi lꢃi gói tin nꢊu không nhꢇn
ñưꢠc frame ACK xác nhꢇn tꢡ bên nhꢇn.
Khi mꢆt trꢃm muꢌn truyꢉn dꢙ liꢅu, nó phꢀi xác ñꢟnh là kênh truyꢉn có rꢚi hay
không. Nꢊu rꢚi thì nó ñưꢠc phép truyꢉn ngay, còn nꢊu môi trưꢂng truyꢉn ñưꢠc xác
ñꢟnh là bꢇn thì trꢃm phꢀi chꢂ cho ñꢊn khi phiên truyꢉn ñang tꢢn tꢃi kꢊt thúc, sau ñó
trꢃm phꢀi ñꢠi mꢆt khoꢀng thꢂi gian backoff ngꢔu nhiên mꢒi ñưꢠc phép truy cꢇp kênh
truyꢉn.
2.1.2.1.
Thꢆ tꢇc quay lui ngꢈu nhiên (random backoff)
Hình 2.2. Thꢐ tꢋc quay lui ngꢑu nhiên trong DFC
Khi mꢆt trꢃm muꢌn truyꢉn dꢙ liꢅu, nó sꢛ kiꢍm tra xem trꢃng thái kênh truyꢉn là
bꢇn hay rꢚi bꢥng các sꢐ dꢞng các cơ chꢊ cꢀm nhꢇn sóng mang (CS mechanism). Nꢊu
môi kênh truyꢉn là bꢇn, trꢃm phꢀi ñꢠi cho tꢒi khi môi trưꢂng rꢚi, sau ñó trꢃm sꢛ ñꢠi
mꢆt khoꢀng thꢂi gian chính bꢥng giá trꢟ cꢎa DIFS trong trưꢂng hꢠp khung dꢙ liꢅu ñã
truyꢉn trưꢒc ñó ñưꢠc xác ñꢟnh là không có lꢚi, hoꢏc nó phꢀi ñꢠi mꢆt khoꢀng thꢂi gian
là EIFS nꢊu như phát hiꢅn ra có lꢚi xꢀy ra khi nhꢇn khung dꢙ liꢅu ñã truyꢉn trưꢒc ñó.
Sau khoꢀng liên khung này , các trꢃm sꢛ sinh ra mꢆt khoꢀng thꢂi gian ngꢔu nhiên và sꢛ
giꢀm dꢁn biꢊn ñꢊm backoff. Khi biꢊn ñꢊm backoff giꢀm ñꢊn 0, trꢃm sꢛ ñưꢠc phép
truyꢉn. Nꢊu kênh truyꢉn ñưꢠc xác ñꢟnh là bꢇn trong khoꢀng thꢂi gian backoff thì thꢎ
tꢞc backoff sꢛ tꢃm dꢡng, biꢊn ñꢊm backoff ñưꢠc giꢙ nguyên giá trꢟ. Khi kênh truyꢉn
rꢚi thì thꢎ tꢞc backoff sꢛ ñưꢠc phép bꢑt ñꢁu lꢃi vꢒi giá trꢟ ñang tꢃm dꢡng lꢁn trưꢒc.
19
Viꢅc các trꢃm chꢄn các khoꢀng thꢂi gian ngꢔu nhiên khác nhau làm giꢀm thiꢍu
khꢀ năng xung ñꢆt giꢙa các trꢃm mà ñã chꢂ kênh truyꢉn ꢧ cùng mꢆt thꢂi ñiꢍm.
Giá trꢟ backoff ñưꢠc xác ñꢟnh theo công thꢋc :
Backoff Time = Random() x aSlotTime
Trong ñó :
- aSlotTime : là giá trꢟ tương ꢋng vꢒi ñꢏc ñiꢍm cꢎa tꢁng vꢇt lý (PHY).
- Random() : là mꢆt giá trꢟ ngꢔu nghiên nꢥm trong khoꢀng [0,CW], ꢧ ñây CW là
cꢐa sꢦ tranh chꢗp, mꢆt giá trꢟ sꢌ thꢕc nꢥm trong khoꢀng giá trꢟ CWMin và CWMax
(hai giá trꢟ này là ñꢏc ñiꢍm cꢎa tꢁng vꢇt lý).
CW khꢧi tꢃo tꢡ giá trꢟ CWMin và sau mꢚi lꢁn khung truyꢉn không thành công thì
giá trꢟ này lꢃi ñưꢠc tăng gꢗp ñôi, và thꢎ tꢞc backoff mꢒi lꢃi ñưꢠc bꢑt ñꢁu, giá trꢟ CW
cꢋ tăng vꢒi cꢗp sꢌ nhân như thꢊ sau mꢚi lꢁn truyꢉn dꢙ liꢅu không thành công cho tꢒi
khi nó ñꢃt tꢒi ngưꢈng CWMax, thì CW sꢛ giꢙ nguyên giá trꢟ ñó (không tăng nꢙa cho
dù có truyꢉn không thành công). CW sꢛ ñưꢠc thiꢊt lꢇp lꢃi sau khi dꢙ liꢅu ñưꢠc truyꢉn
thành công.
2.1.2.2.
Thꢆ tꢇc xác nhꢉn ACK
Hình 2.3. Thꢐ tꢋc xác nhꢒn ACK
Khi mꢆt trꢃm nhꢇn ñưꢠc mꢆt khung và xác ñꢟnh rꢥng nó không bꢟ lꢚi. Trꢃm sꢛ
gꢐi lꢃi cho bên gꢐi mꢆt khung ACK nhꢥm mꢞc ñích xác nhꢇn rꢥng nó ñã nhꢇn ñưꢠc
khung dꢙ liꢅu. Khung ACK chꢝ sꢐ dꢞng trong trưꢂng hꢠp nhꢇn ñưꢠc gói tin unicast
20
Tải về để xem bản đầy đủ
Bạn đang xem 30 trang mẫu của tài liệu "Khóa luận Đảm bảo chất lượng dịch vụ cho việc truyền video streaming trong mạng không dây 802.11", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.
File đính kèm:
khoa_luan_dam_bao_chat_luong_dich_vu_cho_viec_truyen_video_s.pdf