- 16 Apr, 2019 3 commits
-
-
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
The commit adds a flag to conditionally enable/disable the feature.
-
- 06 Feb, 2019 1 commit
-
-
This uses a binary-tree to generate the levels-of-details for the lifting/predicting transforms as an alternative to Euclidean distance thresholding methods.
-
- 05 Feb, 2019 5 commits
-
-
David Flynn authored
- calculates the sequence bounding box at the start of encoding (in original coordinates as a decoder may reconstruct it) - signals bounding box in SPS - disables signalling of geometry box origin (always 0)
-
David Flynn authored
-
David Flynn authored
-
David Flynn authored
- signal geom_slice_id / attr_geom_slice_id in geometry / attribute header. - attr_geom_slice_id set to current geom_slice_id to maintain relationship between attribute and geometry. - increment geom_slice_id after each round of encoding. - decoder checks that the attribute payload's attr_geom_slice_id corresponds to the most recently decoded geometry payload.
-
David Flynn authored
This commit provides trisoup_node_size_log2 as a replacement for the following HLS syntax variables: - geom_codec_type (redundant wrt. triangle node size derivation) - trisoup_depth (redundant wrt. bounding box) - trisoup_triangle_level (semantics simplified) The following config options have been removed: - geometryCodec (redundant wrt. trisoup_node_size_log2) - triSoupLevel (replaced by trisoup_node_size_log2) - triSoupDepth (unnecessary) - triSoupIntToOrigScale (redundant wrt. positionQuantizationScale)
-
- 01 Nov, 2018 2 commits
-
-
Replace the k-d tree based nearest neighbour search with an approximate search based upon the points in Morton order.
-
This commit provides an ability to vary the number of direct neighbours used in the predicting transform. Mode 0 corresponds to the existing averaging, and mode n selects the n-th nearest neighbour for direct prediction. The provided code has been reworked to: - rewrite unary coding to be a little more obvious - tidy the mode decision path - add configuration for max_num_direct_predictors (renamed from MaxNumPredCand) - now counts the number of single predictors, rather than prediction modes.
-
- 31 Oct, 2018 3 commits
-
-
David Flynn authored
This commit provides a method to predict the child occupancy bits of a node based on the node's 26 neighbours. The prediction is used to contextualise coding of each occupancy bit. This tool requires the use of the occupancyAtlas for neighbour lookup. NB: a restriction in the current implementation requires that the atlas size is at most 8³. intra_pred_max_node_size_log2: 6
-
David Flynn authored
Bitwise geometry occupancy coding uses a mapping table to select entropy contexts. This commit employs a dynamic mapping which is updated after each coding operation, replacing the previous static mapping tables. NB: the proposed version used a context with a halving period (max_count) of 64 symbols. However, this conflicts with another adoption (512 symbols), and a wholesale replacement of the arithmetic codec and context model. To resolve the conflict, the existing halving period (128) is used.
-
This commit allows bytewise encoding of occupancy symbols using the dual-lut coder.
-
- 29 Aug, 2018 5 commits
-
-
This commit removes the ability to vary quant_step_size on a per-LoD basis. This greatly simplifies the codec configuration, especially when used in conjunction with dist2 derivation. cfg update: - rename quantizationSteps* -> quantizationStep* - update quantizationStep* to single values: - lossless-geom lossy-attrs: 8, 16, 32, 64, 128, 256 [8bit] - lossless-geom nearlossless-attrs: no change - lossless-geom lossless-attrs: no change - lossy-geom lossy-attrs: 8 [8bit] => 16-bit cat3 sequences are have 8-bit qs values multipled by 255
-
This commit replaces the hard coded threshold values with APS signalling. The default configuration maintains the hard-coded threshold values based on bitdepth.
-
David Flynn authored
This is an editorial change to improve naming clarity: attr_count represents the number of elements (dimensionality) in an attribute set rather than the total number of attributes.
-
David Flynn authored
This commit adds the trisoup parameters to the GPS.
-
This commit fixes an error in the hls: dist2 is capable of being a 64-bit value and must not be signalled as 32-bit.
-
- 20 Aug, 2018 3 commits
-
-
David Flynn authored
This commit allows the attribute codec to be parametrised by attribute bitdepth. The attribute bitdepth is signalled in the attribute's sequence parameter set description. The specified bitdepth affects cliping in the attribute prediction and reconstruction process.
-
David Flynn authored
This commit allows individual payloads to be inserted into the decoder rather than the decoder expecting to decode each payload in a fixed order. When an output pointcloud is ready, the decoder will call a user supplied callback with the conforming output pointcloud. The user may choose to rescale this point cloud as necessary.
-
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.
-