-
JPG / PNG / GIF
-
JPG (=JPGE) | Joint Photographic Experts Group
-
PNG | Portable Network Graphics
-
GIF | Graphics Interchange Format
-
JPG, PNG, GIF에 대해 설명해주세요
-
픽셀
-
[ 1bit ] 1비트 색상(1 bit color) | 이진 영상(binary image)
-
[ 8bit | 1byte ] 8비트 색상 (8 bit color) | 흑백 영상(gray scale image)
-
[ 24bit | 3byte ] 24비트 색상 (24bit color) | 컬러 영상(color image) | RGB
-
[ 32bit | 4byte ] 32비트 색상 (32bit color) | 컬러 영상(color image) | RGB + alpha
-
유니코드
-
유니코드와 인코딩
JPG / PNG / GIF
JPG (=JPGE) | Joint Photographic Experts Group
손실 압축 | 고해상도 이미지 용량 관리에 용이 | 표준화와 호환성 좋음 | 가변 압축률
가장 널리 사용되는 그래픽 파일 형식으로, 1/20까지 압축이 가능합니다.
손실 압축을 사용해 이미지 파일 크기를 줄입니다. 이로 인해 데이터의 손실이 일어날 수 있습니다. 그러나 압축 성능이 좋으므로, 복잡한 이미지를 이 형식으로 저장하면 압축을 통해 저장공간과 데이터 전송 시간을 절약할 수 있습니다. 예를 들어, 많은 컬러가 활용된 복잡한 이미지인 사진이나 자연 풍경 같은 복잡한 이미지를 JPG로 저장합니다.
PNG | Portable Network Graphics
비손실 압축 | 품질 유지에 용이 | 투명도 지원 | 1600만 색상 지원
손실 없는 압축 방식을 지원합니다. 덕분에 원본 이미지의 품질을 유지할 수 있으나 파일 크기가 큰 편입니다. 또한 픽셀별로 투명도를 지원합니다. 따라서 웹 디자인 로고나 아이콘 등 품질 유지가 중요한 이미지와 투명 배경이 필요할 때 주로 사용되는 이미지 포맷입니다. 1600만 색상을 지원합니다.
GIF | Graphics Interchange Format
비손실 압축 | 애니메이션 지원 | 단일 투명색 지원 | 8비트(356색 지원) 전송 속도가 빠름 + 사실적 표현 어려움
손실 없는 압축 포맷이며, 256색을 지원합니다. 한 파일에서 복수 이미지 사용(애니메이션)을 허용합니다. 따라서 간단한 그래픽스 사용 등에 적합합니다. 투명도를 지원하나 단일 투명 색만 지원합니다.
JPG, PNG, GIF에 대해 설명해주세요
JPG는 손실 압축을 지원하고, PNG와 GIF는 비손실 압축을 지원합니다. JPG는 압축 성능이 뛰어나 웹 페이지 로드시 빠르게 로드할 수 있으나 원본이 훼손될 수 있어 화질이 저하될 수 있습니다. PNG는 비손실 압축 방식을 지원하기에 원본을 훼손하지 않으며, 1600만 색상을 지원하고 화질이 좋습니다. 또한 투명 이미지를 지원합니다. 그러나 용량이 커질 수 있습니다. GIF는 JPG에 비해 압축 성능은 떨어지지만 이미지 손상이 덜하고, 8비트(256색)만을 지원하기에 용량이 작아 전송 속도가 빠릅니다. 애니메이션을 사용하며, 투명도를 사용할 수 있습니다. 그러나 256색만을 지원하기에 사실적인 이미지 표현이 어렵습니다.
픽셀
이미지를 이루는 가장 작은 단위, 화소라고도 불립니다. 픽셀을 필요하는데 필요한 데이터의 양에 따라 픽셀의 용량과 표현할 수 있는 색상과 이미지 타입이 달라집니다.
[ 1bit ] 1비트 색상(1 bit color) | 이진 영상(binary image)
각 픽셀은 1bit로 표현됩니다. 즉, 0과 1의 값만을 가집니다. 밝음과 어두움만 표현 가능합니다.
[ 8bit | 1byte ] 8비트 색상 (8 bit color) | 흑백 영상(gray scale image)
각 픽셀은 8비트, 즉 0~255만큼의 값으로 표현되므로 1byte의 용량을 가진다. 0-255 사이의 값으로 흑백 사이의 밝기를 조정할 수 있다.
[ 24bit | 3byte ] 24비트 색상 (24bit color) | 컬러 영상(color image) | RGB
Red, Green, Blue 각각 0~255만큼의 색상을 사용하여 1픽셀을 나타낼 수 있습니다. 즉, 8bit가 3개 모였으므로 1픽셀을 표기할 때 24bit(= 3byte)가 필요합니다. 258^3 가지 색상을 표현할 수 있습니다.
[ 32bit | 4byte ] 32비트 색상 (32bit color) | 컬러 영상(color image) | RGB + alpha
24비트 색상에 추가하여 투명도(알파 채널) 정보 8bit가 추가됩니다. 따라서 이 경우 1픽셀에 32bit(=4byte)가 필요합니다.
유니코드
전 세계 문자를 컴퓨터에서 일관성 있게 표현하고 사용할 수 있도록 글자와 코드가 매핑된 표준화된 표(table)입니다. 각 문자는 코드와 1:1로 매핑되어 있어 고유합니다.
유니코드와 인코딩
유니코드는 다양한 인코딩 방식을 지원하며, 방법에 따라 문자마다 바이트 수가 달라집니다. 개발자는 개발 환경과 응용 프로그램에 맞춘 최적의 인코딩 방식을 선택할 수 있습니다. 유니코드의 인코딩 방식에 따라 UTF-8, UTF-16, UTF-32 등이 존재합니다. UTF는 Universial coded character set + Transformation Format의 약자입니다.
인코딩 : 유니코드를 통해 정의된 표준 표를 컴퓨터에 저장하는 방법
UTF - 8
가변 길이 인코딩 방식 중 하나로 각 문자가 1에서 4byte 사이의 크기로 인코딩됩니다. ASCII 코드와 호완성이 좋으며(1바이트로 표현됨) 일부 많이 사용되는 영어와 같은 로마자 문자는 1바이트, 그 외 문자는 2바이트 이상 사용될 수 있습니다. 인터넷에서 가장 널리 사용되는 인코딩 방식입니다.
UTF - 16
가변 길이 인코딩 방식으로 문자를 2~4바이트로 인코딩하며, 많이 사용되는 문자는 2바이트로 표현됩니다.
UTF - 32
고정 길이 인코딩 방식으로 모든 유니코드 문자를 4바이트로 고정해 인코딩합니다. 바이트 수가 고정되는 만큼 메모리를 많이 사용하지만, 인덱싱과 처리가 단순하여 빠릅니다.
'공부기록 > CS' 카테고리의 다른 글
[TIL][CS기초] Call by Reference | Value | Sharing (0) | 2024.03.28 |
---|---|
[TIL][CS 기초] CPU vs GPU | SSD, HDD (0) | 2024.03.11 |
[TIL][CS 기초] 32 Bit vs 64 Bit | 2's complement, 1's complement | 실수 표현법 (0) | 2024.03.07 |
[TIL][Fri][CSAPP] ch 6. The memory hierachy (0) | 2023.11.10 |
[TIL][CS기초] Compile | Compiler, Interpreter | Type System | Typing :: Static & Dynamic (0) | 2023.11.01 |
JPG / PNG / GIF
JPG (=JPGE) | Joint Photographic Experts Group
손실 압축 | 고해상도 이미지 용량 관리에 용이 | 표준화와 호환성 좋음 | 가변 압축률
가장 널리 사용되는 그래픽 파일 형식으로, 1/20까지 압축이 가능합니다.
손실 압축을 사용해 이미지 파일 크기를 줄입니다. 이로 인해 데이터의 손실이 일어날 수 있습니다. 그러나 압축 성능이 좋으므로, 복잡한 이미지를 이 형식으로 저장하면 압축을 통해 저장공간과 데이터 전송 시간을 절약할 수 있습니다. 예를 들어, 많은 컬러가 활용된 복잡한 이미지인 사진이나 자연 풍경 같은 복잡한 이미지를 JPG로 저장합니다.
PNG | Portable Network Graphics
비손실 압축 | 품질 유지에 용이 | 투명도 지원 | 1600만 색상 지원
손실 없는 압축 방식을 지원합니다. 덕분에 원본 이미지의 품질을 유지할 수 있으나 파일 크기가 큰 편입니다. 또한 픽셀별로 투명도를 지원합니다. 따라서 웹 디자인 로고나 아이콘 등 품질 유지가 중요한 이미지와 투명 배경이 필요할 때 주로 사용되는 이미지 포맷입니다. 1600만 색상을 지원합니다.
GIF | Graphics Interchange Format
비손실 압축 | 애니메이션 지원 | 단일 투명색 지원 | 8비트(356색 지원) 전송 속도가 빠름 + 사실적 표현 어려움
손실 없는 압축 포맷이며, 256색을 지원합니다. 한 파일에서 복수 이미지 사용(애니메이션)을 허용합니다. 따라서 간단한 그래픽스 사용 등에 적합합니다. 투명도를 지원하나 단일 투명 색만 지원합니다.
JPG, PNG, GIF에 대해 설명해주세요
JPG는 손실 압축을 지원하고, PNG와 GIF는 비손실 압축을 지원합니다. JPG는 압축 성능이 뛰어나 웹 페이지 로드시 빠르게 로드할 수 있으나 원본이 훼손될 수 있어 화질이 저하될 수 있습니다. PNG는 비손실 압축 방식을 지원하기에 원본을 훼손하지 않으며, 1600만 색상을 지원하고 화질이 좋습니다. 또한 투명 이미지를 지원합니다. 그러나 용량이 커질 수 있습니다. GIF는 JPG에 비해 압축 성능은 떨어지지만 이미지 손상이 덜하고, 8비트(256색)만을 지원하기에 용량이 작아 전송 속도가 빠릅니다. 애니메이션을 사용하며, 투명도를 사용할 수 있습니다. 그러나 256색만을 지원하기에 사실적인 이미지 표현이 어렵습니다.
픽셀
이미지를 이루는 가장 작은 단위, 화소라고도 불립니다. 픽셀을 필요하는데 필요한 데이터의 양에 따라 픽셀의 용량과 표현할 수 있는 색상과 이미지 타입이 달라집니다.
[ 1bit ] 1비트 색상(1 bit color) | 이진 영상(binary image)
각 픽셀은 1bit로 표현됩니다. 즉, 0과 1의 값만을 가집니다. 밝음과 어두움만 표현 가능합니다.
[ 8bit | 1byte ] 8비트 색상 (8 bit color) | 흑백 영상(gray scale image)
각 픽셀은 8비트, 즉 0~255만큼의 값으로 표현되므로 1byte의 용량을 가진다. 0-255 사이의 값으로 흑백 사이의 밝기를 조정할 수 있다.
[ 24bit | 3byte ] 24비트 색상 (24bit color) | 컬러 영상(color image) | RGB
Red, Green, Blue 각각 0~255만큼의 색상을 사용하여 1픽셀을 나타낼 수 있습니다. 즉, 8bit가 3개 모였으므로 1픽셀을 표기할 때 24bit(= 3byte)가 필요합니다. 258^3 가지 색상을 표현할 수 있습니다.
[ 32bit | 4byte ] 32비트 색상 (32bit color) | 컬러 영상(color image) | RGB + alpha
24비트 색상에 추가하여 투명도(알파 채널) 정보 8bit가 추가됩니다. 따라서 이 경우 1픽셀에 32bit(=4byte)가 필요합니다.
유니코드
전 세계 문자를 컴퓨터에서 일관성 있게 표현하고 사용할 수 있도록 글자와 코드가 매핑된 표준화된 표(table)입니다. 각 문자는 코드와 1:1로 매핑되어 있어 고유합니다.
유니코드와 인코딩
유니코드는 다양한 인코딩 방식을 지원하며, 방법에 따라 문자마다 바이트 수가 달라집니다. 개발자는 개발 환경과 응용 프로그램에 맞춘 최적의 인코딩 방식을 선택할 수 있습니다. 유니코드의 인코딩 방식에 따라 UTF-8, UTF-16, UTF-32 등이 존재합니다. UTF는 Universial coded character set + Transformation Format의 약자입니다.
인코딩 : 유니코드를 통해 정의된 표준 표를 컴퓨터에 저장하는 방법
UTF - 8
가변 길이 인코딩 방식 중 하나로 각 문자가 1에서 4byte 사이의 크기로 인코딩됩니다. ASCII 코드와 호완성이 좋으며(1바이트로 표현됨) 일부 많이 사용되는 영어와 같은 로마자 문자는 1바이트, 그 외 문자는 2바이트 이상 사용될 수 있습니다. 인터넷에서 가장 널리 사용되는 인코딩 방식입니다.
UTF - 16
가변 길이 인코딩 방식으로 문자를 2~4바이트로 인코딩하며, 많이 사용되는 문자는 2바이트로 표현됩니다.
UTF - 32
고정 길이 인코딩 방식으로 모든 유니코드 문자를 4바이트로 고정해 인코딩합니다. 바이트 수가 고정되는 만큼 메모리를 많이 사용하지만, 인덱싱과 처리가 단순하여 빠릅니다.
'공부기록 > CS' 카테고리의 다른 글
[TIL][CS기초] Call by Reference | Value | Sharing (0) | 2024.03.28 |
---|---|
[TIL][CS 기초] CPU vs GPU | SSD, HDD (0) | 2024.03.11 |
[TIL][CS 기초] 32 Bit vs 64 Bit | 2's complement, 1's complement | 실수 표현법 (0) | 2024.03.07 |
[TIL][Fri][CSAPP] ch 6. The memory hierachy (0) | 2023.11.10 |
[TIL][CS기초] Compile | Compiler, Interpreter | Type System | Typing :: Static & Dynamic (0) | 2023.11.01 |