P14AB08 Implantation d'un encodeur vidéo MJPEG sur RX64M » History » Version 6

Version 5 (axel BARRIEUX, 04/07/2021 11:46 AM) → Version 6/31 (axel BARRIEUX, 04/07/2021 11:47 AM)

h1=. P14AB08 Implantation d'un encodeur vidéo MJPEG sur RX64M

p=. !https://forge.clermont-universite.fr/attachments/download/16158/P14AB08_renesas82_20140409101105_20140409101131.jpeg!

---

*Projet GE2-GE3 2014*
*Entreprise / Client* : Renesas Electronics/ Sébastien Walger
*Auteurs* : Clément Leyssene / Geoffrey Raynal
*Responsable Projet* : Michel James
*Tuteur industriel* : Isabelle Goi

h1=. Sommaire

[[1. Résumé]]
[[2. Abstract]]
[[3. Introduction]]
[[4. Présentation du Sujet]]

p(((. [[1. Renesas]]
[[2. Le projet]]

[[5. Cahier des Charges]]
[[6. Developpement]]

p(((. [[1. Problématiques]]
[[2. Faisabilité]]
[[3. Etude Théorique]]
[[4. Solutions]]

[[7. Gestion de Projet]]

p(((. [[1. W.B.S.]]
[[2. Gantt]]

[[8. Notes d'application]]

p(((. [[1. sujet 1]]
[[2. sujet 2]]

[[9. Bilan]]

p(((. [[1. Etat d'avancement]]
[[2. Analyse Critique]]
[[3. Perspectives]]

[[10. Bibliographie]]

---

h1=. Résumé

Ce projet concerne la réalisation d'un encodeur vidéo de type Motion-JPEG sur un microcontrôleur Renesas, le RX64M. Cette entreprise souhaite la réalisation d’un tel projet afin de démontrer les performances de leur nouveau microcontrôleur et pouvoir proposer au client des applications fonctionnelles.
Pour ce projet nous disposons d'une carte possédant le microcontrôleur, qui sera relié d'un côté à une caméra et de l'autre à un ordinateur.
L’objectif sera d’envoyer un flux vidéo de la caméra vers le microcontrôleur qui traitera les données et les encodera, puis ce dernier enverra ces données vers un ordinateur qui affichera la vidéo à l’écran.

*Mots clés:
RX64M
MJPEG
Encodage JPEG*

---

h1=. Abstract

This project involves the implementation of a video encoder type Motion-JPEG on a Renesas microcontroler, the RX64M. The company wants the realization of such a project to demonstrate the performance of their new microcontroller and to be able to offer the customer functional applications.
In this project we have a board with the RX64M microcontroller, which is connected on one side to a camera and a computer to the other.
The objective is to send a video stream from the camera to the microcontroller, which will process the data and encode, then it will send the data to a computer that displays the video on the screen.

*Key words:
RX64M
MJPEG
JPEG Encoding*

---

h1=. Introduction

En 1 heure, 6000h de vidéo sont postées sur le site YouTube?. Une heure de vidéo non compressée en haute définition sans son a une taille de 625 Gio, soit 78 DVD. Le problème est donc de pouvoir réaliser des vidéos qui puissent être stockées sur des supports tels que les CD, les DVD, ou plus récemment, dans nos téléphones portables. C'est dans cette problématique que les encodages vidéos sont apparus, certains sont utilisés pour que la qualité de la vidéo soit excellente et d'autres pour réduire au maximum la taille du fichier.

Dans le cadre de la formation de Génie électrique à Polytech, les étudiants ingénieurs ont l'opportunité de réaliser un projet industriel, répartie en deux phases. La première étape se déroule lors de la quatrième année pendant une durée de 48H, qui consiste en une phase d'étude avec la faisabilité, la gestion de projet et les recherches liées au projet. Par la suite, lors de la cinquième et dernière année, une phase de 250h permet de concrétiser le travail de quatrième année et de réaliser ce qui a été demandé dans le cahier des charges. Ces projets industriels permettent aux étudiants de se confronter au monde de l'entreprise à leur futur travail d'ingénieur, mais en restant encadré par des enseignants du milieu génie électrique ainsi que par des tuteurs industriels.

La société Renesas Electronics, représentée par notre client Sébastien Walger, a récemment développé un nouveau microcontrôleur, le RX64M et souhaite pouvoir présenter à ses clients des applications fonctionnelles de cette nouvelle cible, afin de démontrer les performances de leur microcontrôleur. C'est dans cette perspective que Renesas a confié à Polytech le projet de réaliser cette application. Notre objectif est d’implanter sur cette cible Renesas RX64M des algorithmes d’encodage MJPEG en utilisant un flux vidéo provenant d’une caméra, puis de l'envoyer sur un ordinateur qui décodera et affichera à l'écran le résultat.
L’enjeu de ce projet est de réussir à implanter un encodeur complexe et volumineux sur une cible beaucoup moins puissante qu’un ordinateur.

h1=. Présentation du Sujet

*%{color:red}+1. Renesas+%*

p<. !https://forge.clermont-universite.fr/attachments/download/16159/P14AB08_Renesas_blue_20140401171140_20140401171202.png!

Renesas Electronics est une entreprise japonaise basée à Tokyo créé en novembre 2002 de la fusion d’HITACHI Ltd et de MITSUBISHI ELECTRIC CORPORATION et compte près de 28500 salariés à travers le monde. Cette société est le leader mondial des fournisseurs de microcontrôleurs et est un fournisseur de solutions de semi-conducteurs avancés. Il assure également la conception, fabrication, vente et service après-vente des systèmes de semi-conducteurs pour la téléphonie mobile, l’automobile, l’électronique de puissance, les mémoires, les LCD, les circuits intégrés RF et système sur puce.

*%{color:red}+2. Le projet+%*

Notre projet est d'utiliser le microcontrôleur fourni par Renesas, le RX64M, pour encoder le flux vidéo provenant d'une caméra en MJPEG, puis de le transférer via liaison filaire sur un ordinateur qui décompressera la vidéo pour l'afficher à l'écran

*%{color:#00008B}+2.1 Synoptique général du sujet+%*

p<. !https://forge.clermont-universite.fr/attachments/download/16160/P14AB08_synoptique_20140401173233_20140404082959.png!

*%{color:#00008B}+2.2 Pourquoi encoder?+%*

Nous pouvons nous poser de ce besoin d'encoder, en effet pourquoi ne pas envoyer tout simplement le flux vidéo de la caméra vers l'ordinateur ?
En regardant les spécifications de la caméra, nous nous rendons compte qu'elle a une résolution de 640*480 pixels, de trois couleurs pour chaque pixel réparti sur 8 bits avec un débit maximal de 30 images par seconde.
Nous obtenons donc un flux de 640*480*3*8*30=221184000 bits/s= 221,2 Mbit/s, ce flux sature le protocole USB.2 qui est limité à 175Mbits/s, d'où cette nécessité de réduire la taille du flux vidéo en le compressant. Nous allons par la suite présenter la méthode d'encodage que nous devons utiliser.

*%{color:#00008B}+2.3 Définition des termes du sujet+%*

*+2.2.1 Le MJPEG+*

Motion JPEG (M-JPEG ou MJPEG) est un format vidéo dans lequel chaque image vidéo ou une séquence vidéo numérique est compressé séparément comme une image JPEG. Initialement développé pour les applications PC multimédias, M-JPEG est maintenant utilisé par les appareils de capture vidéo, tels que des appareils photo numériques, caméras IP, et des webcams. Nous allons donc nous intéresser lors de ce projet au fonctionnement de l'encodage JPEG.

*+2.2.2 L'encodage JPEG+*

JPEG est l’acronyme de Joint Photographic Experts Group. Il a été développé par un comité d'expert qui édite des normes de compression pour l’image fixe durant les années 1978 à 1980. Le groupe JPEG a spécifié la norme en 1991. La norme officielle et définitive a été adoptée en 1992.

La compression JPEG permet de réaliser des compressions d'image avec ou sans perte: -avec pertes ou compression irréversibles. C’est le JPEG « classique ». Il permet des taux de compression de 3 à 100.
-sans pertes ou compression réversible. Il n’y a pas de pertes d’information et il est donc possible de revenir aux valeurs originales de l’image. Les gains en termes de compression sont alors plus modestes, avec un taux de compression de l’ordre de 2 à 8.
Pour les besoins du projet, nous allons utiliser la première méthode afin de réduire au maximum la taille des images et donc de la vidéo.

Voici comment s'organise le processus de compression et de décompression d'une image JPEG:

p=. !https://forge.clermont-universite.fr/attachments/download/16161/P14AB08_organigramme_compression_20140404090556_20140404090606.png!

Les différentes étapes de cet algorithme seront expliquées plus en détail dans la partie étude théorique.

---

h1=. Cahier des Charges

- Réaliser un encodeur JPEG sur un microcontrôleur RX64M
- Récupérer le flux vidéo d’une caméra via une liaison parallèle
- Transférer le flux compressé du RX64M vers un ordinateur via liaison filaire
- Afficher la vidéo en utilisant la fonction streaming de VLC
- Si le temps le permet, remplacer la liaison filaire par un protocole Ethernet