- 12 Aug, 2019 17 commits
-
-
In order to implement the reversed bypass stream, it is necessary that the arithmetic encoder outputs an independently decodable stream that does not rely upon bounded read operations that insert 0xff bytes when the entire aec sub-stream input is consumed (since there will be no indication of the sub-stream length).
-
This commit allow individual QP offsets to be specified for each LoD/RAHT layer in attribute coding.
-
David Flynn authored
This placeholder is for any encoder-specific per-attribute parameters that do not belong in the SPS, APS, etc.,
-
This commit implements the recolouring method described in m47800, which notably uses a distance-weighted average rather than the previous unweighted average.
-
This commit exploits the use of fixed quantisation step sizes (due to QP) to perform quantisation using multiplication by the reciprocal step size.
-
David Flynn authored
In order to simplify the introduction of quantisation using the multiplicative inverse, the existing quantiser state is refactored into a Quantizer class that represents the current step size.
-
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
For each 2×2×2 block, a predicted block is produced by upconverting the previous transform level. The prediction is transformed and subtracted from the transformed attributes at the encoder.
-
In order to support transform domain prediction of AC coefficients using upsampled previously reconstructed transform levels, this commit replaces the existing RAHT implementation with a descent based RAHT tree traversal for both encoder and decoder with the transform performed in units of 2×2×2 blocks.
-
-
David Flynn authored
-
This adoption permits removal of an arithmetic coding dependency in the predicting lod scheme when lifting_adaptive_prediction_threshold is equal to 0.
-
This functionality is now handled by the unified generation process.
-
This adoption permits the unification of the single and multi level-of-detail generation processes by always solving ties in sorting predictors with identical weights according to relative buffer position.
-
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.
-
This commit makes all lod layers order points in a consistent, ascending, morton order.
-
- 05 Aug, 2019 5 commits
-
-
This adoption fixes an issue whereby intra lod prediction is not applied to the top layer. By fixing this, intra lod prediction will be used for the single-layer case.
-
-
-
David Flynn authored
-
David Flynn authored
This updates Makefile.tmc13-step to be compatible with pc_error v0.13
-
- 24 Apr, 2019 3 commits
-
-
David Flynn authored
-
David Flynn authored
This commit fixes an error whereby current the slice and tile ids would be reset to zero at the start of each geometry slice, causing the slice and tile ids set by the partitioning method to be overwritten.
-
David Flynn authored
Maintains contexts for: 64->6: 0n, ud, 1n, 2nh, 2nv, 3n 64->6->5: 0n, ud+1n, 2nh, 2nv, 3n 64->6->3: 0n, ud+1n+2nh, 2nv+3n Where ud = up/down, 1n = single neighbour 2nh = two horizontal neighbours 2nv = two vertical neighbours 3n = three neighbours 0n = no neighbours
-
- 16 Apr, 2019 15 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.
-