- 21 Nov, 2019 4 commits
-
-
This adoption permits coding geometry with non-cubic bounding boxes. Since the depth of the tree remains constant for cubic and non-cubic bounding boxes with identical largest dimensions, quad-tree and binary-tree partitions are introduced to avoid coding 'fractional' positions. The following configuration options control the placement of non-octree partitions within the coding tree: --max_num_implicit_qtbt_before_ot --min_implicit_qtbt_size_log2
-
David Flynn authored
The geometry tree nodes contain a position element (pos) that identifies the spatial position of the node. At internal nodes this node position is the partial position of a point and may either be represented using the magnitude of the decoded points, or the magnitude of the current depth. The first form equates to: nextPos = curPos | (xyz << currentNodeSize) The second: nextPos = (curPos << 1) | xyz Where xyz represents a position bit from the coded occupancy. In order to use the first form to determine neighbour relationships, curPos must be shifted down to represent position within the current depth. This repeated shifting, along with the introduction of simultaneous quantised and unquantised positions becomes increasingly difficult to follow when adding non-cubic nodes (via OtQtBt). This commit switches the representation to the second form above, eliminating various shifted forms and duplicate state. A decoded positions is inverse quantised when reaching a leaf node.
-
David Flynn authored
The GBR coding order matches the description in ISO/IEC 23001-8 for the identity matrix (MatrixCoefficients=0).
-
This adoption allows determining the weights of each point's predicting neighbours with a reduced influence of the, for instance, z component.
-
- 12 Aug, 2019 2 commits
-
-
David Flynn authored
The quantization functions are applied to both fixed-point and unitary precision data using the same QP. This commit moves the implicit conversion adjustment out of the quantiser and into the calling code.
-
David Flynn authored
A 64 bit integer can represent a three dimensional 21 bit position with one spare bit. In order te allow the computation of abs(a-b), a signed representation should be used, making use of the full 64 bits.
-
- 16 Apr, 2019 8 commits
-
-
-
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
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.
-
- 05 Feb, 2019 2 commits
-
-
This replaces the previous floating point version. The number of fractional bits is set to 8, allowing 24bit (unsigned) geometry to be represented in 32bit calculations with negligible effects on the reconstruction.
-
David Flynn authored
Define po-lite option traits to handle PCCVector3<T> as a container to permit using PCCVector3<T> types as command / config parameters.
-
- 01 Nov, 2018 1 commit
-
-
Replace the k-d tree based nearest neighbour search with an approximate search based upon the points in Morton order.
-
- 31 Oct, 2018 1 commit
-
-
David Flynn authored
This commit removes unnecessary include directives.
-
- 20 Aug, 2018 1 commit
-
-
- 23 Jul, 2018 1 commit
-
-
David Flynn authored
-
- 05 Jun, 2018 1 commit
-
-
This commit ports the Region Adaptive Hierarchical Transform for attribute coding with colour and reflectance variants.
-
- 10 May, 2018 2 commits
-
-
David Flynn authored
This commit provides an implementation of m42239, permitting early coding termination of sub-trees that contain few points: - the so-called IDCM feature uses an eligibility criteria prior to permitting an encoder mode decision. - the feature may be controlled via the command line / config file using the --inferredDirectCodingMode=1|0 option
-
David Flynn authored
This commit provides an implementation of m42238 to code occupancy: - a node's child occupancy is contextualised based on the adjacent neighbours of the parent node. - when an isolated node is occupied by only a single child, the sub-node address [0,7] is directly coded instead of the 8-bit occupancy word. - collection of neighbour occupancy is performed using a scatter/ gather operation upon the insertion of each child node into the fifo queue. - the feature may be controlled via the command line / config file using the --neighbourContextualisation=1|0 option
-
- 09 May, 2018 1 commit
-
-
David Flynn authored
Unused code can get in the way of refactoring. This commit removes the following classes, methods and utility functions: - PCCStaticKdTree3 - PCCMatrix3 - PCCDiagonalize - PCCPointSet3::setPosition(...) - PCCPointSet3::addPoint(...) - PCCPointSet3::computeCentroid(...) - PCCVector3::normalize(...) - PCCVector3::operator^(...) - PCCIncrementalKdTree3::append(...) - PCCDivideRange() - PCCGetNumberOfBitsInFixedLengthRepresentation()
-
- 06 May, 2018 1 commit
-
-
David Flynn authored
-
- 11 Dec, 2017 1 commit
-
-
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
-