Що таке файл DJVU?
DjVu, що вимовляється як «дежавю», — це формат графічних файлів, призначений для відсканованих документів і книг, особливо тих, які містять поєднання тексту, малюнків, зображень і фотографій. Він був розроблений AT&T Labs. Він використовує кілька методів, як-от поділ тексту та фонових зображень шаром зображення, прогресивне завантаження, арифметичне кодування та стиснення з втратами для бітональних зображень. Оскільки файл DJVU може містити стиснуті, але високоякісні кольорові зображення, фотографії, текст і малюнки та може бути збережений у меншому місці, він використовується в Інтернеті як електронні книги, посібники, газети, старовинні документи тощо.
DjVu можна оцінити як кращу альтернативу PDF. Розширення файлів, пов’язані з DjVu, є .DJVU або .DJV. DjVu може досягати коефіцієнта стиснення приблизно в 5–10 разів, ніж існуючі методи, такі як JPEG і GIF для кольорових документів, і в 3–8 разів краще, ніж TIFF у чорно-білих документах. Відскановані документи з роздільною здатністю 300 точок на дюйм із повнокольоровими розмірами до 25 МБ можна стиснути до 30–100 КБ. Так само чорно-білі документи можна стискати до 5–30 Кб. Середня HTML-сторінка може досягати 50 Кб, тому ці документи можна без проблем завантажити в мережу.
Коротка історія
Технологія DjVu була розроблена в лабораторіях AT&T Yann LeCun, Léon Bottou, Patrick Haffner і Paul G з 1996 по 2001 рік. Формат файлу DjVu зазнавав різних переглядів, останній був у 2005 році.
Версія | Дата випуску | Примітки |
---|---|---|
1–19 | 1996–1999 | Це версії розвитку. |
20 | квітня 1999 | Одину сторінку було змінено на багатосторінковий формат. |
23 | липень 2002 | Планка CID |
24 | лютого 2003 | LTAnno chunk |
21 | Вересень 1999 | Формат непрямого зберігання замінено. Додано шар пошуку тексту. |
22 | Квітень 2001 | Орієнтація сторінки, колір JB2 |
25 | Травень 2003 | Фрагмент НАВМ. Додано підтримку закладок DjVu. |
26 | Квітень 2005 | Текст/рядкові анотації |
Формат файлу DjVu
Документи DjVu є файлами IFF85. Структура забезпечує ієрархію контейнерів, які містять інформацію у файлі DjVu. Ці контейнери також називають «Чанками». Тип фрагмента та ідентифікатор фрагмента описують, як використовується фрагмент. Існує 4-байтовий заголовок, за яким слід структура IFF. Перші чотири байти файлу DjVu — це 0x41 0x54 0x26 0x54. У цьому розділі розглядаються різні типи документів DjVu та відповідні фрагменти, з яких вони складаються.
Chunk ID | Використання |
---|---|
FORM | Складений фрагмент, що містить перші чотири байти даних фрагмента FORM, які є вторинним ідентифікатором. |
FORM:DJVM | Багатосторінковий документ DjVu. Складений фрагмент, який містить фрагмент DIRM. |
FORM:DJVU | Односторінковий документ DjVu. Складений фрагмент, який містить фрагменти, які складають сторінку в документі djvu. |
FORM:DJVI | «Спільний» файл DjVu, який включено через секцію INCL. Спільні анотації та словник форм. |
FORM:THUM | Композиційний фрагмент, який містить фрагменти TH44, які є вбудованими мініатюрами. |
DIRM | Інформація про назву сторінки для багатосторінкових документів. |
NAVM | Інформація закладки |
ANTa, ANTz | Анотації, включаючи налаштування початкового перегляду та накладені гіперпосилання, текстові поля тощо. |
TXTa, TXTz | Текст Unicode та інформація про макет. |
Djbz | Спільна таблиця форм. |
Sjbz | BZZ-стиснуті бітонові дані JB2, які використовуються для зберігання маски. |
FG44 | Дані IW44, які використовуються для зберігання переднього плану |
BG44 | Дані IW44, які використовуються для зберігання фону |
TH44 | Дані IW44, які використовуються для зберігання вбудованих мініатюр |
WMRM | Дані JB2, необхідні для видалення водяного знака |
FGbz | Колір даних JB2. Надає колір для кожного (бліт чи форми?) у відповідному блоку Sjbz. |
INFO | Інформація про сторінку DjVu |
INCL | Ідентифікатор включеного блоку FORM:DJVI. |
BGjp | Фон у кодуванні JPEG |
FGjp | передній план у кодуванні JPEG |
Smmr | Маска в кодуванні G4 |
Стиснення DJVU
Одне зображення ділиться на багато різних зображень, а потім кожне зображення стискається окремо. Для створення файлу DjVu зображення спочатку розділяється на три зображення: фон, передній план і маску. Зазвичай зображення фону та переднього плану є кольоровими зображеннями з нижчою роздільною здатністю; але зображення маски — це зображення з вищою роздільною здатністю, і зазвичай там зберігається текст. Після поділу зображення переднього плану та фону стискаються за допомогою алгоритму стиснення на основі вейвлетів IW44, тоді як зображення маски стискається за допомогою іншого методу під назвою JB2.
Метод кодування JB2 усуває значну частину надмірності в текстовому зображенні, ідентифікуючи ідентичні форми на сторінці, наприклад багаторазове повторення символу в певному шрифті. JB2 спочатку кодує растрове зображення кожної унікальної форми, користуючись надлишковістю між подібними фігурами. Потім він кодує місця, де кожна фігура з’являється на сторінці. Як JB2, так і IW44 покладаються на новий тип адаптивного двійкового арифметичного кодера під назвою ZP-кодер, який вичавлює будь-яку залишкову надлишковість у межах кількох відсотків від обмеження Шеннона. ZP-кодер є адаптивним і швидшим, ніж інші наближені двійкові арифметичні кодери.