30
1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

Embed Size (px)

Citation preview

Page 1: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

1

An Extensible Videoconference Tool for a Collaborative Computing

Network

Junjun He

Page 2: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

2

Introduction

The videoconference tool is a real-time desktop videoconferencing tool that can be used in a collaborative environment

It uses a software codec to reduce the system requirement for the application

It has a very user friendly interface

Page 3: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

3

Video Compression

Video compression is a good way to reduce both storage and bandwidth requirement

Videoconference tool can adopt multiple compression methods

The current implementation of videoconference tool uses H.263 as its default compression method

Page 4: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

4

H.263

H.263 is the recommendation of the ITU for video coding for low bit rate communication

H.263 supports 5 different resolutions: CIF, QCIF, sub_CIF, 4CIF, 16CIF

Page 5: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

5

H.263 Encoding

Page 6: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

6

H.263 Decoding

Page 7: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

7

Video Transmission

The videoconference tool requires that the video be received in real-time

Real-time video can tolerate data loss, but not data delay

CCTL is the transfer protocol used by the videoconference tool

Page 8: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

8

CCTL

Collaborative Computing Transport Layer is the communication protocol used by CCF

CCTL is a multicast protocol which can be configured to satisfy different requirement (QoS)

Page 9: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

9

Videophone Structure

Videophone

Functions GUIH263 Messages DATAQ

TMN 2.0 TMNDec 2.0

Page 10: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

10

Components of Videophone

Video Capturer

File Reader

Compressor

Video Recorder

VideoTransmitter

Sender

Packet

Receiver

File

Reader

Decompressor

VideoRecorder

Video

Restorer

Receiver

Common

FileReader

VideoRecorder

Initialization

InitializationFunctions

Listener

Utility

CardSender

FileSender

VideoReceiver

Inviter

Stopper

VideoPlayer

MessageRecorder

VideoMaker

Page 11: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

11

Initialization Module

Initialization Functions Initialize Window Initialize Video Card Initialize CCTL Session Initialize Data Queues

ListenerReceive invitation messages and join a CCTL session

Page 12: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

12

Sender Module

Video CapturerGet images from a video card

Inter-frame CompressorSpatial compression

Intra-frame Compressor Temporal compression

Video TransmitterTransmit video among a session

Page 13: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

13

Receiver Module

Packet ReceiverReceive video from other session members

DecompressorDecompress the received video

Video RestorerDisplay decompressed video in a window

Page 14: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

14

Common Module

File ReaderRead compressed video file into a data queue

Video RecorderWrite compressed video from a data queue to a file

Page 15: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

15

Utility Module- Card Sender Launcher

Video Card

Video capturer

CompressorVideo Transmitter

Data queue

Data queue

Page 16: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

16

Utility Module- File Sender Launcher

   

   

Video Data File reader

Data queue

Page 17: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

17

Utility Module- Video Receiver Launcher

   

   

Data queue Data queue

Packet Receiver Decompressor Video Restorer Window

Page 18: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

18

Utility Module- Message Recorder Launcher

   

   

Data queue

Video DataVideo Recorder

Page 19: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

19

Utility Module- Video Receiver Launcher

   

   

Data queue Data queue

Packet Receiver Decompressor Video Restorer Window

Page 20: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

20

Utility Module- Video Maker Launcher

   

   

Video Recorder

Data queue

Video Card

Video Capturer

Compressor Target File

Data queue

Page 21: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

21

Utility Module- Video Player Launcher

   

Decompressor Video Restorer WindowSource File

Data queue Data queue

File Reader

Page 22: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

22

Utility Module- Inviter and Stopper

An inviter sends an invitation message to all session members and creates a sender utility to send out its own video in the session

A stopper stops the reception of the video from a session member

Page 23: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

23

One Typical Session Member

Listener Packet Receiver

Member 3Member 2Member 1

Video Receiver 1 Video Receiver 2 Video Receiver 3

Card Sender

In one CCTL channel

TCP/IP

Page 24: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

24

User Interface- System Icon

 

The left videophone button generates 5 menu options: Invitation File Stop Compression Parameters Decompression Parameters

The right Message button turns on the message recorder feature

Page 25: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

25

User Interface- Invitation

 

Guest Names displays all the selected participant’s name

Phone Book displays the names listed in the phone.book file

User can click name in phone.book to add it into guest names or type in the input field directly to add name to both guest names and phone book

Before invite, the user can choose to send out which kind of video

 

Page 26: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

26

User Interface- Invitation Response

 

Receiver can decide to join the session or not

Receiver can choose to send what kind of video among the session or not to send video at all

 

 

Page 27: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

27

User Interface- File Operation

 

Select a file for a video player launcher

Save the video into a file for a video recorder launcher

 

Page 28: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

28

User Interface- Stop Operation

 

The Current Participants displays all existing session member’s name in local videophone

User can select any member’s name and delete it from local videophone

 

Page 29: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

29

User Interface- Compression Parameters

 

Code Format specifies the size of the compression

Compression Method decides how to compress: Discrete:intra-frame compression Continuous:inter-frame

compression

 

Page 30: 1 An Extensible Videoconference Tool for a Collaborative Computing Network Junjun He

30

User Interface- Decompression Parameters

 

Output Format specifies what kind of output data the decompressor generates