2015-01-13 1 views
0

어떤 MCU (8x8, 16x8 및 16x16)의 사진을 찾으려고합니다. 이를 위해 채도 서브 샘플링 요소가 저장되는 프레임 시작 (SOFn) 마커를 구문 분석합니다.JPEG 크로마 샘플링의 해석 파일에서 읽기

Number of Img components = 3 
Component[1]: ID=0x01, Samp Fac=0x22 (Subsamp 1 x 1), Quant Tbl Sel=0x00 (Lum: Y) 
Component[2]: ID=0x02, Samp Fac=0x11 (Subsamp 2 x 2), Quant Tbl Sel=0x01 (Chrom: Cb) 
Component[3]: ID=0x03, Samp Fac=0x11 (Subsamp 2 x 2), Quant Tbl Sel=0x01 (Chrom: Cr) 

나는 그것을 해석하는 방법에 대한 혼란 스러워요 : 나는 다음과 같은 내용을 발견했다. 읽기 this 1x1은 4 : 4 : 4 샘플링을 의미하므로 8x8 픽셀 MCU, 4 : 2 : 2 -> 16x8 픽셀 MCU는 2x1, 4 : 2 : 0 -> 16x16 pixl MCU는 2x2로 나타납니다. .

모든 샘플링 속도는 구성 요소가 엔트로피 코딩 된 데이터에 저장되어 MCU로 연결되는 방법을 결정합니다. 그러나 이제 모든 구성 요소 (Y, Cb, Cr)에는 자체 하위 샘플링 속도가 있습니다.

전체 이미지에서 MCU가 사용 된 것으로 판단하기 위해 JPEG 마커에서 읽은 날짜는 어떻게 해석합니까?

답변

0

JPEG의 경우 일반적으로 다양한 구성 요소가 다르게 샘플링됩니다. 이는 인간의 눈이 색 (색도)보다 휘도의 변화에 ​​더 민감하기 때문입니다.

예에서 휘도는 전체 주파수 (JPEG의 경우)에서 샘플링되는 반면 양 색 구성 요소는 모두 2x2 서브 샘플링됩니다 (또는 원하는 경우 가로 및 세로로 서브 샘플링 됨). 즉, 모든 채도 샘플에는 4 개의 휘도 샘플이 있습니다.

YCcY YCcY... 
Y Y Y Y... 
YCcY YCcY... 
Y Y Y Y... 
. . . . 
. . . . 

(이있는 픽셀은, 샘플 스트림에 YYYYCcYYYYCc...로 저장 될 수있다)

그래서, 질문 : :이 (여기서 C =의 Cb, c = CR)과 같은

뭔가 모든 구성 요소 중 가장 큰 서브 샘플링 요소가 MCU 크기를 결정합니다. 귀하의 경우 16x16.