Top Banner
HM-10.0
25

Hm10 Research sheets

Aug 07, 2015

Download

Software

Yoonseung Choi
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Hm10 Research sheets

HM-10.0

Page 2: Hm10 Research sheets

Contents

I. 확장내역1) TCP/UDP Socket를 통한 File Stream2) Thread for Input Stream with Circular Buffer3) TAppStreamer를 통한 Frame Stream4) DirectX를 이용한 실시간 영상재생

II. 성능테스트

Page 3: Hm10 Research sheets

Decoder

인코딩된(.bin) 파일을 받아 yuv420 format 으로 디코딩

파일스트림 혹은 TCP/UDP 소켓스트림을 통한 입출력

Page 4: Hm10 Research sheets

HDD

Decoder.bin .yuv

Page 5: Hm10 Research sheets

Decoding by File stream

PC 에 저장되어 있는 바이너리 파일을 디코딩

Test File - BQMall_832x480_60_qp22_i_main.bin (Encoded by intramode, 29.3mb)

Usage : -b BQMall_832x480_60_qp22_i_main.bin -o BQMall_832x480_60_main.yuv

Page 6: Hm10 Research sheets

Decoding by Socket stream

우선 FileSender 를 이용 TCP/UDP 소켓을 통해 파일 전송

Test File - BQMall_832x480_60_qp22_i_main.bin (Encoded by intramode, 29.3mb)

Usage : 127.0.0.1 9190

Page 7: Hm10 Research sheets

Decoding by Socket stream

TAppDecoder 에선 수신한 파일을 원형버퍼에 저장

Usage : -b tcp://127.0.0.1:9190 -o BQMall_832x480_60_main.yuv or -b udp://127.0.0.1:9190 -o BQMall_832x480_60_main.yuv

Page 8: Hm10 Research sheets

Decoding via UDP Stream

보내는 쪽에선 서버쪽 수신여부에 상관없이 보냄

따라서 못받은 데이터에 대해선 손실이 발생

이에 따라 데이터 수신용 Thread를 구현

원형버퍼를 통해 효율적인 자원관리

Page 9: Hm10 Research sheets

Install ffmpeg on Mac OSX

• Command Line Tools by MacPorts - http://www.macports.org/install.php

• ffmpeg Source Code - http://www.ffmpeg.org/download.html

Page 10: Hm10 Research sheets

install MacPorts

• 환경변수 설정> export PATH=/opt/local/bin:$PATH

• MacPort Update> sudo port -v selfupdate

Page 11: Hm10 Research sheets

install yasm

• yasm 패키지 확인> port search yasm

• yasm 설치> sudo port install yasm

Page 12: Hm10 Research sheets
Page 13: Hm10 Research sheets
Page 14: Hm10 Research sheets

update GNU Compiler

• GCC 패키지 확인> port search gcc

• GCC 업데이트> sudo port install (gcc version name)

• Version Select> port select --list gcc > sudo port select --set gcc (gcc version name)

Page 15: Hm10 Research sheets

get ffmpeg & Compiling

‣ git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg

‣ cd /Users/cheh344/Dropbox/Laboratory_for_Mac/HEVC/myFFmpeg

‣ ./configure --prefix=/usr/local --enable-gpl --enable-nonfree \ --enable-libass --enable-libfdk-aac --enable-libfreetype \ --enable-libmp3lame --enable-libopus --enable-libtheora \ --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid

‣ make && sudo make install

Page 16: Hm10 Research sheets

ffplay test

• 실험환경- IntelⓇ Core™ i5-2557 Mobile Processor - 3MB Cache, Up to 2.70GHz, 2 core 4 thread- WindowsⓇ 8 [64-bit] Virtual OS

• 실험영상- BQMall_832x480_60_qp22_i_main (intra-mode)- BQMall_832x480_60_qp22_ra_main (inter-mode)

Page 17: Hm10 Research sheets

Intra-mode test

• 기본값으로 실행> ffplay BQMall_832x480_60_qp22_i_main

• 초당 25frame의 속도로 24초간 재생

• 실행 중 cpu 점유율 90%에 근접

Page 18: Hm10 Research sheets
Page 19: Hm10 Research sheets

• 초당 60프레임 재생> ffplay -framerate 60 BQMall_832x480_60_qp22_i_main

• 실행결과 전부하상태(full load)를 유지하나 재생이 안됨

Intra-mode test

Page 20: Hm10 Research sheets
Page 21: Hm10 Research sheets

Inter-mode test

• 기본값으로 실행> ffplay BQMall_832x480_60_qp22_ra_main

• 초당 25frame의 속도로 24초간 재생

• 실행 중 cpu 점유율 50%에 근접

Page 22: Hm10 Research sheets
Page 23: Hm10 Research sheets

• 초당 60프레임 재생> ffplay -framerate 60 BQMall_832x480_60_qp22_ra_main

• 12초만에 재생완료, 실행 중 cpu 점유율 90%에 근접

• 일부 구간 영상이 버벅거리는 외에는 이상 없음 확인

Inter-mode test

Page 24: Hm10 Research sheets
Page 25: Hm10 Research sheets

intra, 25fps inter, 25fps

intra, 60fps inter, 60fps