A computer-implemented method of encoding a point cloud to generate a bitstream of compressed point cloud data, the point cloud being defined in a tree structure having a plurality of nodes having parent-child relationships and that represent the geometry of a volumetric space recursively split into sub-volumes and containing the points of the point cloud, the method comprising: traversing the plurality of nodes of the tree; and for each current node from the plurality of nodes, which is associated with a sub-volume split into further sub-volumes, each further sub-volume corresponding to a child node of the current node, determining an occupancy pattern for the current node based on occupancy status of the child nodes; selecting a probability distribution from among a plurality of probability distributions, wherein the selecting is based on occupancy data determined for a plurality of nodes neighbouring the current node; wherein the occupancy data comprises a pattern of occupancy for a parent node to the current node, and wherein the plurality of nodes neighbouring the current node include sibling nodes to the current node that share the same parent node; entropy encoding the occupancy pattern based on the selected probability distribution to produce encoded data for the bitstream; and updating the selected probability distribution based on the determined occupancy pattern for the current node. traversing the plurality of nodes of the tree; and for each current node from the plurality of nodes, which is associated with a sub-volume split into further sub-volumes, each further sub-volume corresponding to a child node of the current node, determining an occupancy pattern for the current node based on occupancy status of the child nodes; selecting a probability distribution from among a plurality of probability distributions, wherein the selecting is based on occupancy data determined for a plurality of nodes neighbouring the current node; wherein the occupancy data comprises a pattern of occupancy for a parent node to the current node, and wherein the plurality of nodes neighbouring the current node include sibling nodes to the current node that share the same parent node; entropy encoding the occupancy pattern based on the selected probability distribution to produce encoded data for the bitstream; and updating the selected probability distribution based on the determined occupancy pattern for the current node. a sub-volume split into further sub-volumes, each further sub-volume corresponding to a child node of the current node, determining an occupancy pattern for the current node based on occupancy status of the child nodes; selecting a probability distribution from among a plurality of probability distributions, wherein the selecting is based on occupancy data determined for a plurality of nodes neighbouring the current node; wherein the occupancy data comprises a pattern of occupancy for a parent node to the current node, and wherein the plurality of nodes neighbouring the current node include sibling nodes to the current node that share the same parent node; entropy encoding the occupancy pattern based on the selected probability distribution to produce encoded data for the bitstream; and updating the selected probability distribution based on the determined occupancy pattern for the current node.