aspose.info
AZ

JPEG - Şəkil faylı formatı

Yeniləndi

JPEG faylı nədir?

JPEG itkili sıxılma üsulu ilə saxlanılan bir şəkil formatıdır. Sıxılma nəticəsində çıxan görüntü yaddaşın ölçüsü ilə görüntü keyfiyyəti arasında mübadilədir. İstifadəçilər istədiyiniz keyfiyyət səviyyəsinə nail olmaq üçün sıxılma səviyyəsini tənzimləyə, eyni zamanda yaddaşın ölçüsünü azalda bilərlər. Şəkilə 10:1 sıxılma tətbiq edilərsə, şəkil keyfiyyətinə cüzi dərəcədə təsir edir. Sıxılma dəyəri nə qədər yüksək olarsa, görüntü keyfiyyətinin pisləşməsi bir o qədər yüksək olar.

Fayl Formatının Xüsusiyyətləri

JPEG şəkil fayl formatı Birgə Fotoqrafiya Mütəxəssisləri Qrupu tərəfindən standartlaşdırılıb və buna görə də JPEG adı. Format internetdə foto şəkillərin saxlanması və ötürülməsi seçimi olmuşdur. Demək olar ki, bütün Əməliyyat sistemlərində indi JPEG şəkillərinin vizuallaşdırılmasını dəstəkləyən izləyicilər var, onlar tez-tez JPG genişləndirilməsi ilə də saxlanılır. Hətta veb brauzerlər JPEG şəkillərinin vizuallaşdırılmasını dəstəkləyir. JPEG fayl formatının spesifikasiyalarına keçməzdən əvvəl, JPEG-in yaradılmasında iştirak edən addımların ümumi prosesini qeyd etmək lazımdır.

JPEG Sıxılma Addımları

Transformasiya: Rəngli şəkillər RGB-dən parlaqlıq/xrominasiya təsvirinə çevrilir (Göz rənglənməyə deyil, parlaqlığa həssasdır, beləliklə, rənglilik hissəsi çox məlumat itirə bilər və beləliklə, yüksək sıxılmış ola bilər.

Aşağı Nümunə Alma: Aşağı seçmə parlaqlıq komponenti üçün deyil, rəngli komponent üçün aparılır. Aşağı seçmə ya üfüqi olaraq 2:1 və şaquli olaraq 1:1 nisbətində aparılır (2 saat 1 V). Beləliklə, ‘y’ komponentinə toxunulmadığı üçün şəkil ölçüsü azalır, görüntü keyfiyyətində nəzərəçarpacaq itki yoxdur.

Qruplarda təşkil: Hər bir rəng komponentinin pikselləri 8×2 piksellik qruplarda təşkil edilir, əgər sətirlərin və ya sütunların sayı 8-dən çox deyilsə, məlumat vahidləri” adlanır, aşağı sətir və ən sağdakı sütunlar təkrarlanır.

Discrete Cosine Transformation: Discrete Cosine Transformation (DCT) sonra hər bir məlumat vahidinə transformasiya edilmiş komponentlərin 8×8 xəritəsini yaratmaq üçün tətbiq edilir. DCT kompüter hesabının məhdud dəqiqliyinə görə bəzi məlumat itkisini nəzərdə tutur. Bu o deməkdir ki, xəritə olmasa belə, görüntü keyfiyyətində müəyyən itkilər olacaq, lakin adətən kiçikdir.

Kvantlaşdırma: Məlumat vahidindəki 64 transformasiya edilmiş komponentin hər biri Kvantlaşdırma əmsalı (QC) adlı ayrıca ədədə bölünür və sonra tam ədədə yuvarlaqlaşdırılır. İnformasiyanın geri qaytarıla bilməyəcəyi yer budur, Böyük QC daha çox itkiyə səbəb olur. Ümumiyyətlə, əksər JPEG alətləri JPEG standartı tərəfindən tövsiyə olunan QC cədvəllərindən istifadə etməyə imkan verir.

Kodlaşdırma: Hər bir məlumat vahidinin 64 kvantlaşdırılmış transformasiya edilmiş əmsalı (indi tam ədədlərdir) RLE və Huffman kodlaşdırmasının birləşməsindən istifadə etməklə kodlaşdırılır.

Başlığın əlavə edilməsi: Son addım başlığı və istifadə edilən bütün JPEG parametrlərini əlavə edir və nəticəni çıxarır.

JPEG dekoderi sıxılmışdan orijinal təsviri yaratmaq üçün tərs addımlardan istifadə edir.

Fayl strukturu

JPEG şəkli hər seqmentin markerlə başladığı seqmentlər ardıcıllığı kimi təqdim olunur. Hər bir marker 0xFF baytı ilə başlayır və ardınca markerin növünü göstərmək üçün marker bayrağı gəlir. Markerin ardınca gələn faydalı yük marker növünə görə fərqlidir. Ümumi JPEG marker növləri aşağıdakı kimidir:

Qısa adBaytYükAdŞərhlər
SOI0xFF, 0xD8heç biriŞəkilin başlanğıcı
S0F00xFF, 0xC0dəyişən ölçüÇərçivənin başlanğıcı
S0F20xFF, 0xC2dəyişən ölçüÇərçivə üçün başlanğıc
DHT0xFF, 0xC4dəyişən ölçüHufman cədvəllərini müəyyənləşdirin
DQT0xFF, 0xDBdəyişən ölçüKvantlaşdırma Cədvəl(lər)ini müəyyənləşdirin
DRI0xFF, 0xDD4 baytYenidən Başlama Aralığını Müəyyən Edin
SOS0xFF, 0xDAdəyişən ölçüSkanın Başlanması
RSTn0xFF, 0xD//n//(//n//#0..7)heç biriYenidən başladın
APPn0xFF, 0xE//n//dəyişən ölçüTətbiq üçün xüsusi
COM0xFF, 0xFEdəyişən ölçüŞərh
EOI0xFF, 0xD9heç biriŞəklin Sonu

Entropiya kodlu məlumat daxilində, hər hansı 0xFF baytdan sonra kodlayıcı tərəfindən növbəti baytdan əvvəl 0x00 bayt daxil edilir ki, heç birinin nəzərdə tutulmadığı yerdə marker görünməsin və çərçivə səhvlərinin qarşısını alır. Dekoderlər bu 0x00 baytı atlamalıdırlar. byte stuffing adlanan bu texnika (JPEG spesifikasiyası bölməsi F.1.2.3-ə baxın) yalnız entropiya ilə kodlanmış məlumatlara tətbiq edilir, faydalı yük məlumatlarına deyil. Bununla belə, qeyd edin ki, entropiya kodlu verilənlərin özünəməxsus bir neçə markerləri var; xüsusilə Paralel dekodlamağa imkan vermək üçün entropiya ilə kodlanmış məlumatların müstəqil hissələrini təcrid etmək üçün istifadə edilən Sıfırlama markerləri (0xD0 - 0xD7) və kodlayıcılar bu Sıfırlama markerlərini müntəzəm olaraq daxil etməkdə sərbəstdirlər (baxmayaraq ki, bütün kodlayıcılar bunu etmir).

Həmçinin bax