본문 바로가기
Computer Science(컴퓨터 과학)/영상처리

영상 파일 형식 (RAW, PBM, PGM, PPM)

by BioLearner 2024. 10. 9.
반응형

 https://insight0591.tistory.com/7

영상 처리란?

스캐너, 디지털 카메라 등 다양한 장치를 통해 얻은 이미지나 컴퓨터로 생성된 이미지를 특정 목적에 맞게 조작하는 작업을 영상 처리라고 한다. 여기서 이야기하는 '영상'은 일반적으로 우리가

insight0591.tistory.com

 
영상 파일의 형식에는 무엇이 있을까? 일반적으로 .jpg, .png를 많이 생각할 수 있다. 그러나 영상 파일 형식은 이보다 더 다양한 파일 형식 있다. 이번 포스터에서는 이에 대한 일반인들에게 생소하지만 영상처리에 사용하는 원시적인 파일형식에 대해서 알아보도록 하겠다.

출처: https://blog.foldermarker.com/what-image-formats-does-folder-marker-4-7-allow-to-use-as-folder-icons-full-list/

1. RAW

일단 영상 데이터를 저장하는 가장 기본적이고 원시적인 방식 중 하나가 RAW 형식이다. 이 방식은 영상의 각 픽셀 값만을 그대로 저장하는 방식으로, 어떠한 압축이나 후처리 없이 원본 데이터를 보존하는 방식이다.
 
RAW 파일 형식의 장점은 가장 단순하고 직관적인 방식이라는 점이다. 영상에 대한 별도의 가공이나 압축이 이루어지지 않기 때문에, 모든 원본 정보를 온전히 담아낼 수 있다.
 
그러나 단점도 존재한다. RAW 파일은 영상의 해상도크기에 대한 정보가 따로 포함되지 않기 때문에, 영상을 읽어 들이기 위해서는 먼저 해당 영상의 해상도나 크기를 미리 알아야만 한다. 이는 RAW 파일을 다룰 때 불편함을 초래할 수 있으며, 일반적인 파일 형식에 비해 다루기 까다롭다는 한계가 있다.
 
RAW 형식은 고품질 데이터를 보존하는 데 유리하지만, 효율적인 파일 관리 및 접근성 면에서는 다른 파일 형식에 비해 비효율적일 수 있다.

2. PBM, PGM, PPM

RAW 형식보다 조금 더 발전된 방식으로 PBM (Portable Bitmap, 이진), PGM (Portable Graymap, 흑백), PPM (Portable Pixmap, 컬러) 형식이 있다. 이들 파일 형식은 RAW와 유사하게 간단하지만, 영상의 크기 및 색상 정보를 명시적으로 저장하는 특징을 가지고 있다.

  • PBM: 각 픽셀이 검은색 또는 흰색으로만 표현된다.
  • PGM: 각 픽셀이 0~255 사이의 값으로 명암 정보를 담고 있다.
  • PPM: RGB 컬러 이미지 형식. 각 픽셀이 빨강, 초록, 파랑의 값을 가진 컬러 정보를 저장한다.

이 형식들은 각각 이미지의 해상도와 픽셀 값을 명시적으로 기록하기 때문에, RAW 파일의 단점인 해상도 정보의 부재 문제를 해결한다. 다만, 여전히 압축이 없기 때문에 파일 크기가 크다는 단점이 있다.
 
또한 PBM, PGM, PPM 파일들은 주로 간단한 이미지 저장 및 테스트 용도로 사용되며, 현대의 고해상도 영상이나 이미지 처리에는 잘 사용되지 않는 경향이 있다.

3. (PBM, PGM, PPM) vs RAW

앞서 설명한 PBM, PGM, PPM 파일 형식과 RAW 파일 형식의 가장 큰 차이점은 영상의 해상도와 크기 정보가 포함되어 있는지 여부다. RAW 파일은 영상의 해상도나 크기 정보를 포함하지 않기 때문에, 이를 처리하려면 사용자가 해당 정보를 미리 알아야 하는 불편함이 있다.
 
반면, PBM, PGM, PPM 파일 형식은 헤더를 통해 이러한 정보를 명시적으로 포함한다. 이 헤더에는 해상도, 크기, 픽셀 형식 등의 기본적인 정보가 포함되어 있어, 영상을 읽을 때 별도의 추가 정보 없이도 파일을 정확하게 처리할 수 있다.
 
즉, PBM, PGM, PPM 형식의 주요 장점은 헤더 정보 덕분에 RAW 파일의 불편함을 해소하고, 보다 직관적으로 영상을 처리할 수 있게 한다는 점에 있다.

4.PBM, PGM, PPM의 헤더와 데이터부

앞서 설명한 파일 형식들은 헤더데이터부로 나눌 수 있으며, 파일의 중요한 정보를 헤더에 담고 있다. 헤더에는 다음과 같은 정보들이 포함된다.

파일의 유형
영상의 너비       영상의 높이
최대 명암도 값 또는 컬러 값

 
예로 들어 다음과 같이 표현 할 수 있다. 
P5
640 480
255
 
이 예에서 P5파일의 유형을 나타낸다. 각 파일 유형은 이미지 데이터를 어떻게 저장하는지를 나타낸다. P5는 그중 하나다. 그에 대한 자세한 설명은 다음과 같은 표로 설명할 수 있다.

유형형식의미
P1PBM데이터부의 픽셀값이 ASCII 문자임.
P2PGM
P3PPM
P4PBM데이터부의 픽셀값이 이진수임.
P5PBM
P6PPM

 
P1은 1비트(0,1) 깊이,P2는 8비트 깊이(명함 추가), P3는 24비트 깊이(RGB)를 표현하는 것이며, 각각을 이진수로 표현하면 P4, P5, P6로 표현된다. 이진수로 표현하면 아스키 코드로 만든 것보다는 데이터의 크기가 줄어드는 이점이 있다.


데이터부의 구조

데이터부는 영상의 실제 데이터가 저장되는 부분이다. 하지만 영상은 2차원 구조인 반면, 파일은 1차원으로 저장되기 때문에 이를 해결하기 위한 방식이 필요하다. 이때 사용하는 방법이 바로, 영상 데이터를 좌측 상단에서 우측 하단까지 한 줄씩 순차적으로 기록하는 방식이다.
 
이러한 방식은 영상의 각 픽셀 값을 순차적으로 기록해 2차원 데이터를 1차원 구조에 맞게 저장할 수 있게 해준다. 즉, 영상 파일을 읽을 때에도 이러한 순서를 따라가면서 데이터를 복원하게 되는 것이다.
 
 
 
참고로, PPM 형식의 경우, 각 픽셀은 R(레드), G(그린), B(블루) 세 가지 값으로 표현되며, 각 값이 차례대로 저장된다. 즉, 하나의 픽셀에 대해 R, G, B 값이 순서대로 나열된 후, 다음 픽셀로 넘어가면서 동일한 방식으로 저장되는 방식이다. 이를 통해 2차원 영상 데이터를 1차원 파일에 효율적으로 기록할 수 있다.
 

반응형