디지털영상처리16

Similar documents
멀티미디어시스템특강10-동영상압축의 이해(I)

디지털영상처리3

BMP 파일 처리

PowerPoint 프레젠테이션

설계란 무엇인가?

AVN2100Kor_Ç¥Áö110818F

Microsoft PowerPoint - C++ 5 .pptx

KAA2005.9/10 Ãâ·Â

Microsoft PowerPoint - java1-lab5-ImageProcessorTestOOP.pptx

<4D F736F F F696E74202D B3E22032C7D0B1E220C0A9B5B5BFECB0D4C0D3C7C1B7CEB1D7B7A1B9D620C1A638B0AD202D20C7C1B7B9C0D320BCD3B5B5C0C720C1B6C0FD>

쉽게 풀어쓴 C 프로그래밍

JAVA 프로그래밍실습 실습 1) 실습목표 - 메소드개념이해하기 - 매개변수이해하기 - 새메소드만들기 - Math 클래스의기존메소드이용하기 ( ) 문제 - 직사각형모양의땅이있다. 이땅의둘레, 면적과대각

PowerPoint Presentation

슬라이드 1

Microsoft PowerPoint - chap06-2pointer.ppt

<30342DBCF6C3B3B8AEBDC3BCB33228C3D6C1BE292E687770>

17장 클래스와 메소드

(Microsoft PowerPoint - 07\300\345.ppt [\310\243\310\257 \270\360\265\345])

Visual C++의 개요

디지털TV솔루션 브로셔

PowerPoint 프레젠테이션

2011년 10월 초판 c 2011 Sony Corporation. All rights reserved. 서면 허가 없이 전체 또는 일부를 복제하는 것을 금합니다. 기능 및 규격은 통보 없이 변경될 수 있습니다. Sony와 Sony 로고는 Sony의 상표입니다. G L

미쓰리 파워포인트

슬라이드 1

쉽게 풀어쓴 C 프로그래밍

adfasdfasfdasfasfadf

PowerPoint Template

1. auto_ptr 다음프로그램의문제점은무엇인가? void func(void) int *p = new int; cout << " 양수입력 : "; cin >> *p; if (*p <= 0) cout << " 양수를입력해야합니다 " << endl; return; 동적할

Microsoft PowerPoint - web-part01-ch10-문서객체모델.pptx

5장. JSP와 Servlet 프로그래밍을 위한 기본 문법(완성-0421).hwp

1. 객체의생성과대입 int 형변수 : 선언과동시에초기화하는방법 (C++) int a = 3; int a(3); // 기본타입역시클래스와같이처리가능 객체의생성 ( 복습 ) class CPoint private : int x, y; public : CPoint(int a

[ 마이크로프로세서 1] 2 주차 3 차시. 포인터와구조체 2 주차 3 차시포인터와구조체 학습목표 1. C 언어에서가장어려운포인터와구조체를설명할수있다. 2. Call By Value 와 Call By Reference 를구분할수있다. 학습내용 1 : 함수 (Functi

윈도우시스템프로그래밍

슬라이드 1

<4D F736F F F696E74202D2036C0CFC2B05FB0B4C3BCC1F6C7E2C7C1B7CEB1D7B7A1B9D62E707074>

<4D F736F F F696E74202D20B8AEB4AABDBA20BFC0B7F920C3B3B8AEC7CFB1E22E BC8A3C8AF20B8F0B5E55D>

Frama-C/JESSIS 사용법 소개

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

<B9CCB5F0BEEE20C1A4BAB8C3B3B8AE2E687770>

스마트폰 모바일 랩 세미나

<432B2BC7C1B7CEB1D7B7A1B9D628BABBB9AE5FC3D6C1BE295B315D2E687770>

이미지 워핑과 모핑

<343620B0FBBCBAB1D92DBAF1B5F0BFC020C4DAB5F9C0BB20C0A7C7D120C0CEC1A2BAEDB7CF20BFF2C1F7C0D320BAA4C5CDB8A62E687770>

C++ Programming

임베디드시스템설계강의자료 6 system call 2/2 (2014 년도 1 학기 ) 김영진 아주대학교전자공학과

C++ Programming

JVM 메모리구조

Poison null byte Excuse the ads! We need some help to keep our site up. List 1 Conditions 2 Exploit plan 2.1 chunksize(p)!= prev_size (next_chunk(p) 3


<4D F736F F F696E74202D20C1A C0E520B5B5C5A5B8D5C6AE20C6C4C0CF20C0D4C3E2B7C220B9D720B4D9BEE7C7D120BAE420C5ACB7A1BDBA2E BC8A3C8AF20B8F0B5E55D>

(JBE Vol. 20, No. 6, November 2015) (Regular Paper) 20 6, (JBE Vol. 20, No. 6, November 2015) ISSN

<4D F736F F F696E74202D20C1A63034B0AD202D20C7C1B7B9C0D3B8AEBDBAB3CABFCD20B9ABB9F6C6DBC0D4B7C2>

Secure Programming Lecture1 : Introduction

PowerPoint Presentation

C++ Programming

A Dynamic Grid Services Deployment Mechanism for On-Demand Resource Provisioning

API 매뉴얼

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

윈도우시스템프로그래밍

Microsoft PowerPoint - chap06-1Array.ppt

프로그래밍개론및실습 2015 년 2 학기프로그래밍개론및실습과목으로본내용은강의교재인생능출판사, 두근두근 C 언어수업, 천인국지음을발췌수정하였음

슬라이드 1

슬라이드 제목 없음

쉽게 풀어쓴 C 프로그래밍

디지털영상처리3

Slide 1

Slide 1

ThisJava ..

Microsoft PowerPoint - IP11.pptx

(8) getpi() 함수는정적함수이므로 main() 에서호출할수있다. (9) class Circle private double radius; static final double PI= ; // PI 이름으로 로초기화된정적상수 public

4 장클래스와객체 클래스와객체 public과 private 구조체와클래스객체의생성과생성자객체의소멸과소멸자생성자와소멸자의호출순서디폴트생성자와디폴트소멸자멤버초기화멤버함수의외부정의멤버함수의인라인함수선언 C++ 프로그래밍입문

Chapter 6 Objects and Classes

윈도우 프로그래밍의 개념

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

금오공대 컴퓨터공학전공 강의자료

실험 5

Design Issues

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

chap x: G입력

슬라이드 1

2002년 2학기 자료구조

<B0F8C1A4C0CCBFEB5FB0A1C0CCB5E5B6F3C0CE28BFF8BABB2920BCF6C1A42E687770>

C++ Programming

12 강. 문자출력 Direct3D 에서는문자를출력하기위해서 LPD3DXFONT 객체를사용한다 LPD3DXFONT 객체생성과초기화 LPD3DXFONT 객체를생성하고초기화하는함수로 D3DXCreateFont() 가있다. HRESULT D3DXCreateFont

KRNet 2005 DMB Visual Radio - The New Interactive Radio Show SBS 기술연구소 오건식

Microsoft Word - src.doc

PowerPoint 프레젠테이션

슬라이드 1

<4D F736F F F696E74202D20C1A63038C0E520C5ACB7A1BDBABFCD20B0B4C3BC4928B0ADC0C729205BC8A3C8AF20B8F0B5E55D>

5장 MFC기반 다지기

강의계획서 1. 강의개요 학습과목명 객체지향프로그래밍 Ⅰ 학점 3 학점교 강사명교 강사전화번호 강의시간 4시간강의실수강대상 2. 교과목학습목표 4차산업혁명시대의도래로컴퓨터와프로그래밍에대한관심이커지고있으며, 여러분야에서소프트웨어의중요성을강조하며, 새시대를이끌

<4D F736F F F696E74202D203137C0E55FBFACBDC0B9AEC1A6BCD6B7E7BCC72E707074>

HW-F450-KOR-IB_New Remocon.indd

SH100_V1.4

체검사에서 낙방한 뒤 잠시 방황하다 다시 이를 악물고 공부해 상위 권대학에 합격하게 되었습니다. 대학생 시절 10.26이며 12.12며 하는 어수선한 시절을 보내고 군대를 제대한 뒤 고시 공부에 다시 도전해 보았지만 경제력이 없는 저로서는 일단 계획을 뒤로 미루고 직장

설계란 무엇인가?

PowerPoint Presentation

쉽게 풀어쓴 C 프로그래밍

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

Microsoft PowerPoint - chap01-C언어개요.pptx

Transcription:

6 장동영상처리 4AVI 파일처리 4AVI 플레이어만들기 4 움직임벡터추정

6.. AVI 파일처리 o AVI(Audio video Iterleave) 파일 마이크로소프트사에서만든디지털비디오파일포맷 오디오 (audio) 과비디오 (video) 을함께포함가능 여러개의오디오또는비디오스트림 (stream) 을가질수있음 AVI 파일은압축하지않은비디오와압축된비디오포맷을동시에지원 압축된비디오포맷의 AVI 파일은해당압축방법을해제할수있는코덱 (codec) 이필요 한빛미디어영상처리프로그래밍 By Visual C++ - 2 -

6.. AVI 파일 처리 o AVI 파일포맷 RIFF(Resource Iterchage File Format) 의특별한한형태 RIFF ('AVI ' LIST ('hdrl' 'avih'(<mai AVI Header>) LIST ('strl' 'strh'(<stream header>) 'strf'(<stream format>) [ 'strd'(<additioal header data>) ] [ 'str'(<stream ame>) ]... )... ) LIST ('movi' {SubChuk LIST ('rec ' SubChuk SubChuk2... )... }... ) ['idx' (<AVI Idex>) ] ) 한빛미디어영상처리프로그래밍 By Visual C++ - 3 -

6.. AVI 파일처리 o AVIFile 함수 윈도우즈에서 AVI 파일같은 RIFF 포맷을처리하기위해제공되는함수들 AVIFileIit AVIFileExit AVIFileOpe AVIFileRelease AVIFileGetStream AVIStreamRelease AVIStreamGetFrameOpe AVIStreamGetFrameClose AVIStreamGetFrame 한빛미디어영상처리프로그래밍 By Visual C++ - 4 -

6.. AVI 파일처리 o CAvi 클래스 CAvi(void) ~CAvi(void) 함수이름 Ope(LPCTSTR lpszpathname) Close() AVI 파일의사용을중지한다. 함수설명 생성자함수이다. AVIFileIit() 함수를호출하여 AVIFile 함수의사용을알리고, 멤버변수의값들을초기화한다. 소멸자함수이다. Close() 함수와 AVIFileExit() 함수를호출한다. 인자로넘어온 AVI 파일을열고, 비디오스트림으로부터압축되지않은비디오프레임을준비한다. DrawFrame( ) 특정프레임을화면에출력한다. GetFrame(it Frame, CDib& dib) 특정프레임을 CDib 클래스타입으로변환한다. GetFrameRate() 초당프레임수를반환한다. GetTotalFrame() 전체프레임수를반환한다. GetHeight() 비디오프레임의세로픽셀크기를반환한다. GetWidth() 비디오프레임의가로픽셀크기를반환한다. GetBitCout() 비디오프레임의픽셀당비트수를반환한다. IsValid() 비디오프레임이유효한지를검사한다. 한빛미디어영상처리프로그래밍 By Visual C++ - 5 -

6.2. AVI 플레이어만들기 o 새도큐먼트템플릿등록하기. 새도큐먼트를위한클래스추가 ( 차일드프레임, 도큐먼트, 뷰클래스 ) 2. 새도큐먼트를위한리소스추가 ( 툴바, 메뉴, 문자열테이블 ) 3. IitIstace 함수에서도큐먼트템플릿등록 한빛미디어영상처리프로그래밍 By Visual C++ - 6 -

6.2. AVI 플레이어만들기 o ImageTool 프로그램에서 AVI 파일재생 한빛미디어영상처리프로그래밍 By Visual C++ - 7 -

6.3. 움직임벡터추정 o 움직임벡터 (motio vector) 영상의시간축방향으로의변화를감지하여동영상내객체의움직임정보를추출 o 움직임벡터를구하는방법 옵티컬플로우 (optical flow) 블록매칭 (block matchig) o MPEG, 2 등에서사용 한빛미디어영상처리프로그래밍 By Visual C++ - 8 -

6.3. 움직임벡터추정 o 블록매칭움직임추정방법 현재프레임의특정위치의블록이이전프레임의어느위치에서이동한블록인지를찾는방법 연속하는두동영상프레임에오직 2 차원이동 (traslatio) 움직임만존재한다고가정 I I t t - M N W W 한빛미디어영상처리프로그래밍 By Visual C++ - 9 -

6.3. 움직임벡터추정 o 평균절대값차이 (Mea Absolute Differece) 두블록의유사도평가척도 M-N- MAD (, x y) = I ( k + i, l + j) - I ( k + x + i, l + y + j) åå ( kl, ) t t- MN i= 0 j= 0 o 움직임벡터검출 MAD 값을가장작게만드는변위 (x,y) 의값을해당블록의움직임벡터로간주 vkl (, ) = argmi MAD ( xy, ) ( xy, ) ( kl, ) 한빛미디어영상처리프로그래밍 By Visual C++ - 0 -

6.3. 움직임벡터추정 o 전역검색 (full search) 블록주변의모든변위에대하여 MAD 를계산하는방법 정확하지만시간이너무오래걸림 o 다이아몬드검색 (diamod search) 큰다이아몬드검색패턴 (LDSP) 작은다이아몬드검색패턴 (SDSP) LDSP 방법으로최소 MAD 위치의근방으로빠르게이동하고, 마지막에 SDSP 방법으로정확한위치를찾음 한빛미디어영상처리프로그래밍 By Visual C++ - -

6.3. 움직임벡터추정 o 다이아몬드검색알고리즘. 블록의중심을 (0, 0) 으로설정한다. 2. 9 개의 LDSP 위치에서 MAD 값을계산한다. 만약 9 개 LDSP 점들중에서가운데점에서최소 MAD 값이나타나면 4 번으로이동한다. 아니면, 3 번으로이동한다. 3. 2 번에서구한최소 MAD 위치를다시블록의중심으로설정하고, 9 개의점들에서 LDSP 방법으로 MAD 를구한다. 만약, LDSP 의가운데점에서최소 MAD 값이나타나면 4 번으로이동한다. 아니면, 이과정을반복한다. 4. SDSP 방법으로 5 개의점에서 MAD 를계산한다. 5 개의위치중최소 MAD 값을나타내는위치가최종위치이다. 한빛미디어영상처리프로그래밍 By Visual C++ - 2 -

6.3. 움직임벡터추정 o 다이아몬드검색방법을이용한움직임추정 -4-3 -2-0 2 3 4 5 6 7-5 8-4 4-3 3 5 4-2 2 5 3 5 4-2 5 3 0 2 2 2 3 2 한빛미디어영상처리프로그래밍 By Visual C++ - 3 -

6.3. 움직임벡터추정 o 2 차원대수적탐색 (2D logarithmic search) o Takes several iteratios ad is aki to a biary search: 4/4 As illustrated i the ext figure, iitially oly ie locatios i the search widow are used as seeds for a MAD-based search; they are marked as `'. After the oe that yields the miimum MAD is located, the ceter of the ew search regio is moved to it ad the step-size ("offset") is reduced to half. I the ext iteratio, the ie ew locatios are marked as `2', ad so o.

6.3. 움직임벡터추정 o 2 차원대수적탐색 (2D logarithmic search) 5/4

6.3. 움직임벡터추정 o Hierarchical Search The search ca beefit from a hierarchical (multiresolutio) approach i which iitial estimatio of the motio vector ca be obtaied from images with a sigificatly reduced resolutio. 6/4

6.3. 움직임벡터추정 7/4

6.3. 움직임벡터추정 o 차영상과움직임벡터검출결과 한빛미디어영상처리프로그래밍 By Visual C++ - 8 -