Abstract:
|
This project has focused on the study of the behavior of the Joint Multiview Video Coding (JMVC) software, able to encode 3D video streams. This software, developed by the experts' community Joint Video Team (JVT) encodes raw video files and compress them into H.264 files. It is able to take advantage of the similarities between different views of a 3D video in order to achieve high compression rates. One of the weaknesses of JMVC is the sequential encoding of the views: the base view is encoded completely, then the second view, and so on. This feature makes it impossible to use this powerful tool to encode and transfer live 3D video. Also, not being a real-time oriented code, it contains many extra features that makes the coding more efficient but increases the computation time. This is not a real problem in the way JMVC is used, but if we are looking for real-time encoding, there are secondary functions that can be disabled in order to ensure a quicker coding. The work done in this thesis is a modification of the JMVC code to allow it to encode a video with two views in real time, transfer it through an IP network and decode it also in real time. The results of the tests performed with the modified code have shown a significant improvement of the time spent in the encoding and decoding processes, while keeping the same quality for the output files. For low resolution codifications (400x250 pixels) the coding transmission rates have been close to real time when the amount of views is similar to that of CPU cores in the encoding machine. For higher resolutions, the speed improvement is still important but not enough to encode and transmit 3D video in real time. Two additional contributions of the thesis are the development of the MVC/RTP transmission module for IP networks, and the associated Wireshark dissector. |