jpeg header 구조 - tistorycfs6.tistory.com/upload_control/download.blog?fhandle... · sofn lf p y...

24
2000.12.11-2001.2.16 한국기술교육대학교 정보기술공학부 VLSI 및 CAD 연구실 1 JPEG HD- JPEG Header 구조

Upload: others

Post on 24-Jan-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: JPEG Header 구조 - Tistorycfs6.tistory.com/upload_control/download.blog?fhandle... · SOFn Lf P Y XNf컴포넌트사양파라미터 C1 H1 V 1 ... DC 계수에는00H, 01H, AC 계수에는01H,11H의네종류이다.(H는16진수의의미)

2000.12.11-2001.2.16 한국기술교육대학교 정보기술공학부VLSI 및 CAD 연구실

1JPEG HD-

JPEG Header 구조

Page 2: JPEG Header 구조 - Tistorycfs6.tistory.com/upload_control/download.blog?fhandle... · SOFn Lf P Y XNf컴포넌트사양파라미터 C1 H1 V 1 ... DC 계수에는00H, 01H, AC 계수에는01H,11H의네종류이다.(H는16진수의의미)

2000.12.11-2001.2.16 한국기술교육대학교 정보기술공학부VLSI 및 CAD 연구실

2JPEG HD-

JPEG의 전체 구조(1)

JPEG 의 데이터 포맷

SOI (테이블 등) 프 레 임 EOI

비계층 부호화의 경우이미지 선두 마커

필요에 따라 삽입(DHT, DQT, DAC, DRI, COM, APP 등)

이미지 종료 마커

계층형 부호화의 경우

SOI (테이블등) EOIDHP 프레임1 (EXP) (테이블등)프레임2 …… 프레임N

계층형부호화임을 표시

필요에 따라 삽입(DHT, DQT, DAC, DRI, COM, APP 등)필요에 따라 삽입

이미지(

비계층형과

계층형으로

나뉨)

데이터의구조계층

Page 3: JPEG Header 구조 - Tistorycfs6.tistory.com/upload_control/download.blog?fhandle... · SOFn Lf P Y XNf컴포넌트사양파라미터 C1 H1 V 1 ... DC 계수에는00H, 01H, AC 계수에는01H,11H의네종류이다.(H는16진수의의미)

2000.12.11-2001.2.16 한국기술교육대학교 정보기술공학부VLSI 및 CAD 연구실

3JPEG HD-

JPEG의 전체 구조(2)

프레임

(

통)

데이터의구조계층

계층형 부호화의 경우

SOI (테이블등) EOIDHP 프레임1(EXP) (테이블등)프레임2 …… 프레임N

계층형부호화임을 표시필요에 따라 삽입(DHT, DQT, DAC, DRI, COM, APP 등)

필요에 따라 삽입

스캔2

① 프레임 헤더 이하의 데이터 길이(바이트 단위)② 1화소당 정밀도(비트수)③ 영상의 라인수④ 1라인당 화소수⑤ 색 성분의 사양

영상의 라인 수 지정(통상, 프레임 헤더만으로 지정)

SOI (테이블등)프레임헤 더

스캔1 (DNL) (테이블등) …… 스캔 M스캔2

필요에 따라(DHT, DQT, DAC, DRI, COM, APP등)

프레임 선두 마커

Page 4: JPEG Header 구조 - Tistorycfs6.tistory.com/upload_control/download.blog?fhandle... · SOFn Lf P Y XNf컴포넌트사양파라미터 C1 H1 V 1 ... DC 계수에는00H, 01H, AC 계수에는01H,11H의네종류이다.(H는16진수의의미)

2000.12.11-2001.2.16 한국기술교육대학교 정보기술공학부VLSI 및 CAD 연구실

4JPEG HD-

JPEG의 전체 구조(3)

(

통)

데이터의구조계층

SOS ECS0스캔 헤더

① 스캔 헤더 이하의 데이터 길이(바이트 단위)② 스캔 내 색 성분수③ 스펙트럼 선택개시④ 스펙트럼 선택 종료⑤ 연속 근사 비트 단위

에러 감시 • 회복용의주기적 인터벌 마커스캔의 선두 마커

RST0ECSi-1 RSTi-1

ECSi

SOI (테이블등)프레임헤 더

스캔1 (DNL) (테이블등) …… 스캔 M스캔2

Page 5: JPEG Header 구조 - Tistorycfs6.tistory.com/upload_control/download.blog?fhandle... · SOFn Lf P Y XNf컴포넌트사양파라미터 C1 H1 V 1 ... DC 계수에는00H, 01H, AC 계수에는01H,11H의네종류이다.(H는16진수의의미)

2000.12.11-2001.2.16 한국기술교육대학교 정보기술공학부VLSI 및 CAD 연구실

5JPEG HD-

JPEG의 전체 구조(4)

(

통)

데이터의구조계층

SOS ECS0스캔 헤더 RST0ECSi-1 RSTi-1

ECSi

<MCU 1> <MCU 2> …… … <MCU 1> <MCU 2> ……

SOI : Start OF Image, 이미지 선두마커 , DHP: Define Hierachical Progression, 기타 마커코드RST: Restart Inteval Termination, 표 4-1 참조

리스타트 간격 종단 마커EOI : End of Image, 이미지 종료 마커 SOF : Start of Frame, 프레임의 개시 마커SOS: Start of Scan,스캔의 선두마커 E X : Expand Rdfrence Component, 화소수의 확대지정COM: Comment, 간단한 사용자명령으로 마커, 필요에 따라 삽입

부호화에 영향을 끼치지 않는다. MCU : Minimum Coded Unit, 최소부호화 단위ECS: Entropy Coded Segment,

엔트로피 부호화 세그먼트

<비계층형 및 계층형 부호화방식에 의한 상호교환(인터체인지) 포맷>

Page 6: JPEG Header 구조 - Tistorycfs6.tistory.com/upload_control/download.blog?fhandle... · SOFn Lf P Y XNf컴포넌트사양파라미터 C1 H1 V 1 ... DC 계수에는00H, 01H, AC 계수에는01H,11H의네종류이다.(H는16진수의의미)

2000.12.11-2001.2.16 한국기술교육대학교 정보기술공학부VLSI 및 CAD 연구실

6JPEG HD-

비계층형 부호화 구조

Page 7: JPEG Header 구조 - Tistorycfs6.tistory.com/upload_control/download.blog?fhandle... · SOFn Lf P Y XNf컴포넌트사양파라미터 C1 H1 V 1 ... DC 계수에는00H, 01H, AC 계수에는01H,11H의네종류이다.(H는16진수의의미)

2000.12.11-2001.2.16 한국기술교육대학교 정보기술공학부VLSI 및 CAD 연구실

7JPEG HD-

비트스트림 데이터 구조

FFD8 : Start of Image (SOI)

FFE0 : JFIF Marker

FFDB : Quantization Table Marker

FFC4 : Huffman Table Marker

FFC0 : Frame Marker

FFDA : Scan Header Marker

FFDD : Restart Interval Marker

FFD9 : End of Image (EOI)

FFD9…FFDA…FFC0…FFC4…FFDB…FFE0FFD8

Page 8: JPEG Header 구조 - Tistorycfs6.tistory.com/upload_control/download.blog?fhandle... · SOFn Lf P Y XNf컴포넌트사양파라미터 C1 H1 V 1 ... DC 계수에는00H, 01H, AC 계수에는01H,11H의네종류이다.(H는16진수의의미)

2000.12.11-2001.2.16 한국기술교육대학교 정보기술공학부VLSI 및 CAD 연구실

8JPEG HD-

Marker 구조

marker segment length

marker segment datamarker

마커 : 2 바이트, FF로 시작

length : 2 바이트, 자신을 포함한 마커 세그먼트 데이터의 길이

마커 세그먼트 데이터 : 최대 65,533 바이트 데이터

- 마커 코드전이 가변장 부호로 끝나 바이트 경계가 되지 않을 때는

fill bit로 '1'을 채움

- 마커는 FF로 시작하고 두번째 바이트는 1 바이트의 코드 삽입

: 00H 및 FFH는 사용하지 않음

Page 9: JPEG Header 구조 - Tistorycfs6.tistory.com/upload_control/download.blog?fhandle... · SOFn Lf P Y XNf컴포넌트사양파라미터 C1 H1 V 1 ... DC 계수에는00H, 01H, AC 계수에는01H,11H의네종류이다.(H는16진수의의미)

2000.12.11-2001.2.16 한국기술교육대학교 정보기술공학부VLSI 및 CAD 연구실

9JPEG HD-

File 헤더

SOI 다음에 바로 JFIF Marker 가 오고 그 다음에 16byte 의 문자열이온다 .

모든 JPEG 파일에서 동일 .

JPEG 파일여부를 알 수 있음 .

JFIF JFIF 문자열SOI

Page 10: JPEG Header 구조 - Tistorycfs6.tistory.com/upload_control/download.blog?fhandle... · SOFn Lf P Y XNf컴포넌트사양파라미터 C1 H1 V 1 ... DC 계수에는00H, 01H, AC 계수에는01H,11H의네종류이다.(H는16진수의의미)

2000.12.11-2001.2.16 한국기술교육대학교 정보기술공학부VLSI 및 CAD 연구실

10JPEG HD-

마커 코드(1)

Page 11: JPEG Header 구조 - Tistorycfs6.tistory.com/upload_control/download.blog?fhandle... · SOFn Lf P Y XNf컴포넌트사양파라미터 C1 H1 V 1 ... DC 계수에는00H, 01H, AC 계수에는01H,11H의네종류이다.(H는16진수의의미)

2000.12.11-2001.2.16 한국기술교육대학교 정보기술공학부VLSI 및 CAD 연구실

11JPEG HD-

마커 코드(2)

Page 12: JPEG Header 구조 - Tistorycfs6.tistory.com/upload_control/download.blog?fhandle... · SOFn Lf P Y XNf컴포넌트사양파라미터 C1 H1 V 1 ... DC 계수에는00H, 01H, AC 계수에는01H,11H의네종류이다.(H는16진수의의미)

2000.12.11-2001.2.16 한국기술교육대학교 정보기술공학부VLSI 및 CAD 연구실

12JPEG HD-

마커 코드(3)

Page 13: JPEG Header 구조 - Tistorycfs6.tistory.com/upload_control/download.blog?fhandle... · SOFn Lf P Y XNf컴포넌트사양파라미터 C1 H1 V 1 ... DC 계수에는00H, 01H, AC 계수에는01H,11H의네종류이다.(H는16진수의의미)

2000.12.11-2001.2.16 한국기술교육대학교 정보기술공학부VLSI 및 CAD 연구실

13JPEG HD-

마커 코드(4)

Page 14: JPEG Header 구조 - Tistorycfs6.tistory.com/upload_control/download.blog?fhandle... · SOFn Lf P Y XNf컴포넌트사양파라미터 C1 H1 V 1 ... DC 계수에는00H, 01H, AC 계수에는01H,11H의네종류이다.(H는16진수의의미)

2000.12.11-2001.2.16 한국기술교육대학교 정보기술공학부VLSI 및 CAD 연구실

14JPEG HD-

프레임 헤더

1) 프레임 헤더 2) 프레임의 중요 정보는 컴포넌트 사양 파라미터로 설정

SOFn Lf P Y X Nf 컴포넌트 사양 파라미터

C1 H1 V1

Tq1 C2CNfH2 V

2

Tq2…… HNf VNf TqNf

SOFn : Start of Frame Market, 프레임 개시 마커 Ci: Component Identifier, 컴포넌트 식별정보Lf : Frame Header Length, 프레임 헤더의 길이 Hi: Horizontal Sampling Factor, 수평 샘플링 인자P : Sample Precision, 입력 영상 샘플의 양자화 비트수 Vi : Vertical Sampling Factor, 수직 샘플링 인자Y, X : Number of Line, 입력 영상의 크기 Tqi: Quantization Table Selector,Nf : Number of Image Components In Frame, 각 컴포넌트마다의 양자화 테이블의 선택정보

프레임을 구성하는 컴포넌트 수

< 프레임 헤더의 기술 예 >

Page 15: JPEG Header 구조 - Tistorycfs6.tistory.com/upload_control/download.blog?fhandle... · SOFn Lf P Y XNf컴포넌트사양파라미터 C1 H1 V 1 ... DC 계수에는00H, 01H, AC 계수에는01H,11H의네종류이다.(H는16진수의의미)

2000.12.11-2001.2.16 한국기술교육대학교 정보기술공학부VLSI 및 CAD 연구실

15JPEG HD-

프레임 헤더 SOF

Non-differential Huffman coding

FFC0 SOF0 Baseline DCT

FFC1 SOF1 Extended sequential DCT

FFC2 SOF2 Progressive DCT

FFC3 SOF3 Spatial (sequential) lossless

Differential Huffman coding

FFC5 SOF5 Differential sequential DCT

FFC6 SOF6 Differential progressive DCT

FFC7 SOF7 Differentail spatial

Page 16: JPEG Header 구조 - Tistorycfs6.tistory.com/upload_control/download.blog?fhandle... · SOFn Lf P Y XNf컴포넌트사양파라미터 C1 H1 V 1 ... DC 계수에는00H, 01H, AC 계수에는01H,11H의네종류이다.(H는16진수의의미)

2000.12.11-2001.2.16 한국기술교육대학교 정보기술공학부VLSI 및 CAD 연구실

16JPEG HD-

프레임 헤더 SOF

Non-differential arithmetic coding

FFC8 JPG Reserved for JPEG extensions

FFC9 SOF9 Extended sequential DCT

FFCA SOF10 Progressive DCT

FFCB SOF11 Spatial (sequential) lossless

Differential arithmetic coding

FFCD SOF13 Differential sequential DCT

FFCE SOF14 Differential progressive DCT

FFCF SOF15 Differential spatial

Page 17: JPEG Header 구조 - Tistorycfs6.tistory.com/upload_control/download.blog?fhandle... · SOFn Lf P Y XNf컴포넌트사양파라미터 C1 H1 V 1 ... DC 계수에는00H, 01H, AC 계수에는01H,11H의네종류이다.(H는16진수의의미)

2000.12.11-2001.2.16 한국기술교육대학교 정보기술공학부VLSI 및 CAD 연구실

17JPEG HD-

프레임헤더 파라미터

Page 18: JPEG Header 구조 - Tistorycfs6.tistory.com/upload_control/download.blog?fhandle... · SOFn Lf P Y XNf컴포넌트사양파라미터 C1 H1 V 1 ... DC 계수에는00H, 01H, AC 계수에는01H,11H의네종류이다.(H는16진수의의미)

2000.12.11-2001.2.16 한국기술교육대학교 정보기술공학부VLSI 및 CAD 연구실

18JPEG HD-

스캔헤더

1) 스캔 헤더 2) 스캔의 중요 정보는 컴포넌트 사양 파라미터로 설정

SOS Ls SS Se컴포넌트 사양 파라미터

Cs1 Td1 Ta1 Css Td2CSNSTa2

…… TaNS

SOS : Start of Scan, 스캔 개시 마커 Ah, Al: Successive Approximation Bit Position High(Ah)Ls : Scan Header Length, 스캔 헤더 길이 Low(Al), 연속근사방식시 비트 위치를 표시하는Ns : Number of Image Components In Scan 상위정보(Ah)와 하위 위치정보(Al)

스캔을 구성하는 컴포넌트 수 Csj : Scan Component Selector, 컴포넌트 선택정보Ss : Start of Spectral or Predictor Selection, Tdj : DC Entropy Coding Table Selector, DC 계수 엔트

스팩트럴 선택방식 또는 예측선택방식의 개시 로피 부호화 테이블의 선택정보Se : End of Spectral Selection, 스펙트럴 선택 Taj: AC Entropy Coding Table Selector, AC 계수 엔트로

방식의 종료 피 부호화 테이블의 선택정보

< 스캔 헤더의 기술 예 >

Ah Al

TdNS

Page 19: JPEG Header 구조 - Tistorycfs6.tistory.com/upload_control/download.blog?fhandle... · SOFn Lf P Y XNf컴포넌트사양파라미터 C1 H1 V 1 ... DC 계수에는00H, 01H, AC 계수에는01H,11H의네종류이다.(H는16진수의의미)

2000.12.11-2001.2.16 한국기술교육대학교 정보기술공학부VLSI 및 CAD 연구실

19JPEG HD-

스캔헤더 파라미터

Page 20: JPEG Header 구조 - Tistorycfs6.tistory.com/upload_control/download.blog?fhandle... · SOFn Lf P Y XNf컴포넌트사양파라미터 C1 H1 V 1 ... DC 계수에는00H, 01H, AC 계수에는01H,11H의네종류이다.(H는16진수의의미)

2000.12.11-2001.2.16 한국기술교육대학교 정보기술공학부VLSI 및 CAD 연구실

20JPEG HD-

양자화 테이블

DQT Lq PqTq Q0 Q1 Q63………………..

64개

DQT : Define Quantization Table. 양자화 테이블 마커Lq : Quantization Table Definition Length. 양자화 테이블 정의부의 길이 (바이트 수)Pq : Quantization Table Precision. 양자화 테이블의 정밀도.

0Byte의 경우 8bit이고 1Byte의 경우 16bit임을 표시. 기본방식에서는 0을 지정Tq : Quantization Table Identifier. 양자화 테이블 번호Qk : Quantization Table Element, 양자화 테이블 요소를 지그재그 스캔 순서로 배열한다.

그러나 Pq, Qk 는 테이블의 수만큼 반복된다.

양자화 테이블 : 64개의 양자화 스텝을 지그재그순으로 배열

Page 21: JPEG Header 구조 - Tistorycfs6.tistory.com/upload_control/download.blog?fhandle... · SOFn Lf P Y XNf컴포넌트사양파라미터 C1 H1 V 1 ... DC 계수에는00H, 01H, AC 계수에는01H,11H의네종류이다.(H는16진수의의미)

2000.12.11-2001.2.16 한국기술교육대학교 정보기술공학부VLSI 및 CAD 연구실

21JPEG HD-

양자화 표 파라미터

Page 22: JPEG Header 구조 - Tistorycfs6.tistory.com/upload_control/download.blog?fhandle... · SOFn Lf P Y XNf컴포넌트사양파라미터 C1 H1 V 1 ... DC 계수에는00H, 01H, AC 계수에는01H,11H의네종류이다.(H는16진수의의미)

2000.12.11-2001.2.16 한국기술교육대학교 정보기술공학부VLSI 및 CAD 연구실

22JPEG HD-

허프만 테이블

DHT Lh Th L1 L2 L16 심볼 길이 할당…….

V1,1 V1,2 V1,L1 V2,1 V2,2 V16,1 V16,L16…. …. ….

복수개

DHT : Defined Huffman Table. 허프만 테이블 마커Lh : Huffman Table Definition Length. 허프만 테이블 정의부의 길이 (바이트수)Th : Huffman Table Identifier. 허프만 테이블 번호. Th에 기술될 수 있는 번호는 기본방식으로,

DC 계수에는 00H, 01H, AC 계수에는 01H,11H의 네 종류이다.(H는 16진수의 의미)Li : Number of Huffman Codes of Length I. 부호길이 i 인 허프만 부호의 수Vi,j : Value Associated with Each Huffman Code. 각 부호길이 i 에 할당된 허프만 부호

허프만 테이블 : 허프만부호길이와 허프만부호를 세트로 포맷화

Page 23: JPEG Header 구조 - Tistorycfs6.tistory.com/upload_control/download.blog?fhandle... · SOFn Lf P Y XNf컴포넌트사양파라미터 C1 H1 V 1 ... DC 계수에는00H, 01H, AC 계수에는01H,11H의네종류이다.(H는16진수의의미)

2000.12.11-2001.2.16 한국기술교육대학교 정보기술공학부VLSI 및 CAD 연구실

23JPEG HD-

허프만 표 파라미터

Page 24: JPEG Header 구조 - Tistorycfs6.tistory.com/upload_control/download.blog?fhandle... · SOFn Lf P Y XNf컴포넌트사양파라미터 C1 H1 V 1 ... DC 계수에는00H, 01H, AC 계수에는01H,11H의네종류이다.(H는16진수의의미)

2000.12.11-2001.2.16 한국기술교육대학교 정보기술공학부VLSI 및 CAD 연구실

24JPEG HD-

Restart Interval Definition

Lr RiDRI

Lr : 2byte, Define restart interval segment length

Ri : 2byte, Restart interval; the number of MCU in the restart interval

MCU : Minimum Coded Unit

YCbCr 4:1:1 형식일 경우 Y 가 4 개 , Cb가 1 개 Cr이 1 개

총 6 개가 하나의 MCU 를 형성