• Kengaytirilgan GIF bloki.
  • 6.4.3. LZW siqish algoritmi
  • O‘zbekiston respublikasi oliy va o‘rta maxsus ta’lim vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti




    Download 6,82 Mb.
    Pdf ko'rish
    bet100/176
    Sana17.05.2024
    Hajmi6,82 Mb.
    #239848
    1   ...   96   97   98   99   100   101   102   103   ...   176
    Bog'liq
    F.F. Rajabov, N.S. Atadjanova, N.A. Irmuxamedova Raqamli

    Terminator GIF. 
    GIF fayl tasviining oxiri bilan sinxronlash uchun, 
    GIF dekoderi tasvirni qayta ishlashni tugatgandan so‘ng o‘n oltilik 0x3B 
    belgisi topilishi kerak. An’anaga ko‘ra, dekodlash dasturlari to‘xtatib
    turishi va foydalanuvchi davom etishga tayyorligini ko‘rsatadigan 
    harakatlarni kutishi kerak (bu klaviaturani tugmachasini yoki sichqon-
    chani bosish bo‘lishi mumkin). Interfaol ilovalar vagon uchun hisoblash 
    jarayoni davom etishi uchun foydalanuvchining ushbu harakatlari OT 
    yadrosiga “Return (qaytish) Enter” kodi sifatida uzatilishi kerak.
    Kengaytirilgan GIF bloki. 
    GIF ta’rifining to‘g‘ri kengaytmasini 
    ta’minlash uchun GIF ma’lumotlar oqimi ichida qadoqlashni aniqlash 
    mexanizmi kerak. Ushbu kengaytma CompuServe tomonidan 
    boshqariladigan kengaytmalarni ta’minlash uchun aniqlangan va 
    hujjatlashtirilgan.
    Kengaytirilgan GIF bloki (6.4-jadval) rastr ma’lumotlari uchun 
    ishlatiladiganga o‘xshash tarzda qadoqlangan bo‘lib, lekin siqilmaydi.
    Kengaytirilgan GIF bloki tasvir deskriptoridan oldin yoki GIF 
    terminatoridan oldin bo‘lishi mumkin.
    Barcha GIF dekoderlari kengaytirilgan GIF blokining mavjudligini 
    bilishi va agar funksiya kodini qayta ishlay olmasa, hech bo‘lmasa 
    uni o‘qishi kerak. Bu eski dekoderlar kelajakda GIF tasvir fayllarini 
    qo‘shimcha funksiyalarsiz bo‘lsada, ishlov berishini ta’minlaydi.
    6.4.3. LZW siqish algoritmi
    Fayllar egallagan xotira hajmini kamaytirish uchun dasturlar yoki 
    matematik algoritmlardan foydalanilganda, fayllar siqilgan deyiladi. 
    Ma’lumotlarni saqlash uchun zarur bo‘lgan xotira hajmini kamaytirish 
    uchun turli tashkiliy yondashuvlar qo‘llaniladi. Usullarni ikki toifaga 
    bo‘lish mumkin: butun faylni siqish va fayl tuzilishiga kiritillarni 
    siqish. Butun faylni siqishda siqish dasturi uning barcha ma’lumotlarini 
    o‘qiydi, unga siqish algoritmini qo‘llaydi va yangi fayl yaratadi. Fayl 
    hajmi sezilarli kichraygan bo‘lishi mumkin, ammo bitta kamchilik bor 
    – fayl asl holatiga qaytarilmaguncha hech qanday dastur tomonidan 
    foydalana ololmaydi.
    Siqish fayl strukturasining bir qismi bo‘lishi va uning ichida ishlashi 
    mumkin. Bunday holda, bunday formatdagi fayllarni o‘qish uchun 


    171
    mo‘ljallangan dasturlar siqilgan ma’lumotlar bilan ishlashda “berk 
    ko‘chaga” kirib qolmaydi va ichki siqish shu sabab qulay hisoblanadi.
    Lempel-Ziv va Welch (LZW) algoritmi bir qator ma’lumotlar 
    qiymatlarini bir qator kodlarga aylantiradi, bu qiymatlarning o‘zi 
    yoki bir qator qiymatlarni tavsifovchi kodlar bo‘lishi mumkin. Matn 
    simvollari kabi o‘xshashlikdan foydalanib, chiqish kodlari belgi 
    (simvol)lar qatorlarini tavsifovchi belgilar va kodlardan iborat bo‘ladi.
    GIF-da ishlatiladigan LZW algoritmi algoritmik jihatdan standart 
    LZW algoritmi bilan bir xil bo‘lib, quyidagi farqlarga ega:
    1. Barcha siqish-kengaytirish va jadval sozlamalarini boshlang‘ich 
    holatiga qaytaradigan maxsus “tozalash kodi” mavjud. Ushbu kodning 
    qiymati “tozalash kodi” = 2 

    ga teng. Misol uchun, agar 
    4 bo‘lsa kodlash o‘lchami (tasvirdagi har bir piksel 4 bitli kod bilan 
    ifodalangan), unda tozalash kodi 2
    4
    =16 (ikkilik sanoq tizimida “10 000” 
    ga teng). Tozalash kodi ma’lumotlar oqimining istalgan joyida paydo 
    bo‘lishi mumkin va shuning uchun LZW algoritmidan keyingi kodlarni 
    yangi ma’lumotlar oqimi boshlangandek qayta ishlashni talab qiladi. 
    Kodlovchi tozalash kodini har bir tasvir ma’lumot oqimidagi birinchi 
    kod sifatida chiqarishi kerak.
    2. Axborot kodining oxiri aniqlanaydigan tasvir ma’lumotlari 
    oqimining tugashini aniq ko‘rsatuvchi kod mavjud. Agar LZW bunday 
    kodga duch kelsa, ishlashni to‘xtatadi. Bu kod tasvir uchun kodlovchi 
    (koder) tomonidan yaratilgan oxirgi kod bo‘lishi kerak. Ushbu kodning 
    qiymati “tozalash kodi” +1 ga teng.
    3. Siqish kodining birinchi qiymati “tozalash kodi” +2 ga teng.
    4. Chiqishdagi natija kodlar uzunligi o‘zgaruvchan bo‘lib, har bir 
    kod uchun  +1 bitdan 12 bitgacha bo‘lishi mumkin. 
    Shunday qilib, kodning maksimal qiymati 4 095 (o‘n oltilik sanoq 
    tizimida FFF
    16 
    = 4095
    10
    ) deb belgilangan. LZW-kodning qiymati joriy 
    kod uzunligidan oshib ketishi bilanoq, kodning xona (bit)si bittaga 
    oshiriladi. Ushbu kodlarning qadoqlovchi va ochuvchisi yangi kod 
    uzunligiga mos kelishi uchun o‘zgartiriladi.

    Download 6,82 Mb.
    1   ...   96   97   98   99   100   101   102   103   ...   176




    Download 6,82 Mb.
    Pdf ko'rish

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    O‘zbekiston respublikasi oliy va o‘rta maxsus ta’lim vazirligi muhammad al-xorazmiy nomidagi toshkent axborot texnologiyalari universiteti

    Download 6,82 Mb.
    Pdf ko'rish