Home 5월 5일 Today I Learned
Post
Cancel

5월 5일 Today I Learned

오늘한 일

  • 프로젝트를 진행하였다
  • 알고리즘 문제를 풀었다
  • 블로그 TIL을 작성하였다
  • 1일 1커밋을 하였다

느낌 점

JPEG 압축 방식과 같은 내용을 배우면서 유튜브 영상에 달린 댓글을 보다가 해당 내용들을 컴공에서 배우는 내용이라는 것을 알게 되었는데 이러한 CS 지식들을 지금은 확 와닿지는 않아도 나중에 좀 더 실력 있는 개발자가 되기 위해서는 필요해보이기에 이러한 지식들을 컴공이 아니라도 얻을 수 있는 방법에 대해 알아보고 이번 겨울방학 때쯤 공부해봐야겠다

배운 점

JPEG 압축 방식

JPEG (Joint Photographic Experts Group)는 디지털 이미지를 압축하는 방식 중 하나로 JPEG는 이미지를 작은 조각으로 나누어 각각을 독립적으로 압축한 다음 모두 합쳐서 최종 이미지를 만드는 방식을 사용한다 이 과정에서는 이미지의 일부 정보가 손실되기 때문에 JPEG는 손실 압축 방식이다

JPEG에서 압축 과정은 크게 두 단계로 나뉘는데 첫째 이미지를 DCT (Discrete Cosine Transform)를 이용하여 주파수 영역으로 변환한다 여기서 DCT는 이미지를 작은 블록으로 나눈 다음 각 블록에서 주파수 정보를 추출하는 방식으로 동작한다 이러한 DCT를 이용하면 이미지의 주파수 정보를 효과적으로 추출할 수 있다

둘째 DCT를 통해 얻은 주파수 정보를 이용하여 이미지를 압축한다 여기서 또 JPEG에서는 크게 두 가지 방식의 압축을 사용하는데 첫째 양자화 (Quantization)라고 불리는 과정을 통해 주파수 정보를 줄인다 이 과정에서는 주파수 정보를 미리 정의된 양자화 테이블을 이용하여 가장 중요한 정보를 보존하면서 나머지 중요하지 않은 정보를 제거한다 둘째 허프만 부호화 (Huffman Encoding)라는 방식을 사용하여 이미지를 압축한다 이 방식은 더 많은 정보를 포함하는 코드에는 더 짧은 비트를 할당하고 적은 정보를 포함하는 코드에는 더 긴 비트를 할당하는 방식으로 동작한다 이 과정을 거치면 이미지 파일의 크기를 줄일 수 있다

이렇게 DCT, 양자화, 허프만 부호화를 통해 압축된 이미지는 다시 역압축을 거쳐 원본 이미지로 복원할 수 있지만 이미지 파일의 크기를 줄이기 위해 정보가 손실되기 때문에 역압축을 통해 얻은 이미지는 압축 이전의 원본 이미지와 완전히 동일하지는 않다

JPEG 압축 방식에 대해 내용을 코딩 애플 JPEG은 왜 디지털 풍화가 생길까를 통해 알게 되어서 해당 내용을 정리해보았다

내일 계획

내일은 코딩 보카 2.0 메인화면을 마저 디자인 해야겠다

This post is licensed under CC BY 4.0 by the author.

5월 4일 Today I Learned

5월 6일 Today I Learned