130 likes | 228 Views
Remote Demos. Elements of the Problem. Conference call – single speaker, several participants Demo using the internet Telephone for voice support VoIP One person is showing the demo Others can ask question Each step of the demo should be easily visible Mouse movements must be tracked
E N D
Remote Demos Remote Demo
Elements of the Problem • Conference call – single speaker, several participants • Demo using the internet • Telephone for voice support • VoIP • One person is showing the demo • Others can ask question • Each step of the demo should be easily visible • Mouse movements must be tracked • Mouse generates data at about 20 bytes per second • Keyboards generate data at about 10 bytes per second • Interaction with audience • Reuse by audience Remote Demo
Participant’s Desk top Participant’s Desk top Participant’s Desk top Participant’s Desk top Operational View Speaker’s Desk top Remote Demo
Real MM problems • The Remote Demos problem is an abstraction of several real MM problems • Video on demand: Similar to off-line retrieval of demo info. • E-learning: S.G. Deshpande and J.N.Hwang, “A real-time interactive virtual classroom multimedia distance learning system”, IEEE Trans on Multimedia, Dec 2001. Remote Demo
Elements of the Problem - 2 • Speaker opens a window for showing the demo / presentation • Speaker uses the telephone link to describe what the participants are seeing • Analog or digital telephone • VoIP implements digital telephone • Participant questions can be handled in several ways • Chat, instant messaging • Voice channel alerts Remote Demo
How Would You Build the Remote Demo Capability? • What goes on in the background? • What are the constraints? Remote Demo
Possible Approach - 1 • Speaker’s side • Capture the contents in the active window every few (say 100) milliseconds • View as a 2-D representation (a matrix) • Each pixel will be 3 element vector – RGB • 24 bits per pixel • Window size? • Would like 1024 x768, but let us start with a smaller window • Save this data in a file using a browser compatible image format – gif, jpeg,… • You need a web server • What about voice? Remote Demo
Possible Approach - 2 • Participant’s desk top • Opens a browser • Use specified URL • Answers questions like • What type of connection are you using? • Downloads an applet • Refresh the screen every x seconds Remote Demo
What Are the Potential Problems? • Volume of data • For a window size of 800 x 600 the data transferred every x seconds is 800 * 600 * 3 = 1.44 MB • If x = .1 then bandwidth required will be > 115.2 Mbps !!!!! • Possible solutions – • Reduce active window size – ugh!! • Increase x – discontinuous motion – where is the cursor? Remote Demo
MM Specialist Approach • Use JPEG to compress the screen capture image • Use PCM to encode voice – data volume is much less but quality requirements are stringent • Consecutive images do not have much change – often just the cursor movement • Transmit only the changes from the previous transmission • Result • When a new screen comes up, it will take a little time • For a particular screen the cursor motion will appear to be almost continuous • Your Assignment Build a Remote Demo System Remote Demo
Assignment • Use a phased approach • Phase I develop a solution as a typical computer programmer • After testing and demonstrating the working of Phase I, search for compression algorithms that are based on detecting change. • Differential Pulse Code Modulation (DPCM) is one such algorithm. However to get the biggest bang you will also need to look at Run Length Encoding and Huffman coding algorithms. • Phase II augment Phase I to include the IP Specialist approach Remote Demo
Simplified Demo for the Assignment Client’s browser Speaker’s Window Internet connection Remote Demo
What about voice? • Multiple speakers • Interruptions • Interaction • Resolution • Telephone • Overlay voice on slides • Fixed • Voice packets • Delays • Fixed • Variable • Experiment • Bandwidth requirements Remote Demo