비트맵(bitmap) 이미지 용량 계산

서론

압축을 하지 않는 비트맵 이미지는 해상도를 알 경우 용량의 근삿값을 알아낼 수 있다. 비트맵은 8비트, 16비트 등도 있지만 현재 가장 많이 사용하는 24비트 비트맵을 기준으로 용량을 계산해본다.

비트맵 이미지 용량 계산

디지털 이미지는 이미지의 한 점에 해당하는 픽셀들을 나열하여 한 장의 이미지를 만들어낸다. 그리고 우리가 말하는 해상도는 픽셀의 개수이다. 예를 들어 해상도가 1920×1080이면 가로 픽셀이 1920개, 세로 픽셀이 1080개로 이미지의 총픽셀의 수는 2,073,600 (1,920×1,080)개이다.

그리고 24비트 비트맵의 24비트는 한 픽셀에 할당된 비트의 수다. 이미지는 픽셀의 모임이고 이 픽셀은 색상이다. 따라서 이미지는 색상의 모임이다. 비트맵에서는 Red, Green, Blue 색상을 조합하는 방식을 사용한다. 그리고 24비트 비트맵은 Red를 8비트, Green을 8비트, Blue를 8비트로 할당한다. Red가 8비트이면 Red만 256(2^8) 가지를 표현할 수 있다. 즉 이 비트수가 늘어날수록 표현할 수 있는 색이 늘어난다.

다시 돌아가서 이미지는 픽셀의 수이며 픽셀의 크기도 주어졌기 때문에 이들을 모두 곱하면 용량을 알 수 있다. 즉 1920×1080인 해상도의 24비트 비트맵의 용량은 1920x1080x24=49766400이다.

그림판에서 1920×1080인 해상도의 24비트 비트맵 이미지를 만든 후 용량을 확인해보면 6,220,854 바이트다.

6,220,854바이트를 비트로 바꾸기 위해 8을 곱하면 49,766,832이고 앞서 계산한 49,766,400과 거의 유사하다. (조금 차이가 나는 건 비트맵의 헤더 파일로 알고 있는데 이는 정확하지 않다.)

Leave a Comment