New software and former software still in use or evolving
Participant : Laurent Guillo [ contact person ] .
Libit is a C library initially developed by Vivien Chappelier and Hervé Hégou former Ph.D students in the TEMICS project-team. It extends the C language with vector, matrix, complex and function types, and provides some common source coding, channel coding and signal processing tools. The goal of libit is to provide easy to use yet efficient tools commonly used tools to build a communication chain, from signal processing and source coding to channel coding and transmission. It is mainly targeted at researchers and developpers in the fields of compression and communication. The syntax is purposedly close to that of other tools commonly used in these fields, such as MATLAB, octave, or IT++. Therefore, experiments and applications can be developped, ported and modified simply. As examples and to ensure the correctness of the algorithms with respect to published results, some test programs are also provided. (http://libit.sourceforge.net ). The library is made available under the GNU Library General Public Licence and is widely used in the software developments of the project-team.
Soft VLC decoding library
Participant : Simon Malinowski [ contact person ] .
This library contains a set of robust decoding tools for variable length codes (VLC) and for quasi-arithmetic codes. It contains tools for soft decoding with reduced complexity with aggregated state models for both types of codes. It also includes soft decoding tools of punctured quasi-arithmetic codes with side information used for Slepian-Wolf coding of correlated sources. This software requires the Libit library (see above) and the GMP (GNU Multiple Precision) library. The tools are currently being extended and further developed for resilient video transmission over erasure channels in the context of the collaboration with Alcatel-Lucent (see Section 7.1.3 ).
Oriented wavelet based image codec
Participant : Christine Guillemot [ contact person ] .
This still image codec is based on oriented wavelet transforms developed in the team. The transform is based on wavelet lifting locally oriented according to multiresolution image geometry information. The lifting steps of a 1D wavelet are applied along a discrete set of local orientations defined on a quincunx sampling grid. To maximize energy compaction, the orientation minimizing the prediction error is chosen adaptively. This image codec outperforms JPEG-2000 for lossy compression. Extensions for lossless compression are being studied. This software has been registered at the APP (Agence de Protection des Programmes) under the number IDDN.FR.001.260024.000.S.P.2008.000.21000.
Video communication platform
Participant : Laurent Guillo [ contact person ] .
The TEMICS project-team pursues the development of a video communication platform, called VISIUM. This platform provides a test bed allowing the study and the assessment, in a realistic way, of joint source channel coding, video modelling or video coding algorithms. It is composed of a video streaming server "Protée", of a network emulator based on NistNet and of a streaming client "Pharos":
The streaming server allows for the streaming of different types of content: video streams encoded with the WAVIX coder as well as streams encoded with the 3D-model based coder. The video streaming server is able to take into account information from the receiver about the perceived quality. This information is used by the server to estimate the bandwidth available and the protection required against bit errors or packet losses. The server can also take advantage of scalable video streams representations to regulate the sending rate.
The streaming client, "Pharos", built upon a preliminary version called “Criqs”, can interact with the server by executing scripts of RSTP commands. They can gather specific commands such as "play", "forward", "rewind", "pause", establish RTP/RTCP connections with the server and compute QoS information (jitter, packet loss rate,...). The client enables the plug-in of different players and decoders (video and 3D).
The server "Protée" and the client "Criqs" are respectively registered at the Agency for the Protection of Programmes (APP) under the number IDDN.FR.001.320004.000.S.P.2006.000.10200 and the number IDDN.FR.001.320005.000.S.P.2006.000.10800. This platform makes use of two libraries integrated in both the server and the client. The first one "Wull6" is an extension to IPv6 of the "Wull" library implementing the transport protocol UDP-Lite base on the RFC 3828. The second one "bRTP" implements a subset of the RTP/RTCP protocols based on the RFC3550. These two librairies are respectively registred at the Agency for the Protection of Programmes (APP) under the number IDDN.FR.001.270018.001.S.A.2004.000.10200 and the number IDDN.FR.001.320003.000.S.P.2006.000.10200.
Distributed video codec
Participant : Velotiaray Toto-Zaratosoa [ contact person ] .
A distributed video coding software has been developed within the DISCOVER European research project (http://www.discoverdvc.org ) with contributions of the TEMICS project-team. In particular, the TEMICS project-team has contributed to the following modules of the DISCOVER codec: side information extraction with the mesh-based and hybrid block/mesh based motion estimation techniques, Rate control, Optimal MMSE reconstruction at the decoder, and on the exploitation of the source memory with a distributed DPCM solution. The DISCOVER codec is one of the most (or even the most) efficient distributed video coding solutions nowadays. Its executable files, along with sample configuration can be downloaded from http://www.discoverdvc.org/ . The results of a comprehensive performance evaluation of the DISCOVER codec can be found on the web-page http://www.img.lx.it.pt/~discover/home.html . In 2009, the codec has evolved by enhancing the Slepian-Wolf decoder in order to account for the memory present in the input sources. A two-state Gilbert-Elliott finite state process is used for modelling the sources. The model parameters are estimated with an Expectation-Maximization algorithm and the LDPC decoder has been modified in order to take into account the Gilbert-Eliott source model.
M3DPlayer: 3D video player
Participant : Gael Sourimant [ contact person ] .
A 3D player - named M3DPlayer - supporting rendering of a 3D scene and navigation within the scene has been developed. It integrates as a plug-in the 3D model-based video codec of the team. From a video sequence of a static scene viewed by a monocular moving camera, the 3D model-based video codec allows the automatic construction of a representation of a video sequence as a stream of textured 3d models. 3d models are extracted using stereovision and dense matching maps estimation techniques. A virtual sequence is reconstructed by projecting the textured 3d models on image planes. This representation enables 3d functionalities such as synthetic objects insertion, lightning modification, stereoscopic visualization or interactive navigation. The codec allows compression at very low bit-rates (16 to 256 kb/s in 25Hz CIF format) with a satisfactory visual quality. It also supports scalable coding of both geometry and texture information. The first version of the software was registered at the Agency for the Protection of Programmes (APP) under the number IDDN.FR.001.130017.000S.P.2003.000.41200.
The 3D player integrated as a component to the VISIUM communication platform (see Section 5.1.4 ) allows remote access to a 3D sequence. In this context the video streaming server "Protée" has been modified to support 3D streams. In the near future, we would like to introduce scalability capabilities of the coded representation of the 3D models and texture, in order to enable dynamic adaptation of the transmitted bitstream to both network and terminal capabilities. The player is registered at the APP (Agence de Protection des Programmes) under the number IDDN.FR.001.090023.000.S.P.2008.000.21000.
In 2009, we focused on improving the rendering engine, based on recent OpenGL extensions, to be able to render the viewed scenes on an auto-stereoscopic display with low-end graphic cards. In our case, auto-stereoscopic display requires the rendering of eight 1920x1200 frames instead of just one for a standard display. We also plan to integrate the visualization of LDI (Layered Depth Images) and LDV (Layered Depth Videos) into the M3DPlayer.
Depth maps extractor
Participant : Gael Sourimant [ contact person ] .
This software aims at estimating depth maps from multi-view videos, to provide Multi-View plus Depth (MVD) videos. MVD videos can be used to synthesize virtual views of the scene, or to render a new multi-view video with a different number of views than the original video, for instance in an auto-stereoscopic display setup. This software has been developed in the context of the DGE/Region research project Futurim@ges. In the near future, we plan to compare this software to the Depth Estimation Reference Software from the MPEG 3DV group, in terms of virtual views synthesis quality.
WSVC: Wavelet-based Scalable Video Codec
A wavelet based video codec, called WSVC, based on a motion compensated t+2D wavelet analysis, has been developed ans is in the process of being filed at the Agency for the Protection of Programmes (APP). the codec is based on a former version called WAVIX which was registered at the Agency for the Protection of Programmes (APP) under the number IDDN.FR.001.160015.000.S.P.2003.000.20100. As Wavix, the codec supports three forms of scalability: temporal via motion-compensated temporal wavelet transforms, spatial scalability enabled by a spatial wavelet transform and SNR scalability enabled by a bit-plane encoding technique. A so-called /extractor/ allows the extraction of a portion of the bitstream to suit a particular receiver temporal and spatial resolution or the network bandwidth. the codec has significantly evolved by re-writing and enhancing a number of functions, by adding new temporal transforms and motion fields coding tools. This codec will be used in the context of the collaboration with Alcatel-Lucent (see Section 7.1.3 ).
This software platform aims at integrating as plug-ins a set of functions, watermark detection and robust watermarking embedding and extraction, for different applications (fingerprinting and copyright protection). These plug-ins include the Broken Arrows software and the Chimark2 software. The Broken Arrows software has been developed in collaboration with the CNRS-Gipsa-lab in Grenoble, in the context of the international challenge BOWS-2 (Break Our Watermarking System - 2nd Edition). The source code has been registered at the Agency for the Protection of Programmes (APP) under the number IDDN.FR.001.170012.000.S.P.2008.000.41100. The software is available as an open-source code distributed under the INRIA-CNRS license CECILL (see http://bows2.gipsa-lab.inpg.fr ). The Chimark2 software developed in the context of the RNRT-Diphonet project is a robust image watermarking tool and registered at the Agency for the Protection of Programmes (APP) under the number IDDN.FR.001.480027.001.S.A.2002.000.41100. The robust watermarking tool has then be extended in the context of the IST-Busman project for marking video signals. The platform also aims at supporting different types of attacks (collusion, compression, crop, de-synchronization, ...) and at demonstrating the performance of the watermarking tools in presence of these attacks.
This software platform has continued to evolve in 2009. The platform can now be built with the CMake cross platform "make", and we can provide autonomous installers to install the platform on new computers. To enable the portability under Linux OS and Mac OS, new OpenCV functionnalities have been developed, based on the use of ffmpeg. Functionalities have been extended and a set of benchmarking scripts have been written in Python, to provide a benchmarking platform for today and future watermarking techniques. The embedding and traitor tracing techniques we already implemented last year, based on an adaptation of the Broken Arrows software to video coupled with Tardos anti-collusion codes, have been improved. Our software now offers a multi-tab player which is able to open AVI, CIF and QCIF movies, but also many image formats as bmp, pgm, or jpeg.