0 avis
CRC-based error correction methods and algorithms applied to video communications over vehicular and IoT wireless networks. Méthodes et algorithmes de correction d’erreurs basés sur CRC appliqués aux communications vidéo sans fil dans des environnements véhiculaires et IoT
Archive ouverte : Thèse
Edité par HAL CCSD
Video content transmission constitute the main category of data transmitted in the world nowadays. The quality of the transmitted content is ever increasing, thanks to the deployment of networks able to support huge traffic loads at high speeds, along with strategies to reduce the amount of data necessary to carry video information, based on more efficient video encoders. However, the quality of the video stream perceived by the end user can be greatly degraded by transmission errors. In fact, a packet can either be corrupted or lost during the transmission due to channel impairments, which result in missing video information that must be recovered. Several strategies exist to recover such information. Retransmission of the damaged packet can be performed. However, this option is not always valid under real time constraints as in video streaming, or to avoid increasing the global network load. To recover missing information, error correction methods can be applied at the receiver’s side. In this thesis, we propose error correction methods at the receiver’s side based on the properties of the widely used error detection code Cyclic Redundancy Check (CRC). These methods use the syndrome of a corrupted packet computed at the receiver to produce the exhaustive list of error patterns that could have resulted in such syndrome, containing up to a defined number of errors. We propose different approaches to achieve such error correction. First, we present an arithmetic-based approach which performs logical operations (XORs) on the fly and does not need memory storage to operate. The second approach we propose is an optimized table approach, in which the repetitive computations of the first method are precomputed prior to the communication and stored in efficiently constructed tables. It allows this method to be significantly faster at the cost of memory storage. The error correction validation is performed through a two-step process, which cross-checks the candidate list with another error detection code, the checksum, and then validates the syntax of the encoded packet to test its decodability. We test these new methods with wireless transmission simulations of H.264 and HEVC compressed video content over Wi-Fi 802.11p and Bluetooth Low energy channels. The latter allows the most significant error correction rates and the reconstruction of a near-optimal video even when the channel’s quality starts to decrease. . La transmission de contenus vidéo constitue aujourd’hui l’essentiel des flux de données transmis dans le monde. La qualité de ces contenus est sans cesse en augmentation, du fait du déploiement de réseaux permettant de supporter davantage de trafic à des débits plus élevés, couplé à des stratégies visant à réduire l’information nécessaire à la transmission d’une séquence vidéo, par le biais de techniques de compression vidéo de plus en plus performantes. Néanmoins, la qualité visuelle d’un contenu vidéo peut être dégradée pour l’utilisateur final lorsque surviennent des erreurs lors de la transmission. En effet, un paquet peut être perdu ou corrompu lors de la transmission, dû aux perturbations inhérentes au canal de diffusion. Afin de recouvrer l’information manquante, une retransmission du paquet corrompu peut être envisagée. Cependant, cette option n’est pas toujours valide sous des contraintes de temps réel, comme lors de la diffusion de contenus vidéo en direct, ou afin de ne pas augmenter la charge réseau. Il est alors possible de mettre en oeuvre des méthodes de correction d’erreurs au niveau du récepteur pour récupérer les données erronées. Dans le cadre de cette thèse, nous proposons des méthodes de correction d’erreurs situées au niveau du récepteur, exploitant les codes de détection d’erreurs Cyclic Redundancy Check (CRC) pour la correction d’erreurs. Les méthodes que nous proposons utilisent le syndrome d’un paquet corrompu pour dresser la liste exhaustive des patrons d’erreurs ayant pu produire ce syndrome, pour un nombre d’erreurs inférieur ou égal à celui défini en paramètre d’entrée. Nous proposons plusieurs approches pour parvenir à ce résultat, tout d’abord en utilisant une approche arithmétique, basée sur des opérations logiques effectuées à la volée et ne nécessitant donc pas de stockage mémoire. La deuxième approche propose une table optimisée, dans laquelle sont stockés les calculs répétitifs de l’approche arithmétique de manière efficace et appropriée à la méthode proposée, permettant une exécution bien plus rapide de la correction, au prix d’un stockage mémoire. La validation de la correction s’effectue par un processus en deux étapes, visant à croiser la liste des candidats obtenus avec un autre code de détection d’erreur, la somme de contrôle. L’ultime étape vise la vérification de la syntaxe du flux vidéo encodé en testant sa décodabilité. Nos méthodes ont été testées sur des simulations de transmission de contenus vidéo compressés selon les standards H.264 et HEVC sur des canauxWi-Fi 802.11p et Bluetooth Low Energy. Ce dernier cas offre les taux de correction les plus significatifs, amenant la vidéo à être reconstruite quasiment intacte même lorsque la qualité du canal de transmission commence à fléchir.