<  Retour au portail Polytechnique Montréal

Exploration d'une méthodologie de développement matériel et logiciel au niveau système appliqué à un système d'encodage de flux vidéo évolutif

Etienne Gauthier

Mémoire de maîtrise (2017)

[img]
Affichage préliminaire
Télécharger (6MB)
Citer ce document: Gauthier, E. (2017). Exploration d'une méthodologie de développement matériel et logiciel au niveau système appliqué à un système d'encodage de flux vidéo évolutif (Mémoire de maîtrise, École Polytechnique de Montréal). Tiré de https://publications.polymtl.ca/2747/
Afficher le résumé Cacher le résumé

Résumé

La compagnie Grass Valley, fabricant de cartes de traitement vidéo, désire mettre à jour leur sous-système « thumbnail » qui produit des vidéos à échelle réduite à des fins de diagnostic. Afin de le moderniser, ils ont arrêté leur choix sur une implémentation d’un « proxy » vidéo produisant un flux vidéo compressé avec la norme H.264. Afin d’épargner en coût de développement et assurer son indépendance au cycle de vie des composantes tierces, Grass Valley est à la recherche d’une implémentation évolutive et indépendante d’une plateforme. Afin de résoudre ce problème, Grass Valley a fait appel à Polytechnique. Le développement d’un encodeur H.264 pour système sur puce personnalisé peut nécessiter plusieurs mois à plusieurs années de développement pour une équipe d’ingénierie. Il existe actuellement peu de solutions possibles pour concevoir un tel sous-système rapidement. Afin de développer le sous-système d’encodage H.264 rapidement, nous avons opté pour une méthodologie de développement à l’aide de l’approche du point de vue du système basée sur une spécification exécutable d’un encodeur H.264 en utilisant l’outil SpaceStudio. SpaceStudio est un logiciel permettant l’exploration architecturale à l’aide de plateforme virtuelle configurable. La conception de système à l’aide de cet outil se fait par une approche modulaire sous SystemC. Le système est séparé en module logiciel et matériel fonctionnel et ceux-ci sont développés itérativement. L’utilisation d’un code applicatif comme base afin d’en produire un système embarqué sous SpaceStudio n’a pas été expérimentée. Dans cette optique, ce travail à deux objectifs : 1) développer un système pouvant encoder un flux vidéo et 2) expérimenter avec une approche de développement du point de vue du système à l’aide d’une spécification exécutable sous SpaceStudio. Il est donc question de développer la méthodologie et le projet en parallèle. Au terme de ce projet, nous aurons implémenté un système d’encodage H.264 sur une plateforme virtuel et défini la méthodologie nécessaire afin de produire un système sur puce à l’aide d’une référence logicielle. Cette recherche nous a permis de découvrir les obstacles à la conception de système complexe à l’aide de code C/C++ existant sous SpaceStudio et de développer les bases nécessaires pour rendre la totalité de la méthodologie réalisable dans le futur.----------ABSTRACT: GrassValley, a manufacturer of video processing cards, wants to upgrade their thumbnail subsystem which produces scaled-down videos for diagnostic purposes. In order to modernize this subsystem, they have decided to go with a video proxy producing a video stream compressed with the H.264 standard. In order to save development costs and ensure its independence of third-party components, Grass Valley is looking for a scalable platformindependent implementation. To solve this problem, they called upon Polytechnique. The development of an H.264 encoder for custom system-on-a-chip may take several months to several years of development for an engineering team. There are currently very few possible solutions to design such a subsystem quickly. In order to do so, we opted for a development methodology using the system-level approach based on an executable specification of an H.264 encoder using SpaceStudio. SpaceStudio is a computer aided design software for architectural exploration using a configurable virtual platform. Designing a system with this tool is done through a modular approach using the SystemC library. The designed system is separated into functional software / hardware modules developed iteratively. The use of a software application as a basis to produce a system under SpaceStudio has not been yet tested. This work has two objectives: 1) to develop a system capable of encoding a video stream and 2) to experiment with a system level development approach using a executable specification under SpaceStudio. It is therefore a question of developing the methodology and the encoder in parallel. At the end of this project, we will have implemented a H.264 encoding system on a virtual platform and defined the methodology needed to produce a full system on chip using a software reference as a basis for development. This research allowed us to discover the obstacles associated to the design of a complex systems using C "legacy" code under SpaceStudio and to develop the necessary tools to make the whole methodology achievable in the future.

Document en libre accès dans PolyPublie
Département: Département de génie informatique et génie logiciel
Directeur de mémoire/thèse: Guy Bois
Date du dépôt: 16 nov. 2017 14:15
Dernière modification: 24 oct. 2018 16:12
Adresse URL de PolyPublie: https://publications.polymtl.ca/2747/

Statistiques

Total des téléchargements à partir de PolyPublie

Téléchargements par année

Provenance des téléchargements

Actions réservées au personnel