DICOM 파일은 단순한 이미지 파일이 아니다. '.dcm' 확장자를 가진 이 파일 안에는 의료 영상 자체뿐만 아니라, 환자 정보, 검사 정보, 장비 정보 등 다양한 메타데이터가 함께 포함되어 있다.
표면적으로는 한 장의 CT나 MRI 이미지처럼 보일 수 있지만, 실제로는 수백 개의 "데이터 요소(Data Element)"가 조합된 구조로 이루어져 있다. 이 복잡한 구조 덕분에 의료기관은 DICOM 파일 하나만으로 영상 확인, 환자 식별, 검사 이력 추적까지 가능하다.
이번 글에서는 DICOM 파일의 전체적인 구조를 구성하는 핵심 개념인 File Format(파일 포맷)과 Meta Information(메타정보)에 대해 실무자의 눈높이에 맞춰 설명한다.
1. DICOM 파일은 어떻게 구성되는가
DICOM 파일은 크게 두 부분으로 나뉜다.
첫 번째는 File Meta Information Header라고 불리는 메타정보 영역이고,
두 번째는 Data Set이라고 불리는 실제 영상 및 환자 정보 데이터 영역이다.
구성 | 요소설명 |
File Preamble | 파일 시작부(128바이트), 일반적으로 비어 있음 |
DICOM Prefix | ‘DICM’이라는 4바이트 문자열 (식별 목적) |
File Meta Information | 파일 자체에 대한 정보 (버전, UID, Transfer Syntax 등) |
Data Set | 실제 DICOM 태그와 이미지 데이터를 포함하는 본문 영역 |
이러한 구조는 DICOM 3.0 표준에 의해 정의되어 있으며, 파일을 분석하거나 뷰어에서 로딩할 때 위 표에 기재된 순서대로 해석된다.
2. File Meta Information 영역
File Meta Information은 파일의 맨 앞부분에 위치한 메타정보 덩어리로,
DICOM 파일을 읽을 수 있는 필수적인 시스템 정보들이 담겨 있다.
주요 항목
태그 | 설명 |
(0002,0000) | File Meta Information Group Length |
(0002,0001) | File Meta Information Version |
(0002,0002) | Media Storage SOP Class UID |
(0002,0010) | Transfer Syntax UID (전송 문법) |
(0002,0012) | Implementation Class UID |
이 정보는 DICOM 파일을 처리하는 DICOM Reader 또는 PACS 서버가 파일을 어떻게 해석해야 하는지를 안내하는 역할을 한다.
특히 Transfer Syntax UID는 압축 여부, Endianness(바이트 순서) 등에 큰 영향을 준다.
3. DICOM Prefix와 Preamble
DICOM 파일은 일반적으로 128바이트의 Preamble로 시작된다. 이 부분은 표준상 특정 내용을 요구하지 않으며 대부분 비어 있다.
그 뒤에는 항상 ‘DICM’이라는 4바이트 문자열이 붙는다.
이 문자열이 있는 경우, 파일을 읽는 프로그램 입장에서 “이건 DICOM 파일이다”라고 인식하고 파싱을 시작하게 된다.
하지만 일부 DICOM 파일은 이 Prefix가 없는 경우도 존재한다. 이는 주로 내부 처리용 또는 연구용 파일에서 발견된다.
4. Data Set 영역
메타 정보를 지나면, 본격적인 데이터 영역인 Data Set이 등장한다.
여기에는 수백 개의 **DICOM 태그(Tag)**가 나열되어 있으며, 각 태그는 **Data Element(데이터 요소)**로 구성된다.
Data Element는 아래와 같은 구조를 따른다.
항목 | 설명 |
Tag | (그룹번호, 요소번호) 형식의 식별자 |
VR(Value Representation) | 데이터 타입 (예: PN, DA, UI 등) |
Length | 값의 길이 |
Value | 실제 데이터 값 (예: 환자 이름, 생년월일 등) |
5. 구조 예시: 간단한 DICOM 파일
예를 들어, 다음은 아주 단순한 DICOM 파일의 구성 예다. (DICOM 전용 뷰어로 파일을 읽어들인 상황으로 가정하고 보자.)
128 bytes -> Preamble (비어 있음)
4 bytes -> ‘DICM’
(0002,0000) -> Meta Length
(0002,0001) -> Meta Version
(0010,0010) -> Patient Name (홍길동)
(0010,0020) -> Patient ID (123456)
(7FE0,0010) -> Pixel Data (영상)
이와 같은 구조를 통해 하나의 DICOM 파일 안에
"누가(환자), 언제(지역, 병원), 어디서 어떤 장비로 찍었는지 + 의료 영상"까지 모두 포함된다는 것을 알 수 있다.
6. 왜 구조를 이해해야 하는가?
DICOM 파일의 구조를 이해하는 것은 단순히 파일을 열어보기 위해서만이 아니다.
다음과 같은 이유로 실무에서 구조 이해는 필수적이다.
- PACS 연동 시 오류 원인 파악 (UID 누락, Transfer Syntax 불일치 등)
- AI 모델 학습 시 원하는 태그만 추출하여 데이터셋 신규 구성
- 익명화 처리를 위한 환자 정보 위치 확인
- 새로운 영상 장비 도입 시 호환성 테스트 수행
즉, DICOM은 기술적으로 이해해야 제대로 다룰 수 있는 파일 형식이다.
결론
DICOM 파일은 단순한 이미지가 아니라, 정교하게 구조화된 메타데이터와 픽셀 데이터의 조합체다.
파일은 크게 File Meta Information과 Data Set으로 구성되며, 각 영역은 의료 영상 데이터를 안전하고 효율적으로 저장하고 전송하기 위한 역할을 한다.
이 구조를 이해하는 것은 PACS 연동, 의료 AI 데이터 전처리, 시스템 구축 등에서 필수적인 기술로 자리잡고 있다.
앞으로 이어질 시리즈에서는 각 구조의 세부 항목들, 특히 DICOM 태그와 VR의 개념을 더욱 깊이 있게 다룰 예정이다.
'개발 > DICOM 이야기' 카테고리의 다른 글
06. DICOM 태그란 무엇인가 – 태그, VR, Length 이해하기 (0) | 2025.07.28 |
---|---|
05. DICOM 객체(Object)와 데이터 요소(Data Element) (1) | 2025.07.28 |
03. DICOM vs HL7 – 의료 정보 표준 비교 (1) | 2025.07.28 |
02. DICOM의 역사와 필요성 – PACS 도입 전후의 변화 (1) | 2025.07.28 |
01. DICOM(Digital Imaging and Communications in Medicine)이란? 의료 영상 표준 파일의 정의와 역할 (0) | 2025.07.28 |