2.1차 중간 보고

                 종합설계 프로젝트 1차 중간보고서 요약

팀명

파인 애플

제출일

2014 4 4일

프로젝트 제목

vSlide

설계프로젝트 개요

프로젝트 수행 내용 및 중간 결과

프로젝트 요약문

  • 본 프로젝트 <vSlide>의 목표는, 동영상에 포함된 슬라이드 쇼의 내용을 사용자가 파악하기 쉽도록 슬라이드 부분을 선명하게 처리하여 새로운 동영상으로 제공해 주는 것이다.

    본 프로젝트에서는 다음과 같은 두 가지 경우에 활용 할 수 있다.
     -1) 슬라이드 파일을 따로 제공하는 동영상의 경우: 제공받은 슬라이드를 동영상에 합성하여 사용자에게 다시 제공한다. 이 경우 가장 이상적인 형태로 사용자들에게 선명한 슬라이드가 포함된 동영상을 제공할 수 있다.
     -2) 슬라이드 파일을 따로 제공하지 않는 동영상의 경우: 동영상에서 슬라이드 부분을 이미지로 추출하여 선명하게 처리한 뒤 슬라이드 부분에 다시 덧씌워 사용자에게 제공한다.

    현재까지 이런 기능을 수행하는 프로그램을 시중에서는 거의 찾아보기 힘들고, YouTube나 EBS, 메가스터디 등을 통해 인터넷 강의를 시청하는 사용자들이 점점 증가하는 추세이기 때문에 많은 수요가 있을 것으로 기대하고 있다. 또한 강의를 시청하는 사용자 뿐만이 아니라 강의를 제공하는 업체 측에도 유용할 것으로 예상된다.


마일스톤 수행 내용

  • Milestone 1(이하M1): 슬라이드to이미지 추출 프로그램 완성(~2/18)
    - 슬라이드 파일을 첨부한 후 버튼을 눌렀을때 슬라이드의 페이지를 각각 이미지 파일로 저장해주는 프로그램을 완성.
  • M2: 이미지 추출 프로그램 완성(~2/18)
    - 지정된 영역을 이미지로 추출하는 프로그램 작성.
  • M3: 동영상 위에 이미지 합성(~3/4)
    - ffmpeg 에서 layer기능을 사용, 간단한 예제를 작성.
    - Qt를 이용해 동영상 첨부와 함성할 이미지를 첨부할수 있는 UI 제작.
  • M4: 동영상 프레임 자르기 완성(~3/4)
    - ffmpeg의 명령어를 통해 동영상의 프레임을 자르는 예제를 작성.
    - Qt를 이용하여 동영상 첨부와 나누어진 프레임을 확인할 수 있는 UI 제작.
  • M5: 이미지 유사성 검사(~3/20)
    - 오픈소스 틀을 이용한 이미지 유사성 프로그램 작성.
  • M6: Rectification 완성(~3/13)
    - OpenCV를 이용하여 사각영역 지정 후 사각화
  • *M1(M2+M3+M4): 블록지정 된 부분의 프레임 자르기 기능 구현(~3/13)
    - 전체화면의 프레임이 아닌 슬라이드 부분만 프레임으로 잘라 여러 이미지 파일로 저장한다
  • *M2(M3+M5+M6): 슬라이드 페이지 이동 확인(~3/20)
    - 페이지 넘김 시간정보를 획득하는 것이 가장 중요하기 때문에 프레임과 슬라이드 이미지간의 일치비교를 하여 몇번째 프레임에서 넘어갔는지 Detecting
  • *M3(*M2+M4): 시간정보를 이용한 슬라이드 합성(~3/27)
    - *M2에서 받은 시간정보와 Rectification한 정보를 통해 정확히 해당 부분에 슬라이드가 합성될 수 있게 변환한다.
    - Alpha Blending을 통해 직사각형 모양이 아닌 슬라이드 이미지의 빈 부분을 없애주며 합성한다.
  • *M4(*M1+*M2+*M3): 추가기능 제외한 데모프로그램 작성(~4/3)
    - 카메라 Move 처리, 외부물체 Detecting 이 빠진상태의 데모이다.
    - 즉, 완전한 형태가 아닌 제한사항이 많은 중간 1차 데모라 할 수 있다.


동영상

다음 마일스톤 일정

  • M7: 슬라이드 가림처리(Matting)(~4/17)
    - OpenCV를 이용하여 color 정보의 차이를 통해 슬라이드 일부분이 가려지는 것을 Detecting 한 후 슬라이드 이미지 합성 후 가려진 부분을 합성한다.
  • M8: Tracking 분석(~4/17)
    - OpenCV를 이용하여 슬라이드 부분을 Detecting 한다. 사각영역을 사용자가 직접 지정하지 않기 때문에 필수 사항.
    - 카메라 Zoom In & Zoom Out과 카메라 Move등을 처리할 수 있어서 제한적 한계를 극복하는데에 있다.
  • M9: 동영상 속 슬라이드 to pdf (4/17~)
    - 슬라이드 파일 첨부가 되지 않았을 때 최대한 가까운 형태의 image로 저장
    - image를 모아 pdf파일로 변환한다.
  • M10: QT Video Player(4/24~)
    - 시간정보를 저장한 텍스트파일과 슬라이드 이미지와 변형된 동영상을 이용하여 최종적으로 보여주고자 하는 결과를 보여준다.
    - 특히 이 부분은 서비스를 해야할 형태이기 때문에 UI/UX 구성에 집중한다.
  • *M5(*M4+M7+M8+M9): vSlide 동영상 구현(4/24~)
    - 카메라 Move 처리, 외부물체 Detecting이 포함된 중간 2차 데모이다.
  • *M6(*M5+M10): 최종수정 및 Test(5/15~)
    - 많은 시험을 통해 오류 검출 후 수정 및 디버깅 진행


Ċ
12조 캡스톤,
2014. 4. 3. 오전 12:30