선생님 안녕하세요 ~ 초코쌤입니다. 
이번 글에서는 일상 속 기술을 통해 자연스럽게 데이터 압축 개념을 이해할 수 있도록 소개해보려고 합니다.
카카오톡에서 사진을 보낼 때, 왜 화질이 줄어들까?
카카오톡에서 +버튼 → 앨범 → 사진 선택 →
오른쪽 하단에 위와 같은 점 3개 버튼을 누르면 원본으로 사진을 보낼 수 있는 사실을 알고 계셨나요?
기본값은 일반 화질로 되어 있을 텐데요.
일반 화질은 사진을 작게 압축해서 보내는 방식이라
•
전송은 빠르지만, 화질은 낮아집니다.
•
확대하면 흐릿하게 보이기도 하죠.
반면, 원본 화질은
•
사진의 크기(해상도)와 품질을 그대로 유지하며 보내는 방식이라
•
고해상도 사진을 정확하게 전달할 수 있지만, 전송 속도는 조금 느릴 수 있어요.
⇒ 일반 화질로 전송될 때 사진은 주로 JPEG 압축 방식을 사용합니다. 간단히 핵심만 소개해보겠습니다.
① 색상을 ‘밝기’와 ‘색깔’로 나눈다.
•
원래 사진은 빨강(R), 초록(G), 파랑(B) 3가지 색이 합쳐져서 만들어지는데, 이 3가지 색을 밝기와 색깔 정보로 분리합니다. 사람의 눈은 밝고 어두운 차이에는 굉장히 민감하지만, 미세한 색깔 차이는 잘 구분하지 못해서 색깔 정보를 좀 더 없애는 것입니다.
② 색깔 정보를 확 줄이기
•
여러 픽셀마다 하나의 색깔만 저장해서 용량을 줄입니다.
•
색깔 정보를 위와 같이 픽셀마다 기록하지 않고
•
4개의 칸마다 대표 색깔 하나만 정해서 칠합니다.
③ 사진을 작은 블록으로 나누기
•
퍼즐 조각처럼 쪼개서 전체 이미지를 하나씩 압축하기보다는 자잘한 퍼즐 조각들로 분리해 각각 압축합니다.
④ 블록의 이미지 정보 변형하기
•
DCT(이산 코사인 변환)이라는 것을 통해 이미지의 큰 특징은 살리고, 없어져도 크게 티가 안나는 작은 특징은 과감하게 줄입니다. 마치, 그림을 대충 봐도 어떤 장면인지 아는 것처럼 말이죠.
⑤ 위 작업에서 남겨진 데이터를 더 작게 저장하기
•
허프만 코딩 방법 등을 통해 자주 나타나는 숫자는 짧은 코드로, 드물게 나타나는 숫자는 긴 코드로 저장합니다.
유튜브 영상 화질은 왜 바뀔까요?
유튜브를 볼 때, 위와 같이 화질을 자동으로 설정하면 인터넷 연결 속도에 따라 영상 품질이 자동으로 조정되는 경험을 한번쯤 해보셨을 겁니다.
⇒ 피자 배달을 비유로 들어 설명해보겠습니다.
① 영상 사전 준비
•
유튜브에 원본 영상을 업로드하게 되면 자동으로 다양한 해상도(2160p, 1440p 등)와 비트레이트로 미리 여러 버전의 영상을 만들어 저장합니다.
⇒ 피자를 주문이 들어올 때마다 제작하는 것이 아니라, 미리 S,M,L 사이즈를 만들어서 주문이 들어올 때 상황에 맞게 배달할 수 있게 하는 것입니다.
② 클라이언트의 네트워크 속도 실시간 감지 후 해상도 선택
•
사용자가 영상을 재생하면, 유튜브 플레이어는 실시간으로 사용자의 인터넷 연결 상태를 점검합니다.
•
사용자 인터넷 속도가 빠르면 고해상도 영상을 선택해 전송하고, 속도가 떨어지거나 불안정하면 즉각 더 낮은 품질의 영상을 선택합니다.
⇒ 배달부가 인터넷이 빠른지(차가 없는지) 인터넷이 느린지(차가 막히는지) 점검하고 빠르면 L 사이즈 피자를 보내주는 것입니다.
① 해상도가 낮아집니다. 해상도는 영상의 선명도를 결정하며, 이를 낮추면 흐릿해지지만 데이터 용량은 크게 줄어듭니다.
⇒ L 사이즈 피자를 S 사이즈로 줄이는 것과 같습니다.
② 비트레이트가 낮아집니다. 비트레이트는 영상이 초당 사용하는 데이터의 양입니다. 높은 비트레이트는 영상이 매우 깨끗하고 부드럽지만 데이터가 많이 필요합니다.
⇒ 피자에 토핑이 많으면 맛있지만, 무거운것과 같습니다.
③ 프레임레이트가 낮아집니다. 프레임레이트는 초당 영상에 들어가는 사진 수입니다. 높은 프레임(60fps)은 부드럽고 자연스럽지만 데이터가 많습니다.
⇒ 피자 조각을 여러 조각으로 나누면 먹기 편하지만, 담을 접시가 많아져서 복잡해지는 것과 같습니다.
이렇게 영상을 보는 과정에서 유튜브는 계속해서 상황에 따라 품질을 자유롭게 바꾸며 최적의 시청 경험을 제공하는 것입니다.
데이터 압축이라는 개념은 학생들이 딱딱하게 느낄 수 있습니다. 하지만 우리가 매일 쓰는 카카오톡 사진 전송, 유튜브 영상 재생에는 이미 압축 기술과 품질 조정 알고리즘이 깊이 숨어 있어요.
“학생들과 수업할 때, 이런 실생활 사례를 이야기해보면 어떨까요?”