HVCT

Design and implementation of
IPv6 multicast based
High-quality Videoconference Tool
(HVCT)
2003. 8. 28
Tae-wan You,
Seoul National University, Korea
Outline
•
•
•
•
•
HVCT and Features
Software design
Implementation Details
Experimental result
Future work
HVCT & Feature
HVCT
• a High-quality Video Conferencing Tool
• Works on Windows 2000, SP 1 with
IPv6 stack
• Microsoft DirectX 8.0 or Higher
• Video data be en/decoded using
MPEG-4 Codec
– Video : 320x240 pixels, 15fps
• Audio data be en/decoded using MP3
Codec
– Audio : 44kHz, 16bit, 2 channel
Feature (1/2)
• IPv6 capability
– Working on MSR and MSDN IPv6 stack
• Multicast
– Efficient use of network resources via
multicast
• Support
– High-quality multimedia data using MPEG4
codec and MP3 codec
– Show a statistics that be measured traffic
– Can chat using multicast
Feature (2/2)
• Main dialog of HVCT
– Show screen of
participants
• Traffic monitoring
– total number of
bytes received
– packets lost
– packets misordered
– represent a bandwidth
using graph
• Chat with participants
by multicast protocol
Software Design
Software Components
MPEG4 Video
Software Encoder
MPEG4 Video
Software Decoder
A/V
MUX
RTP over
UDP/IPv6
A/V
DEMUX
Network
Manager
MP3 Audio
Software Encoder
Encoding Manager
MP3 Audio
Software Decoder
Decoding Manager
Software Components
• Encoding Manager
– Make an one stream with video data, which be
encoded using MPEG4 codec and audio data, which
be encoded using MP3 codec.
• Network Manager
– Add RTP header with stream and send it as udp
packet to multicast address for IPv6
– After receive a packet, remove RTP header and
pass data to DM (Decoding Manager)
• Decoding Manager
– decode the each of the stream and play both audio
and video using Render filter
Software Architecture
User Interface
DirectShow
Filter
(Capture)
DirectShow
Filter
(Display1)
DirectShow
Filter
(Display2)
DirectShow
Filter
(Display3)
RTP/RTCP & Buffer
SocketThread
(for send data)
SocketThread2
(for receive data)
Control Message
Data Stream
Implementation Details
Multimedia Data Transfer
Sender Component
Capture
Driver
MPEG4
Encoder
Video
Tee
MPEG4
Decoder
Video
Renderer
Sound
Driver
MP3
Encoder
Audio
Tee
MP3
Decoder
Sound
Driver
Audio/Video
MUX
Video Stream
RTP/RTCP
Audio Stream
UDP/IPv6
IPv6 Multicast Network
A/V Muxed Stream
Receiver Component
Video
Source
MPEG4
Decoder
Video
Renderer
Audio
Source
MP3
Decoder
Sound
Driver
Audio/Video
MUX
Video Stream
RTP/RTCP
Audio Stream
UDP/IPv6
IPv6 Multicast Network
A/V Muxed Stream
Implementation Details
RTP/RTCP Data Transfer
RTP, RTCP Library
• The library be implemented on the
basis of RFC 1889
– Define data type by structure in C++
– RTP, RTCP, RR, SR, SDES etc.
– Made functions that can achieve
accomplishments that is supported by RTP,
RTCP using defined data types
MySSRC
SetRtpSdes
SendRtpCtrl
… …
InitRtp
Rtp socket
Rtcp socket
Participant
db
Create Session
Create db
SendRtpData
IPv6 Router
OnRecvRtp
UpdateRtp
SendRtpBye
done
KOREN
SEOUL AP
IPv6 Host
Multicast data/ctrl
APAN-SNU
138-317
Join Session & Start Talk
Participant 1
ff0e::1:2:3 / 5002
Participant 2
Join Session
RTCP Interval
of Participant1
Start
Send Data
Start Playing /
Participant 1 :=
Active Source
Experimental result
& Future work
Experiment environment
ATM S/W
ETRI
ATM S/W
PC Router 1
Host 1
Subnet A (ETRI)
Daejeon AP
ATM S/W
Seoul AP
ATM S/W
SNU AP
ATM S/W
PC Router 2
Host 2
Subnet B (SNU)
Result – bandwidth
• Video by MPEG-4 Codec
– Input data : 15 frame per second, I420
format
– Output data : 350 ~ 400Kbps
• Audio by MP3 Codec
– sample 16bit, two stereo, sampling rate
44.1kHz
• 16 * 141000 * 2 =~ 1.3 Mbps
– Output data : 56 kbps
Bandwidth compare with vic
• UCL’s vic
– H.261, 10fps
RGB24 format
• HVCT
– MPEG4, 15fps
I420 format
Result – delay (1/2)
• Video Delay
Result – delay (2/2)
• Audio Delay
Future Work
• Reduce end-to-end delay
• Experiments with other conferencing
tool
– VIC from UCL, ISABEL from Agora Systems
etc.
– Performance Test
• You can get more information from
http://mmlab.snu.ac.kr/~hvic
Thank You !!
&
Any Questions ?