# US 12,118,757 B2 · Signaling camera parameters in point cloud coding

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,118,757 B2
- Document ID: US12118757B2
- Status: Granted
- Kind: B2
- Application number: 17/857,894
- Filed: 2022-07-05
- Published: 2022-10-27
- Granted: 2024-10-15
- Earliest claimed: 2020-01-06
- Assignees: Huawei Technologies Co., Ltd.
- Applicants: Huawei Technologies Co., Ltd.
- Inventors: Jeffrey Moguillansky; Vladyslav Zakharchenko; Jianle Chen
- Web page: https://patentgrep.com/patent/US12118757B2

## CPC

- G06T 9/00: Image coding (bandwidth or redundancy reduction for static pictures H04N1/41; coding or decoding of static colour picture signals H04N1/64; methods or arrangements for coding, decoding, compressing or decompressing digital video signals H04N19/00)
- H04N 19/597: specially adapted for multi-view video sequence encoding
- H04N 19/46: Embedding additional information in the video signal during the compression process (H04N19/517, H04N19/68, H04N19/70 take precedence)
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N 19/527: Global motion vector estimation
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A video coding mechanism is disclosed. The mechanism includes receiving a bitstream comprising a plurality of two dimensional (2D) patches in an atlas frame and a camera offset for a camera. The patches are decoded and converted to a three dimensional (3D) patch coordinate system to obtain a point cloud frame. An offset matrix is determined based on the camera offset. The offset is then applied matrix to the point cloud frame.

## Claims

### Claim 1

A method implemented by a decoder, the method comprising:
receiving a bitstream comprising a plurality of patches in an atlas frame and a camera offset for a camera;
decoding the patches in the atlas frame;
converting the patches to a three dimensional (3D) patch coordinate system to obtain point cloud content;
determining an offset matrix based on the camera offset, wherein the camera offset indicates a first offset corresponding to an X axis, a second offset corresponding to a Y axis, and a third offset corresponding to a Z axis, wherein the offset matrix comprises four rows and four columns, wherein the first offset is positioned at row one column four, wherein the second offset is positioned at row two column four, and wherein the third offset is positioned at row three column four; and
applying the offset matrix to the point cloud content.

### Claim 2 (depends on 1)

The method of claim 1, wherein the bitstream further comprises a camera rotation for the camera, and wherein the method further comprises:
determining a rotation matrix based on the camera rotation; and
applying the rotation matrix to the point cloud content.

### Claim 3 (depends on 2)

The method of claim 2, wherein the camera rotation specifies an X component for a rotation of the camera using quaternion representation, a Y component for the rotation of the camera using quaternion representation, and a Z component for the rotation of the camera using quaternion representation.

### Claim 4 (depends on 3)

The method of claim 3, wherein the rotation matrix includes the X component, the Y component, the Z component, and a W component for the rotation of the camera using quaternion representation.

### Claim 5 (depends on 4)

The method of claim 4, wherein the W component is calculated according to: qW=Sqrt(1−qX2+qY2+qZ2)), where qW, qX, qY, and qZ represents the W component, the X component, the Y component, and the Z component, respectively, and where Sqrt is a square root function.

### Claim 6 (depends on 1)

The method of claim 1, wherein the patches in the atlas frame are two dimensional (2D) patches.

### Claim 7

A method implemented by an encoder, the method comprising:
encoding a plurality of two dimensional (2D) patches and a geometry describing a point cloud frame into a bitstream;
determining a camera offset describing a position of a camera relative to the point cloud frame to support generation of an offset matrix for rendering a camera view of the point cloud frame;
encoding the camera offset into the bitstream, wherein the camera offset indicates a first offset corresponding to an X axis, a second offset corresponding to a Y axis, and a third offset corresponding to a Z axis, wherein the offset matrix comprises four rows and four columns, wherein the first offset is positioned at row one column four, wherein the second offset is positioned at row two column four, and wherein the third offset is positioned at row three column four; and
storing the bitstream for communication toward a decoder.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
determining a camera rotation describing a viewing vector for the camera relative to the point cloud frame to support generation of a rotation matrix for rendering the camera view of the point cloud frame; and
encoding the camera rotation into the bitstream.

### Claim 9 (depends on 8)

The method of claim 8, wherein the camera rotation specifies an X component for a rotation of the camera using quaternion representation, a Y component for the rotation of the camera using quaternion representation, and a Z component for the rotation of the camera using quaternion representation.

### Claim 10 (depends on 9)

The method of claim 9, wherein the rotation matrix includes the X component, the Y component, the Z component, and a W component for the rotation of the camera using quaternion representation.

### Claim 11 (depends on 10)

The method of claim 10, wherein the W component is calculated according to: qW=Sqrt(1−qX2+qY2+qZ2)), where qW, qX, qY, and qZ represents the W component, the X component, the Y component, and the Z component, respectively, and where Sqrt is a square root function.

### Claim 12

A video coding device comprising:
a receiver configured to obtain a bitstream comprising a plurality of patches in an atlas frame and a camera offset for a camera; and
a processor configured to:
decode the patches in the atlas frame;
convert the patches to a three dimensional (3D) patch coordinate system to obtain point cloud content;
determine an offset matrix based on the camera offset, wherein the camera offset indicates a first offset corresponding to an X axis, a second offset corresponding to a Y axis, and a third offset corresponding to a Z axis, wherein the offset matrix comprises four rows and four columns, wherein the first offset is positioned at row one column four, wherein the second offset is positioned at row two column four, and wherein the third offset is positioned at row three column four; and
apply the offset matrix to the point cloud content.

### Claim 13 (depends on 12)

The video coding device of claim 12, wherein the bitstream further comprises a camera rotation for the camera, and wherein the processor is further configured to:
determine a rotation matrix based on the camera rotation; and
apply the rotation matrix to the point cloud content.

### Claim 14 (depends on 13)

The video coding device of claim 13, wherein the camera rotation specifies an X component for a rotation of the camera using quaternion representation, a Y component for the rotation of the camera using quaternion representation, and a Z component for the rotation of the camera using quaternion representation.
