aspose.info
PL

Plik JFIF - Co to jest plik .jfif?

Zaktualizowano

Czym jest plik JFIF?

JFIF (JPEG File Interchange Format (JFIF)) to plik formatu obrazu, który używa rozszerzenia .jfif. JFIF opiera się na JIF (JPEG Interchange Format), zmniejszając złożoność i rozwiązując jego ograniczenia.

Krótka historia JFIF

Rozwój dokumentu JFIF był prowadzony przez Erica Hamiltona, a pod koniec 1991 r. Zawarto porozumienie w sprawie pierwszej wersji. Wersja 1.02 została opublikowana 7 września 1992 r. RFC 2046 określał, że format JFIF jest używany do przesyłania obrazów JPEG przez Internet. JFIF został opublikowany przez ECMA w 2009 r. i został znormalizowany przez ITU-T w 2011 r. jako zalecenie T.871 oraz przez ISO/IEC w 2013 r. jako ISO/IEC 10918-5

Format pliku JFIF

Plik JFIF składa się z sekwencji znaczników zgodnie z definicją w części 1 standardu JPEG. Każdy znacznik składa się z dwóch bajtów (FF, po którym następuje bajt określający typ znacznika). Znaczniki mogą być samodzielne lub wskazywać początek segmentu znacznika.

JFIF pozwala wielu komponentom, takim jak Y, Cb, Cr, mieć różne rozdzielczości, ale ich wyrównanie nie jest zdefiniowane. W przeciwieństwie do JPEG, JFIF może dostarczać informacje o rozdzielczości i współczynniku proporcji. JFIF definiuje również używany model kolorów.

Struktura plików

SegmentKodOpis
SOIFF D8Początek obrazu
JFIF-APP0FF E0 s1 s2 4A 46 49 46 00 …
JFXX-APP0FF E0 s1 s2 4A 46 58 58 00 …
dodatkowe segmenty znaczników
SOSFF DAPoczątek skanowania
skompresowane dane obrazu
EOIFF D9Koniec obrazu

Standard JFIF definiuje następujące segmenty:

Segment znacznika JFIF APP0

Jest to obowiązkowy segment zawierający parametry obrazu. Może również zawierać osadzoną nieskompresowaną miniaturę.

PoleRozmiar (bajty)Opis
Znacznik APP02FF E0
Długość2Długość segmentu bez znacznika APP0
Identyfikator5JFIF (4A 46 49 46 00) w ASCII zakończony bajtem zerowym
Wersja JFIF2Wersja JFIF
Jednostki gęstości1Jednostki dla następujących pól gęstości pikseli 00 : Brak jednostek; szerokość:wysokość proporcji pikseli jest równa Ydensity:Xdensity 01 : Piksele na cal 02 : Piksele na centymetr
Xdensity2Gęstość pikseli w poziomie większa od zera
Ygęstość2Pionowa gęstość pikseli większa od zera
Xthumbnail1Pozioma liczba pikseli osadzonej miniatury RGB. Może wynosić zero
Ythumbnail1Pionowa liczba pikseli osadzonej miniatury RGB. Może wynosić zero
Dane miniatur3 × nNieskompresowane 24-bitowe dane miniatur rastrowych RGB

Rozszerzenie JFIF Segment znacznika APP0

Jest to opcjonalna sekcja, która, jeśli jest zdefiniowana, musi znajdować się bezpośrednio po segmencie znacznika JFIF APP0. Ta sekcja jest obsługiwana przez JFIF w wersji 1.02 i nowszych i umożliwia osadzanie miniatur w trzech różnych formatach.

PoleRozmiar (bajty)Opis
Znacznik APP02FF E0
Długość2Długość odcinka bez znacznika APP0
Identyfikator5JFXX (4A 46 58 58 00) w ASCII zakończony bajtem zerowym
Format miniatury1Określa, jaki format danych jest używany dla następującej osadzonej miniatury: 10 : Format JPEG 11: 1 bajt na piksel w formacie z paletą 13: 3 bajty na piksel Format RGB
Dane miniaturyzmienna

Konwersja JFIF do innych formatów plików graficznych

JFIF można konwertować do popularnych formatów plików graficznych, takich jak PNG, JPG i PDF.

Bibliografia

Zobacz też