본문 바로가기

전체 글

(31)
카테고리 없음
JPEG 종류 1. Baseline JPEG:가장 기본적인 JPEG 코딩 방식이며, 대부분의 JPEG 이미지에서 사용됩니다.Sequential DCT (Discrete Cosine Transform) 기반으로, 이미지를 8x8 블록으로 나누어 DCT 변환을 수행하고 양자화 및 허프만 코딩을 적용합니다.YCrCb 색상 공간을 사용하며, 색상 성분에 대한 다운샘플링(chroma subsampling)을 통해 압축률을 높입니다. (예: 4:2:0, 4:2:2)대부분의 이미지 뷰어 및 편집기에서 지원됩니다.SOF0 (Start of Frame 0) 마커를 사용합니다 (FF C0).2. Extended Sequential JPEG:Baseline JPEG와 유사하지만, 더 높은 정확도(precision)를 지원합니다 (8비트 .. 2025.04.08
카테고리 없음
JPEG 파일 구조 JPEG (Joint Photographic Experts Group)는 손실 압축 방식을 사용하는 대표적인 이미지 파일 형식입니다. JPEG 파일은 이미지 데이터를 효율적으로 저장하기 위해 복잡한 구조를 가지고 있으며, 여러 개의 마커(Marker)를 사용하여 이미지 정보를 구성합니다.1. JPEG 파일의 기본 구조:JPEG 파일은 다음과 같은 기본적인 구조를 가집니다.[SOI (Start of Image) 마커] [APPn 마커 (선택 사항)] [SOFn (Start of Frame) 마커] [DHT (Define Huffman Table) 마커] [DQT (Define Quantization Table) 마커] [SOS (Start of Scan) 마커] [압축된 이미지 데이터] [EOI (End .. 2025.04.08
카테고리 없음
파일 형식 식별에 사용되는 정보 "파일 형식 식별"에 사용되는 정보 (매직 넘버)의 주소와 길이, 그리고 해당 파일 형식의 핵심 정보가 담긴 주요 데이터 구조체의 주소와 길이에 대한 정보파일 형식매직 넘버 주소매직 넘버 길이 (바이트)주요 데이터 구조체 (예시)주소 (파일 시작 기준)길이 (바이트)비고JPEG0x004SOF0 (Start of Frame) 마커0x02 ~ (SOI 마커 이후)SOF0 마커의 Length 필드 값 (2바이트)SOF0 마커에는 이미지 폭, 높이, 색상 구성 요소 등의 정보가 담겨 있음PNG0x008IHDR 청크0x08(IHDR 청크 데이터 길이 13) + 청크 유형 (4) + 길이 (4) + CRC (4) = 25IHDR 청크에는 이미지 폭, 높이, 색상 유형, 비트 깊이 등의 정보가 담겨 있음GIF0x00.. 2025.04.08
카테고리 없음
매직 넘버와 IHDR 청크의 위치 (주소)를 찾는 방법 1. 매직 넘버 주소:매직 넘버는 일반적으로 파일의 가장 처음 (offset 0) 에 위치합니다. 예외적인 경우가 있을 수 있지만, 대부분의 파일 형식은 파일 시작 부분에 매직 넘버를 배치하여 파일 형식을 빠르게 식별할 수 있도록 합니다.2. IHDR 청크 주소 (PNG 파일):PNG 파일에서 IHDR 청크는 매직 넘버 바로 뒤에 위치합니다. PNG 파일 구조는 다음과 같습니다.[PNG 매직 넘버 (8 bytes)] [IHDR 청크 (13 + 4 + 4 = 21 bytes 이상)] [다른 청크들...]따라서 IHDR 청크의 주소는 다음과 같이 계산할 수 있습니다.IHDR 청크 시작 주소: PNG 매직 넘버의 길이 (8 바이트)예시:PNG 파일을 예시로 들어 설명하겠습니다.PNG 매직 넘버 (8 bytes.. 2025.04.08
카테고리 없음
IHDR 청크의 "매직 넘버"? 이미지 속성에 숨겨진 고정 값들 IHDR 청크 자체는 매직 넘버처럼 파일 전체의 형식을 식별하는 역할은 하지 않지만, IHDR 청크 내부에 고정된 값들이 존재하여, 해당 청크가 올바른 IHDR 청크임을 검증하는 데 도움을 줄 수 있습니다. 이러한 고정 값들을 "IHDR 청크의 매직 넘버"라고 부르기는 어렵지만, 유사한 역할을 수행한다고 볼 수 있습니다.IHDR 청크의 "매직 넘버" 예시:필드값 (Hex)설명Chunk Type49 48 44 52항상 "IHDR" 문자열로 고정됩니다. 이 값은 해당 청크가 IHDR 청크임을 나타내는 핵심적인 지표입니다.Length00 00 00 0DIHDR 청크의 데이터 필드 길이는 항상 13바이트로 고정됩니다. 다른 길이를 가진다면 잘못된 IHDR 청크입니다.Compression Method00현재 PN.. 2025.04.08