<4D F736F F F696E74202D C31345FB0EDB1DE20BFB5BBF320C8B8B7CE20BCB3B0E82E BC8A3C8AF20B8F0B5E55D>

Similar documents
Microsoft PowerPoint - VHDL02_full.ppt [호환 모드]

Microsoft PowerPoint - VHDL12_full.ppt [호환 모드]

Microsoft PowerPoint - P01_chapter1.ppt [호환 모드]

Microsoft PowerPoint - VHDL08.ppt [호환 모드]

Microsoft Word - logic2005.doc

디지털공학 5판 7-8장

歯Chap1-Chap2.PDF

<4D F736F F F696E74202D C61645FB3EDB8AEC7D5BCBA20B9D720C5F8BBE7BFEBB9FD2E BC8A3C8AF20B8F0B5E55D>

BMP 파일 처리

Microsoft PowerPoint - VHDL01_chapter1.ppt [호환 모드]

차례 사용하기 전에 준비 및 연결 간편 기능 채널 관련 영상 관련 음성 관련 시간 관련 화면잔상 방지를 위한 주의사항... 4 각 부분의 이름... 6 제품의 설치방법 TV를 켜려면 TV를 보려면 외부입력에 연결된 기기명을 설정하려면..

Microsoft Word - logic2005.doc

BT.709 DCI BT [ 1] TTA Journal Vo

Libero Overview and Design Flow

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

<BFB5BBF3C1A4BAB8C3B3B8AEBDC3BDBAC5DB20BFACB1B82E687770>

Week3

Microsoft PowerPoint - VHDL06.ppt [호환 모드]

LIDAR와 영상 Data Fusion에 의한 건물 자동추출

i-movix 특징 l 안정성 l 뛰어난화질 l 차별화된편의성

Microsoft Word - 제6장 Beyond Simple Logic Gate.doc

Orcad Capture 9.x

ez-md+_manual01

MAX+plus II Getting Started - 무작정따라하기

ch3.hwp

TViX_Kor.doc

untitled

Microsoft PowerPoint - IP11.pptx

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

T100MD+

HW5 Exercise 1 (60pts) M interpreter with a simple type system M. M. M.., M (simple type system). M, M. M., M.

ez-shv manual

歯AG-MX70P한글매뉴얼.PDF

PowerPoint 프레젠테이션

제5장 PLD의 이해와 실습

표지

2005CG01.PDF

(JBE Vol. 21, No. 1, January 2016) (Regular Paper) 21 1, (JBE Vol. 21, No. 1, January 2016) ISSN 228

Microsoft PowerPoint - Java7.pptx

Gray level 변환 및 Arithmetic 연산을 사용한 영상 개선

Ⅰ. Introduction 우리들을 둘러싸고 잇는 생활 환경속에는 무수히 많은 색들이 있습니다. 색은 구매의욕이나 기호, 식욕 등의 감각을 좌우하는 것은 물론 나뭇잎의 변색에서 초목의 건강상태를 알며 물질의 판단에 이르기까지 광범위하고도 큰 역할을 하고 있습니다. 하

CONTENTS INTRODUCTION CHARE COUPLED DEVICE(CCD) CMOS IMAE SENSOR(CIS) PIXEL STRUCTURE CONSIDERIN ISSUES SINAL PROCESSIN

[ 융합과학 ] 과학고 R&E 결과보고서 뇌파를이용한곤충제어 연구기간 : ~ 연구책임자 : 최홍수 ( 대구경북과학기술원 ) 지도교사 : 박경희 ( 부산일과학고 ) 참여학생 : 김남호 ( 부산일과학고 ) 안진웅 ( 부산일과학고 )

VHDL 기초 VHDL 두원공과대학정보통신미디어계열이무영

슬라이드 1

삼성기초VHDL실습.PDF

(JBE Vol. 23, No. 2, March 2018) (Regular Paper) 23 2, (JBE Vol. 23, No. 2, March 2018) ISSN

4 CD Construct Special Model VI 2 nd Order Model VI 2 Note: Hands-on 1, 2 RC 1 RLC mass-spring-damper 2 2 ζ ω n (rad/sec) 2 ( ζ < 1), 1 (ζ = 1), ( ) 1

2

8-VSB (Vestigial Sideband Modulation)., (Carrier Phase Offset, CPO) (Timing Frequency Offset),. VSB, 8-PAM(pulse amplitude modulation,, ) DC 1.25V, [2

목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

LCD Display

해양모델링 2장5~ :26 AM 페이지6 6 오픈소스 소프트웨어를 이용한 해양 모델링 물리적 해석 식 (2.1)의 좌변은 어떤 물질의 단위 시간당 변화율을 나타내며, 우변은 그 양을 나타낸 다. k 5 0이면 C는 처음 값 그대로 농

DWCOM15/17_manual

Microsoft PowerPoint - ICCAD_Analog_lec01.ppt [호환 모드]

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

untitled

<35312DBCB1C8A3B5B52E687770>

디지털 ASIC 설계 (1주차) MAXPLUS II 소개 및 사용법

1 01 [ ] [ ] plus 002

Microsoft PowerPoint - o8.pptx

슬라이드 1

untitled

Microsoft PowerPoint - 30.ppt [호환 모드]

black magic :, white magic : - - : - : 18:9~ ( 18:9-14) - - (manipulation),.,, 19:26~29 18:10~11 ( 28:16~17) -- () *

À̵¿·Îº¿ÀÇ ÀÎÅͳݱâ¹Ý ¿ø°ÝÁ¦¾î½Ã ½Ã°£Áö¿¬¿¡_.hwp

(Asynchronous Mode) ( 1, 5~8, 1~2) & (Parity) 1 ; * S erial Port (BIOS INT 14H) - 1 -

Microsoft PowerPoint - logo_2-미해답.ppt [호환 모드]

C# Programming Guide - Types

歯처리.PDF

USER GUIDE

SRC PLUS 제어기 MANUAL

10주차.key

<B1DDC0B6C1A4BAB8C8ADC1D6BFE4B5BFC7E228C1A63836C8A3292E687770>

예제 1.1 ( 관계연산자 ) >> A=1:9, B=9-A A = B = >> tf = A>4 % 4 보다큰 A 의원소들을찾을경우 tf = >> tf = (A==B) % A

hd1300_k_v1r2_Final_.PDF

1. 서 론

hwp

Index Process Specification Data Dictionary

목차 BUG offline replicator 에서유효하지않은로그를읽을경우비정상종료할수있다... 3 BUG 각 partition 이서로다른 tablespace 를가지고, column type 이 CLOB 이며, 해당 table 을 truncate

API 매뉴얼

<32B1B3BDC32E687770>

PowerPoint Presentation

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

XJ-A142_XJ-A147_XJ-A242_XJ-A247_XJ-A252_XJ-A257_XJ-M141_XJ-M146_XJ-M151_XJ-M156_XJ-M241_XJ-M246_XJ-M251_XJ-M256

Microsoft PowerPoint - es-arduino-lecture-03

<BACFC7D1B3F3BEF7B5BFC7E22D3133B1C733C8A BFEB2E687770>


07.045~051(D04_신상욱).fm

THE JOURNAL OF KOREAN INSTITUTE OF ELECTROMAGNETIC ENGINEERING AND SCIENCE. vol. 29, no. 6, Jun Rate). STAP(Space-Time Adaptive Processing)., -

Microsoft PowerPoint - a10.ppt [호환 모드]

VZ94-한글매뉴얼

Microsoft PowerPoint - VHDL10_full.ppt [호환 모드]


윈도우즈프로그래밍(1)

CD-RW_Advanced.PDF

2/21

untitled

4장.문장

歯기구학

Transcription:

VHDL 프로그래밍 14. 고급영상회로설계 한동일 학습목표 영상포맷을이해한다. 파일입출력기능을이해한다. 원하는형태와포맷으로파일을입출력할수있다. 시뮬레이터의부가기능을활용할수있다. 영상회로의설계표현과논리합성결과의상관관계를이해한다. 게이트를최소화할수있는설계방법을파악한다. 다양한영상회로설계문제를 VHDL 설계문제로변환할수있다. 효과적인검증환경을이용하여완성도높은설계를할수있다. 2/55

영상파일의입출력 영상회로의일반적인검증환경 카메라 카메라동기신호생성부 파일입력문으로영상파일입력 디스플레이 디스플레이장치동기신호생성부 파일출력문으로영상생성 image viewer 를이용한각프레임별검증 영상처리부 일반적인고급디지털회로설계기법사용 FIFO, RAM, ROM, SDRAM 등의메모리인터페이스필요 3/55 영상파일의입출력 영상회로의일반적인검증환경 image image Sync sync Image Image Generator Read sync Processing sync Image Write Clock Reset Generator rst_n clk Input File Control Signals Output File 4/55

영상파일의입출력 클럭신호생성부의 VHDL 구현 library IEEE; use IEEE.STD_LOGIC_1164.all; entity clk_rst_gen is port ( reset_disp_n : out std_logic; dispclk : out std_logic); end; architecture clk_rst_gen of clk_rst_gen is constant HALF_PERIOD_25M : time := 20 ns ; reset_disp_n <= '0','1'after 60 ns ; dispclk_gen : process while (true) loop dispclk <='0' ; wait for HALF_PERIOD_25M ; dispclk <= '1' ; wait for HALF_PERIOD_25M ; end loop; end process; end; 5/55 영상파일의입출력 일반적인동기신호패턴 6/55

영상파일의입출력 동기신호패턴정보의 VHDL 구현 -- Galaxy S timing information constant HTOTAL_WIDTH : integer := 500 ; constant HSYNC_WIDTH : integer := 5; constant HSYNC_BACK_PORCH : integer := 14 ; constant HBP_PLUS_ACTIVE PLUS : integer := 494 ; constant VTOTAL_WIDTH : integer := 820 ; constant VSYNC_WIDTH : integer := 5; constant VSYNC_BACK_PORCH : integer := 8 ; constant VBP_PLUS_ACTIVE PLUS : integer := 808 ; 7/55 영상파일의입출력 수평동기신호생성 수평카운터신호생성 pcounter_gen: process (dispclk, reset_disp_n) if (reset_disp_n='0') then pcounter <= 0; elsif (dispclk='1' and dispclk'event) then end process; if (pcounter= HTOTAL_WIDTH-1) then pcounter <= 0; else pcounter <= pcounter + 1; 8/55

영상파일의입출력 수평동기신호생성 hsync_n_gen: process (dispclk, reset_disp_n) if (reset_disp_n='0') then s_hsync_n <= '0'; elsif (dispclk='1' and dispclk'event) then end process; if (pcounter < HSYNC_WIDTH) then s_hsync_n <= '0'; else s_hsync_n <= '1'; 9/55 영상파일의입출력 수평동기신호생성 수평유효구간생성 hactive_gen: process (dispclk, reset_disp_n) if (reset_disp_n='0') then s_hactive <= '0'; elsif (dispclk='1' and dispclk'event) then end process; if (pcounter=hsync_back_porch) then s_hactive <= '1'; elsif (pcounter=hbp_plus_active) then s_hactive <= '0'; 10/55

영상파일의입출력 수직동기신호생성 수직카운터신호생성 hcounter_gen: process (dispclk, reset_disp_n) if (reset_disp_n='0') then hcounter <= 0; elsif (dispclk='1' and dispclk'event) then if (pcounter = HTOTAL_ WIDTH-1) then if (hcounter= VTOTAL_WIDTH-1) then hcounter <= 0 ; else hcounter <= hcounter + 1; end process; 11/55 영상파일의입출력 수직동기신호생성 vsync_n_gen: process (dispclk, reset_disp_n) if (reset_disp_n='0') then s_vsync_n <= '0'; elsif (dispclk='1' and dispclk'event) then end process; if (hcounter < VSYNC_WIDTH) then s_vsync_n <= '0'; else s_vsync_n <= '1'; 12/55

영상파일의입출력 수직동기신호생성 수직유효구간생성 vactive_gen: process (dispclk, reset_disp_n) if (reset_disp_n='0') then s_vactive <= '0'; elsif (dispclk='1' and dispclk'event) then end process; if (hcounter = VSYNC_BACK_PORCH) then s_vactive <= '1'; elsif (hcounter= VBP_PLUS_ACTIVE) then s_vactive <= '0'; 13/55 영상파일의입출력 PNM(Portable Anymap Format) 영상포맷 무압축영상포맷 VHDL 시뮬레이션에최적 카메라입력영상모델링 디스플레이출력영상모델링 PNM 파일종류 PPM(Portable Pixmap Format) : 컬러영상표현 PGM(Portable Graymap Format) : 계조영상 (gray-level image) 표현 PBM(Portable Bitmap Format) : 이진영상 (binary image) 표현 PNM 파일내용 영상해더부 : 영상의포맷을정의 영상데이터부 : 무압축방식, 영상해더부에의해영상데이터구조결정 14/55

영상파일의입출력 PNM(Portable Anymap Format) 영상포맷 PNM 파일해더부양식 해더부내용 Magic number Image width Image height max 설명 PNM 파일의종류와영상데이터저장방식설명영상의가로폭정보를정수형태로표현영상의세로높이정보를정수형태로표현각영상채널내에존재하는컬러나흑백표현값의최대치 # 주석정보추가시사용 해더부는 ASCII 코드형태로표시 해더부내각각의정보는여백문자로분리 blanks, tabs, line feeds, carriage returns 15/55 영상파일의입출력 PNM(Portable Anymap Format) 영상포맷 PNM 파일해더부의 magic number 2 바이트를이용하여 PNM 파일의종류를구분 Format ASCII Raw Data PBM P1 P4 PGM P2 P5 PPM P3 P6 Magic Number P1 ~ P3 : 영상부분이 ASCII P4 ~ P6 : 영상부분이 raw data 16/55

영상파일의입출력 PNM 파일의 Raw Data 영상저장포맷 PBM pixel0 pixel1 pp pixel2 pixel3 pixel4 pp pixel5 pixel6 pixel7 pp pixel8 PGM Gray 0 Gray 1 Gray 2 Gray 3 PPM Red 0 Green 0 Blue 0 Red 1 17/55 영상파일의입출력 chessboard.pbm b 파일내용및결과영상 P1 # PBM Sample Image : Chessboard 88 8 0 1 0 1 0 1 0 1 10101010 1 0 1 0 1 0 0 1 0 1 0 1 0 1 10101010 1 0 1 0 1 0 0 1 0 1 0 1 0 1 10101010 1 0 1 0 1 0 0 1 0 1 0 1 0 1 10101010 1 0 1 0 1 0 18/55

영상파일의입출력 vhdl.pgm 파일내용 P2 # PGM Sample Image : VHDL 25 9 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 32 0 0 0 32 0 64 0 0 0 64 0 128 128 128 128 0 0 255 0 0 0 0 0 0 32 0 0 0 32 0 64 0 0 0 64 0 0 128 0 0 128 0 255 0 0 0 0 0 0 32 0 0 0 32 0 64 0 0 0 64 0 0 128 0 0 128 0 255 0 0 0 0 0 0 32 0 0 0 32 0 64 64 64 64 64 0 0 128 0 0 128 0 255 0 0 0 0 0 0 32 0 0 0 32 0 64 0 0 0 64 0 0 128 0 0 128 0 255 0 0 0 0 0 0 0 32 0 32 0 0 64 0 0 0 64 0 0 128 0 0 128 0 255 0 0 0 0 0 0 0 0 32 0 0 0 64 0 0 0 64 0 128 128 128 128 0 0 255 255 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19/55 영상파일의입출력 vhdl.pgm 파일결과영상 20/55

영상파일의입출력 color.ppm 파일내용및결과영상 P3 3 3 255 0 0 0 128 128 128 255 255 255 255 0 0 0 255 0 0 0 255 0 255 255 255 0 255 255 255 0 21/55 영상파일의입출력 영상파일의입력 library ieee; use ieee.std_logic_1164.all i ll ; use ieee.std_logic_arith.all ; use ieee.std_logic_unsigned.all; use std.textio.all; architecture simulation of ppm_image_read is constant BLACK_INT : integer := 16 ; constant BV : std_logic_vector (7 downto 0) := "00001000"; process (dispclk, reset_disp_n) file INFILE_IMG : text open read_mode is "buildings.txt"; variable img_val : line; variable rvalue, gvalue, bvalue : integer range 0 to 255; -- 중략 22/55

영상파일의입출력 영상파일의입력 - 계속 if hactive='1' and vactive='1' then if not (endfile(infile_img)) then readline(infile_img, img_val); read(img_val, rvalue); read(img_val, gvalue); read(img_val, bvalue); pir_rimg rimg <= conv_std_logic_vector(rvalue,8); vector(rvalue pir_gimg <= conv_std_logic_vector (gvalue,8); pir_bimg <= conv_std_logic_vector (bvalue,8); else pir_rimg <= BV; pir_gimg <= BV; pir_bimg <= BV; 23/55 영상파일의입출력 영상파일의출력 architecture simulation of ppm_image_write is file OUT_IMG : text open write_mode is "buildings_negative.ppm"; constant H_WIHTH : integer := 480; constant V_HEIGHT : integer := 800; procedure writergb (file F: text; R, G, B: in integer) is variable L : line; write(l, R, RIGHT, 3); write(l, string'(" ")); write(l, G, RIGHT, 3); write(l, string'(" ")); write(l, B, RIGHT, 3); writeline(f, L); end writergb; 24/55

영상파일의입출력 영상파일의출력 - 계속 procedure writeheader (file F : text; Width, Height : in integer) is variable L : line; write(l, string'("p3"));-- magic number writeline(f, L); write(l, string'("# Creadted through VHDL simulation")); writeline(f, L); write(l, Width); write(l, string'("")); write(l, Height); writeline(f, L); write(l, string'("255")); writeline(f, L); end writeheader; 25/55 영상파일의입출력 영상파일의출력 - 계속 end ; write_output : process (dispclk) variable tmp_r, tmp_g, tmp_b: integer; variable time_zero : std_logic := '0'; if (time_zero = '0') then writeheader(out_img, H_WIHTH, V_HEIGHT); time_zero := '1'; elsif ( dispclk'event and dispclk = '1') then if ( hactive_ip = '1' and vactive_ip = '1') then end process write_output; tmp_ r := conv_ integer(unsigned(ip g ( p_ rimg)); tmp_g := conv_integer(unsigned(ip_gimg)); tmp_b := conv_integer(unsigned(ip_bimg)); writergb(out_img, tmp_r, tmp_g, tmp_b); 26/55

영상파일의입출력 입력및출력영상예 입력영상 27/55 출력영상 영상파일의입출력 영상파일입출력시뮬레이션파형예 28/55

패턴생성기의설계 대표적인테스트패턴예 일반영상 Full White Full Black Full Red Full Green Full Blue 29/55 패턴생성기의설계 대표적인테스트패턴예 Y Bars EIA Color Bars SMPTE Bars Cross Cross Hatch White Window 30/55

패턴생성기의설계 YB Bar 생성데이터 Linear RGB R 255 218 183 146 109 72 36 0 G 255 218 183 146 109 72 36 0 B 255 218 183 146 109 72 36 0 YCbCr Y 240 208 176 144 112 80 48 16 Cb 128 128 128 128 128 128 128 128 Cr 128 128 128 128 128 128 128 128 좌표 0~100 ~200 ~300 ~400 ~500 ~600 ~700 ~800 R 255 218 183 146 109 72 36 0 G 255 218 183 146 109 72 36 0 B 255 218 183 146 109 72 36 0 31/55 패턴생성기의설계 EIA Color Bar 생성데이터 white yellow cyan green magenta red blue black Linear RGB R 255 255 0 0 255 255 0 0 G 255 255 255 255 0 0 0 0 B 255 0 255 0 255 0 255 0 YCbCr Y 235 210 170 145 106 81 41 16 Cb 128 16 166 54 202 90 240 128 Cr 128 146 16 34 202 240 110 128 좌표 0~114 ~228 ~343 ~457 ~571 ~686 ~800 R 255 255 0 0 255 255 0 G 255 255 255 255 0 0 0 B 255 0 255 0 255 0 255 32/55

패턴생성기의설계 YB Bar 생성부 -- 중략 -- image signal interface image_gen gen : process(dispclk) if (dispclk='1' and dispclk'event) then if vactive_pir='1' then if hactive_fpulse ='1' then hcounter <= (hcounter + 1) mod 1024; else hcounter <= 0; 33/55 패턴생성기의설계 YB Bar 생성부 if hactive_pir='1' and vactive_pir='1' then if hcounter < GRAY7_POS then ip_rimg <= WHITE; ip_gimg <= WHITE; ip_bimg <= WHITE; elsif lifhcounter <GRAY6_POS POSthen ip_rimg <= GRAY6; ip_gimg <= GRAY6;ip_bimg <= GRAY6; -- 중략 elsif hcounter < GRAY1_POS then ip_rimg <= GRAY1; ip_gimg <= GRAY1; ip_bimg <= GRAY1; else ip_rimg <= BLACK; ip_gimg <= BLACK; ip_bimg <= BLACK; else -- can be deleted for internal use or simulation only. ip_rimg <= BLACK; ip_gimg <= BLACK;ip_bimg <= BLACK; end process; 34/55

색좌표변환기의설계 색좌표 (Color Space) 색의수학적인표현방법 RGB Color Space 컴퓨터그래픽및디스플레이용도 YIQ, YUV, YCbCr Color Space 영상의압축, 복원, 처리용도 CMYK Color Space 컬러출판에사용됨 HIS(Hue, Saturation, Intensity) Color Space 인간의컬러인지특성모델링에사용됨 35/55 색좌표변환기의설계 RGB 와 YCbCr 색좌표변환관계예 Y = 0.257R + 0.504G + 0.098B 098B + 16 Cb = -0.148R - 0.291G + 0.439B + 128 Cr = 0.439R - 0.368G - 0.071B 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) 36/55

색좌표변환기의설계 색좌표변환기의전체구조도 image image image Image Read sync RGB to YCbCr Conversion sync YCbCr to RGB Conversion sync Image Write Input Image Output File Write Output File File 37/55 색좌표변환기의설계 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 YCbCr 색좌표변환식의구현예 compile error signal R : std_logic_vector (7 downto 0); signal lg : std_logic_vector (7downto 0); signal B : std_logic_vector (7 downto 0); signal Y : std_logic_vector (7 downto 0); signal Cb : std_logic_vector (7 downto 0); signal Cr : std_logic_vector (7 downto 0); -- 중략 Y <= 0.257*R + 0.504*G + 0.098*B + 16; Cb <= -0.148*R - 0.291*G + 0.439*B + 128; Cr <= 0.439*R - 0.368*G - 0.071*B + 128; 38/55

색좌표변환기의설계 YCbCr 색좌표변환식의구현예 논리합성불가 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 <= 257*R/1000 + 504*G/1000 + 98*B/1000 + 16; Cb <= -148*R/1000-291*G/1000 + 439*B/1000 + 128; Cr <= 439*R/1000-368*G/1000-71*B/1000 + 128; 39/55 색좌표변환기의설계 YCbCr 색좌표변환식의구현예 논리합성가능 연산오차의누적발생 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 <= 263*R/1024 + 516*G/1024 + 100*B/1024 + 16; Cb <= -152*R/1024-298*G/1024 + 450*B/1024 + 128; Cr <= 450*R/1024-377*G/1024-73*B/1024 + 128; 40/55

색좌표변환기의설계 YCbCr 색좌표변환식의구현예 연산오차의누적 입력영상데이터 역변환을통해얻은원영상데이터 41/55 색좌표변환기의설계 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; 42/55

색좌표변환기의설계 YCbCr 색좌표변환식의구현예 C 와동일결과 입력영상데이터 역변환을통해얻은원영상데이터 43/55 색좌표변환기의설계 색좌표변환결과예 원영상 YCbCr 영상색변환결과영상 44/55

색좌표변환기의설계 색변환시뮬레이션파형예 45/55 MCT 변환기의설계 MCT(Modified d Census Transform) 변환 영상내의구조적인특징을추출하는방법 밝기변화나조명에의한영향을최소화하면서영상내의정보를추출하는기법 MCT 변환의정의 46/55

MCT 변환기의설계 MCT 변환예 W(X) 10 20 30 40 0 60 70 80 90 MCT 0 0 0 000001111 (=15) 0 0 1 1 1 1 Γ(X) - - - - 15 - - - - 0 40 20 70 90 80 MCT 0 0 0 1 1 1 000111100 (=60) - - - - 60-60 10 30 1 0 0 - - - 47/55 MCT 변환기의설계 MCT 계산슈도코드 기본알고리즘에 /9 사용 논리합성을위해서는근사화, 혹은최적화필요 data_mean = (m1+m2+m3+m4+m5+m6+m7+m8+m9)/9; -- 논리합성불가 if (m1 > data_mean) mct1 = 1; else mct1 = 0; if (m2 > data_ mean) mct2 = 1; else mct2 = 0; //... // 중략 MCT = (mct1 << 8) + (mct2 << 7) + (mct3 << 6) + (mct4 << 5) + (mct5 << 4) + (mct6 << 3) + (mct7 << 2) + (mct8 << 1) + (mct9); 48/55

MCT 변환기의설계 근사화방법 1/9 = 1 * (256/256) /9 = 1 * (256/9) / 256 28 / 256 -- 근사화이전 data_mean = (m1+m2+m3+m4+m5+m6+m7+m8+m9)/9; -- 논리합성불가 -- 근사화이후 data_mean = 28 * (m1+m2+m3+m4+m5+m6+m7+m8+m9) / 256; 최적해법 /9 대신이항해서 *9 사용 -- 근사화이전 data_mean = (m1+m2+m3+m4+m5+m6+m7+m8+m9)/9; -- 논리합성불가 -- 근사화이후 data_sum = 9 * data_mean = (m1+m2+m3+m4+m5+m6+m7+m8+m9); 49/55 MCT 변환기의설계 VHDL 설계를위한최적 MCT 계산슈도코드 data_sum = (m1+m2+m3+m4+m5+m6+m7+m8+m9); if (9 * m1 > data_ sum) mct1 = 1; else mct1 = 0; if (9 * m2 > data_sum) mct2 = 1; else mct2 = 0; //... // 중략 MCT = (mct1 << 8) + (mct2 << 7) + (mct3 << 6) + (mct4 << 5) + (mct5 << 4) + (mct6 << 3) + (mct7 << 2) + (mct8 << 1) + (mct9); 50/55

MCT 변환기의설계 MCT 변환예 51/55 MCT 변환기의설계 MCT 변환기의구조도 image Y image MCT image Image Read sync RGB to YCbCr Conversion sync MCT Generator sync Image Write Input Yi image Output Output File Write File File 52/55

MCT 변환기의설계 3x33 윈도우의구현 Y image F/F F/F Line Memory(480x8) F/F F/F MCT Calculator Line Memory(480x8) F/F F/F MCT Image Window Generator(3x3) 53/55 MCT 변환기의설계 MCT 변환결과예 원영상 Y 영상 MCT 결과영상 54/55

MCT 변환기의설계 MCT 변환시뮬레이션파형예 55/55