1. 16 Apr, 2019 3 commits
  2. 06 Feb, 2019 4 commits
    • Yiting Shao's avatar
      slice/m44910: add octree slice partitioning scheme · 08a4a4e9
      Yiting Shao authored and David Flynn's avatar David Flynn committed
      This partitioning method (--partitionMethod=3) decomposes the input
      pointcloud into an octree of depth --partitionOctreeDepth=d, with
      each leaf node corresponding to a slice.
      08a4a4e9
    • Yiting Shao's avatar
      slice/m44910: add longest-edge slice partitioning scheme · 81bde409
      Yiting Shao authored and David Flynn's avatar David Flynn committed
      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.
      81bde409
    • David Flynn's avatar
      hls: initial slice and partitioning framework · 693f8517
      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.
      693f8517
    • Vladyslav Zakharchenko's avatar
      attr/m44940: add binary tree based level-of-detail generator · 29ab50ed
      Vladyslav Zakharchenko authored and David Flynn's avatar David Flynn committed
      This uses a binary-tree to generate the levels-of-details for the
      lifting/predicting transforms as an alternative to Euclidean distance
      thresholding methods.
      29ab50ed
  3. 05 Feb, 2019 2 commits
    • David Flynn's avatar
      encoder: allow external configuration of geometry bounding box · 8dbb5a7f
      David Flynn authored
      The configuration parameters seq_bounding_box_xyz0 and
      seq_bounding_box_whd allow overriding the automatic derivation of
      frame (sequence) bounding box, forcing the depth of the geometry
      tree.
      
      NB: seq_bounding_box_xyz0 and seq_bounding_box_whd are specified
          using unscaled co-ordinates.
      
      NB: this patch does not signal these parameters in the SPS.
      8dbb5a7f
    • David Flynn's avatar
      trisoup/m46530: replace trisoup hls with trisoup_node_size_log2 · 0d8f1119
      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)
      0d8f1119
  4. 14 Nov, 2018 1 commit