[논문]MPEG 알고리즘 설명과 레퍼런스 해석 및 MPEG 재생기 구현
닫기
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
해당 자료는 10페이지 까지만 미리보기를 제공합니다.
10페이지 이후부터 다운로드 후 확인할 수 있습니다.

소개글

[논문]MPEG 알고리즘 설명과 레퍼런스 해석 및 MPEG 재생기 구현에 대한 보고서 자료입니다.

목차

1. 서론 3 page
2. MPEG-2의 인코딩 레퍼런스와 알고리즘 4 page
2-1. 개괄적인 루틴 4 page
2-2. 인코딩 레퍼런스 및 알고리즘 설명 4 page
2-2-1. readparmfile() 4 page
2-2-2. readquantmat() 7 page
2-2-3. init() 7 page 2-2-4. putseq() 8 page
3. 다이렉트쇼 개요 38 page
3-1. 다이렉트쇼의 등장배경 38 page
3-1-1. 비디오 캡처의 역사 38 page
3-1-2. 새로운 구조의 모색 39 page
3-2. 다이렉트쇼의 역사 40 page
3-3. 컴포넌트 구조 41 page 3-3-1. 다양한 입력 41 page
3-3-2. 다양한 포맷 42 page
3-3-3. 다양한 출력 43 page
3-3-4 다양한 하드웨어 장치 43 page
3-4. 제어구조 45 page
3-5. 데이터 흐름 47 page
3-5-1. 버퍼 공유 47 page
3-5-2. 커널 스트리밍 49 page
3-6. 프로그램 배포 51 page
3-7. 다이렉트쇼의 미래 52 page
4. 다이렉트쇼 하부구조 53 page
4-1. 그래프에디터와 다이렉트쇼 하부구조 53 page
4-2. 다이렉트쇼 애플리케이션으로 개념 전환 53 page
5. 다이렉트쇼 애플리케이션 개발 환경 56 page
5-1. 다이렉트X SDK 경로설정 56 page
5-2. 개발에 필요한 헤더 파일과 라이브러리 파일 57 page
6. 소스코드 59 page
6-1. 재생 59 page
6-2. 일시정지 59 page
6-3. 멈춤 60 page
6-4. 위치 찾기 60 page
7. 결과 62 page
8. 맺음말 64 page
9. 참고문헌 64 page

본문내용

‘Link' 탭에서 [그림 5-3]과 같이 strmiids.lib를 ’Object/library modules' 항목에 추가 입력하면 된다.
그림 5-3. strmiids.lib 파일을 프로젝트에 추가
6. 소스코드
6-1. 재생
//------------------------------------------------------------------
// 재생
// Calls IMediaControl::Run() method; 재생이 끝나면 다시 초기화가 된다.
//------------------------------------------------------------------
HRESULT CMovie::PlayMovie()
{
HRESULT hr = S_OK;
LONGLONG llCur = 0L;
LONGLONG llD = 0L;
if( !m_Mc )
return E_POINTER;
if( m_Ms )
{
hr = m_Ms->GetCurrentPosition( &llCur);
hr = m_Ms->GetDuration( &llD);
if( llCur >= llD )
{
LONGLONG llStart = 0L;
hr = m_Ms->SetPositions(&llStart, AM_SEEKING_AbsolutePositioning, NULL, AM_SEEKING_NoPositioning);
}
}
hr = m_Mc->Run();
return hr;
}
6-2. 일시정지
//------------------------------------------------------------------
// 일시정지
//------------------------------------------------------------------
HRESULT CMovie::PauseMovie()
{
HRESULT hr = S_OK;
if( !m_Mc)
return E_POINTER;
hr = m_Mc->Pause();
return hr;
}
6-3. 멈춤
//------------------------------------------------------------------
// 멈춤
//------------------------------------------------------------------
HRESULT CMovie::StopMovie()
{
HRESULT hr = S_OK;
if( !m_Mc)
return E_POINTER;
hr = m_Mc->Stop();
return hr;
}
6-4. 위치 찾기
//------------------------------------------------------------------
// 위치 찾기
//------------------------------------------------------------------
BOOL CMovie::SeekToPosition(REFTIME rt, BOOL bFlushData)
{
HRESULT hr=S_OK;
LONGLONG llTime = LONGLONG( m_TimeFormat == TIME_FORMAT_MEDIA_TIME ? rt * double(UNITS) : rt );
if (m_Ms != NULL)
{
FILTER_STATE fs;
m_Mc->GetState(100, (OAFilterState *)&fs);
m_Ms->SetPositions(&llTime, AM_SEEKING_AbsolutePositioning, NULL, 0);
// This gets new data through to the renderers
if (fs == State_Stopped && bFlushData)
{
m_Mc->Pause();
hr = m_Mc->GetState(INFINITE, (OAFilterState *)&fs);
m_Mc->Stop();
}
if (SUCCEEDED(hr))
{
return TRUE;
}
}
return FALSE;
}
7. 결과
그림 7-1. 그래프에디터로 표현한 동영상 플레이어
인코딩
재생시
8. 맺음말
인코딩에는 국제표준인 MPEG-2 기술과 디코딩에는 다이렉트X로 현실적으로 카메라로 화상을 받은 후 그것을 인코딩한 후 디코딩, 즉 동영상 플레이어로 불러들이는 부분까지 구현을 해 보았다. 구현하는데 있어서 인코딩에서는 국제 표준인 MPEG-2 기술을 표준으로서 사용하는 레퍼런스 소스를 사용하여, 인코딩에 들어가는 알고리즘과 소스를 분석함으로서 카메라로 받은 화상을 어떻게 화면으로 구조화하는지, 어떻게 물리적으로 컴퓨터상에서 돌아가는지, 메모리 상에 어떻게 배치되는지, 움직임을 어떻게 예측하는지를 차근차근 한 과정씩 따라가면서 보았고 이를 Visual C++ MFC로 구현해 보았다.
카메라로 화상을 받아 Visual C++ 을 사용하여 메뉴를 만들어 인코딩하여 이것을 다이렉트쇼로 디코딩한 것이 동영상 플레이어로 여러 동영상을 재생가능토록 하였다. 다이렉트X는 국제 표준인 MPEG 기술을 현실적인 방법으로 최신의 기술로 현 운영체제에 최적화시켜 간단히 제공되는 소스들로 디코딩을 구현하고 이것을 동영상 플레이어로 바로 재생할 수 있도록 함으로써 이것을 사용하는 것만으로도 최적화되고 안정적인 화상 구현 기술을 사용할 수 있도록 하였다. 이로써 우리는 이번 논문으로 MPEG-2 라는 전문화된 기술과 다이렉트X라는 최신의 기술을 알고 구현해 봄으로서 이 기술을 습득하고 한 차원 높은 기술을 사용할 수 있게 되었다. 이 논문을 쓰는데 지도 편달해 주신 안양대학교 정보통신공학과 김호경 교수님과 정보통신공학과의 모든 교수님들께 감사의 말씀을 드리며 이 논문을 마치도록 하겠다.
9. 참고문헌
1. 이호준, 김준기, “알기 쉬운 MPEG-2”, 홍릉과학출판사, 2002
2. 신화선, “DirectShow 멀티미디어 프로그래밍”, 한빛미디어, 2002
3. 일본멀티미디어연구소, “그림으로 보는 응용 MPEG”, 교보문고, 1997
4. 일본멀티미디어연구소, “그림으로 보는 최신 MPEG”, 교보문고, 2002
5. http://www.mpeg.org 국제 표준 MPEG

키워드

  • 가격3,000
  • 페이지수62페이지
  • 등록일2006.02.09
  • 저작시기2006.02
  • 파일형식한글(hwp)
  • 자료번호#336560
본 자료는 최근 2주간 다운받은 회원이 없습니다.
다운로드 장바구니