Phương thức mó húa và giải mó Video

Một phần của tài liệu Nghiên cứu giải pháp hệ thống truyền dòng video qua kênh vệ tinh VSAT (Trang 90)

Với băng thụng kờnh truyền hạn chế, cần phải lựa chọn phương thức mó húa Video sao cho tớn hiệu Video được nộn tối đa nhất, dẫn đến cỏc dũng Video khi truyền trờn mạng sẽ chiếm ớt băng thụng nhất. Với hệ thống truyền dũng Video qua kờnh vệ tinh như mụ tả trong mụ hỡnh hệ thống tổng thể, đương nhiờn phương thức mó húa Video được lựa chọn ở đõy tối thiểu là MPEG-4.

3.4.2 Truyn khụng đối xng

Cấu hỡnh mạng Vệ tinh theo giả định truyền thụng là những mạng và router đấu nối thụng qua những tuyến khụng đồng nhất, đa hướng và hai chiều. Để hạn chế cỏc yếu tố ảnh hưởng đến kờnh truyền vệ tinh, những đường qua vệ tinh địa tĩnh cần phải điều chỉnh cho lưu lượng khụng đối xứng, băng thụng của nú đủ cho tất cả lưu lượng bờn trong bỳp súng, độc lập với những nguồn lưu lượng điều khiển.

3.4.2.1 Truyền khụng đối xứng và theo một phớa

Việc truyền cỏc gúi tin phụ thuộc vào vũng kớn gửi dữ liệu và nhận lại cỏc ACK. Số lượng gúi tin truyền qua bị giới hạn bởi băng thụng của đường gửi dữ liệu

và đường ACK. Cỏc ACK khụng mang dữ liệu, kớch thước của nú nhỏ hơn kớch

thước gúi dữ liệu (Vớ dụ đối với gúi tin TCP: kớch thước một gúi dữ liệu cực đại là 576 byte bao gồm TCP + Phần mào đầu IPs). Điều này cú nghĩa là cú thể sử dụng

băng thụng khụng đối xứng cho đường gửi dữ liệu và đường vũng lại cho ACK để tiết kiệm băng thụng. Cú hai giải phỏp cú thể tiết kiệm băng thụng đường vũng lại:

• Nộn lớp kết nối: Nộn phần mào đầu tiờu chuẩn.

• Giảm số lượng ACKs: Một ACK cú thể bỏo cỏo nhận được cho nhiều khối dữ liệu

Cú hai phương phỏp cấu hỡnh kờnh khụng đối xứng:

• Cỏc yờu cầu kết nối sẽ được gửi toàn bộ lưu lượng đi qua mặt đất tốc

độ chậm (như Dial-up Modem) để thiết lập đường truyền vệ tinh và

thu lưu lượng đến qua vệ tinh tốc độ cao (kết nối theo một hướng).

• Cú thể sử dụng cả hai chiều là kờnh vệ tinh nhưng đường lờn sử dụng băng tần nhỏ hơn đường xuống.

Việc sử dụng đường mặt đất cho cỏc yờu cầu kết nối và gửi ACK rừ ràng vừa giảm được thời gian truyền dẫn toàn trỡnh xuống gần một nửa, vừa tiết kiệm được băng thụng vệ tinh. Giải phỏp dựng cả hai chiều là kờnh vệ tinh với băng thụng khỏc nhau tiết kiệm được băng thụng.

3.4.3 Khi đầu chm, trỏnh nghn trước

3.4.3.1 Khởi đầu chậm

Thời gian khởi đõu chậm trong mạng vệ tinh địa tĩnh cũng lớn vỡ RTT lớn. Khởi đầu chậm điều khiển số đoạn được phỏt chứ khụng điều khiển kớch cỡ cỏc đoạn

Ta hóy khảo sỏt 1 đường 128 Kbps truyền qua vệ tinh. Khi bắt đầu truyền tốc độ truyền sẽ thay đổi trong khoảng thời gian gửi một số đoạn dữ liệu và chờ ACK quay lại. Đơn vị thời gian đũi hỏi trước khi chuyển từ trạng thỏi Khởi đầu chậm tới trỏnh nghẽn là từ (7ữ10) RTT và cú thể phải cần thờm (20ữ30) RTT để trở lại gần với tốc độ dung lượng tuyến. Quỏ trỡnh này để rỗi một lượng băng thụng đỏng kể như mụ tả trờn hỡnh 3.4, sau 16 RTT (8s) tốc độ gửi chỉ cũn khoảng 80Kbps (giả thiết rằng ~ 1Kbps/segment)

3.4.3.2 Trỏnh nghẽn trước

Vỡ sự điều khiển nghẽn trờn đường vệ tinh chỉ đỏp ứng chậm do trễ nờn nếu trỏnh được nghẽn sẽ là thành cụng lớn.

Trong TCP, một trong những kỹ thuật mới được sử dụng trong để trỏnh nghẽn trước khi xảy ra là Random Early Detection (RED) gateways. Phương phỏp này đũi hỏi mỗi gateway phải giỏm sỏt độ dài hàng quản lý của mỡnh và thụng bỏo cho người gửi TCP khi xỏc định nghẽn sắp sảy ra. Việc gửi thụng bỏo này được thực hiện bằng cỏch lấy ra một gúi sớm hơn so với bỡnh thường. Người gửi nhận được thụng bỏo qua thời gian chết của gúi này. Thực chất nguyờn lý RED là ở chỗ việc lấy bớt ra một gúi sớm hơn so với bỡnh thường cú thể giỳp trỏnh được khả năng sẽ mất nhiều gúi hơn sau đú. Nhờ nhận được thụng bỏo nghẽn, người gửi TCP cú thể giảm cửa sổ của họ trước khi cú một chuỗi nghẽn xuất hiện. Một giải phỏp khỏc giỳp cho người gửi TCP dự bỏo trước khả năng nghẽn xuất hiện và giảm cửa sổ truyền của nú trước khi cỏc routers trung gian bị mất gúi. TCP cú thể giữ đường đi của RTT quan sỏt được gần nhất để tớnh toỏn hàng dữ liệu trong mạng. TCP cũng cú thể lưu số lượng dữ liệu đi qua trước và sau khi cửa sổ nghẽn thay đổi để đỏnh giỏ mức nghẽn mạng. Nếu giả định rằng số lượng cỏc gúi xếp hàng trong mạng đang tăng, nú sẽ giảm cửa sổ nghẽn và ngược lại.

3.4.4 Ti ưu húa theo đặc tớnh TCP

Trong nhiều trường hợp, cú thể thực hiện những cải tiến chất lượng lớn ở mức cơ sở hạ tầng mạng thụng tin vệ tinh mà khụng cần sửa đổi TCP. Trong khi những cải tiến ở lớp truyền dẫn yờu cầu thay đổi tới hệ điều hành của mỗi mỏy chủ

đầu cuối, thỡ những cải tiến ở lớp truyền thụng thường yờu cầu rất chi tiết hoặc

khụng yờu cầu cú sự cải tiến nào như vậy

3.4.4.1 Cửa sổ lớn TCP

Cơ chế cửa sổ lớn TCP (TCP - LW) là một mở rộng của TCP đú được ứng dụng để tăng kớch thước của cửa sổ cực đại bằng cỏch đưa vào phần mở rộng phạm vi cửa sổ, tăng trường địa chỉ lờn 32 bit. Trừ cỏc thụng tin cần bổ sung cú thể thụng bỏo kớch thước cửa sổ cực đại băng 2x32 = 1GB, cho phộp sử dụng tốt hơn cỏc kết nối với những RTT*B lớn. Trong trường hợp này, cả phớa gửi và phớa nhận sử dụng cựng một version TCP theo kiểu TCP –LW. Cỏc ứng dụng cũng phải thiết lập kớch thước cỏc bộ đệm gửi và nhận để bằng với tớch RTT*B

3.4.4.2 TCP với bỏo nhận lựa chọn SACK

Trong TCP tiờu chuẩn, nếu cú một đoạn dữ liệu bị mất người gửi sẽ truyền lại toàn bộ dữ liệu đú gửi kể từ đoạn mất mà khụng quan tõm tới việc đú truyền tốt cỏc đoạn tiếp theo hay khụng. TCP coi mất đoạn này giống như nghẽn và sẽ điều chỉnh kớch thước cửa sổ để chống nghẽn. Gần đõy TCP-SACK tiờu chuẩn được định nghĩa để cho phộp người nhận thụng bỏo rừ ràng cho người gửi về sự mất riờng đoạn này. Bởi vậy, người gửi cso thể truyền lại đoạn bị mất ngay lập tức mà khụng cần một thời gian chờ đợi, đỏp ứng với đoạn bị mất ngay lập tức mà khụng cần một thời gian chờ đợi, đỏp ứng với nghẽ giả định và giảm cửa sổ của nú đi nhiều lần. Nếu cỏc đoạn mất khụng phải do nghẽn, hoặc sự nghẽn chỉ là ngắn ngủi thỡ khối lượng dữ liệu quỏ giang ở TCP-SACK sẽ tốt hơn nhiều. Điều này sẽ cú ớch trong mạng vệ tinh vỡ nú trỏnh được những sự khụi phục dài dũng trong TCP mỗi khi phỏt hiện nghẽn. (adsbygoogle = window.adsbygoogle || []).push({});

3.4.4.3 Chia kết nối TCP

Giao thức TCP đảm bảo kết nối end-to-end, nghĩa là cỏc lớp TCP phớa phỏt và phớa thu được kết nối qua đoạn kết nối ảo sao cho cỏc vấn đề như điều khiển nghẽn, điều chỉnh dũng dữ liệu cú thể được thực hiện khụng cần cỏc tầng trung gian. í tưởng phõn chia cỏc kết nối sẽ làm “đứt” một số kết nối TCP end-to-end thành ba đoạn, mỗi đoạn tự nú là một kết nối TCP đầy đủ. Đoạn giữa kộo dài qua kết nối vệ tinh cú trễ lớn va hai đoạn khỏc cú thể được đệm nếu cần thiết.

Như vậy đú cú sự chia tỏch riờng biệt những tỏc động của độ trễ: đọa TCP

đầu tiờn và cuối cựng là một mạng trễ thấp, TCP khởi đầu chậm cú thể tăng tốc độ

nhanh chúng hơn và kớch thước cửa sổ sẽ làm việc hoàn toàn bỡnh thường (khụng cú TCP-LW). Đoạn giữa cần phải thực hiện những đặc tớnh đặc biệt và sử dụng những cửa sổ lớn để đối phú trễ lớn. Theo cỏch này, chất lượng TCP cú thể được cải thiện chỉ cần thay đổi nhỏ tới phần mềm ứng dụng.

í tưởng của giải phỏp này là: chia một kết nối TCP qua vệ tinh từ mỏy chủ A đến mỏy chủ B thành hai phần:

• Phần kết nối mặt đất bao gồm: Từ mỏy chủ A đến trạm mặt đất phớa A, từ trạm mặt đất phớa B đến mỏy chủ B.

• Phần kết nối khụng gian bao gồm: Từ mỏy chủ A đến trạm mặt đất phớa A, từ trạm mặt đất phớa B.

Giải phỏp này cú hai ưu điểm sau:

• Thứ nhất: Trỏnh được việc giảm thụng lượng của kết nối mặt đất do sự giảm thụng lượng của kết nối khụng gian.

• Thứ hai: Tập trung giải quyết riờng phần kết nối khụng gian, giữ nguyờn phần kết nối mặt đất.

Hoạt động của giải phỏp chia kết nối

Ngay khi nhận được gúi dữ liệu từ mỏy chủ A, trạm mặt đất A sẽ gửi gúi tin xỏc nhận ACK về mỏy chủ A và chuyển cỏc gúi tin này lờn kết nối vệ tinh.

Trạm mặt đất B, sau khi nhận được gúi tin từ trạm mặt đất A, sẽ gửi gúi tin xỏc nhận ACK cho trạm mặt đất A. Tiếp đú, mỏy chủ B sẽ phỏt gúi tin xỏc nhận

ACK cho mỗi gúi tin nhận được từ trạm mặt đất B.

Hoạt động của ghộp kờnh nối

Việc chia kết nối cú tỏc dụng trỏnh được sự giảm thụng lượng của kết nối mặt đất do sự giảm thụng lượng của kết nối vệ tinh. Tuy nhiờn, giải phỏp này khụng cải thiện được thụng lượng của kết nối vệ tinh do độ trễ của đường truyền vệ tinh lớn. Cơ chế ghộp kờnh kết nối sẽ giải quyết vấn đề này bằng cỏch: ghộp cỏc kờnh TCP thanh một kết nối SCTP trờn kết nối vệ tinh (Sở dĩ gọi là kết nối SCTP vỡ đoạn kết nối vệ tinh lỳc này dựng giao thức truyền tải là giao thức SCTP thay cho giao thức TCP). Tại trạm mặt đất phớa phỏt, tất cả cỏc kết nối TCP được ghộp kờnh thành một luồng SCTP đơn và trạm mặt đất phớa thu sẽ thực hiện quy trỡnh tỏch luồng SCTP thành cỏc kết nối TCP riờng biệt.

Cơ chế ghộp kờnh này giỳp cho cỏc kết nối TCP cú thể chia sẻ kớch thước cửa sổ của kết nối SCTP để truyền dẫn cỏc gúi tin. Do đú, khi cú kết nối SCTP tăng kớch thước của sổ, một kết nối TCP mới cú thể sử dụng cửa sổ kớch thước lớn của SCTP cho kết nối đầu cuối-đầu cuối, do đú thụng lượng của kết nối TCP sẽ tăng lờn đỏng kể.

3.4.4.4 TCP giả bộ

Theo giải phỏp này, một gateway trung gian (thụng thường ở đường lờn vệ tinh) thừa nhận một đoạn TCP mà khụng đợi ACK thực tế. Điều này làm cho phớa giửi cảm nhận mạng là một mạng trễ thấp và do đú giai đoạn TCP khởi đầu chậm cú thể diễn ra nhanh chúng. Gateway trung gian làm đệm cho những đoạn đi qua. Khi ACK thực tế quay về với gateway, nú bị triệt đi để trỏnh cho phớa gửi nhận được

ACK đỳp. Nếu ACK khụng quay trở lại thỡ Gateway tớnh thời gian và truyền lại

đoạn mất từ bộ đệm trong của nú.

TCP giả bộ cũng phỏ vỡ khỏi niệm “end-to-end” vỡ đối với một đoạn dữ liệu, phớa gửi cho rằng đoạn đú đó đến đớch trong khi nú thực sự vẫn cũn đang trờn đường truyền.

Chương 4 PHÂN TÍCH LỰA CHỌN GIẢI PHÁP CễNG NGHỆ

4.1 SƠĐỒ KHỐI CỦA HỆ THỐNG TRUYỀN DềNG VIDEO QUA KấNH

VỆ TINH VSAT

Từ mụ hỡnh giải phỏp tổng thể đó đưa ra ở chương 3, sơ đồ khối của hệ thống truyền dũng Video qua kờnh vệ tinh VSAT được thể hiện như sau:

Giỏm sỏt Video Giải mó Video Playback Video stream Video server Save video stream to file Truyền chuyển tiếp Video Stream Receiver Video stream Mỏy trạm thu Video

Mạng VSAT Streaming Video Mó húa Video Analog camera Capture Video Hỡnh 25.Sơđồ khi h thng truyn dũng Video

Với sơ đồ khối như trờn, bài toỏn đặt ra ở đõy là phải nghiờn cứu, đưa ra giải phỏp phự hợp cho cỏc vấn đề sau: (adsbygoogle = window.adsbygoogle || []).push({});

+ Nghiờn cứu, lựa chọn giải phỏp cụng nghệ Capture và mó húa Video, đỏp

ứng được yờu cầu bài toỏn, phự hợp với thực tế và giỏ thành trong phạm vi chấp

nhận được.

+ Nghiờn cứu lựa chọn giải phỏp truyền dũng Video khắc phục được những yếu tố ảnh hưởng như đó nờu ở chương 3, phự hợp với mạng vệ tinh VSAT.

+ Nghiờn cứu, lựa chọn giải phỏp cụng nghệ playback dũng Video (phỏt dũng Video)

4.2 PHÂN TÍCH LỰA CHỌN CễNG NGHỆ

4.2.1 Đỏnh giỏ la chn cụng ngh mó húa Video

Theo mụ hỡnh hệ thống đó nờu ở Chương 3, với khả năng và phạm vi ứng dụng, giải phỏp mó húa sẽ lựa chọn là sử dụng card capture Video cú mó húa, cú hỗ trợ thư viện SDK để xõy dựng chương trỡnh theo yờu cầu bài toỏn. Để đảm bảo gúi

tin được nộn thấp nhất, phự hợp với đường truyền vệ tinh, phương thức mó húa

Video cần phải lựa chọn là MPEG4 hoặc MPEG4 Part 10/H.264.

Dưới đõy là một số card capture Video được lựa chọn và thử nghiệm

4.2.1.1 Card Advantech DVP-7010B

Hỡnh 26.Advantech DVP-7010B

Đặc tớnh của Card:

• 4 channel composite inputs with MPEG-4 compression

• 30/25 fps (NTSC/PAL) or 120/100 fps (NTSC/PAL) at D1 resolution for recording and display

• Conexant fusion 878A video capture chips on board

• Support ADAM-4055 8DI/8DO Module

• SDK supports Windowsđ XP/XPe/Windows 2000

Đỏnh giỏ Card DVP-7010B

Đõy là Card capture được sử dụng trong cỏc giải phỏp giỏm sỏt cụng nghiệp cú giỏ thành rẻ. Hỡnh ảnh số húa và mó húa đạt độ phõn giải 720x576, tốc độ Frame 30/25Fps. Chất lượng hỡnh ảnh, màu sắc bỡnh thường, khụng được tươi nột. Hệ

thống SDK của card sử dụng thuận tiện, cho phộp lấy từng Frame chưa mó húa hoặc cả một đoạn Video đó được nộn MPEG-4. SDK của card hỗ trợ ghi cỏc đoạn Video đó nộn MPEG-4 thành file AVI.

Một số hàm SDK của Card Capture control

AdvDVP_GetNoOfDevices Gets number of video capture devices AdvDVP_Start Starts video capturing

AdvDVP_Stop Stops video capturing

AdvDVP_GetCapState Gets capture state

AdvDVP_SetNewFrameCallback Sets a callback function to SDK AdvDVP_GetCurFrameBuffer Gets current frame buffer

Capture setting

AdvDVP_GetVideoFormat Gets video input format AdvDVP_SetVideoFormat Sets video input format AdvDVP_GetFrameRate Gets frame rate

AdvDVP_SetFrameRate Sets frame rate AdvDVP_GetResolution Gets video resolution AdvDVP_SetResolution Sets video resolution AdvDVP_GetVideoInput Gets video input mux AdvDVP_SetVideoInput Sets video input mux (adsbygoogle = window.adsbygoogle || []).push({});

Encode control

AdvDVP_StartVideoEncode Starts video encoding AdvDVP_VideoEncode Encodes one video frame AdvDVP_StopVideoEncode Stops video encoding AdvDVP_GetState Gets encoder state AdvDVP_CreateAVIFile Creates an AVI file

AdvDVP_WriteAVIFile Writes video data to the AVI file AdvDVP_CloseAVIFile Closes AVI file

AdvDVP_SetStreamReadCB Sets the stream read callback functions to SDK

Encode setting

AdvDVP_GetVideoQuant Gets video encoding quant AdvDVP_SetVideoQuant Sets video encoding quant AdvDVP_GetVideoFrameRate Gets video encoding frame rate AdvDVP_SetVideoFrameRate Sets video encoding frame rate AdvDVP_GetVideoResolution Gets video encoding resolution

AdvDVP_SetVideoResolution Sets video encoding resolution AdvDVP_GetVideoKeyInterval Gets video encoding key interval AdvDVP_SetVideoKeyInterval Sets video encoding key interval

4.2.1.2 Card Advantech DVP-7421BE

Hỡnh 27.Advantech DVP-7421BE

Đặc tớnh của Card

Video Standard: Composite for NTSC/PAL Video Input: 4 channels

Resolution: Up to D1(NTSC:720 x 480;PAL:720 x 576)

Max Recording Rate: 30/25 fpx (NTSC/PAL) for each channel Display Rate: 30/25 fpx (NTSC/PAL) for each channel

Video Compression: MPEG 1/2/4

Video Output PCI preview/playback stream

Video Loopout 4 x BNC Connectors or 5-pin internal connector Audio Input: 4 x stereo inputs,

(4 mono x BNC connectors or 2 x 5-pin internal connectors) Interface: PCI V2.2 DI/O Support ADAM-4055 8DI/8DO Module

Support ADAM-4055 8DI/8DO Module

SDK supports Windowsđ XP/XPe/Windows 2000

Chất lượng hỡnh ảnh đạt độ phõn giải 720x576, tốc độ khung hỡnh 30/25fps. Hỡnh ảnh tươi, sắc nột hơn DVP-7010B. SDK của card hỗ trợ trực tiếp cho DirectShow. DVP-7421BE sau khi mó húa MPEG-4 sẽ trả về cho ứng dụng một chuỗi dữ liệu bao gồm I-Frame và GOP (Group of Picture). Người lập trỡnh cú thể can thiệp đến từng Frame đó được mó húa. Điều này rất thuận tiện cho việc truyền cỏc dũng Video qua mạng bằng RTP/RTCP. Trờn cơ sở này, cỏc thuật toỏn khắc phục lỗi vỡ hỡnh khi truyền Video sẽ phỏt huy tỏc dụng.

4.2.1.3 Sử dụng Card Optibase MovieMaker H.264

Một phần của tài liệu Nghiên cứu giải pháp hệ thống truyền dòng video qua kênh vệ tinh VSAT (Trang 90)