- 16 Apr, 2019 30 commits
-
-
David Flynn authored
-
David Flynn authored
When the same geom_box_log2_scale is used for all slices, it is not necessary to store them in slice headers. This commit permits signalling of the common value in the GPS.
-
This commit introduces prediction by previously coded points within the same level of detail using the predicting attribute coder. The feature is controlled using --intraLodPredictionEnabled=0|1.
-
David Flynn authored
This method has been replaced by an LoD decimation method.
-
This LoD generation (subsampling) method uses the Morton-based ordering of points that is used to determine prediction neighbours. Each LoD level comprises 3/4 of the points of the previous.
-
This commit introduces zero run length coding for attribute residual value along with an eq1 flag which indicates if residual value is equal to 1 based on the current residual coding specification. In zero run length coding, the number of zeros prior to each residual value is counted as zerorun, and then zerorun is encoded instead of encoding sequence of 0s
-
David Flynn authored
This commit permits signalling a per-slice delta QP for luma and chroma attribute components. The delta is relative to the base value derived from the APS. NB: while syntax support and derivation processes are provided, this commit does not contain any method to control the delta QP value at the encoder.
-
This commit introduces control of the quantisation step size using the familiar HEVC | AVC quantisation parameter.
-
-
David Flynn authored
This commit adds an extra contextualisation bit for occupancy coding based on there being an unoccupied adjacent child neighbour, rather than just depending upon the number of occupied neighbours.
-
David Flynn authored
This proposal reduces the number of neighbour configurations used in occupancy contextualisation from {10, 10, 10, 10, 10, 10, 7, 5} to {9, 9, 9, 9, 5, 5, 3, 2} by replacing the 64-to-10, 10-to-7, and 10-to-5 mapping tables with 64-to-9, 9-to-5, and 9-to-3 tables.
-
David Flynn authored
This commit updates the geometry octree node occupancy map scan order to permit better screening of b6 from the right.
-
David Flynn authored
-
David Flynn authored
The integration of m43781 fast lifting for lossy attributes removes the need for PCCIncrementalKdTree3.
-
David Flynn authored
This function has never been used.
-
David Flynn authored
Since the implementation has no interaction with the FixedPoint class, it makes little sense to name it so.
-
David Flynn authored
This is part of a series attempting to remove unhelpful typedefs. The old typedefs (PCCBox3D) is retained for compatibility, but marked as deprecated.
-
David Flynn authored
This is part of a series attempting to remove unhelpful typedefs.
-
David Flynn authored
This is part of a series attempting to remove unhelpful typedefs. The old typedefs (PCCVector3D, PCCPoint3D, PCCColor3B) are retained for compatibility, but marked as deprecated.
-
David Flynn authored
This is part of a series attempting to remove unhelpful typedefs.
-
David Flynn authored
-
David Flynn authored
-
This commit fixes a failure to process a point cloud containing a single point.
-
David Flynn authored
The commit adds a flag to conditionally enable/disable the feature.
-
David Flynn authored
This commit fixes a naming error where kMortonCode256X is used for the z co-ordinate, and similarly for kMortonCode256Z.
-
David Flynn authored
-
David Flynn authored
This is part of a series that implements a single method of Cartesian to Morton code conversion.
-
David Flynn authored
This is part of a series that implements a single method of Cartesian to Morton code conversion.
-
David Flynn authored
-
The ply-merge tool combines point clouds from multiple ply files into a single output with an extra per-attribute frameindex property that identifies which input frame each point belongs to. The tool is also able to reverse the process and split a merged point cloud into individual frames.
-
- 15 Apr, 2019 1 commit
-
-
David Flynn authored
-
- 25 Feb, 2019 2 commits
-
-
David Flynn authored
This commit fixes the ability to code with neighbourAvailBoundaryLog2=0, which correctly disabled the contextualisation based on externally adjacent child neighbours, but failed to disable the atlas update.
-
David Flynn authored
This commit fixes an issue with the bytewise occupancy coder caused by a mismatch (swapping) of the method arguments resulting in a corrupt bitstream.
-
- 11 Feb, 2019 1 commit
-
-
David Flynn authored
-
- 08 Feb, 2019 1 commit
-
-
There should only be 41 entries, not 50 entries in the atan2 lookup table used by trisoup.
-
- 06 Feb, 2019 5 commits
-
-
David Flynn authored
-
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.
-
David Flynn authored
This commit provides support for each slice to have an origin specified relative to the sequence bounding box. Reconstructed points are offset by the slice origin prior to inverse scaling and translation.
-