Acum, rețeaua este plină de materiale despre acest lucru nu este un format nou pentru documentele electronice. Și totuși nu am găsit un articol în care era clar, concis și accesibil, tot ce i se spunea. Scrisorile cititorilor confirmă numai că abundența materialelor nu contribuie la înțelegerea ideii. Voi încerca să corectez acest lucru la cele mai bune puteri modeste.
DjVu (pronunțat "deja vu") ca format de stocare a datelor a fost dezvoltat de ATT la mijlocul anilor '90. Aparent, utilizarea demn de toate acestea nu a existat nici un moment, pentru că în curând toate drepturile de utilizare au fost vândute la puțin cunoscute LizardTech. Ea, la rândul său, a pieptănat un set de programe pentru a lucra cu acest format și a pus totul spre vânzare. Deoarece prețul a fost pur și simplu ridicat, vânzările, se pare, tocmai s-au stins. În cele din urmă, unele surse au fost deschise împreună cu descrierea formatului propriu-zis. În prezent, Lizardtech se ocupă de hărți geografice, formate de stocare și programe de manipulare a acestora, dar acesta este un subiect ușor diferit.
O altă bicicletă?
DjVu este liber de toate neajunsurile enumerate. Dimensiunea documentelor este mică, cu o rezoluție excelentă (majoritatea cărților sunt scanate la 300 sau chiar 600 dpi). Trebuie să tipăriți - vă rog. Vreau să fiu OK. Căutarea - funcționează dacă se adaugă un strat de text în timpul creării (este ușor să adăugați și apoi să nu reambalați toate paginile). Și pentru stocarea informațiilor textuale, utf8 este folosită întotdeauna și peste tot, nu este nevoie să aranjați saltul cu codificări.
Ambalare în DjVu
Cred că pentru majoritatea detaliilor tehnice va fi neinteresant și se potrivesc să apese butonul "Înapoi". În rest, vă voi spune ceva despre interiorul formatului.
Toate informațiile din interiorul DjVu sunt reprezentate sub formă de bucăți (bucăți). Fișierul în sine este o bucată mare, în interiorul căreia sunt bucăți de dimensiuni mai mici. Fișierul poate fi unul și mai multe pagini, în cazul unui fișier cu mai multe pagini, un catalog de pagini este adăugat în partea de sus. Trebuie remarcat faptul că numărul de bucăți în fișierul nu proporțional cu numărul de pagini, deoarece mai multe bucăți pot fi folosite pentru redarea paginii.
Ce este nou în formatul DjVu?
Spre deosebire de GIF / JPEF / PDF și altele, pagina de document poate fi împărțită în mai multe straturi. În cel mai general caz, este un prim plan, un backgroung, o mască pentru separarea acestor două straturi și informații suplimentare de text. Procesul de codificare este un fel de artă de a împărți un document scanat în straturi și de a determina ce va cădea în prim-plan care se află în fundal ca rezultat al compresiei. Și cea mai dificilă parte a algoritmilor este asta. Prin urmare, așa cum am spus, codificatorii comerciali funcționează de obicei mai bine decât DjVuLibre, deoarece algoritmii sunt mai rafinate.
Z-coder.
Calculator / decodor aritmetic, care este baza tuturor transformărilor în DjVu. Principiul de funcționare este similar cu cel utilizat în algoritmul BZIP2. Detaliile pot fi citite în [4]. Acest codec este folosit ca filtru - ieșire atunci când creați bucăți și intrați înainte de redarea straturilor.
JB2 encoder.
Se utilizează pentru împachetarea datelor bitonale, cum ar fi textul, desenele alb-negru etc. Poate fi stocată o mască, adică informații despre ce intră în fundal și ce se află în prim-plan. Toate informațiile sunt stocate sub forma unei biblioteci de forme (formă) plus poziția fiecărui obiect pe planul paginii. Bibliotecile ele însele pot fi distribuite pe mai multe pagini. Este mai ușor să ne imaginăm în acest fel. De exemplu, există traductorul de text scanat detectează bukovki similare, spun toate „a“, „b“, etc și de a crea o bibliotecă care conține informații despre fiecare literă (formular), și apoi doar informațiile pe care „a“ este într-o astfel de și astfel și un astfel de loc, "b" în astfel de și așa și așa. Deoarece, așa cum am spus, un dicționar poate fi împărțit între pagini, ambalajul se dovedește a fi brutal. În plus față de toate acestea pot fi salvate informații despre formele de culoare, care este, dacă există, să zicem, un roșu „A“ și albastru „o“ în scanare, biblioteca va primi doar un singur „o“ informații vor fi înregistrate cu privire la localizarea celor două forme de " a "și culoarea lor. Culoarea este stocată în formă indexată, la fel ca în fișierele GIF.
Semnătura bucată pentru stratul JB2 - „Sjbz“, se poate referi la forme de bibliotecă externe - bucată „Djbz“. Informațiile despre culorile formularelor se află în bucăți "FGbz".
Toate astfel de bucăți sunt zdruncinate de Z-coder'om.
Semnătura fragmentului pentru stratul de fundal este "BG44", prim-planul este "FG44".
Din nou, toate aceste bucăți sunt împinse de coderul Z.
Alte informații.
Stratul de text este "TXTz". Textul recunoscut împreună cu locația acestuia pe pagină. Informațiile despre locație pot fi detaliate cuvintele sau liniile. Acest strat vă permite să utilizați căutarea cu evidențierea găsită pe pagină și documentele DjVu index.
Adnotările sunt "ANTz". Linkuri și informații despre straturile care trebuie afișate în mod prestabilit la deschiderea unui fișier.
"TXTz" și "ANTz" sunt trecute prin coderul Z.
În plus, informațiile despre codificator (bucata "CIDa") și așa mai departe pot fi codificate. Nu există un standard clar, dar aceste informații nu sunt, în principiu, necesare pentru decodificarea normală.
Limitări ale formatului.- Dimensiunea maximă a paginii este de 65535x65535px
- Absența sumelor de control din interiorul formatului și a fragmentelor (fișierul rupt va fi încă despachetat, dar în porridge obscen). În practică, este mai bine să arhivați fișierele DjVu, ceea ce le garantează integritatea
- Absența criptografiei și restricțiile privind utilizarea informațiilor (campionii DRM fumează liniștit pe margine). Ei bine, nu este o limitare, ci un plus. Din câte știu, au existat încercări de a face un DjVu securizat pe baza celor obișnuite, dar nu sa întâmplat nimic valabil
Aici pe scurt și pe toate. Sunt interesat în special să mă refer la sursele DjVuLibre. Aș fi fericit dacă informațiile furnizate i-au ajutat să răspundă la întrebări și să înțeleagă subiectul.
Leon Bottou pentru informații valoroase despre dulciurile lui DjVu.