Zstd: Est-il fractionnable ?

Créé le 1 sept. 2016  ·  4Commentaires  ·  Source: facebook/zstd

Puis-je partitionner le fichier compressé et le lire en morceaux ou le format de compression encode-t-il le fichier entier

question

Commentaire le plus utile

Vous pouvez diviser le fichier d'origine en morceaux, compresser chaque morceau indépendamment dans un cadre Zstandard (à l'aide de la CLI zstd ) et concaténer chaque cadre. Ce sera toujours valable aux yeux du format Zstandard. Vous pourrez alors diviser le fichier compressé dans le cadre du composant et décompresser chaque cadre indépendamment.

Le seul problème est que Zstandard n'encode pas la taille de chaque image, seulement la taille de chaque bloc. Donc, pour trouver où commence la prochaine image, vous devrez faire l'une des deux choses suivantes :

  1. Cherchez à travers le cadre un bloc à la fois jusqu'à ce que vous trouviez le prochain cadre.
  2. Encodez des informations supplémentaires dans les données compressées pour indiquer la taille de chaque image. Vous pouvez utiliser un cadre pouvant être ignoré, tel que défini par le format Zstandard pour ce faire.

Tous les 4 commentaires

Le format permet d'ajouter plusieurs cadres.
Ils seront régénérés dans le même ordre, comme s'il s'agissait d'un contenu unique.

Alors oui, il permet de couper des fichiers en morceaux de n'importe quelle taille.

Vous pouvez diviser le fichier d'origine en morceaux, compresser chaque morceau indépendamment dans un cadre Zstandard (à l'aide de la CLI zstd ) et concaténer chaque cadre. Ce sera toujours valable aux yeux du format Zstandard. Vous pourrez alors diviser le fichier compressé dans le cadre du composant et décompresser chaque cadre indépendamment.

Le seul problème est que Zstandard n'encode pas la taille de chaque image, seulement la taille de chaque bloc. Donc, pour trouver où commence la prochaine image, vous devrez faire l'une des deux choses suivantes :

  1. Cherchez à travers le cadre un bloc à la fois jusqu'à ce que vous trouviez le prochain cadre.
  2. Encodez des informations supplémentaires dans les données compressées pour indiquer la taille de chaque image. Vous pouvez utiliser un cadre pouvant être ignoré, tel que défini par le format Zstandard pour ce faire.

Code

Problème fusionné dans #395

Cette page vous a été utile?
0 / 5 - 0 notes