U E D R , A S I H C RSS

PNG File Format/File Structure

파일 구조

PNG 파일은 PNG 시그너처와 여러개의 chunk로 루어짐.

1. PNG file 시그너처

  • PNG파일의 처음 8바트는 다음의 십진 값들로 시작.

    137 80 78 71 13 10 26 10
      

2. Chunk Layout

  • 각 chunk는 네 부분으로 나뉘어진다.
    • Length : 4바트. Length, Chunk Type, CRC 길는 포함되지 않은 값다.
    • Chunk Type : 4바트. 반드시 알파벳어야 함(편리함. 가독성을 위해). 엔코더, 디코더는 값을 진 값으로 인지.
    • Chunk Data : Type 에 따른 데터. 길가 0일수 있음.
    • CRC : Chunk Type + Chunk Data 에 대한 4 바트 CRC 값.

3. Chunk 름짓기 규칙

4. CRC 알고리즘

5. Chunk Spec.

  • 제일 처음에는 IHDR chunk가 오는데, 다음의 요소로 루어져 있다.
    • Width : 픽셀단위의 미지 너비
    • Height : 픽셀단위의 미지 높
    • Bit depth : 하나의 샘플(픽셀과는 다른개념)당 또는 파레트 인덱스당 쓰는 비트의 수
    • Compression method : 미지 데터를 압축하는데 쓰는 방법
    • Filter method : 미지 데터에 대한 전처리 방법. Compression과 관련.
    • Interlace method : 미지에 대한 비트오더.
      Color Type Allowed Bit Depths Interpretation
      0 1,2,4,8,16 Each pixel is a grayscale sample.
      2 8, 16 Each pixel is an R, G, B triple.
      3 1, 2, 4, 8 Each pixel is a palette index; a PLTE chunk must appear.
      4 8, 16 Each pixel is a grayscle sample, followed by an alpha sample.
      6 8, 16 Each pixel is an R, G, B triple, followed by an alpha sample.

  • PLTE chunk : 256개의 엔트리를 갖음. R, G, B 색상)
  • IDAT chunk : 실제 픽셀값. IDAT는 여러개가 올 수 있다. (see also PNGFileFormat/ImageData)
  • IEND chunk : 반드시 chunk 로 끝나야 함. Data 길는 0.

Summary

Name 여러개 허용? 파일상의 위치 제약
IHDR x 반드시 제일 앞에 와야함 (처음의 8비트 제외)
PLTE x IDAT전에 와야함
IDAT o 여러개가 사용된다면 반드시 연속적어야 함
IEND x 반드시 제일 끝에 와야 함
----
PNGFileFormat
Valid XHTML 1.0! Valid CSS! powered by MoniWiki
last modified 2021-02-07 05:23:58
Processing time 0.0137 sec