300 likes | 464 Views
codecs (H.261 and H.263) performance new features and GUI interoperability with the core system future developments. Video tool [ introduction ]. default video client of VRVS/EVO systems is based on VIC project of OpenMash consortium – last milestone release 5.2 from February 2002
E N D
codecs (H.261 and H.263) • performance • new features and GUI • interoperability with the core system • future developments
Video tool [ introduction ] • default video client of VRVS/EVO systems is based on VIC • project of OpenMash consortium – last milestone release 5.2 • from February 2002 • the application is written in C/C++ and OTcl programming • languages (Tcl/Tk v8.3) • development has started in July 2003 (2 developers + 2 • developers in 2004) • the source codes were significantly reduced with the aim to • remove all sources which don’t belong to video tool itself (like • VAT, MB, archive tools, etc.) • compatibility with 3 main platforms supported by VRVS/EVO • systems (Windows, MAC OS, Linux)
difference framen+1 framen Video tool [ H.261 - encoder ] • new encoder is fully compliant with the H.261 standard • old encoder used only INTRA-mode – compression was based • on reducing of intra frame spatial redundancy • added wasINTER-modewithinter-framemotion estimation • and compensation - differencebetween two subsequent video • framesis encoded -compression is based on reducing of inter • frame temporal redundancy • reduces bitstream(higher compression) - allows to use higher • framerate and quality with the same bitstream
Video tool [ H.261 - encoder] • block scheme of H.261 encoder (highlighted are newly • developed parts) • Diamond searching • algorithm • Searching area +/- 7 • SAD sum of absolute • differences Median filter defined in H.261 standard
Video tool [ H.261 - encoder] • BETTER COMPATIBILITY WITH H.323 DEVICES – solutions on • encoder side: • equal RTP packet size(via MBA stuffing) – avoids packet • reordering and “freezing” of decoded video • fixedH.261 payload RTPheaders – GOB header cannot be at • the end of the packet • summation of EBIT and SBIT values of two subsequent • packets must be 8 – leads to correctly decoded video on • Polycom FX, ViaVideo … • INTER mode, thanks to higher compression, avoids buffer • overflowing on HW H.323 devices and therefore brings • possibility to send video with better quality • encoded RTP packetsare sent in time intervals depending • on current bps value, what avoids buffer overflowing on HW • H.323 devices
Video tool [ H.261 - decoder ] • BETTER COMPATIBILITY WITH H.323 DEVICES – solutions on • decoder side: • some H.323 clients (Codian MCU, Polycom VSX 7000 ) don’t • send correct information in RTP H.261 payload headers (MBA, • GOB, MVDH, MVDV), what causes artifacts in decoded video • - VIC ignores this information in RTP payload headers and • restores it from payload data • bug which causes skipping of the last macroblock in RTP • packet was fixed (avoids artifacts in decoded video) • buffering of packets on decoder side – allows to prevent • corrupted video due to packet reordering
MCU Codian - before Polycom VSX7000 - before Polycom VSX7000 - now MCU Codian - now Video tool [ H.261 - decoder ]
Video tool [ H.263 codec ] • H.263 is more computationally intensive than H.261 due to • new enhanced features and larger video resolution • PRESENT STATUS • current implementation is based on Baseline Modeutilizing only • compression based on reducing INTRA frame spatial • redundancy • encoder and decoder support only A and B types of RTP packets • decoder is able to decode video stream containing empty GOB • headers • development is focused on compatibility with H.323 devices, • improvement of codec performance, capturing video with larger • resolutions– currently QCIF, CIF, VGA, 4CIF, XGA
Video tool [ The Performance ] • IPP(Intel Performance Primitives) libraries were used for • better performance of video codecs • IPP allows to replace a part of code, which isheavy on • computation–DCT, Motion compensation,… • automatic processor type detection • available forLinuxandWindows (for MAC with the new • family of INTEL processors for this platform ) • Intel C++ compileroptimizes compilation for target • processor • implementation of IPPfunctions in H.26x encoder and • decoder leads to significant decrease of CPUusage
Video tool [ new features and GUI ] • the same version forWindows, LinuxandMac OSwith the • same features • new GUI– more user friendly, intuitive and easier to • customize, complex technical settings have been removed • from the main settings interface window • Speaker Mode- video tool is able to identify and highlight • video of current speaker - information about who is the • current speaker is generated by reflector and carried by • specific RTCP packet (SDES) • newvideo display modeswhich automatically arrange video • windows on the desktop • - all videos in CIF size • - all videos in QCIF size • - only the video of current speaker in CIF size. • - current speaker in CIF size plus all the other videos in QCIF • size
Video tool [ new features and GUI ] • possibility tosave all settings from GUIincluding position on • the desktop • multiple display supportfor Windows OS - user can choose • display, which the videos from participants will be • displayed on • Still Image Mode–allows transmitting of static picture • instead of video from camera • Minimize Mode–hides small video “stamps” in the main • application window, saves space on the desktop • and many others improvements like using FireWire cameras • on MACwithout the IOXpertsdriver and freezing of video, • handling “blue faces” phenomena
Video tool [ new features and GUI ] • DESKTOP SHARING MODE - allows to capture PC desktop • and send it like H.263 video • one application as video client and desktop sharing client • advantage of existing infrastructure - signal will pass through • network limitations like NAT • higher compression of the signal using H.263 capabilities • possibility to capture whole desktop or part of the desktop • surrounded by red transparent window (WINDOWS, MAC OS X) • or top-left part of the desktop (LINUX) • supported resolutions are CIF [352 x 288], 4CIF [704 x 576], • XGA [1024 x 768] • Windows user have possibility to choose screen, which is to be • shared in case of multiple display usage
Video tool [ new features and GUI ] H.261 CIF (352 x 288) H.261 CIF (352 x 288) H.263 XGA (1024 x 768) H.263 VGA (640 x 480)
Video and audio tools onWINDOWS(17 participants) Overview of videoconference clients in EVO
Video and audio tools on MAC OS X(9 participants) On Mac OS X
Interoperability with the core system - communication interface • interface allowing to receive commands from external • applications - like VRVS/EVO client - for interaction with video • and audio tools during runtime • communication interface uses existing RTCP channel of the • applications – doesn’t need additional channel • remote commands are carried by specific Application Defined • (APP) RTCP packets that are understood and subsequently • processed only by VRVS/EVO video and audio toolsand • ignored by the others • useful in conference scenarios, when privileged user can • control audio and video clients of other participants • (e-Learning: teacher vs. students) • VRVS/EVO client can take appropriate action as reaction on • alarm notifications when monitored parameters (system or • network) will go beyond a preset threshold
Communication Interface[ e-Learning scenario ] Teacher Student Student Student Student
Communication Interface[ localhost monitoring scenario ] EVO Client audio client video client ALARM: CPU overloaded Response: decrease framerate, quality, resolution, change video codec, turn off display of big video windows, … Localhost monitoring module LISA
Video tool [ Future development ] • video codecs – continue in work on H.263, later on H.264 • handle different video sources (video, desktop, still images) • and display them in different way • development of new display scenarios (utilization of OpenGL • library, concentrating all videos in one window, etc.) • new GUI implementation, more user friendly, intuitive, • reflecting all recent improvements • keep application compatible with all 3 supported platforms, • replacement of Tcl/Tk part by another language (Java?, • C++?) • new integrated audio and video application
Video tool [ Future development ] new GUI all videos displayed in one window
codecs (G.722) • new features and GUI • interoperability with the core system • future development
Audio tool • default audio client of VRVS/EVO systems is based on RAT • project of University College London (C and Tcl/Tk • programming languages) • new audio codec G.722 was added for compatibility with H.323 • devices (based on IPP) • priority of development was to unify source code for all • supported platforms (Windows, Linux, Macintosh) – required • new audio interface for MAC OS • 3 processes – rat, ratmedia, ratui have been merged into one • binary (MBUS removed) and audio processing and windows • management have been split into two separated threads, what • increase performance and stability of the application • support of multiple NIC, native ALSA support (Linux) • future: echo canceller, integrated audio and video application
Thank you for your attention www.vrvs.org http://nextgen-caltech.cern.ch/evoGate/ Pavel.Farkas@vrvs.org Marek.Domaracky@vrvs.org
PocketVRVS – the mobile solution PocketVRVS – the mobile solution • PocketVRVS isnewVRVS • videoconferencing client developed for • Pocket PC platform • application is written in C++ and Windows • CE API • it supportsH.261 videostandard and • G.711(µ-Law)audiostandard • user can choose CIF sizedstill imageto be • transmitted (JPEG format) • the logic of video encoding wasadaptedto • encoding only still images - the process • was optimized to reach thecompromise • betweenframerate, CPU usageandfast • updateof video on remote clients
PocketVRVS – the mobile solution H.323 connection interface PocketVRVS – the mobile solution • utilization ofINTEL Performance Primitivesand Intel compiler • for optimization of application performance (Discrete Cosine • Transform, color model conversions RGB to YUV) • received and decoded isonly video of current speaker– • this functionality is implemented on reflector’s side • PocketVRVSworksinside networks with network address • translation(NAT/NAPT) • newweb based interfacefor Pocket PC clients (designed for • smaller screens) includes full functionality available for • desktop clients(meeting scheduler, booking, …) and also • possibility toconnect H.323 device • installation packageof PocketVRVS application withmulti- • languageOS support isintended directly forPocket PC • platform, desktop computer is not needed
PocketVRVS application GUI PocketVRVS – the mobile solution Control Panel Talk, Listen, Send and Receive controls Documentation Download PocketVRVS package Video Screen Remote Video, Own Video in PIP window Booking Session Info Virtual Room, Participant’s name, … Connect to any ongoing meeting Program Menu Connection and Session Settings PocketVRVSweb interface