Les caméras IP utilisent la compression vidéo pour 2 raisons : pour économiser de l’espace disque et pour économiser la bande passante du réseau. Une caméra offre divers paramètres de configuration concernant la compression vidéo, et l’un d’eux est le taux d’images clés (keyframe rate).
Comment fonctionne la compression vidéo
Contrairement à la compression d’image (comme le jpeg), la compression vidéo utilise un mécanisme pour économiser encore plus d’espace : l’encodage intratrame et intertrame. La première image de la vidéo est compressée comme une image normale (tel qu’un jpeg) et une référence à celle-ci est conservée. La trame suivante est compressée différemment : seules les différences avec la première trame de référence sont conservées. Si rien ne bouge dans la scène vidéo, cela signifie que la différence entre les 2 images vidéo est très faible. Il en résulte une compression très élevée de l’image #2, puisqu’elle est presque exactement la même que l’image n°1. Cependant, plus il y a de changements dans la scène, plus il faut d’espace pour la deuxième image. Néanmoins, la trame #2 sera tout de même plus petite en utilisant ce type de codage de différence.
La trame #3 sera encodée en utilisant uniquement les différences avec la trame #2. La trame #4 le sera à partir des différences avec frame #3, et ainsi de suite…
Après un certain nombre d’images, cette chaîne d’encodage sera interrompue et une nouvelle image clé complète sera générée. C’est cette image clé qui est souvent appelée Trame I.
Voici un exemple de réglage d’une caméra Uniview. Le paramètre s’appelle ici I Frame Interval . Dans ce cas, il y aura 1 image clé à toutes les 25 images :
Voici un exemple avec une caméra Axis, Le paramètre s’appelle ici longueur GOP. Dans ce cas, il y aura 1 image clé toutes les 32 images.
Quels paramètres dois-je utiliser ?
Ça dépend. Si vous disposez de peu d’espace disque, l’utilisation d’un taux d’images clés élevé peut améliorer l’espace requis pour stocker la vidéo. Cependant, cela peut avoir un impact indésirable lors de la lecture vidéo, en particulier lorsque vous effectuez une recherche dans la vidéo. Par exemple, si vous essayez de vous positionner à un moment précis de la relecture, vous serez positionné sur l’image clé la plus proche. Pourquoi? Parce qu’un décodeur vidéo ne peut pas décoder une image intermédiaire sans décoder l’image clé précédente et les images suivantes. Ceci peut facilement être perceptible lors de la relecture à reculons (Rewind). Vous remarquerez que le rembobinage est un peu saccadé. En effet, vous ne verrez que les images clés lors d’un visionnement à reculons.
Un moyen simple de visualiser cela est de penser à l’utilisation de la télévision (depuis votre décodeur numérique par exemple). Lorsque vous changez de chaîne, parfois c’est rapide, parfois c’est plus long avant d’obtenir l’image. Celà se produit car le décodeur attend l’arrivée de la prochaine image clé. Ainsi, si la chaîne de télévision utilise 1 image clé toutes les 2 secondes, vous pourriez peut-être attendre jusqu’à 2 secondes lors du passage à la chaîne de télévision.
Vous verrez le même effet avec les caméras de vidéosurveillance. Si la caméra est configurée pour utiliser 1 image clé toutes les 2 secondes, vous devrez peut-être attendre jusqu’à 2 secondes lors de la connexion à la caméra. Le taux d’images clés aura un effet sur la vitesse à laquelle vous pouvez vous connecter à la caméra.
Intervalle d’image I vs FPS
Chaque manufacturier de caméra utilise une nomenclature différente concernant les images par seconde et le taux d’images clés. La fréquence d’images (fps) est le nombre d’image/seconde du flux vidéo. Keyframe, ou intervalle de trame I, définit la fréquence à laquelle une image clé est générée.
Voici quelques exemples:
Exemple #1
La fréquence d’images (fps) est fixée à 25, ce qui signifie que le flux de la caméra aura 25 images/secondes. L’intervalle d’image I est fixé à 25, ce qui signifie qu’une image clé sera générée toutes les 25 images. En faisant quelques calculs simples, cela signifie qu’une image clé sera générée toutes les 1 seconde.
Exemple #2
La fréquence d’images est réglée sur 10 : 10 images/seconde.
L’I frame Interval est réglé sur 40 : 1 image clé toutes les 40 images
Résultat : une image clé sera générée toutes les 4 secondes.
Voici un document explicatif (en anglais) qui effectue des comparatifs sur les intervalle de trames I: https://ipvm.com/reports/test-i-frame-rate