1 | Welcome to NICT GVD with HTM 15.2 (15.1_dev0_NICT) Oct, 2015 |
---|
2 | |
---|
3 | ------------------------------------------------------------------------------- |
---|
4 | 1. Dev/Test Environment |
---|
5 | |
---|
6 | Windows |
---|
7 | ------------------------------- |
---|
8 | Windows 8.1 64bit |
---|
9 | Visual Studio Community 2015 ( =vc14, 64bit Compile ) |
---|
10 | OpenCV 2.4.9 64bit |
---|
11 | ------------------------------- |
---|
12 | Windows 7 64bit |
---|
13 | OpenCV 2.4.5 64bit ( or 32bit ) |
---|
14 | |
---|
15 | Linux (Sorry, Not tested) |
---|
16 | ------------------------------- |
---|
17 | Ubuntu 12.04 LTS 64bit |
---|
18 | gcc 4.6 |
---|
19 | OpenCV 2.4.3 ( or 2.x not 3.x ) 64bit |
---|
20 | |
---|
21 | |
---|
22 | ------------------------------------------------------------------------------- |
---|
23 | 2. Add the following libraries/Tools. |
---|
24 | |
---|
25 | OpenCV 2.4.x or later, not 3.x ( for GVDEncD / GVDEncR / GVDDec ) |
---|
26 | http://opencv.org/downloads.html |
---|
27 | |
---|
28 | OpenMP 2 ( for GVDEncR / GVDDec ) |
---|
29 | inc VC14/12/11/10 standard. |
---|
30 | |
---|
31 | Visual Studio Community 2015 ( Free Edition ) |
---|
32 | https://www.visualstudio.com/products/visual-studio-community-vs |
---|
33 | |
---|
34 | VC14(VS2015) / VC12(VS2013) Solution File |
---|
35 | http://1drv.ms/1RFTQht ( Htm152Vc14 at Microsoft OneDrive ) |
---|
36 | |
---|
37 | |
---|
38 | ------------------------------------------------------------------------------- |
---|
39 | 3. Make HTM with GVD |
---|
40 | |
---|
41 | NICT GVD designed for 3D-HEVC mode, not MV-HEVC. |
---|
42 | And both source code has been integrated. |
---|
43 | No need source code re-edit. |
---|
44 | Please rebuild the solution (Windows), make makefile (Linux). |
---|
45 | |
---|
46 | How to make, HTM. ( Windows / Linux ) |
---|
47 | Rebuild build/HM_vcxx.sln (Windows, for Visual Studio). |
---|
48 | Or Just make on build/linux/makefile (Linux). |
---|
49 | |
---|
50 | How to make GVD ( Windows ) |
---|
51 | Rebuild GVD/windows/GVD.sln . |
---|
52 | |
---|
53 | How to make GVD ( Linux ) |
---|
54 | Go to GVD/linux directory, and just make. |
---|
55 | |
---|
56 | |
---|
57 | NOTE: For Shark and GTFly, variable camera parameter seauence. |
---|
58 | |
---|
59 | Windows 7/8/8.1 Command line, upper limit is 8191 characters. |
---|
60 | ( https://support.microsoft.com/en-us/kb/830473 ) |
---|
61 | |
---|
62 | And current implimented for HTM 15.x SEI.cfg "ModifyByEncoder" parameter, case of 0. |
---|
63 | ("ModifyByEncoder" parameter 0: Use payload as specified in cfg file) |
---|
64 | |
---|
65 | In this case, test sequence of variable camera parameters, |
---|
66 | it will request the SEI.cfg of one file per frame. |
---|
67 | |
---|
68 | ex. ( !! POC order, not frame id order !! ) |
---|
69 | TAppEncoder |
---|
70 | .... |
---|
71 | --SeiCfgFileName_0=..\..\..\cfg\sei\alternativeDepthInfoSei_gvd_shark_000.cfg |
---|
72 | --SeiCfgFileName_1=..\..\..\cfg\sei\alternativeDepthInfoSei_gvd_shark_008.cfg |
---|
73 | .... |
---|
74 | --SeiCfgFileName_299=..\..\..\cfg\sei\alternativeDepthInfoSei_gvd_shark_298.cfg |
---|
75 | .... |
---|
76 | |
---|
77 | Over ten thousand characters, on this case !!! |
---|
78 | |
---|
79 | Please re-edit for source/App/TAppEncoder/TAppEncCfg.cpp Line 1343. |
---|
80 | |
---|
81 | ("SeiCfgFileName_%d", m_seiCfgFileNames, .... |
---|
82 | |
---|
83 | .. to short .. |
---|
84 | |
---|
85 | ("Sf_%d", m_seiCfgFileNames, .... |
---|
86 | |
---|
87 | And recompile, SEI.cfg files rename to short, directory move to near. |
---|
88 | |
---|
89 | ex. short name version |
---|
90 | TAppEncoder |
---|
91 | .... |
---|
92 | --Sf_0=..\sei\s000.c |
---|
93 | --Sf_1=..\sei\s008.c |
---|
94 | .... |
---|
95 | --Sf_299=..\sei\s298.c |
---|
96 | .... |
---|
97 | |
---|
98 | Under eight thousand characters, on this short name version. |
---|
99 | |
---|
100 | |
---|
101 | ------------------------------------------------------------------------------- |
---|
102 | 4. HTM 15.2 + GVD operation sequence |
---|
103 | |
---|
104 | 3D-HEVC mode |
---|
105 | 2view( Center view + Stacked Residual ) + 2depth( Full size global depth + Dummy depth ) |
---|
106 | |
---|
107 | Encode phase ( in QPxx directory ) |
---|
108 | 1) GVDEncD Make Full size Global Depth D3.yuv with Dummy Depth file. |
---|
109 | 2) TAppEncoder Depth to encode and recon. |
---|
110 | 3) GVDEncR Make Stacked Residual R3.yuv . ( use recon Global Depth ) |
---|
111 | 4) TAppEncoder Main view with stacked residual, global depth to encode. |
---|
112 | |
---|
113 | Decode phase ( cd QPxx/dec ) |
---|
114 | 5) TAppDecoder Decode main view and stacked residual, and full size global depth. |
---|
115 | 6) GVDDec Make Multi Views ( with camera parameters ) |
---|
116 | |
---|
117 | |
---|
118 | Note: 3D-HEVC Reference are 3view + 3depth. |
---|
119 | |
---|
120 | |
---|
121 | ------------------------------------------------------------------------------- |
---|
122 | 5. Deployment plan for HTM + GVD TEST ENVIRONMENT (our test case, for windows.) |
---|
123 | |
---|
124 | Ref: Fig1_Htm142TestEnvDirTree.JPG |
---|
125 | |
---|
126 | Directory tree tier 1. |
---|
127 | Cfg : from HTM152bat |
---|
128 | Dancer ( or any test sequence ) |
---|
129 | |
---|
130 | Directory tree tier 2. ( under any test sequence ) |
---|
131 | HTM152 |
---|
132 | Data ( original test sequence data files ) |
---|
133 | |
---|
134 | Directory tree tier 3. ( under any test sequence's "HTM151" directory ) |
---|
135 | all.bat : from HTM151bat/SequenceName. Run NICTGVD 4 QP, and Reference 4 QP |
---|
136 | HTM151NICT.bat : from HTM151bat/SequenceName. Run NICT GVD with HTM 15.1 |
---|
137 | HTM151REF.bat : from HTM151bat/SequenceName. Run Reference ATM 15.1 |
---|
138 | EncD3.cfg : from HTM151bat/SequenceName. Refer from GVDEncD.exe |
---|
139 | EncR3.cfg : from HTM151bat/SequenceName. Refer from GVDEncR.exe |
---|
140 | psnrallNICT.bat : from HTM151bat/SequenceName. Calling by HTM151NICT.bat |
---|
141 | RENDpsnrallREF.bat: from HTM151bat/SequenceName. Calling by HTM151REF.bat |
---|
142 | |
---|
143 | And your load modules with path. |
---|
144 | |
---|
145 | |
---|
146 | ------------------------------------------------------------------------------- |
---|
147 | 6. Run HTM + GVD / ATM refrence |
---|
148 | |
---|
149 | Command: ( Windows .bat only ) |
---|
150 | all.bat |
---|
151 | -> call HTM151NICT.bat with QP25 |
---|
152 | -> call HTM151NICT.bat with QP30 |
---|
153 | -> call HTM151NICT.bat with QP35 |
---|
154 | -> call HTM151NICT.bat with QP40 |
---|
155 | -> call HTM151REF.bat with QP25 |
---|
156 | -> call HTM151REF.bat with QP30 |
---|
157 | -> call HTM151REF.bat with QP35 |
---|
158 | -> call HTM151REF.bat with QP40 |
---|
159 | |
---|
160 | HTM151NICT.bat |
---|
161 | -> run GVDEncD.exe : make Global Depth from 3 depth. |
---|
162 | -> run TAppEncoder.exe : pre encode Global Depth, for next phase. |
---|
163 | -> run GVDEncR.exe : make Stacked Residuals from recon Global Depth with 3 views. |
---|
164 | -> run TAppEncoder.exe : Encode Main View, Stacked Residual, and Global Depth. |
---|
165 | -> run TAppDecoder.exe : Decode Main View, Stacked Residual, Global Depth, and GVD Config files. |
---|
166 | -> run GVDDec.exe : Render 8 views, from decoded files. |
---|
167 | -> call psnrallNICT.bat |
---|
168 | |
---|
169 | psnrallNICT.bat |
---|
170 | -> run psnrstatic.exe : for 6 views. |
---|
171 | |
---|
172 | HTM151REF.bat |
---|
173 | -> run TAppEncoder.exe : Encode 3 views, 3 depth. |
---|
174 | -> run TAppDecoder.exe : Decode 3 views, 3 depth. |
---|
175 | -> call RENDpsnrallREF.bat |
---|
176 | |
---|
177 | RENDpsnrallREF.bat |
---|
178 | -> TAppRenderer.exe : Render 6 views, from decoded files, and local camera parameters. |
---|
179 | -> run psnrstatic.exe : for 6 views. |
---|
180 | |
---|
181 | |
---|
182 | ------------------------------------------------------------------------------- |
---|
183 | |
---|
184 | GVD for HTM 15.1_dev0_NICT == 15.2 |
---|
185 | |
---|
186 | Oct31,2015 Toyoaki Ohgochi, NICT Senoh team at Tokyo, Japan. |
---|