Brevet FR2899703A1 — publié le 20071012

"Procédé de compression d'un fichier destiné à être décompressé par un calculateur de véhicule automobile". L'invention concerne un procédé de compression d'un 5 fichier destiné à être décompressé par un calculateur de pilotage d'un organe d'un véhicule automobile. L'invention concerne le téléchargement de fichiers dans un ou plusieurs calculateurs d'un véhicule automobile, ces fichiers étant par exemple des programmes 10 exploités par ces calculateurs, chaque calculateur comprenant à cet effet un processeur et une mémoire. Le téléchargement, qui est effectué en fin de ligne de production du véhicule, permet de charger différents fichiers pour différents modèles de véhicules fabriqués 15 sur cette même ligne. Les véhicules de modèles différents sont équipés de calculateurs qui sont les mêmes composants physiques, mais qui reçoivent des programmes de gestion ou de calcul qui sont propres au modèle de véhicule qu'ils équipent. 20 La spécificité du programme à télécharger est par exemple déterminée par le type de moteur, de boite vitesse, de. direction assistée du modèle considéré, ces organes étant gérés par un ou plusieurs de ces calculateurs. 25 Le téléchargement permet ainsi de prévoir un unique type de calculateur pour équiper différents modèles de véhicule, tout en particularisant ce calculateur pour chaque modèle grâce au chargement d'un programme spécifique, ce qui permet de réduire le coût 30 d'approvisionnement logistique. Le téléchargement est effectué après raccordement de la batterie du véhicule, durant une phase dédiée à différentes opérations électroniques. Ce téléchargement a une durée limitée à une minute, durant laquelle les fichiers doivent être téléchargés dans un ou plusieurs calculateurs du véhicule. Cette durée d'une minute est une contrainte qui ne peut être modifiée, du fait qu'elle correspond à un temps de cycle standard, c'est à dire identique pour différentes lignes de montages. Durant la transmission, le bus CAN qui sert aux échanges entre les outils de téléchargement et le ou les calculateurs est utilisé au maximum de sa charge et de son débit qui vaut environ 500 kbits/s. Il n'est pas envisageable de modifier ce débit, notamment pour des raisons de basculement synchronisé de l'ensemble des calculateurs reliés à ce bus. De plus, la quantité de calculateurs équipant les véhicules est en augmentation permanente, de sorte que la taille et la quantité des fichiers à télécharger est en forte croissance. Le nombre de calculateurs peut d'autre part être différent pour deux modèles produits sur une même ligne. Comme illustré en figure 1, la transmission de trois fichiers, repérés par 1, 2 et 3, à destination de trois calculateurs du véhicule, est actuellement réalisée dans un temps significativement inférieur à une minute. Mais l'introduction d'un fichier supplémentaire 4, illustrée en figure 2, par exemple pour charger un calculateur supplémentaire, nécessite un temps de transmission total qui est proche de la minute allouée. L'exemple de transmission illustré sur les figures 3 et 4 montre les conséquences de l'augmentation de la taille d'un fichier 3 à télécharger sur un calculateur non représenté. L'augmentation de la taille du fichier 3, qui est représentée par un bloc hachuré repéré par 3', rallongeant le bloc 3 se traduit par une augmentation du temps de transmission de ce fichier. Dans l'exemple de la figure 3, seulement trois fichiers 1, 2 et 3 sont téléchargés dans le véhicule, de sorte que cette opération peut encore être effectuée dans le temps alloué d'une minute. Mais ce téléchargement ne peut pas être effectué dans le temps alloué, pour le cas d'un modèle de véhicule comprenant un calculateur supplémentaire nécessitant le téléchargement d'un fichier supplémentaire repéré par 4. Dans la demande de brevet FR2791507, les fichiers sont compressées pour réduire le temps de transmission. Les fichier transmis sont d'abord inscrits en mémoire du calculateur, mais ils sont décompressés par le calculateur dans une étape séparée à l'issue de laquelle ils sont inscrits dans la mémoire du calculateur. En effet, compte tenu de la faible puissance de calcul des calculateurs, la décompression doit être effectuée dans une étape séparée, car elle prend un temps supérieur à la minute allouée. Dans la demande FR2837946, le véhicule est équipé d'un calculateur dit télématique qui est principalement dédié à la décompression des fichiers après leur transmission, et en vue de l'inscription de chaque fichier décompressé dans la mémoire du calculateur destinataire. Dans le cas de ces deux demandes de brevets, la compression permet de diminuer le temps de transmission, mais la faible puissance des calculateurs rend l'opération de décompression complexe. C'est la raison pour laquelle la décompression est généralement déclenchée après la fin de la transmission, c'est-à-dire dans une étape supplémentaire distincte. Le but de l'invention est de diminuer les ressources nécessaires à la décompression d'un fichier par un calculateur du véhicule. A cet effet, l'invention a pour objet un procédé de compression d'un fichier destiné à être décompressé par un calculateur d'un véhicule automobile auquel ce fichier est transmis, consistant à compresser au préalable seulement des parties de ce fichier pour lesquelles la compression apporte un gain de taille, pour décompresser dans le calculateur seulement les parties compressées du fichier. L'invention concerne également un procédé tel que défini ci-dessus, consistant à appliquer un algorithme de compression à chaque partie du fichier, et à comparer la taille de chaque partie du fichier avant et après compression pour déterminer si la compression apporte un gain de taille. L'invention concerne également un procédé tel que défini ci-dessus, dans lequel chaque partie est une ligne du fichier. L'invention concerne également un procédé pour télécharger un fichier depuis une unité de téléchargement vers une mémoire d'un calculateur équipant un véhicule automobile, consistant à compresser le fichier avec un procédé tel que défini ci-dessus, à le transmettre depuis l'unité de téléchargement au calculateur du véhicule, et dans lequel sur réception d'une partie du fichier, le calculateur inscrit directement cette partie en mémoire si elle est non compressée, et il la décompresse avant de l'inscrire en mémoire si elle est compressée. L'invention concerne également un procédé tel que défini ci-dessus, consistant à décompresser une partie du fichier compressée à réception de cette partie dans le calculateur. L'invention concerne également un procédé tel que défini ci-dessus, dans lequel le fichier est compressé dans une unité distincte de l'unité de téléchargement. L'invention concerne également un procédé tel que défini ci-dessus, dans lequel la compression mise en oeuvre est basée sur un algorithme LZO. L'invention sera maintenant décrite plus en détail, et en référence aux dessins annexés qui en illustrent une forme de réalisation à titre d'exemple non limitatif. - La figure 1 représente schématiquement une transmission de fichiers vers trois calculateurs ; - La figure 2 représente schématiquement une transmission de fichiers vers quatre calculateurs ; - La figure 3 représente schématiquement une transmission de fichiers vers trois calculateurs dans laquelle la taille du fichier destiné au troisième calculateur a été augmentée ; - La figure 4 représente schématiquement une transmission de fichiers vers quatre calculateurs dans laquelle la taille du fichier destiné au troisième calculateur a également été augmentée ; - La figure 5 est une comparaison schématique du 20 procédé selon l'invention en comparaison avec un procédé de téléchargement sans compression ; - La figure 6 représente schématiquement la mise en œuvre du procédé selon l'invention. L'idée à la base de l'invention est de compresser 25 le fichier de manière à ne pas pénaliser le temps de décompression dans le calculateur. Ceci est obtenu en compressant seulement certaines des parties du fichier à transmettre, à savoir seulement les parties pour lesquelles la compression apporte un gain de taille. 30 Les autres parties, c'est-à-dire les parties pour lesquelles la compression n'apporte pas de gain de taille sont transmises sans être compressées. Cette solution permet de réduire le temps de transmission du fichier, au moins autant qu'avec un 35 procédé de compression classique, tout en minimisant les ressources nécessaires à la décompression puisque seules les parties compressées ont besoin d'être décompressées. La décompression peut ainsi être réalisée en temps réel. La décompression peut être masquée dans le temps de transmission de la trame suivante. Lorsque les données sont reçues dans le calculateur, seules les parties compressées sont décompressées avant d'être inscrites dans la mémoire du calculateur. Les autres parties, celles qui ne sont pas compressées, sont directement inscrites en mémoire, de sorte qu'elles n'ont pas à être traitées par le calculateur. La compression selon l'invention permet d'atteindre des taux de compression comparables à ceux obtenus avec un procédé de compression classique, mais la décompression nécessite des ressources processeur très inférieures à celles requises avec un fichier compressé selon un procédé classique. Le fichier à télécharger peut être compressé hors ligne, c'est-à-dire avant l'opération de téléchargement de manière à minimiser la charge de l'unité de téléchargement. Dans le mode de réalisation ci-dessous, et exposé sur les figures, les parties du fichier sont les lignes de ce fichier, une ligne étant donc compressée seulement si cette compression apporte un gain de taille. La figure 5 illustre schématiquement la comparaison du procédé selon l'invention avec un procédé de téléchargement de l'Etat de la technique, sans compression. Le ou les fichiers à transmettre sont représentés par un rectangle repéré par 6. Dans le procédé de l'Etat de la technique, les fichiers sont transmis non compressés vers le véhicule, sous forme d'une série de trames successives, repérées par 7. Dans ce cas, les fichiers étant non compressé, six trames sont nécessaires pour transmettre ce ou ces fichiers vers le véhicule. Selon l'invention, le ou les fichiers 6 à transmettre sont d'abord compressés sélectivement dans une étape repérée par 8, durant laquelle seules les lignes pour lesquelles la compression apporte un gain de taille sont compressées. Cette étape 8 permet de constituer un ou plusieurs fichiers compressés à transmettre, qui sont représentés par un rectangle repéré par 9, de plus faibles dimensions que le rectangle 6, ce qui illustre le gain de taille apporté par la compression sélective. Ces fichiers compressés 9 sont transmis sous forme d'une autre série de trames successives, repérée par 11. Comme visible sur la figure 5, l'opération de compression 8 permet de réduire le nombre de trames à transmettre pour une même quantité de données puisque seulement quatre trames 11 sont nécessaires, alors qu'il faut six trames 7 pour les mêmes données non compressées. L'opération de compression repérée par 8 peut être basée sur un algorithme de compression connu, tel que l'algorithme LZO (Lempel-Ziv-Oberhumer) qui favorise la rapidité de traitement par rapport au taux de compression, de sorte qu'il est particulièrement adapté pour minimiser les ressources et le temps de décompression. Cet algorithme est appliqué sélectivement à certaines lignes du fichier pour former le fichier compressé. Chaque ligne est préalablement compressée selon l'algorithme LZO pour déterminer si la taille de cette ligne compressée est inférieure à la taille de cette ligne non compressée. Dans l'affirmative, c'est la version compressée de la ligne qui est chargée dans le fichier compressé. Dans la négative, c'est la version initiale, c'est-à-dire non compressée, qui est chargée dans le fichier compressé. Des essais montrent que le procédé selon l'invention, sur la base d'un algorithme LZO, procure un gain de compression se situant entre 15 et 20% de la taille du fichier original. Ces essais ont été effectués à partir de fichiers au format ULP ayant des tailles comprises entre 500ko et 1,2Mo. Ce gain procuré par la compression se traduit par une baisse de la charge du bus utilisé pour la transmission se situant entre 10 et 15%. La différence entre le gain en compression et le gain sur la charge du bus correspond aux données d'enrobage supplémentaires qui sont requises par le protocole de transmission, le protocole utilisé étant le protocole KWP2000. Un décompresseur est embarqué dans le calculateur destiné à recevoir le fichier. Celui-ci effectue une décompression sélective : les lignes non compressées, c'est-à-dire incompressibles, sont directement inscrites en mémoire du calculateur, et seulement les lignes compressées sont traitées par le décompresseur avant d'être inscrites en mémoire. Cette décompression sélective permet de diminuer fortement les ressources processeur nécessaires, et par 25 conséquent, le temps de décompression global. La figure 6 illustre la mise en oeuvre du procédé selon l'invention sur une ligne de production. Dans une première étape, correspondant au bloc 12 le calculateur C et le fichier à télécharger F, au format 30 ULP, sont reçus sur le site de production. Le calculateur, ou un stock de calculateurs, est ensuite approvisionné sur un poste de montage de la ligne de production concernée, repéré par 13, en vue du montage de chaque calculateur sur un véhicule présenté devant ce 35 poste. Hors flux le fichier F est compressé avec un outil de compression sélective OCS pour constituer un fichier compressé sélectivement, repéré par FCS. Comme indiqué plus haut, cette compression peut être effectuée hors ligne, au niveau d'un poste dédié à la compression sélective, repéré Le fichier l'unité de production véhicule. Comme par 14. compressé FCS est ensuite transmis à située en fin de ligne de téléchargement 14, en vue de son téléchargement dans un représenté schématiquement sur la figure 6, les véhicules produits sur la ligne 14 défilent devant différents postes de cette ligne et constituent un flux de production représenté schématiquement par la flèche FP. En fin de ligne de production, le fichier FCS est transmis à un véhicule, repéré par V1, au moyen d'un outil de transmission repéré par OT. Cette transmission est effectuée avec une liaison filaire ou bien avec une liaison sans fil, repérée par L. Pendant la transmission, les lignes non compressées du fichier FCS sont directement inscrites dans une mémoire du calculateur C. Les lignes compressées sont quant à elles décompressées dans le calculateur avant inscription en mémoire. Comme indiqué plus haut, cette décompression étant sélective, elle nécessite peu de ressources du calculateur, de sorte qu'elle peut être effectuée en temps réel, c'est-à-dire au fur et à mesure que les lignes sont reçues. Le calculateur C qui reçoit le fichier en fin de ligne de production, est monté dans le véhicule au niveau d'un poste de montage correspondant situé en amont du poste de téléchargement. Comme illustré sur la figure 5, en fonctionnement, à un même instant, un véhicule V1 reçoit le fichier à télécharger, et un autre véhicule V2 situé en amont de V1 reçoit le calculateur C. Le procédé de compression permet de diminuer la charge du calculateur lors de la décompression, puisqu'il n'est plus nécessaire d'appliquer un algorithme de décompression à la totalité du fichier reçu, mais seulement à certaines de ses lignes qui sont les lignes compressées. La décompression peut ainsi être réalisée en temps réel dans le calculateur, pendant que la trame suivante est émise sur le réseau, la trame précédente est décompressée. Ceci permet de réduire l'utilisation de la mémoire temporaire du calculateur puisqu'il n'est plus nécessaire d'y stocker des données compressées afin de les décompresser ultérieurement. La décompression peut ainsi être réalisée durant la transmission, ce qui permet de plus vérifier l'intégrité des données décompressées avant la fin de la minute allouée. REVENDICATIONS 1. Procédé de compression d'un fichier (F) destiné à être décompressé par un calculateur (C) d'un véhicule automobile (V1) auquel ce fichier (F) est transmis, consistant à compresser au préalable seulement des parties de ce fichier pour lesquelles la compression apporte un gain de taille, pour décompresser dans le calculateur (C) seulement les parties compressées du fichier (F). 2. Procédé selon la revendication 1, consistant à appliquer un algorithme de compression à chaque partie du fichier (F), et à comparer la taille de chaque partie du fichier avant et après compression pour déterminer si la compression apporte un gain de taille. 3. Procédé selon la revendication 1 ou 2, dans lequel chaque partie est une ligne du fichier (F). 4. Procédé pour télécharger un fichier depuis une unité de téléchargement vers une mémoire d'un calculateur (C) équipant un véhicule automobile, consistant à compresser le fichier avec un procédé selon l'une des revendications 1 à 3, à le transmettre depuis l'unité de téléchargement au calculateur (C) du véhicule, et dans lequel sur réception d'une partie du fichier, le calculateur (C) inscrit directement cette partie en mémoire si elle est non compressée, et il la décompresse avant de l'inscrire en mémoire si elle est compressée. 5. Procédé selon la revendication 4, consistant à décompresser une partie du fichier (F) compressée à réception de cette partie dans le calculateur (C). 6. Procédé selon la revendication 4 ou 5, dans lequel le fichier est compressé dans une unité distincte de l'unité de téléchargement. 7. Procédé selon l'une des revendications précédentes, dans lequel la compression mise en œuvre est basée sur un algorithme LZO.