컴퓨터개론 3주차 과제 - ehdaud/ec GitHub Wiki
1-1. 디지털 데이터와 이진수
디지털 데이터의 정의 및 변환 과정
-
연속적인 현실 정보를 일정한 단위의 값으로 바꿔 기록한 것이다.
-
데이터 자체뿐만 아니라 데이터를 해석하는 규칙을 함께 고려해야 동일한 비트 배열이라도 문자, 픽셀 값, 소리 진폭 등으로 올바르게 복원된다.
-
변환 과정(입력 $\rightarrow$ 규칙 적용 $\rightarrow$ 비트 저장/처리 $\rightarrow$ 복원)에서는 표현 범위, 정밀도, 저장 공간 간의 절충이 수반된다.
비트(Bit)와 표현
-
비트는 0 또는 1 중 하나를 나타내는 최소 단위로, 전압의 높낮이나 스위치의 켜짐/꺼짐 등 두 가지 전기적 상태로 구분된다.
-
여러 비트를 묶으면 더 많은 상태와 숫자를 표현할 수 있다.
디지털 데이터의 특징 및 고려 사항
-
정확한 복제와 처리가 쉬우나, 최초 변환이나 압축 과정에서 일부 정보가 생략될 수 있다.
-
숫자가 크다고 해서 체감 품질이 항상 좋아지는 것은 아니며, 원본 상태, 사용 장치, 사람의 시지각적/심리학적 요소, 프로그램 호환성 등을 함께 고려해야 한다.
-
목적에 따라 품질, 용량, 호환성의 균형을 맞춰야 하며, 데이터 손실을 줄이기 위해 원본 보존 및 배포판 분리 습관이 필요하다.
1-2. 이진수와 십진수 변환
이진수의 위치기수법 및 자릿값
- 이진수는 0과 1을 사용하며, 각 자릿값이 $2^0, 2^1, 2^2, 2^3 \dots$ ($1, 2, 4, 8 \dots$) 등 2의 거듭제곱으로 증가한다.
상호 변환 방법
-
이진수 $\rightarrow$ 십진수: 각 자릿값과 해당 자리의 비트(0 또는 1)를 곱한 뒤 모두 더한다 (예: 이진수 $1011 \rightarrow 8\times1 + 4\times0 + 2\times1 + 1\times1 = 11$).
-
십진수 $\rightarrow$ 이진수: 자릿값의 합으로 분해하여 표현한다 (예: 십진수 $13 \rightarrow 8 + 4 + 1 \rightarrow 1101$).
표기 및 구분 방법
- 십진수와 이진수의 혼동을 방지하기 위해 이진수 뒤에는 'b'(binary), 십진수 뒤에는 'd'(decimal)를 표기하여 구분한다.
1-2_심화
큰 수의 이진수/십진수 변환
-
8비트 자릿값($128, 64, 32, 16, 8, 4, 2, 1$)을 사용하여 이진수와 십진수를 상호 변환한다.
-
반복 나눗셈법: 십진수를 2로 계속 나누어 발생하는 나머지를 밑에서부터 위로 읽어 이진수로 변환한다 (예: 45 $\rightarrow 101101$).
-
검산법: 십진수 홀수는 이진수 마지막 비트가 1, 짝수는 0이 된다.
소수부 변환
-
소수점 이하 자릿값은 $2^{-1}(0.5), 2^{-2}(0.25), 2^{-3}(0.125) \dots$로 계산한다.
-
십진 소수 $\rightarrow$ 이진 소수: 소수부에 2를 반복 곱하여 나오는 정수부를 위에서 아래로 정렬한다.
-
십진 소수 중 0.1 등은 이진수로 표현 시 무한 반복 소수가 되며, 컴퓨터는 정해진 비트 수(8비트, 16비트 등)로 근사 저장하므로 미세한 오차가 발생할 수 있다.
비트 수와 표현 범위
-
$n$비트로 표현 가능한 상태 수는 $2^n$개이며, 표현할 수 있는 값의 범위는 $0$부터 $2^n - 1$까지다.
-
4비트: $0 \sim 15$ ($2^4 - 1$, 총 16가지 상태)
-
8비트: $0 \sim 255$ ($2^8 - 1$, 총 256가지 상태)
1-3. 비트와 바이트 그리고 용량
정보 단위의 정의
-
비트(bit): 0 또는 1을 나타내는 최소 정보 단위.
-
바이트(Byte): 8개의 비트를 하나로 묶은 단위 ($1 \text{ Byte} = 8 \text{ bits}$)로, 문자 표현, 파일 크기, 저장 용량의 기본 단위가 된다.
용량 단위 상호 관계
-
단위 체계: KB $\rightarrow$ MB $\rightarrow$ GB $\rightarrow$ TB.
-
십진 수 체계에서는 1,000배($10^3$) 단위로 증가하나, 이진 체계 컴퓨터 운영체제에서는 $2^{10} = 1024$배 단위로 계산하므로 표기 용량과 실제 인식 용량 간 차이가 발생할 수 있다.
전송 속도와 용량 표기 차이
-
저장 용량: 대문자 'B'(Byte)를 사용한다.
-
전송 속도: 통신은 주로 직렬 비트 단위로 이루어지므로 소문자 'b'(bit)를 사용하여 Mbps 등으로 표기한다.
-
$1 \text{ Byte} = 8 \text{ bits}$이므로, $100 \text{ Mbps}$는 초당 $12.5 \text{ MB}$ ($100 \div 8$)를 전송하는 속도다.
압축 및 손실
- 디지털화 과정(샘플링, 양자화) 및 압축 과정에서 인지 심리학적 특성을 활용해 인간이 잘 느끼지 못하는 불필요한 정보를 생략함으로써 용량을 크게 줄일 수 있다.
1-4. 문자는 어떻게 숫자가 되는가
문자 인코딩의 개념
- 키보드로 입력한 문자마다 고유한 숫자 코드를 부여하여 컴퓨터에 저장할 수 있도록 변환하는 약속이다.
주요 문자 집합 및 인코딩 방식
-
ASCII: 영어 및 특수 문자를 위해 기본 7비트를 사용하는 영문 중심 문자 집합.
-
Unicode: 한글, 중국어, 일본어, 이모지 등 전 세계 모든 언어와 문자를 하나의 표준 체계로 모아 코드 번호를 부여한 전 세계 표준 문자 집합.
-
UTF-8: 유니코드 코드 포인트를 1바이트에서 4바이트까지 가변 길이 바이트 단위로 저장/전송하는 인코딩 방식이다.
-
영문자: 1바이트 소요
-
한글: 3바이트 소요
문자 인코딩과 글꼴의 차이
-
인코딩: 텍스트 데이터가 어떤 문자(한글, 영어 등)와 코드인지를 정의한다.
-
글꼴: 인코딩된 코드를 화면에 어떤 모양/그림으로 출력할지 결정한다.
인코딩 불일치 현상
- 저장할 때와 읽을 때 적용한 인코딩 방식이 일치하지 않을 경우 한글 문자가 깨지는 현상이 발생한다.
1-4_심화
문자에서 화면 표시까지의 과정
-
코드 포인트: 유니코드에서 문자마다 부여된 16진수 형태의 고유 번호 (예: 'a' $\rightarrow \text{U}+0041$, '가' $\rightarrow \text{U}+\text{AC00}$, 이모지 $\rightarrow \text{U}+1\text{F}600$).
-
인코딩/디코딩: 코드 포인트를 바이트 배열로 변환하여 저장(인코딩)하거나, 바이트를 다시 코드 포인트로 복원(디코딩)한다.
-
글리프 출력: 코드 포인트에 대응하는 글꼴의 실제 모양(글리프)을 화면에 그린다.
UTF-8의 가변 바이트 구조
- 영문 'a'(1바이트) + 한글 '가'(3바이트) + 이모지(4바이트)를 조합하면 화면에는 3글자로 보이지만 실제 저장 용량은 총 8바이트가 된다. 문자 수와 바이트 수는 일치하지 않는다.
한글 정규화
-
NFC(완성형): 초성/중성/종성이 결합된 완성된 한글 음절 자체에 단일 코드 포인트를 부여하는 방식 (예: '가' $\rightarrow \text{U}+\text{AC00}$).
-
NFD(조합형): 한글을 초성, 중성, 종성 요소로 분해하여 개별 코드 포인트를 조합하는 방식 (예: 'ㄱ' + 'ㅏ').
-
NFC와 NFD 방식은 화면상 동일하게 보이지만 내부 코드 배열이 달라 검색, 중복 제거, 비교 처리 시 한 가지 정규화 방식으로 맞추어 비교해야 한다.
문자 깨짐 및 출력 오류 원인 구분
-
엉뚱한 기호/문자: 인코딩/디코딩 규칙이 상호 불일치할 때 발생.
-
네모 상자나 빈칸 표시: 디코딩은 올바르나 사용 중인 글꼴에 해당 코드 포인트의 글리프가 없을 때 발생.
1-5. 문자 인코딩과 깨짐 해결
문자 깨짐의 주 원인
- 데이터 자체가 파손된 경우보다 바이트 배열을 원래와 다른 인코딩 규칙으로 해석하여 발생한다.
대표 사례
-
CSV 파일, 오래된 웹페이지, 이메일 등에서 인코딩 불일치로 인한 한글 깨짐이 자주 발생한다.
-
해결 시 복구 시도 중 원본 데이터가 손상되는 것을 방지하기 위해 반드시 복사본을 만든 뒤 인코딩 옵션(UTF-8 등)을 적용해 시험해야 한다.
오류 유형 구분
-
글꼴 미지원: 화면에 네모 상자로 표기되며, 지원 글꼴을 새로 설치하여 해결한다.
-
인코딩 불일치: 이상한 문자가 조합되어 표기되며, 저장/읽기 인코딩 설정을 일치시켜 해결한다.
2-1. 픽셀과 디지털 이미지
픽셀(Pixel)의 정의
- 디지털 이미지를 구성하는 사각형 모양의 작은 점으로, 색상과 밝기 데이터를 기록하는 최소 단위다.
컬러 이미지의 색상 표현
- RGB(빨강, 초록, 파랑) 각각을 8비트(1바이트)로 표현하며, 각 채널당 $0 \sim 255$까지 총 256단계의 값을 가진다.
해상도와 화질
-
해상도는 가로 픽셀 수 $\times$ 세로 픽셀 수(예: $1920 \times 1080$)로 표기한다.
-
해상도가 높으면 세부 표현이 가능하지만, 해상도 단독으로 절대적인 화질이 결정되는 것은 아니다.
-
원본 초점, 센서 크기 및 품질, 렌즈 성능, 조명 환경, 압축 방식, 디스플레이의 크기 및 촘촘함에 따라 체감 품질이 달라진다. 동일 해상도 이미지라도 대형 디스플레이에서는 확대되어 거칠게 보일 수 있다.
2-2. 색은 어떻게 숫자가 되는가
RGB 색상 모델
-
빛의 삼원색(빨강, 초록, 파랑)을 더하여 색을 만드는 가산 혼합 방식이다. 빛을 모두 더하면 백색이 된다.
-
R, G, B 채널에 각 8비트(256단계)를 할당하여 총 24비트로 색을 표현하며, 표현 가능한 색상 수는 $2^{24} = 16,777,216$색(약 1,677만 색)이다.
16진수 색상 코드
-
24비트 비트 배열을 자릿수를 줄여 표기하기 위해 16진수 6자리(예:
#FF8000)로 표현한다. -
FF는 10진수 255,80은 10진수 128,00은 10진수 0에 대응된다.
CMYK 색상 모델
- 잉크/물감을 더하는 감산 혼합 방식으로, 색을 더할수록 어두워져 블랙(K)에 가까워진다.
2-3. 래스터 이미지와 벡터 이미지
래스터(Raster) 이미지
-
이미지를 픽셀 단위로 구분하여 각 픽셀의 색상과 밝기 값을 저장하는 방식이다.
-
특징: 확대 시 픽셀 격자가 드러나며 깨지고 흐려진다.
-
적합 용도 및 확장자: 세밀한 표현이 필요한 사진 등에 적합하며, 파일 형식은 JPG, PNG 등이 있다.
벡터(Vector) 이미지
-
점, 선, 곡선, 도형의 수학적 수식과 명령어로 저장을 수행하는 방식이다.
-
특징: 아무리 확대해도 선명함이 유지되며 깨지지 않는다.
-
적합 용도 및 확장자: 로고, 아이콘, 디자인 파일 등에 적합하며, 대표 확장자는 SVG가 있다.
2-4. 소리의 디지털 표현
아날로그 소리의 특징
- 소리 파형은 시간에 대해서도 연속적이고, 소리의 세기에 대해서도 연속적인 형태를 띤다.
디지털 변환 3단계
-
표본화(샘플링): 연속적인 소리 파형에서 일정 시간 간격마다 값을 측정하는 과정이다.
-
양자화: 측정된 연속적 진폭 값을 정해진 비트 깊이에 맞추어 반올림하여 분할하는 과정이다.
-
디지털화: 양자화된 값을 이진수로 변환한다.
음성과 오디오의 구분
-
음성: 통화 목적 중심으로, 음질보다는 명확한 전달력이 중요하여 비교적 낮은 샘플링/양자화를 적용한다.
-
오디오: 음악 수신 등의 목적으로 높은 품질을 요구한다.
비압축 소리 용량
$$\text{용량(Byte)} = \frac{\text{샘플링 주파수(Hz)} \times \text{양자화 비트 수(bit)} \times \text{채널 수} \times \text{재생 시간(초)}}{8}$$
-
모노는 채널 1개, 스테레오는 좌/우 2개 채널을 가진다.
-
비트로 계산된 값을 8로 나누어 바이트 단위로 환산한다.
2-5. 표본화와 양자화
디지털 변환 시 손실
- 아날로그 신호를 디지털로 변환하면 미세한 정보 손실이 발생하지만, 표본화율과 양자화 레벨을 높여 인간이 인식하기 어렵도록 최소화한다.
샘플링 간격과 양자화 비트의 영향
-
샘플링 간격($\Delta t$): 간격이 좁을수록 시간 흐름에 따른 신호 변화를 세밀하게 추적한다. 간격이 너무 넓으면 원 신호를 제대로 재생할 수 없다.
-
양자화 비트 수: 비트 수가 많을수록 진폭 단계를 세분화하여 오차를 줄인다.
나이퀴스트 정리
-
아날로그 원신호를 나중에 손실 없이 복원하기 위해서, 샘플링 주파수($F_s$)는 원신호에 포함된 최고 주파수($F_{max}$)의 2배 이상이어야 한다는 조건이다.
-
수학적 표현: $F_s \ge 2 F_{max}$ 또는 샘플링 간격 $\Delta t \le \frac{1}{2 F_{max}}$.
3-1. 디지털 영상의 원리
영상 동작 원리 및 프레임
- 정지된 화면(프레임)을 시간에 따라 연속적으로 빠르게 보여주어 움직임으로 인식시키는 원리다.
FPS
-
초당 재생되는 프레임의 개수다.
-
24 FPS: 영화 스타일 및 부드러운 연출
-
30 FPS: 일반 강의 및 방송 영상
-
60 FPS: 매우 부드럽고 빠른 움직임을 다루는 게임 등
FPS와 화면 주사율(Hz)의 차이
- FPS: 콘텐츠 자체에 들어있는 초당 프레임 수다.
- 화면 주사율(Hz): 디스플레이/모니터가 1초 동안 화면을 새롭게 갱신하는 횟수다. (예: 30 FPS 영상을 60 Hz 모니터로 재생 시 동일 프레임을 2번씩 갱신하여 보여줌).
비압축 영상 용량
- 해상도(가로 $\times$ 세로) $\times$ 픽셀당 비트 수(색 깊이) $\times$ 초당 프레임 수(FPS) $\times$ 재생 시간(초).
3-2. 이미지와 소리의 압축
압축의 기본 원리
- 무손실 압축
-
데이터 내의 중복 요소를 줄이는 방식이다.
-
압축 해제 시 원본 데이터를 $100%$ 정확하게 복원할 수 있다.
-
사용 예시: 텍스트, 문서, ZIP 압축 파일, PNG 이미지, FLAC 오디오.
- 손실 압축
-
인간의 시각 심리학 및 음향 심리학적 특성을 활용하여 사람이 민감하게 느끼지 못하는 정보를 제거하는 방식이다.
-
원본 복원은 불가능하지만, 사람이 느낄 수 없는 수준의 화질/음질을 유지하면서 용량을 크게 축소한다.
-
사용 예시: JPG 이미지, MP3 오디오, 웹 사진, 스트리밍 영상.
용도별 압축 선택 기준
- 정보 훼손이 없어야 하는 문서나 고밀도 텍스트는 무손실 압축이 필수적이며, 일상적인 사진이나 인터넷 웹 미디어는 효율성을 위해 손실 압축을 사용한다.
3-3. 동영상 압축과 코덱
코덱(CODEC)의 정의
- 인코더와 디코더의 합성어로, 영상과 음성을 일정한 규칙에 따라 압축하고 복원하는 기술 규격이다.
동영상 압축의 핵심 원리
-
공간 중복성 제거: 한 프레임 내부에서 유사한 색상이나 인지하기 어려운 고주파 영역 정보를 축소/제거한다.
-
시간 중복성 제거: 연속된 프레임 간에 변화가 없는 배경 정보 등은 유지하고, 이전 프레임 대비 움직임이 있는 부분(예: 손의 움직임)의 데이터만 전송하는 방식이다. 변화 기준점이 되는 기준 프레임을 키 프레임이라 한다.
코덱과 컨테이너의 구별
-
코덱: 데이터 압축/복원 방식 규칙 (예: H.264/AVC, H.265/HEVC).
-
컨테이너: 코덱으로 압축된 비디오, 오디오, 자막, 메타데이터 등을 하나로 묶어 담는 그릇/파일 형식 (예: MP4, AVI, MKV).
3-4. 해상도 비트레이트 파일 크기
4K 해상도의 의미와 화질
-
가로 픽셀 수가 약 4,000개($4096$ 또는 $3840$)에 달하는 고해상도를 의미한다.
-
해상도가 높다고 해서 항상 최종 품질이나 파일 용량이 동일한 것은 아니며, 초당 프레임 수, 사용 코덱, 코덱 설정값, 장면 복잡도, 비트레이트 등에 따라 달라진다.
비트레이트
- 1초 동안 전송/처리되는 데이터의 양을 의미한다 (단위: bps, Mbps).
비트레이트 기반 동영상 파일 크기
$$\text{동영상 파일 크기(Byte)} = \frac{\text{비트레이트(bps)} \times \text{재생 시간(초)}}{8}$$
- 비트 단위 계산 값을 8로 나누어 바이트로 변환한다.
장면 복잡도의 영향
-
화면 변화가 적고 정적인 영상(발표 화면 등)은 압축 효율이 높아 비트레이트와 용량이 낮게 유지된다.
-
움직임이 빠르고 복잡한 영상(스포츠 중계 등)은 시간/공간 중복 제거가 어려워 동일 화질을 유지하기 위해 더 많은 데이터(높은 비트레이트)가 필요하다.
3-5. 목적에 맞는 데이터 형식 선택
데이터 형식 선택 기준
- 콘텐츠 종류, 편집 필요 여부, 요구 품질, 용량 제약, 공유 환경의 호환성, 배포/보존 목적을 종합적으로 고려해야 한다.
주요 콘텐츠별 대표 데이터 형식
-
문자: UTF-8
-
사진/이미지: JPG, PNG
-
로고/디자인: SVG (벡터 방식)
-
소리: MP3 (손실 압축), FLAC (무손실 압축), WAV (비압축 RAW 파일)
-
비디오: MP4
원본 파일과 배포용 파일의 관리
-
편집용 원본: 수정이 용이한 원본 포맷이나 비압축/무손실 형식(RAW, 프로젝트 파일 등)으로 백업 및 보존해야 한다.
-
배포용 파일: 호환성이 뛰어나고 플랫폼에서 쉽게 열리는 형식(문자 > PDF, 영상 > MP4 등)으로 변환하여 사용한다.
-
손실 압축이 적용된 배포용 파일에서는 복원이 불가능하므로, 파일 형식 변환 전에는 반드시 원본 백업이 필수적이다.