색좌표 변환기의 설계 예 색좌표(Color Space) 색의 수학적인 표현 방법 RGB YIQ, YUV, YCbCr CMYK 컴퓨터 그래픽 및 디스플레이 용도 YIQ, YUV, YCbCr 영상의 압축, 복원, 처리 용도 CMYK 컬러 출판에 사용됨 HIS(Hue, Saturation, Intensity) 인간의 컬러 인지 특성 모델링에 사용됨
대표적인 테스트 패턴 예
대표적인 테스트 패턴 예
패턴 생성기 세로로 8등분하여 명도차를 주어 디스플레이 수직좌표
패턴 생성기 세로로 8등분하여 다른 칼라를 주어 디스플레이 수직좌표
예제A: Cross 패턴 생성 1. 예제_Cross의 Source code는 아래 그림과 같은 Cross Hatch 패턴을 생성하는 코드이다. - compile한 후 17ms 동안 simulation을 진행하여 결과 영상을 확인하라. 2. 예제_Ybar, 예제_color의 vhd소스코드를 이용하여 Y_bar, Color영상을 확인하라 - 프로젝트이름은 바꾸고 소스 코드의 new file name은 clk_rst_gen으로 모두 동일하게 작성하시오. Cross Hatch 패턴
색좌표 변환기의 설계 색좌표 변환기의 전체 구조도 RGB to YCbCr Conversion Image Write Output File sync YCbCr to RGB Read Input
색좌표 변환기의 설계 RGB와 YCbCr 색좌표 변환 관계 예 Y = 0.257R + 0.504G + 0.098B + 16 Cb = -0.148R - 0.291G + 0.439B + 128 Cr = 0.439R - 0.368G - 0.071B + 128 R = 1.164(Y-16) + 1.596(Cr-128) G = 1.164(Y-16) - 0.813(Cr-128) - 0.391(Cb-128) B = 1.164(Y-16) +2.018(Cb-128)
색좌표 변환기의 설계 YCbCr 색좌표 변환식의 구현 예 논리 합성 가능 C와 동일 결과 signal R : integer range 0 to 255; signal G : integer range 0 to 255; signal B : integer range 0 to 255; signal Y : integer range 0 to 255; signal Cb : integer range 0 to 255; signal Cr : integer range 0 to 255; -- 중략 Y <= ( 1053*R/512 + 2064*G/512 + 401*B/512 + 128 + 4 ) / 8; Cb <= ( -606*R/512 - 1192*G/512 + 1798*B/512 + 1024 + 4 ) / 8 ; Cr <= ( 1798*R/512 - 1507*G/512 - 291*B/512 + 1024 + 4 ) / 8;
예제B: 색좌표 변환기 1. 예제B의 tb_CSC Source code는 원본 영상을 YCbCr 로 YCbCr을 다시 RGB로 변환하는 프로그램이다. - compile한 후 5초 동안 simulation을 진행하여 결과 영상을 확인하라. 2. 프로젝트이름은 새로 바꾸고 tb_CSC의 new file name은 clk_rst_gen으로 하여 작성하시오.
색좌표 변환기의 설계 색좌표 변환 결과 예 ? RGB 색 변환 영상 YCbCr 색변환 영상
MCT 변환기의 설계 MCT(Modified Census Transform) 변환 영상 내의 구조적인 특징을 추출하는 방법 밝기 변화나 조명에 의한 영향을 최소화하면서 영상 내의 정보를 추출하는 기법 X 는 영상 내의 화소의 위치를 나타내고 X를 중심으로 하는 3x3 윈도우를 W(X)라 한다면, N'는 W(X) 내의 화소들의 집합이고 Y는 이 윈도우 내의 9개의 화소 각각을 나타낸다. 또한 는 윈도우 내의 화소들의 평균값이고 는 윈도우 내의 화소들의 각각의 밝기 값이다. 는 비교함수로서 만약 일 경우 는 1이 되고 그 이외의 경우 0 이 된다. 는 접합 연산자로 함수의 결과 이진 형식들을 연결해 주는 역할을 하며, 연산을 통해 9 개의 이진 형식이 연결되게 된다. 이론적으로 9개의 화소 값이 모두 1 이 되는 경우는 발생하지 않기 때문에 총 511개의 구조가 표현될 수 있다. 이렇게 연결된 이진 형식은 10진수로 변환된 후 MCT 변환 영상의 화소 값이 된다. 밝기에 상관없이 이미지 윤곽추출
MCT 변환기의 설계 MCT 변환기의 구조도 Image Read RGB to YCbCr Conversion Image Write image Y image MCT Generator sync sync sync Input File Y image Write Output File Output File
예제C: MCT 변환기 1. 예제C의 tb_MCT_pkg Source code는 원본 영상의 윤곽을 추출하는 프로그램이다. compile한 후 10분 동안 simulation을 진행하여 결과 영상을 확인하라. 2. Work 디렉토리의 내용은 모두 삭제후 프로젝트 시작 3. Bubble.txt 파일을 Modelsim 실행 디렉토리에 copy 하여 놓을 것. 4. mct_package.vhd와 tb_MCT_pkg 소스파일을 같이 compile. 5. 프로젝트이름은 새로 바꾸고 tb_MCT_pkg의 new file name은 clk_rst_gen으로 하여 작성하시오.
입력 영상 ? ? 원본영상 Y 영상 MCT 영상