전공지식정리/디지털시스템설계

VHDL13. 영상회로

TimeSave 2020. 12. 8. 23:28

1. 영상회로

1.1 영상회로의 일반적 검증

1.1.1 카메라
-  카메라 
동기 신호 생성
-  파일 입력문으로 영상 파일 입력

1.1.2 디스플레이
-  디스플레이 장치 
동기 신호 생성부
-  파일 출력문으로 영상 생성
- image viewer를 이용한 각 프레임별 검증

1.1.3 영상 처리부
- 일반적인 고급 디지털 회로 설계 기법 사용
- FIFO, RAM, ROM, SDRAM 등의 메모리 인터페이스 필요

영상 회로의 일반적인 검증 환경


1.2 Clock generator module(클럭 신호 생성부) VHDL

1.3 동기패턴
 

일반적인 동기 신호 패턴

동기 신호 패턴 정보의 VHDL 구현

1.3.1 수평 동기 신호
1.3.1.1 수평 카운터 신호 생성

수평 카운터 신호 생성

1.3.1.2 수평 동기 신호 생성

수평 동기 신호 생성

1.3.1.3 수평 유효 구간 생성

수평 유효 구간 생성

1.3.2 수직 동기 신호
1.3.2.1 수직 카운터 신호 생성

수직 카운터 신호 생성

1.3.2.2 수직 동기 신호 생성

수직 동기 신호 생성

1.3.2.3 수직 유효 구간 생성

수직 유효 구간 생성

1.3.3 PNM(Portable Anymap Format) 영상포맷
- 무압축 영상 포맷

- VHDL 시뮬레이션에 최적
  >  카메라 입력 영상 모델링
  > 디스플레이 출력 영상 모델링

- PNM 파일 종류
> PPM(Portable Pixmap Format) : 컬러 영상 표현
> PGM(Portable Graymap Format) : 계조 영상(gray-level image) 표현
> PBM(Portable Bitmap Format) : 이진 영상(binary image) 표현

- PNM 파일 내용
> 영상 해더(header)부 : 영상의 포맷을 정의
> 영상 데이터부 : 무압축 방식, 영상 해더부에 의해 영상 데이터 구조 결


- PNM 파일 헤더부 양식

헤더부 양식

       -> 헤더(header)부는 ASCII 코드 형태로 표시
       -> 헤더(header)부 내 각각의 정보는 여백 문자로 분리
                    => blanks, tabs, line feeds, carriage returns

       -> PNM 파일 해더(header)부의 magic number  
                    => 2바이트를 이용하여 PNM 파일의 종류를 구분

magic number

- Magic Number
                        => P1 ~ P3 : 영상 부분이 ASCII
                        =>  P4 ~ P6 : 영상 부분이 raw data

- PNM 파일의 Raw Data 영상 저장 포맷

PNM 파일의 Raw Data 영상 저장 포맷

1.3.4 예시

chessboard.pbm

vhdl.pgm

vhdl.pgm

color.ppm

2. 영상파일 입출력
2.1 VHDL 구현
 - 입력 

영상파일 입력

영상파일 입력


 - 출력

영상파일 출력

영상파일 출력

영상파일 출력

2.2 결과

입력 및 출력 영상 예

영상 파일 입출력 시뮬레이션 파형

3. 패턴 생성기
3.1 대표적인 test pattern

test pattern

test pattern

3.2 Y Bar ; 위의 검은색 농담

Y Bar 생성데이터

3.2.1 VHDL 구현

3.3 EIA Color Bar; 티비 화면조정 신호 같은 것

EIA Color Bar 생성 데이터

4. Color space 변환기

4.1 Color Space & 종류
; 색의 수학적인 표현 방법

-  RGB Color Space
  ;  컴퓨터 그래픽 및 디스플레이 용도
-  YIQ, YUV, YCbCr Color Space
   ;  영상의 압축, 복원, 처리 용도
- CMYK Color Space
   ; 컬러 출판에 사용됨
-HIS(Hue, Saturation, Intensity) Color Space
   ; 인간의 컬러 인지 특성 모델링에 사용됨

 4.2 RGB to YCbCr 변환

4.2.1 RGB to YCbCr  관계식

RGB to YCbCr 관계식

4.2.2 RGB to YCbCr 변환기 구조도

4.2.3 VHDL 구현
- 안좋은 예

안좋은 예 1. Compile error

안좋은 예 2.논리합성 불가

- 안좋은 예2;  논리 합성 가능 but 연산 오차의 누적

안좋은 예2

안좋은 예2

- 좋은 예; 논리합성 가능, C와 동일 결과

좋은 예

좋은 예

4.2.4 Simulation 및 결과


5. MCT(Modified Census Transform) 변환기
; 영상 내의 구조적인 특징을 추출하는 방법
; 밝기 변화나 조명에 의한 영향을 최소화하면서 영상 내의 정보를 추출하는 기법

MCT 변환의 정의

MCT변환 예시

5.1 MCT 계산 슈도(pseudocode) 코드
; 논리 표현을 위한 코드

- 기본 알고리즘에 /9 사용
- 논리 합성을 위해서는 근사화, 혹은 최적화 필요

5.1.2 근사화 방법
;1/9 = 1 * (256/256) /9 = 1 * (256/9) / 256 ≈ 28 / 256

5.1.3 최적 해법
;/9 대신 이항해서 *9 사용


5.2 VHDL 설계
5.2.1 최적 MCT 계산 pseudo code(슈도코드)

MCT 변환 예

5.2.2 MCT변환기 구조도

MCT변환기 구조도

3X3 윈도우의 구현


5.2.3 변환 결과

 

MCT 시뮬레이션





출처 :  http://dasan.sejong.ac.kr/~dihan/vhdl.htm