- 12 Aug, 2019 3 commits
-
-
This avoids artefacts during trisoup generation by checking whether the original slice partition interval is an integer multiple of the block size W=2^(trisoup_node_size_log2). If not, the partition interval is rounded up to the nearest integer that is exactly divisible by the block size.
-
This commit adds a process to limit the number of points per slice to be within a hard upper limit and soft lower limit.
-
Adjust the operation sequence of slice partition and geometry quantization. We do geometry quantization first and then do the slice partition, so that the point number of each slice would be kept in the predefined range under lossless/lossy geometry coding conditions.
-
- 16 Apr, 2019 1 commit
-
-
David Flynn authored
This is part of a series attempting to remove unhelpful typedefs.
-
- 06 Feb, 2019 3 commits
-
-
This partitioning method (--partitionMethod=3) decomposes the input pointcloud into an octree of depth --partitionOctreeDepth=d, with each leaf node corresponding to a slice.
-
This partitioning method (--partitionMethod=2) finds the longest edge of the point cloud and divides it into --partitionNumUniformGeom=n slices along the longest edge. If n = 0, the ratio of longest edge to shortest edge determines the number of slices.
-
David Flynn authored
This commit provides a basic frame work for partitioning a frame into multiple slices, with the continued assumption of single-frame sequences. The decoder is modified to independently decode each slice and accumulate decoded points in a buffer for output. The encoder is updated to support partitioning the input point cloud into slices and to independently code each slice. Points from reconstructed slices are accumulated and output at the end of the frame period. The partitioning process (partitioning methods are defined in partitioning.cpp) proceeds as follows: - quantise the input point cloud without duplicate point removal or reordering points. - apply the partitioning function to produce a list of tiles and slices, each slice having an origin, id, and list of point indexes that identify points in the input point cloud. - producing a source point cloud for each partition as a subset of the input point cloud. - compressing each partition (slice) as normal by quantising the partitioned input. Recolouring is necessarily performed against the partitioned input since the recolouring method cannot correctly handle recolouring a partition from a complete point cloud. NB: this commit does not provide any partitioning methods.
-
- 31 Oct, 2018 5 commits
-
-
David Flynn authored
This commit adds an arithmetic codec interface class that allows a compile time choice of arithmetic codec implementation. Context types are renamed to support compile time selection, and existing support functions that were added to the third-party arithmetic codec are moved to the wrapper.
-
This commit integrates a c++ trisoup codec, replacing the previous matlab implementation. The provided code has been reworked to avoid duplicating code, dead code, and operate with the current HLS.
-
David Flynn authored
This commit splits the handling of the geometry brick header and octree geometry coding. The encoder/decoder classes now take care of coding the header, while the geometry coder handles the geometry coding itself.
-
David Flynn authored
This commit removes unnecessary include directives.
-
David Flynn authored
This commit moves various constants from PCCTMC3Common.h to a new constants.h. Hard coded values of constants have been replaced with their symbolic name.
-
- 20 Aug, 2018 1 commit
-
-
David Flynn authored
This commit rewrites the codec high-level syntax: - the bitstream is divided into "bricks" (akin to an AVC/HEVC slice/tile). - sequence, geometry and attribute parameter sets describe the coding parameters in use generally and for a specific brick. - marshalling the bitstream payloads to a file format is achieved using a type-length-value encoding scheme. Additionally, the triSoup bitstream scale and translation values have been unified with (replaced by) the octree counterparts. For compatibility, existing command line parameters continue to function as before. NB: this commit does not incorporate flexibility in the decoding order. The decoder requires the bitstream to be presented in a fixed order.
-
- 05 Jun, 2018 1 commit
-
-
This commit does not add the triangle soup geometry compressor to TMC3, rather. Rather, it adds a means to call out to TMC1 binaries to perform the compression, integrate the results into the bitstream. Attribute compression is performed natively by the TMC13 codec.
-
- 09 May, 2018 1 commit
-
-
David Flynn authored
-
- 06 May, 2018 1 commit
-
-
David Flynn authored
-
- 20 Feb, 2018 1 commit
-
-
David Flynn authored
This commit changes the application's reporting of elapsed time to measure user time rather than wall time in order to reduce sources of noise in evaluating runtime. For output is now of the form: ``` Processing time (wall): 123.456 s Processing time (user): 123.456 s ``` git-svn-id: http://wg11.sc29.org/svn/repos/MPEG-I/Part5-PointCloudCompression/TM/TMC3/trunk@1329 94298a81-5874-47c9-aab8-bfb24faeed7f
-
- 17 Feb, 2018 1 commit
-
-
David Flynn authored
This commit replaces the previous command-line argument parsing with program-options-lite, which additionally serves as a simple config-file parser. A table based configuration of options provides in a single place option naming, help text, and default values. Side effects of this change are to: - adds further error checking for unknown arguments (warning only), parse failures, required options. - replace the default constructor of Parameters, PCCAttributeEncodeParamaters, and PCCAttributeEncodeParamaters with defaults in args handler - updates the type of Parameters::mode & ...::colorTransform to be more more descriptive. git-svn-id: http://wg11.sc29.org/svn/repos/MPEG-I/Part5-PointCloudCompression/TM/TMC3/trunk@1318 94298a81-5874-47c9-aab8-bfb24faeed7f
-
- 17 Jan, 2018 1 commit
-
-
Khaled Mammou authored
git-svn-id: http://wg11.sc29.org/svn/repos/MPEG-I/Part5-PointCloudCompression/TM/TMC3/trunk@1262 94298a81-5874-47c9-aab8-bfb24faeed7f
-
- 03 Jan, 2018 1 commit
-
-
Khaled Mammou authored
git-svn-id: http://wg11.sc29.org/svn/repos/MPEG-I/Part5-PointCloudCompression/TM/TMC3/trunk@1231 94298a81-5874-47c9-aab8-bfb24faeed7f
-
- 11 Dec, 2017 2 commits
-
-
Khaled Mammou authored
git-svn-id: http://wg11.sc29.org/svn/repos/MPEG-I/Part5-PointCloudCompression/TM/TMC3/trunk@1223 94298a81-5874-47c9-aab8-bfb24faeed7f
-
Khaled Mammou authored
git-svn-id: http://wg11.sc29.org/svn/repos/MPEG-I/Part5-PointCloudCompression/TM/TMC3/trunk@1221 94298a81-5874-47c9-aab8-bfb24faeed7f
-