반응형
시험에 안 나올 거 같은데
디지털 카메라 구성
- 이미지 캡쳐
- 이미지 디지털 포맷으로 저장
- 필름 없음
- 여러 장의 이미지가 저장된다
- 저장되는 이미지의 수는 메모리 크기와 이미지 당 소모하는 비트 수에 의해 결정
- 이미지를 PC로 저장
- System-on-a-chip
- 여러 프로세서와 메모리가 하나의 IC 칩에
- 고용량 플래시 메모리
- 많이 간략화 된 구성임을 알려드립니다
하드웨어 디자이너의 관점에서 본 디지털 카메라
- 이미지 처리 및 메모리 저장
- 셔터가 눌리면:
- 이미지 캡처
- CCD(Charge-Coupled Device) 통해 디지털 형태로 전환
- 압축하여 내부 메모리에 저장
- 셔터가 눌리면:
- 이미지 업로드
- 디지털 카메라를 PC에 연결
- 압축된 이미지를 시리얼로 전송하기 위한 특수한 소프트웨어 명령어
Charge-Coupled Device (CCD)
- 이미지 센서
- 빛에 반응하는 cell로 이루어진 실리콘 solid-state 장치
- 빛에 노출되면 각 셀은 전기적으로 충전됨
- 8비트 값으로 표현된다
- 0~255, 0은 검정, 255는 강한 빛
Zero-Bias Adjustment
- Covered Column은 검정 테이프 등으로 가려져있음 => 검정색을 의미
- 센서 노이즈로 인해 정확히 0 값이 아님
- 해당 row의 셀 값에서 Covered 된 값을 빼준다
- covered 된 cell에서 읽힌 값을 Zero-bias Error라고 하며,
- 이를 통해 전체적인 셀 값을 보정하는 방식을 Zero-Bias Adjustment라고 한다
Compression
- 더 많은 이미지를 저장할 수 있도록 만든다
- 이미지를 PC로 옮길 때 더 적은 시간이 걸린다
- JPEG(Joint Photographic Experts Group)
- 디지털 이미지를 압축하는 가장 인기있는 표준 포맷
- 다양한 작동 모드를 제공한다
- 여기서는 높은 압축률을 위한 모드 사용 (DCT, Discrete Cosine Transform)
- 이미지 테이터를 8x8 픽셀 블록으로 나눈다
- 각 블록에 대해 세 가지 과정을 거친다
- DCT(Discrete Cosine Block)
- Qunatization
- Huffman Encoding
DCT
- 8x8 블록을 Cosine-Frequency Domain으로 변환한다
- 왼쪽 위 코너 값은 이미지에서 더 중요한 정보를 나타낸다
- 오른쪽 아래 코너 값은 디테일
- 이 부분의 정확도를 낮출 수 있고 그렇게 해도 어느 정도 이미지 품질이 유지된다
- FDCT(Forward DCT) formula
- C(h) = if (h == 0) then 1/sqrt(2) else 1.0
- 메인 함수 F(u, v)에서 사용되는 보조 함수
- F(u, v) = 1/4 * C(u) * C(v) * sum(for x=0..7 y=0..7 Dxy * cos(pi * (2x + 1) * u / 16) * cos(pi * (2y + 1) * v / 16))
- u: row, v: column
- 인코딩 된 픽셀 반환
- Dxy는 원래 픽셀 값 (row x, column y)
- C(h) = if (h == 0) then 1/sqrt(2) else 1.0
- IDCT(Inverse DCT)
- 원래 블록으로 복원하기 위해 필요한 함수
- 이번 예시에서는 다루지 않음
Quntization Step
- 높은 압축률을 위해 이미지 품질을 낮춤
- 중요하지 않은 하위 비트를 제거하여 이를 달성
- Shift Right로 제거 (8비트 -> 5비트)
- Dequantization은 Shift Left (정보는 이미 손실됨)
Huffman Encoding
- Pixel Frequencies는 해당 픽셀 값이 몇 개의 픽셀에서 나타났는지를 표시한다
- 자주 나타나는 값일수록 Huffman Code로 표현할 때 더 적은 비트를 사용한다
- 8x8 블록을 위 그림과 같이 지그재그 패턴으로 Huffman Code를 참조하여 직렬화한다
- Huffman Encoding을 하면 더 자주 발생하는 픽셀은 더 짧은 바이너리 코드를 가질 수 있다
- 시리얼 리스트의 각 픽셀은 Huffman Encoded Value로 변환될 것
- 이 과정에서 압축되기 때문에 기존보다 짧아진다
반응형
'대학 수업' 카테고리의 다른 글
Memory Virtualization 1 - 운영체제 (0) | 2020.12.15 |
---|---|
Matrix Addition & Scalar Multiplication - 선형대수학 (0) | 2020.12.15 |
Storage Devices, Flash Memory, SSD - 임베디드 컴퓨터 구조 (0) | 2020.12.15 |
I/O Commands, ARM Interrupt - 임베디드 컴퓨터 구조 (0) | 2020.12.14 |
I/O Device와 I/O 인터페이스 - 임베디드 컴퓨터 구조 (0) | 2020.12.14 |