Vue d’ensemble


Original: http://qccpack.sourceforge.net/overview.shtml

QccPack—Quantization, Compression, and Coding Library

Vue d’ensemble

QccPack fournit une collection open-source de routines de bibliothèques et programmes utilitaires pour la quantification, la compression et codage des données. QccPack a été écrit pour fournir des implémentations très souples et généraux de procédures couramment utilisées dans les applications de codage et de compression.

La composante essentielle de la collection QccPack est une bibliothèque (une bibliothèque statique, libQccPack.a et, si pris en charge sur votre système, une bibliothèque dynamique, libQccPack.so) des procédures de mise en œuvre une grande variété de compression et algorithmes de codage. Les applications peuvent faire usage de la bibliothèque routines QccPack par lier l’application à la bibliothèque lors de la compilation. Chaque fonction de bibliothèque est très générale dans sa mise en œuvre afin d’être utile dans une grande variété d’applications.

En outre, une grande partie de la fonctionnalité des routines de bibliothèques ont été fournis sous la forme de programmes exécutables autonomes. Probablement l’importance primordiale de ces programmes utilitaires, ce est qu’ils donnent des exemples de la façon de se interfacer avec la plupart des routines de bibliothèque QccPack. Les programmes utilitaires pourraient aussi être appelés à partir de scripts pour simuler le fonctionnement des systèmes de codage et de compression complexes avant d’implémenter toutes les fonctionnalités du système en un seul programme autonome.

Actuellement, QccPack compose de plus de 55 000 lignes de code C implémentant plus de 500 routines de bibliothèques et plus de 50 programmes de services publics autonomes. Les principales fonctionnalités actuellement mis en œuvre comprennent:

  • Codage entropique
    • Le codage arithmétique y compris plusieurs modèles contexte adaptative et non adaptatifs
    • Codage de Huffman
    • Golomb et adaptative Golomb codage
  • Quantification scalaire (SQ)
    • SQ uniforme
    • Zone morte SQ
    • μloi et un règlement SQ
    • Algorithme Lloyd pour la conception optimale de la SQ
  • La quantification vectorielle (VQ)
    • Algorithme de Lloyd généralisé (GLA) pour la conception VQ-dictionnaire
    • Full-recherche encodage et le décodage de VQ
    • Entropy limitéesVQ (ECVQ) la formation, l’encodage et le décodage
    • Multistage VQ (MSVQ) (également appelé résiduelle VQ (RVQ)) la formation, l’encodage et le décodage
  • Adaptive quantification vectorielle (AVQ)
    • La généraliséeseuil reconstitution (GTR) algorithme
    • L’algorithme Paul
    • Algorithme GershoYano
    • Codage de l’information de côté
  • Transformées en ondelettes, sous-bande codage par ondelettes
    • Transformée en ondelettes discrète (DWT) en utilisant la première génération des bancs de filtres et orthonormé populaire et ondelettes biorthogonales
    • Levage implémentations de DWT pour ondelettes populaires
    • DWT bidimensionnelle sous la forme de pyramides de sous-bande dyadiques
    • DWT en trois dimensions sous la forme de pyramides de sous-bande dyadiques ainsi que de transformer un paquet
    • Shape-adaptative DWT (SA-DWT) pour les signaux 1D et 2D
    • DWT redondant (RDWT), aka, l’algorithme à trous
    • L’algorithme de SR pour par ondelettes codage d’image
    • L’algorithme SFQ par ondelettes pour le codage d’images
    • L’algorithme pour WDR par ondelettes codage d’image
    • L’algorithme 3DWDR pour l’imagecube codage par ondelettes
    • L’algorithme bâchefiltre pour par ondelettes codage d’image
    • L’algorithme 3Dbâche pour l’imagecube codage par ondelettes
    • L’algorithme de TCE par ondelettes pour le codage d’images
    • L’algorithme BISK pour la formeadaptative codage d’image à base d’ondelettes
    • L’algorithme 3DBISK pour l’imagecube codage par ondelettes
  • Codes correcteurs d’erreurs
    • Arithmétique de terrain, y compris l’élimination de Gaussinversion de la matrice
    • Codage de Reed-Solomon et le décodage
    • Codes CRC
    • Codes en treillis
    • Décodage de Viterbi durs et mous
  • Traitement de l’image
    • Routines pour lire et écrire des gris et la couleur des images fixes et de séquences d’images (via PGM et formats PPM)
    • Routines pour lire et écrire des volumes 3D image cube
    • Image et l’image de la séquence désentrelacement
    • Image différentielle modulation d’impulsion codée (DPCM)
    • Conversions d’espace couleur RGB:, YUV, CIE XYZ, CIE UCS, CIE modifié UCS
    • DCT par bloc et inverse DCT
  • Le codage de la vidéo
    • L’algorithme spatio-bloc pour l’imageséquence codante
    • L’algorithme RDWTbloc pour l’imageséquence codante
    • L’algorithme de TRW pour l’imageséquence codante
    • Estimation de mouvement par bloc et compensation de mouvement
    • L’estimation de mouvement et de compensation de mouvement utilisant maillages réguliers triangle
    • Codage et décodage des champs de vecteur mouvement
  • Routines générales
    • Vecteur mathématiques (haut / bas échantillonnage, triage, produit scalaire, addition / soustraction, etc.)
    • Matrice mathématiques (addition / soustraction, vecteurmatrice multiplication, etc.)
    • Les listes chaînées et les opérations connexes
    • Entropy estimation (premier et second ordre)
    • Entrée et de sortie du fichier général, y compris la détection automatique et la lecture / écriture des fichiers compressés avec gzip
    • Caractère peuemballage pour bitstream binaire d’entrée / sortie
    • FIFO basé sur la mémoire pour les flux binaires
    • Conversion entre différents formats de fichiers utilisés par les routines de la bibliothèque
    • Suivi de message d’erreur, le formatage et la sortie
    • Ligne de commande automatique paramètre analyse

Outre les fonctionnalités standard indiquées ci-dessus, il existe des modules optionnels qui peuvent être ajoutés à la bibliothèque QccPack. Habituellement, ces modules sont disponibles sous les termes de licence différent de la licence GPL / LGPL de QccPack et peuvent contenir des algorithmes brevetés; reportez-vous à la documentation fournie avec chaque module pour plus de détails. Ces modules sont téléchargés séparément de QccPack et ne sont pas activés par défaut lors de la construction de QccPack. Les modules optionnels actuellement disponibles et leurs fonctionnalités sont:

  • QccPackSPIHT
    • Le Set Cloisonnement hiérarchique arbres (SPIHT) algorithme pour par ondelettes codage d’image
  • QccPackSPECK
    • Le Set-partitionnement bloc intégré (SPECK) algorithme pour par ondelettes codage d’image

État actuel du développement

Le code QccPack est actuellement en phase de développement BETA libération. Ce est-à-dire, la fonctionnalité tant désirée est encore laissée à être mis en œuvre, et la documentation est incomplète. Actuellement, tous les programmes utilitaires sont documentés; Toutefois, seule une partie des routines de bibliothèques sont documentés. La documentation qui existe est disponible en page de manuel et la forme de HTML. La documentation au format HTML est disponible en ligne.

Comments are closed.