A decoding device (300; 550; 650; 750; 850) for point cloud decoding, the decoding device comprising: a communication interface configured to receive a compressed bitstream; and a processor (340; 552) coupled with the communication interface and configured to: decode the compressed bitstream into two-dimensional frames (506, 508; 706, 708, 710, 712) and an occupancy map, wherein the two-dimensional frames include at least a first frame (506; 706) representing a geometry of points in a three-dimensional point cloud and a second frame (508; 708, 710, 712) representing an attribute of points in the three-dimensional point cloud; identify the occupancy map indicating locations of valid and invalid pixels in each of the two-dimensional frames that represent each point in the three-dimensional point cloud, wherein the locations of valid and invalid pixels are indicated based on overlaying the occupancy map with each of the two-dimensional frames; and generate from the two-dimensional frames the three-dimensional point cloud (562; 662; 758; 864) based on the locations of the valid pixels in each two-dimensional frame as indicated by the occupancy map, characterised in that each row of the first frame corresponds to a cross section of the three-dimensional point cloud for a first axis and includes geometry values of cross-section points, and each row of the second frame corresponds to the cross section and includes attribute values of the cross-section points. a communication interface configured to receive a compressed bitstream; and a processor (340; 552) coupled with the communication interface and configured to: decode the compressed bitstream into two-dimensional frames (506, 508; 706, 708, 710, 712) and an occupancy map, wherein the two-dimensional frames include at least a first frame (506; 706) representing a geometry of points in a three-dimensional point cloud and a second frame (508; 708, 710, 712) representing an attribute of points in the three-dimensional point cloud; identify the occupancy map indicating locations of valid and invalid pixels in each of the two-dimensional frames that represent each point in the three-dimensional point cloud, wherein the locations of valid and invalid pixels are indicated based on overlaying the occupancy map with each of the two-dimensional frames; and generate from the two-dimensional frames the three-dimensional point cloud (562; 662; 758; 864) based on the locations of the valid pixels in each two-dimensional frame as indicated by the occupancy map, characterised in that each row of the first frame corresponds to a cross section of the three-dimensional point cloud for a first axis and includes geometry values of cross-section points, and each row of the second frame corresponds to the cross section and includes attribute values of the cross-section points. decode the compressed bitstream into two-dimensional frames (506, 508; 706, 708, 710, 712) and an occupancy map, wherein the two-dimensional frames include at least a first frame (506; 706) representing a geometry of points in a three-dimensional point cloud and a second frame (508; 708, 710, 712) representing an attribute of points in the three-dimensional point cloud; identify the occupancy map indicating locations of valid and invalid pixels in each of the two-dimensional frames that represent each point in the three-dimensional point cloud, wherein the locations of valid and invalid pixels are indicated based on overlaying the occupancy map with each of the two-dimensional frames; and generate from the two-dimensional frames the three-dimensional point cloud (562; 662; 758; 864) based on the locations of the valid pixels in each two-dimensional frame as indicated by the occupancy map, characterised in that each row of the first frame corresponds to a cross section of the three-dimensional point cloud for a first axis and includes geometry values of cross-section points, and each row of the second frame corresponds to the cross section and includes attribute values of the cross-section points.