1.계획서

                      종합설계 프로젝트 계획서 요약

팀명

쿠CUDA스

제출일

2014년 3월 13일

프로젝트 제목

CUDA를 이용한 HEVC의 병렬처리

팀원

성명

학번

메일 주소

장원희

20092146

qtpcs@naver.com

이호빈

20093334

hobin1024@naver.com

김보중

20083209

kbjgfks@naver.com

조희진

20103383

12heejin@naver.com

이재연

20083257

yjycj88@naver.com 

설계 프로젝트 개요

프로젝트 개요

‘HEVC 병렬 구현프로젝트는 비디오 표준 코덱 HEVC의 디코딩 시간을 GPU 병렬 처리로 단축시키는 프로젝트이다.

HEVC (high efficiency video coding) ISO/IEC MPEG (moving picture experts group) ITU-T VCEG (video coding experts group) JCT-VC (joint collaborative team on video coding)에 의해 2013 1월 표준화가 완료된 차세대 비디오 압축 기술이다. 기존의 코덱(AVC)보다 압축률을 두 배 이상 높이면서 화질을 개선하고, 8K UHD급 영상에 대응하는 것이 목표이다.

HEVC의 공식 버전(Official Version)HM10 HEVC의 이론을 직관적으로 프로그래밍 한 프로그램이다우리는 1차적으로 HM10의 디코더 컴포넌트(Decoder Component)를 병렬처리 하여 성능 향상의 정도를 확인한 뒤, HEVCnative 버전이 반영 된 오픈 소스인 FFmpeg의 디코더 컴포넌트를 병렬 처리 한다

FFmpeg은 크로스 플랫폼을 지원하는 오픈 소스 멀티미디어 프레임워크이다. FFmpeg에 반영되어있는 HM10은 알고리즘 등이 최적화 되어 있다. 이 최적화 되어 있는 소스에서 디코더 컴포넌트를 병렬처리 해 개선된 성능을 얻는 것이 우리 프로젝트의 최종 목표이다

장점

  1. 똑 같은 용량의 파일을 압축했을 시 H.265를 이용하는 쪽이 훨씬 (눈에 보기에) 화질이 좋고 선명하다.
  2. 현재 나와있는 HEVC는 많은 기능이 들어가있기 때문에, 그대로 사용할 경우 H.264에 비해 시간이 오래 걸린다. 병렬처리를 도입함으로써 시간을 줄일 수 있다.
  3. 고해상도 영상의 실시간 스트리밍이 실현되는 것을 좀 더 앞당길 수 있다.
     

현실적 제한요소

    1. 개발 환경

        A. CUDA 프로세서가 필수라 갖추는데 필요한 비용이 많이 들어간다.
        B. FFmpeg의 빌드를 위해 새로운 OS 환경(Ubuntu)이 필요하다.
        C. 특정 버전의 Visual Studio 필요. VS2012 버전으로 진행했기 때문에 계속 2012 버전이                 필요하다.
    2. 속도 개선이 주 목표인 프로젝트인 만큼 목표 수치 확정이 난해하다.
    3. 캡스톤 시연시 프로그램 설명이 아닌, 보다 쉽게 프로젝트의 내용을 설명할 방법이 필요하다

비교대상

     1. HEVC의 표준 HM10

  HM10 HEVC를 직관적으로 구현한 표준 프로그램이다. 가장 표준이 되는 프로그램인 만큼 알고리즘이나 메모리 할당 등에 있어서 최적화 되어 있지 않다. 이 상태에서 1차 병렬 구현을 통해 성능이 어느 정도 개선될 것이라고 생각한다.

     2. 최적화 된 HEVC의 반영, FFmpeg
        
 프로젝트의 가장 근본적인 목적이다. FFmpeg에는 HEVC가 최적화 되어있기 때문에,             렬처리 시 표준 프로그램보다 더 나은 속도를 보일 수 있다.

마일스톤 일정

마일스톤

개요

시작일

종료일

계획서 발표

ü  개발 환경 설정

n   NVIDA 그래픽 카드 구비

n   윈도우 7 OS / Ubuntu OS 설치

n   Eclipse / visual studio 12 설치

n   FFmpeg 설치

n   GitHub 설치

ü  관련 이론 학습

n   관련 이론 학습

n   HEVC 표준문서 학습

n   HM10.0 코드 분석

결과물:

1.      프로젝트 제안서(.pdf)

2.      프로젝트 제안서(.pptx)

3.      프로젝트 발표 준비물(음성이 녹음 된.pptx)

4.      프로젝트 요약계획서

2013-12-03

2014-02-21

1차 중간 보고

아래의 두 sub-component에 대한 FFmpeg 병렬처리 완료 및 단위 테스트

ü  Inter/Intra Prediction

ü  Sample Adaptive Offset Filter

결과물:

1.      프로젝트 1차 중간 보고서

2.      프로젝트 진도 점검표

3.      1차분 구현 소스 코드

2014-03-13

2014-04-03

2차 중간 보고

아래의 두 sub-component에 대한 FFmpeg 병렬 처리 완료 및 단위 테스트

ü  Motion Vector

ü  Deblocking Filter

ü  Arithmetic Coding CPU

결과물:

1.      프로젝트 2차 중간 보고서

2.      2차분 구현 소스 코드

2014-04-04

2014-05-01

구현 완료

시스템 구현 완료

ü  4가지 sub-component 구현 완료

ü  Decoding_graph 구현

결과물:

1.      병렬처리가 완료된 HEVC Decoder 구현 완료 소스 코드

2.      Decoding_graph 구현 완료 소스 코드

3.      테스트 결과 보고서

2014-05-02

2014-05-20

테스트

시스템 통합 테스트

ü  component 별 성능 개선 테스트 및 측정

ü  최종 구현 완료 Decoder 성능 개선 테스트 및 측정

결과물:

1.      테스트 결과 보고서

2014-05-21

2014-05-26

최종 보고서

최종 보고 및 캡스톤 전시회 준비

결과물:

1.      최종 보고서 및 슬라이드

2.      Decoder 성능 개선 그래프 준비

2014-05-26

2014-05-27

 

 

 

 

 

 

 

 

 

 

 

 

 

결론

결론

  프로젝트는 고화질/대용량 멀티미디어 컨텐츠에 대한 수요에 발맞춰 오픈 소스 라이브러리

 

 

 

 

 

 

 

 
















FFmpeg
이용한 차세대 비디오 압축 표준 HEVC Decoder module 병렬 프로그래밍 하여 HEVC 전반에 걸친 성능 개선을 목표로 한다.

고화질/대용량의 영상처리는 단순히 더 나은 품질의 영상 서비스뿐 아니라 의료, 위성, CCTV 영상 등에 걸쳐 상당히 넓은 범위에 영향을 미칠 수 있다. 이번 프로젝트가 성공해 영향을 미치는 다른 분야의 서비스 질의 향상을 기대해 본다.



      첨부화일 (아래 안내는 첨부 후에 삭제할 것)
      1. 계획서 발표 슬라이드쇼(200초 미만, 음성 녹음을 하여 슬라이드쇼로 만든 .ppsx 파일을 첨부 할 것.)
      2. 계획서 발표 슬라이드(PDF, 장당 2개)
      3. 계획서 화일(반드시 PDF파일로 제출 할 것.)
      Ċ
      14조 캡스톤,
      2014. 3. 12. 오후 10:53
      ć
      14조 캡스톤,
      2014. 3. 12. 오후 11:53
      ć
      14조 캡스톤,
      2014. 3. 12. 오후 11:53
      Ċ
      14조 캡스톤,
      2014. 3. 12. 오후 10:32