BZZ(1) DjVuLibre-3.5 BZZ(1)

bzz - ابزار فشرده‌سازی همه‌منظوره DjVu

bzz -e[blocksize] inputfile outputfile

bzz -d inputfile outputfile

حالت اول خط فرمان (گزینه -e) داده‌ها را از فایل inputfile فشرده کرده و داده‌های فشرده‌شده را در outputfile می‌نویسد. حالت دوم خط فرمان (گزینه -d) فایل inputfile را از حالت فشرده خارج (رمزگشایی) کرده و خروجی را در outputfile می‌نویسد.

حالت رمزگشایی (خروج از حالت فشرده).
حالت کدگذاری (فشرده‌سازی). آرگومان اختیاری blocksize اندازه بلوک‌های فایل ورودی پردازش‌شده توسط تبدیل باروز-ویلر (Burrows-Wheeler) را بر حسب کیلوبایت مشخص می‌کند. اندازه بلوک پیش‌فرض 2048 KB است. حداکثر اندازه بلوک 4096 KB است. تعیین اندازه بلوک بزرگ‌تر معمولاً نسبت‌های فشرده‌سازی بالاتری ایجاد می‌کند و نیازمندی‌های حافظه کدگذار و رمزگشا را افزایش می‌دهد. مشخص کردن اندازه بلوکی بزرگ‌تر از فایل ورودی بی‌فایده است.

تبدیل باروز-ویلر با استفاده از ترکیبی از الگوریتم‌های کارپ-میلر-روزنبرگ و بنتلی-سجویک انجام می‌شود. این روش با (Sadakane, DCC 98) اما با یک طرح رتبه‌بندی اندکی انعطاف‌پذیرتر قابل مقایسه است. سپس نمادها بر اساس یک برآورد پویا از بسامد وقوعشان مرتب می‌شوند. در ادامه، رتبه‌های نمادها با استفاده از یک درخت ثابت ساده و کدگذار تطبیقی دودویی ZP (Bottou, DCC 98) کدگذاری می‌شوند.

تبدیل باروز-ویلر در فشرده‌ساز مشهور bzip2 نیز به کار رفته است. نوآوری اصلی bzz در به‌کارگیری کدگذار تطبیقی ZP است. نویز تطبیق ممکن است تا ۵ درصد به اندازه فایل اضافه کند، اما این جریمه معمولاً با مزایای تطبیق‌پذیری جبران می‌شود.

جدول زیر نتایج مقایسه‌ای (بر حسب بیت بر نویسه) را روی Canterbury Corpus (در نشانی http://corpus.canterbury.ac.nz ) نشان می‌دهد. کارایی بسیار خوب bzz روی فایل صفحه گسترده excl میانگین وزنی آن را فراتر از فشرده‌سازهای بسیار پیچیده‌تری مانند fsmx قرار می‌دهد.

Compression performance
text fax csrc excl sprc tech poem html lisp man play Weighted Average
 compress  3.27 0.97 3.56 2.41 4.21 3.06 3.38 3.68 3.90 4.43 3.51 2.55 3.31
 gzip -9  2.85 0.82 2.24 1.63 2.67 2.71 3.23 2.59 2.65 3.31 3.12 2.08 2.53
 bzip2 -9  2.27 0.78 2.18 1.01 2.70 2.02 2.42 2.48 2.79 3.33 2.53 1.54 2.23
 ppmd  2.31 0.99 2.11 1.08 2.68 2.19 2.48 2.38 2.43 3.00 2.53 1.65 2.20
 fsmx  2.10 0.79 1.89 1.48 2.52 1.84 2.21 2.24 2.29 2.91 2.35 1.63 2.06
 bzz  2.25 0.76 2.13 0.78 2.67 2.00 2.40 2.52 2.60 3.19 2.52 1.44 2.16

توجه داشته باشید که مشارکت‌کنندگان DjVu چندین مدخل در این جدول دارند. برنامه compress مدت‌ها پیش توسط Joe Orost نوشته شده بود. برنامه ppmd بهبودیافتهٔ روش PPM-C است که توسط Paul Howard ابداع شد.

برنامه bzz توسط Léon Bottou <leonb@users.sourceforge.net> نوشته شده است و سپس توسط Andrei Erofeev <andrew_erofeev@yahoo.com>، Bill Riemers <docbill@sourceforge.net> و افراد بسیار دیگری بهبود یافت.

djvu(1), compress(1), gzip(1), bzip2(1)

10/11/2001 DjVuLibre-3.5