HEVC Reference software HM 4.0 광운대학교 영상처리 시스템 연구실 조현호 (idjhh@kw.ac.kr)
TortoiseSVN A Subversion client 서브 버전 설치 http://tortoisesvn.tigris.org/ Latest version TortoiseSVN 1.71 System requirements WinXP with SP3, Vista or later Windows installer version 3.1 or later 서브 버전 설치
HM 4.0 download 1. HM-4.0 코드를 저장할 디렉토리 생성 2. 디렉토리 안으로 이동한 후 마우스 오른쪽 버튼을 클릭하여 TortoiseSVN->Export Repository에 다음을 입력 https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/tags/HM-4.0 3. OK 버튼을 클릭하여 다운로드
HM-4.0 소스 파일 디렉토리 구성 build cfg source HM_vc9.sln per_sequence Microsoft Visual Studio Solution cfg per_sequence encoder_lowdelay_loco.cfg encoder_lowdelay.cfg source App TAppDecoder TAppEncoder utils Lib TAppCommon TLibCommon … lowdelay => I and P slice
Encoder (with VS 9.0) 1. File -> Open -> Project/solution ./build/HM_vc9.sln 파일 열기 2. TAppEncoder를 “Set as StartUP Project” 3. HM-4.0 폴더와 동일 경로 origCfP 폴더 생성 Test 영상은 origCfP 폴더에 저장 orgCfP/BasketballPass_416x240_50.yuv 4. HM-4.0 폴더 내에 working 폴더 생성 이 폴더에 결과를 저장할 예정 (result.yuv)
Encoder (with VS 9.0) 5. TAppEncoder의 Property Pages에서 Debugging 속성에서 Command Arguments와 Working Directory를 다음과 같이 설정 Working Directory ../../working HM-4.0-ref\build\vc9 기준으로 볼 때 working 디렉터리의 상대 경로임 Command Arguments -c ../cfg/encoder_lowdelay_loco.cfg -c ../cfg/per-sequence/BasketballPass.cfg working 디렉터리를 기준으로 cfg 파일의 상대 경로를 입력하면 됨.
Encoder (with VS 9.0) 6. Encoder 설정 변경 HM-4.0-ref/cfg 내에 있는 여러 cfg 파일을 사용함 lowdelay/lowdelay_P/randomaccess loco/high efficiency (loco가 안 붙은 cfg) HM-4.0-ref/cfg/per-sequence 에서도 일부 설정 변경 가능함
Encoder output
Decoder 1. TAppDecoder를 Set as StartUP project로 설정 2. TAppdecoder의 Property Pages에서 Debugging 속성에서 Command Arguments와 Working Directory를 다음과 같이 설정 Working Directory ../../working HM-4.0-ref\build\vc9 기준으로 볼 때 working 디렉터리의 상대 경로임 Command Arguments -b str.bin –o result.yuv working 디렉터리를 기준으로 상대 경로를 입력하면 됨.
Decoder output working directory에 result.yuv가 생성됨 mismatch checking Beyond compare or Ultra edit
YUV player PYUV Resolution YUV, 4:2:0 Extra settings : 10bit
DF, SAO and ALF (Decoder) TLibCommon\TComLoopFilter.cpp loopFilterPic() TLibCommon\TComAdaptiveLoopFilter.cpp SAOProcess() ALFProcess()
Q and A Useful links A new version (d5) of the HEVC working draft 4 (JCTVC-F803) was uploaded to the document management site and is now available (http://phenix.int-evry.fr/jct/doc_end_user/current_document.php?id=3286). JCT-VC mailing list http://mailman.rwth-aachen.de/mailman/listinfo/jct-vc https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/ (web browser)