US 11,748,916 B2
Occupancy map block-to-patch information compression
Khaled Mammou, Vancouver (CA); Alexandros Tourapis, Los Gatos, CA (US); Yeping Su, Cupertino, CA (US); Jungsun Kim, San Jose, CA (US); Fabrice A. Robinet, Sunnyvale, CA (US); and Valery G. Valentin, San Jose, CA (US)
Assigned to Apple Inc., Cupertino, CA (US)
Filed by Apple Inc., Cupertino, CA (US)
Filed on May 27, 2022, as Appl. No. 17/804,477.
Application 17/804,477 is a continuation of application No. 16/591,530, filed on Oct. 2, 2019, granted, now 11,367,224.
Claims priority of provisional application 62/740,356, filed on Oct. 2, 2018.
Prior Publication US 2022/0292722 A1, Sep. 15, 2022
Int. Cl. G06T 9/00 (2006.01); H04N 19/597 (2014.01)
CPC G06T 9/001 (2013.01) [H04N 19/597 (2014.11)] 20 Claims
OG exemplary drawing
 
1. A non-transitory computer-readable medium storing program instructions that, when executed by one or more processors, cause the one or more processors to:
determine, for three-dimensional (3D) content, a plurality of patches, wherein each patch comprises points of the 3D content projected on a patch plane;
pack patch images corresponding to the plurality of patches into corresponding image frames, wherein:
the corresponding image frames comprise blocks having respective block sizes corresponding to respective resolutions of the image frames, and
the patches are packed into the image frames such that bounding boxes of subsequently packed patches do not intersect an image frame block already occupied by a precedingly packed patch;
determine block-to-patch information indicating, for respective blocks of the image frames, a correspondence between the respective block and one or more patch images that have been packed into the image frames such that a portion of the one or more patch images occupies the respective block;
encode the image frames via a video-based encoder; and
encode respective occupancy maps for the image frames and patch information for the packed patch images via the video-based encoder or an arithmetic encoder; and
encode the block-to-patch information via the video-based encoder or via an arithmetic encoder, wherein the block-to-patch information is encoded via either the video-based encoder or the arithmetic encoder such that there is not a decoding dependency between the video-based encoder and the arithmetic encoder to decode the encoded block-to-patch information.