Überblick

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

QccPack bietet eine Open-Source-Sammlung von Bibliotheksroutinen und Hilfsprogramme für die Quantisierung, Kompression und Kodierung von Daten. QccPack wurde geschrieben, um sehr flexibel und allgemein Implementierungen von Verfahren üblicherweise bei der Codierung und Druckanwendungen verwendet wird.

Die wesentliche Komponente der QccPack Sammlung ist eine Bibliothek (eine statische Bibliothek, libQccPack.a, und, falls auf Ihrem System unterstützt, eine dynamische Bibliothek, libQccPack.so) der Verfahren die Durchführung einer Vielzahl von Kompressions- und Verschlüsselungsalgorithmen. Anwendungsprogramme können auf dem QccPack Bibliotheksroutinen machen durch die Verknüpfung der Anwendung mit der Bibliothek während der Kompilierung. Jeder Bibliotheksfunktion ist sehr allgemein in der Umsetzung so nützlich in einer Vielzahl von Anwendungen zu sein.

Zusätzlich können viele Funktionen der Bibliotheksroutinen in Form von eigenständigen ausführbaren Programme bereitgestellt. Wahrscheinlich die wichtigste Bedeutung dieser Hilfsprogramme ist, dass sie Beispiele, wie man mit vielen der QccPack Bibliotheksroutinen Schnittstelle. Die Hilfsprogramme könnten auch aus Skripts heraus aufgerufen, um den Betrieb von komplexen Kodierung und Kompressionssystemen vor der Implementierung die ganze Funktionalität des Systems in ein eigenständiges Programm zu simulieren.

Derzeit QccPack besteht aus mehr als 55.000 Zeilen C-Code Implementierung über 500 Bibliotheksroutinen und mehr als 50 eigenständige Hilfsprogramme. Die wichtigsten Funktionalitäten zur Zeit implementiert sind:

Entropiecodierung
Arithmetische Codierung einschließlich Mehrfachkontext adaptiven und nicht-adaptiven Modelle
Huffman-Codierung
Golomb und adaptiven Golomb Kodierung
Skalare Quantisierung (SQ)
Uniform SQ
Totzonen-SQ
μ-law und A-law SQ
Lloyd-Algorithmus für die optimale Gestaltung SQ
Vektorquantisierung (VQ)
Verallgemeinerten Lloyd-Algorithmus (GLA) zur VQ-Codebuchdesign
Vollsuche-VQ-Codierung und Decodierung
Entropy-constrained-VQ (ECVQ) Ausbildung, Codierung und Decodierung
Mehrstufigen VQ (MSVQ) (auch als Rest VQ (RVQ)) Ausbildung, Codierung und Decodierung
Adaptive Vektorquantisierung (AVQ)
Die verallgemeinerte-Schwelle-Nachschub (GTR) Algorithmus
Das Paul-Algorithmus
Gersho-Yano Algorithmus
Kodierung der Seiteninformationen
Wavelet-Transformationen, Wavelet-basierte Teilbandcodierung
Diskreten Wavelet-Transformation (DWT) mit der ersten Generation Filterbänke und beliebte orthonormal und biorthogonal Wavelets
Hebe Implementierungen von DWT für beliebte Wavelets
Zweidimensionale DWT in Form dyadischen Subband Pyramiden
Dreidimensionale DWT in Form dyadischen Subband Pyramiden sowie ein Paket-Umwandlungs
Shape-adaptive DWT (SA-DWT) für 1D- und 2D-Signale
Redundante DWT (RDWT), auch bekannt als die algorithme à trous
Der SR-Algorithmus für Wavelet-basierte Bildcodierung
Der SFQ Algorithmus zur Wavelet-basierte Bildcodierung
Der WDR Algorithmus zur Wavelet-basierte Bildcodierung
Die 3D-WDR Algorithmus zur Wavelet-basierte Bild-cube-Codierung
Die Plane-Filter-Algorithmus für die Wavelet-basierte Bildcodierung
Die 3D-Plane Algorithmus zur Wavelet-basierte Bild-cube-Codierung
Die TCE-Algorithmus für die Wavelet-basierte Bildcodierung
Die Bisk Algorithmus zur Wavelet-basierte Form adaptive Bildcodierung
Die 3D-Bisk Algorithmus zur Wavelet-basierte Bild-cube-Codierung
Fehlerkorrekturkodes
Feld-Arithmetik, einschließlich Gauß-Elimination Matrixinversion
Reed-Solomon-Codierung und Decodierung
CRC-Codes
Trellis-Codes
Harten und weichen Viterbi-Decodierung
Bildverarbeitung
Routinen zum Lesen und Schreiben von Grau- und Farbstandbildern und Bildsequenzen (via PGM und PPM-Formate)
Routinen zum Lesen und Schreiben von 3D-Bild-cube Mengen
Bild und Bild-Sequenz Deinterlacing
Bilddifferenzpulscodemodulation (DPCM)
Farbraumkonvertierungen: RGB, YUV, CIE XYZ, CIE UCS, CIE geändert UCS
Blockbasierten DCT und inverse DCT
Videocodierung
Die räumliche Blockalgorithmus zur Bildsequenz codiert
Die RDWT-Block-Algorithmus für die Bildsequenz codiert
Die RWMH Algorithmus zur Bildsequenz-Codierung
Block-basierte Bewegungsschätzung und Bewegungskompensation
Bewegungsschätzung und Bewegungskompensation mit regulären Dreiecksnetzen
Codierung und Decodierung von Bewegungsvektorfeldern
Allgemeine Routinen
Vektor math (up / down Sortieren, Punktprodukt, Addition / Subtraktion, etc.)
Matrix Mathematik (Addition / Subtraktion, Vektor-Matrix-Multiplikation, etc.)
Verkettete Listen und damit zusammenhängenden Vorgängen
Entropy Schätzung (erster und zweiter Ordnung)
Allgemeine Datei Ein- und Ausgabe, einschließlich der automatischen Erkennung und Lesen / Schreiben von gzip-komprimierte Dateien
Character Bit-Verpackung für binäre Bitstrom Eingabe / Ausgabe
Speicherbasierte FIFO für binäre Bitströme
Konvertierung zwischen verschiedenen Dateiformaten von Bibliotheksroutinen verwendet
Fehler-Nachrichtenverfolgung, Formatierung und Ausgabe
Automatische Befehlszeilenparameter-Analyse

Zusätzlich zu den oben aufgeführten Standardfunktionalitäten existieren optionalen Module, die zum QccPack Bibliothek hinzugefügt werden können. In der Regel sind diese Module unter Lizenzbedingungen anders als die GPL / LGPL-Lizenzen von QccPack und kann patentierte Algorithmen enthalten; beziehen sich auf die mit jedem Modul für spezifische Details enthalten Dokumentation. Diese Module werden getrennt von QccPack heruntergeladen und werden nicht standardmäßig beim Bau QccPack aktiviert. Die derzeit verfügbaren optionalen Module und ihre Funktionalitäten sind:

QccPackSPIHT
Das Set Partitioning in hierarchische Bäume (SPIHT) Algorithmus für die Wavelet-basierte Bildcodierung
QccPackSPECK
Die Set-Partitioning Embedded-Block (Speck) Algorithmus zur Wavelet-basierte Bildcodierung

Aktuellen Stand der Entwicklung

Die QccPack Code ist derzeit in der Beta-Release-Entwicklung. Das heißt, viele gewünschte Funktionalität noch übrig ist, um durchgeführt werden, und Informationen unvollständig. Derzeit werden alle Dienstprogramme dokumentiert; jedoch nur einige der Bibliotheksroutinen sind dokumentiert. Das, was existiert Dokumentation ist sowohl in man-page und HTML-Formular. Das HTML-Format Dokumentation ist online verfügbar.

Comments are closed.