jpeg header 구조 - tistorycfs6.tistory.com/upload_control/download.blog?fhandle... · sofn lf p y...
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진수의의미)](https://reader033.vdocuments.net/reader033/viewer/2022041623/5e4033c512414e42f5465d5a/html5/thumbnails/1.jpg)
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진수의의미)](https://reader033.vdocuments.net/reader033/viewer/2022041623/5e4033c512414e42f5465d5a/html5/thumbnails/2.jpg)
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진수의의미)](https://reader033.vdocuments.net/reader033/viewer/2022041623/5e4033c512414e42f5465d5a/html5/thumbnails/3.jpg)
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진수의의미)](https://reader033.vdocuments.net/reader033/viewer/2022041623/5e4033c512414e42f5465d5a/html5/thumbnails/4.jpg)
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진수의의미)](https://reader033.vdocuments.net/reader033/viewer/2022041623/5e4033c512414e42f5465d5a/html5/thumbnails/5.jpg)
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진수의의미)](https://reader033.vdocuments.net/reader033/viewer/2022041623/5e4033c512414e42f5465d5a/html5/thumbnails/6.jpg)
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진수의의미)](https://reader033.vdocuments.net/reader033/viewer/2022041623/5e4033c512414e42f5465d5a/html5/thumbnails/7.jpg)
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진수의의미)](https://reader033.vdocuments.net/reader033/viewer/2022041623/5e4033c512414e42f5465d5a/html5/thumbnails/8.jpg)
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진수의의미)](https://reader033.vdocuments.net/reader033/viewer/2022041623/5e4033c512414e42f5465d5a/html5/thumbnails/9.jpg)
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진수의의미)](https://reader033.vdocuments.net/reader033/viewer/2022041623/5e4033c512414e42f5465d5a/html5/thumbnails/10.jpg)
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진수의의미)](https://reader033.vdocuments.net/reader033/viewer/2022041623/5e4033c512414e42f5465d5a/html5/thumbnails/11.jpg)
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진수의의미)](https://reader033.vdocuments.net/reader033/viewer/2022041623/5e4033c512414e42f5465d5a/html5/thumbnails/12.jpg)
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진수의의미)](https://reader033.vdocuments.net/reader033/viewer/2022041623/5e4033c512414e42f5465d5a/html5/thumbnails/13.jpg)
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진수의의미)](https://reader033.vdocuments.net/reader033/viewer/2022041623/5e4033c512414e42f5465d5a/html5/thumbnails/14.jpg)
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진수의의미)](https://reader033.vdocuments.net/reader033/viewer/2022041623/5e4033c512414e42f5465d5a/html5/thumbnails/15.jpg)
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진수의의미)](https://reader033.vdocuments.net/reader033/viewer/2022041623/5e4033c512414e42f5465d5a/html5/thumbnails/16.jpg)
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진수의의미)](https://reader033.vdocuments.net/reader033/viewer/2022041623/5e4033c512414e42f5465d5a/html5/thumbnails/17.jpg)
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진수의의미)](https://reader033.vdocuments.net/reader033/viewer/2022041623/5e4033c512414e42f5465d5a/html5/thumbnails/18.jpg)
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진수의의미)](https://reader033.vdocuments.net/reader033/viewer/2022041623/5e4033c512414e42f5465d5a/html5/thumbnails/19.jpg)
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진수의의미)](https://reader033.vdocuments.net/reader033/viewer/2022041623/5e4033c512414e42f5465d5a/html5/thumbnails/20.jpg)
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진수의의미)](https://reader033.vdocuments.net/reader033/viewer/2022041623/5e4033c512414e42f5465d5a/html5/thumbnails/21.jpg)
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진수의의미)](https://reader033.vdocuments.net/reader033/viewer/2022041623/5e4033c512414e42f5465d5a/html5/thumbnails/22.jpg)
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진수의의미)](https://reader033.vdocuments.net/reader033/viewer/2022041623/5e4033c512414e42f5465d5a/html5/thumbnails/23.jpg)
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진수의의미)](https://reader033.vdocuments.net/reader033/viewer/2022041623/5e4033c512414e42f5465d5a/html5/thumbnails/24.jpg)
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 를 형성