본문 바로가기
기술자료/JPEG 압축 영상

[JPEG]JPEG 포맷

by 알 수 없는 사용자 2009. 8. 20.
728x90
반응형
JPEG 데이타 포맷 구성 

JPEG 파일 구조란?
: JFIF(JPEG File Interchange Format)을 의미


JFIF 구조



각 블록은 Marker에 의해 구분된다.
Marker는 &HFF로 시작되는 두 바이트 데이터로 marker 하나로 끝나는 것도 있고 marker 뒤에 추가 데이터가 더 붙는 것도 있다.
추가 데이터가 더 붙는 경우 marker 뒤에 2바이트의 데이터 길이가 오고 그 다음 추가 데이터가 온다.
데이터 길이는 데이터 길이 필드를 포함한 길이다.
한가지 주의할 것이 지금까지 살펴본 그래픽 파일에서는 상위 바이트와 하위 바이트의 순서가 바뀌어서 저장되어 있는데 JPEG 파일에서는 그 순서가 뒤바뀌어서 저장되지 않는다는 점이다.
예를 들어 &H12 &H3F 순으로 저장되어 있다면 &H3F12가 아니고 &H123F를 가리키는 것이다.

추가 데이터가 오는 경우 마커 세그먼트 구조는 아래와 같다.


『마커 세그먼트의 기술법』
 
마커는 총 2바이트로
상위 1byte는 FF로 시작해서 하위 1byte에 구분 코드가 오는데 이때 00과 FF는 사용 할 수 없다. (특정 의미를 지님)


JFIF에서 사용되는 marker는 표 1과 같다.

분류 심볼 설명
추가 데이터 없음 FFD0~FFD7 RST0~RST7 Restart marker
FFD8 SOI Start Of Image
FFD9 EOI End Of Image
추가 데이터 있음 FFC0~FFC2 SOF0~SOF2 Start Of Frame
FFC4 DHT Deine Huffman Tables
FFDA SOS Start Of Scan
FFDB DQT Define Quantization Tables
FFDD DRI Define Restart Interval
FFE0~FFEF APP0~APP15 Application specific data
FFFE COM Commnet

표 1 JFIF에서 사용되는 marker

JPEG 표준에는 이보다 더 많은 marker들이 정의되어 있으나 JFIF에서는 거의 쓰이지 않는다.



이제 예제 JPEG 이미지 헥사 코드를 통해 설명 하겠다.
예제 JPEG는 간단한
요 이미지로 이미지 정보는 아래와 같다.
아래 등록 정보는 헥사코드 분석시 비교를 위해 캡쳐해 두었다.





예제 JPEG 헥사 코드 전체보기




데이타의 구조계층 : 이미지


《SOI와 APP0 JFIF Marker》

《DQT Marker》




데이타 구조계층 : 프레임



《SOF Marker》


 

데이타 구조계층 : 스캔



《SOS Marker》




데이타 구조계층 : 영상데이타



《영상데이타》


728x90