Calgary-korpus er et sæt tekst- og binære filer, der ofte bruges som en standardtest af datakomprimeringsalgoritmer og sammenligner deres ydeevne. Sættet blev samlet på University of Calgary i 1987 og blev meget brugt i 1990'erne. I 1997 blev der foreslået et nyt testsæt , Canterbury corpus [1] , der tog højde for nogle bekymringer om Calgary-korpusets repræsentativitet [2] .
I sin mest brugte form består Calgary-korpuset af 14 filer på i alt 3.141.622 bytes:
Størrelse (byte) | Filnavn | Beskrivelse |
---|---|---|
111,261 | HAGESMÆK | ASCII-tekst i UNIX " ref "-format med 725 bibliografiske poster. |
768.771 | BOG 1 | Uformateret ASCII-tekst af Thomas Hardys novelle Far from the Madding Crowd . |
610.856 | BOG 2 | ASCII-tekst i " troff "-format - Ian H. Witten: Principles of Computer Speech. |
102.400 | GEO | Seismiske data som 32 bit flydende komma-tal i IBM-format . |
377,109 | NYHEDER | ASCII-tekst - et sæt meddelelser fra USENET -grupper . |
21.504 | OBJ1 | En eksekverbar fil til VAX opnået ved kompilering af PROGP. |
246.814 | OBJ2 | Eksekverbar fil til Macintosh, programmet "Knowledge Support System". |
53,161 | PAPIR1 | Artikel i "troff"-format - Witten, Neal, Cleary: Arithmetic Coding for Data Compression. |
82.199 | PAPIR2 | Artikel i "troff"-format - Witten: Computer (u)sikkerhed. |
513.216 | PIC | 1728 x 2376 billede med fransk tekst og linjediagrammer. |
39,611 | PROGC | C-kildekoden er UNIX compress v4.0-programmet. |
71.646 | PROGL | Lisp-kildekoden er en systemapplikation. |
49,379 | PROGP | Pascal-kildekoden er et program til evaluering af PPM-komprimering. |
93.695 | TRANS | ASCII-tekst og escape-sekvenser - terminalsessionspost. |
Mindre almindeligt anvendt er et sæt på 18 filer, som desuden indeholder 4 tekstfiler i "troff"-formatet - PAPER3-PAPER6.
Calgary-sagen blev ofte brugt til at sammenligne kompressionseffektivitet i 1990'erne. Resultaterne blev ofte rapporteret som bits pr. byte (det gennemsnitlige antal bits i en komprimeret fil, der kræves for at kode 1 byte af kildefilen) for hver fil i sættet, hvorefter gennemsnittet blev beregnet. Så begyndte de oftere at angive den samlede størrelse af alle komprimerede filer.
Nogle arkivere tillod mere effektiv komprimering, når de behandlede hele kroppen på én gang (for eksempel ved at lægge dem i en ukomprimeret tjærebeholder ), ved at bruge gensidig information . Andre arkivere komprimerer tværtimod denne mulighed værre på grund af kompressorens langsomme reaktion på ændringer i datakarakteristika. Samtidig komprimering af hele korpuset blev brugt af Matt Mahoney i hans bog Data Compression Explained [3] .
Tabellen viser dimensionerne af den komprimerede sag for flere populære arkivere.
Arkiver | Muligheder | Komprimer 14 separate filer | Konsolideret tjærearkiv |
---|---|---|---|
Uden kompression | 3.141.622 | 3.152.896 | |
komprimere | 1.272.772 | 1.319.521 | |
Info-zip 2.32 | -9 | 1.020.781 | 1.023.042 |
gzip 1.3.5 | -9 | 1.017.624 | 1.022.810 |
bzip2 1.0.3 | -9 | 828.347 | 860.097 |
7zip 9.12b | 848.687 | 824.573 | |
ppmd Jr1 | -m256 -o16 | 740,737 | 754.243 |
ppmonstr J | 675.485 | 669.497 |
Den 21. maj 1996 startede Leonid A. Broukhis " Calgary corpus Compression and SHA-1 crack Challenge " [4] , som indeholdt en Calgary skrogkompressionskonkurrence med små pengepræmier. Efter 2010 er præmien $1 for hver yderligere reduktion på 111 bytes i den komprimerede fil.
Ifølge vilkårene for konkurrencen skal ikke kun inputfilerne til korpuset komprimeres, men også programmet til deres dekomprimering. For at gøre dette komprimeres først body-filerne, derefter komprimeres de resulterende filer og udpakkeren af en af de meget brugte arkiveringsprogrammer. Grænser for kompressionstid og mængden af brugt hukommelse ændrer sig gradvist, og efter 2010 er det acceptabelt at arbejde i 24 timer på en computer med en ydeevne på 2000 MIPS ( Windows eller Linux OS ) og bruge op til 800 MB RAM. Senere blev en konkurrence med SHA-1 tilføjet : udpakkeren kan ikke oprette den originale fil fra korpuset, men en anden, men med den samme kryptografiske hash-sum i henhold til SHA-1-algoritmen (det er således påkrævet at udføre et kollisionsfindende angreb for en given fil).
Malcolm Taylor, forfatter til RK- og WinRK-arkiverne, vandt førstepræmien ved at komprimere sættet til 759881 bytes (september 1997). Den sidste pris blev uddelt den 2. juli 2010 af Alexander Ratushnyak , efter at have komprimeret sættet til 572465 bytes og ved hjælp af en C++-dekomprimerer komprimeret til 7700 bytes ved hjælp af "PPMd var. I". Fuld liste over rekorder i konkurrencen:
Størrelse (byte) | Måned og år | Forfatter |
---|---|---|
759.881 | 09/1997 | Malcolm Taylor |
692.154 | 08/2001 | Maxim Smirnov |
680.558 | 09/2001 | Maxim Smirnov |
653.720 | 11/2002 | Serge Voskoboynikov |
645.667 | 01/2004 | Matt Mahoney |
637.116 | 04/2004 | Alexander Ratushnyak |
608.980 | 12/2004 | Alexander Ratushnyak |
603.416 | 04/2005 | Przemysław Skibinski |
596.314 | 10/2005 | Alexander Ratushnyak |
593.620 | 12/2005 | Alexander Ratushnyak |
589.863 | 05/2006 | Alexander Ratushnyak |
580.170 | 07/2010 | Alexander Ratushnyak |
Standard testobjekter | |
---|---|
2D grafik | |
3D-grafik |
|
MP3 lyd | |
Programmering | |
Datakomprimering |
|
Tekstelementer | |
Kæmp mod vira | |
Domæne | |
Optimering |
|
Kompressionsmetoder _ | |||||||
---|---|---|---|---|---|---|---|
Teori |
| ||||||
Tabsfri |
| ||||||
Lyd |
| ||||||
Billeder |
| ||||||
Video |
|