RGB는 Red / Green / Blue 의 줄임말로
세 가지 색을 섞어서 만든 색깔임.
즉, 저 색깔을 표현하기 위해선
한 픽셀에 대한 RGB 색깔 정보가 필요한데
R/G/B 각각 1byte 의 용량이 필요함.
따라서 한 픽셀의 용량은 3byte임.
즉, 1000 x 1000 px 사진의 용량은
3,000,000 byte
= 3,000 Kbyte
= 3 Mbyte
이렇게 용량이 결정되어짐.
그런데 3MB는 너무 큰 용량임.
1GB 크기의 USB가 있다고 할 때
고작 400개도 저장하지 못할 정도로 큼.
그래서 이걸 어떻게 하면 줄일 수 있을까 하고
많은 똑똑한 사람들이 고민을 하게 되었고
원본 이미지 색깔을 구현하는 것이라 설명했는데
이와 비슷한게 하나 또 있음.
YCbCr 이라는 '색공간' 표현임.
공간 표현. 즉 입체적인 구조를 의미하는데
사진에서 입체적 구조 = 영상임.
영상 매체에 이 표현이 자주 사용됨.
여기서 Y는 휘도 (빛의 밝기)
Cb는 초록색 기준 파란색의 정도
Cr은 초록색 기준 빨간색의 정도
아까 2 x 2 크기로 묶어서
하나의 색으로 표현한다는 걸
이 Cb / Cr 영역에 적용시키는 것임.
이렇게 되면
오른쪽 칸 기준 4 x 4 x 3byte 용량이
2 x 2 x 3byte 로 줄어들게 됨.
즉 3MB 였던 사진이 1.5MB로 줄어듦.
YCbCr 압축 적용한 사진인데
첫 사진과 차이 느껴짐?
차이는 없는데 용량이 줄어드는 매-직.
근데 1.5MB도 너무 큰 것 같음.
이걸 어떻게 더 줄일 수 있는 방법 없을까?
라고 욕심 많은 인간들이 생각을 하게 되었고
마침내 그 방법을 떠올리게 되었으니
바로 이 DCT 압축을 사용하는 것.
굉장히 똑똑한 사람들이 말하길
모든 픽셀에는 패턴이 존재한다 했음.
그리고 그 모든 패턴들은
이 패턴을 사용해서 만들어낼 수 있단다 하고
정리를 해놓은게 바로 DCT 압축 표임.
어렵게 생각할 거 없음.
결국은 이미지를 패턴화 시키는 방법으로
압축하여 용량을 확 줄이는 과정임.
이 DCT 과정을 거치면 이미지는
이렇게 바뀜.
이제는 차이가 확 보임?
물론 이미지는 겁나게 흐려졌지만
호랑이라는 메시지는 명확히 전달이 가능하고
무엇보다 용량이 130KB 정도 수준으로 확 줄어듦.
이 모든 과정을 거쳐서
이미지를 저장하는 포맷이
JPEG 포맷임.
그 과정이 N번 반복되면
사진이 이 꼴이 되버리는 거.
그러니 이미지 깔끔히 저장하고 싶다면
가급적 PNG 또는 WEBP를 사용하자.
- 끗 -

인스티즈앱
엄마 바람피는거 나한테만 들켰는데