# US 11,308,581 B2 · Spherical rotation for encoding wide view video

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

- Number: US 11,308,581 B2
- Document ID: US11308581B2
- Status: Granted
- Kind: B2
- Application number: 17/033,374
- Filed: 2020-09-25
- Published: 2021-01-14
- Granted: 2022-04-19
- Earliest claimed: 2016-11-17
- Assignees: Intel Corporation
- Applicants: Intel Corporation
- Inventors: Jill M. Boyce
- Web page: https://patentgrep.com/patent/US11308581B2

## CPC

- G06T 3/4038: Image mosaicing, e.g. composing plane images from plane sub-images
- G06F 3/012: {Head tracking input arrangements}
- G06T 3/16: Spatio-temporal transformations, e.g. video cubism
- G06T 3/60: Rotation of whole images or parts thereof
- G06T 7/215: Motion-based segmentation
- H04N 19/70: characterised by syntax aspects related to video coding, e.g. related to compression standards
- H04N 23/698: for achieving an enlarged field of view, e.g. panoramic image capture
- G06T 2207/10016: Video; Image sequence
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

Spherical rotation is described for encoding a video that has a wide field of view, such as a spherical or hemispherical video. One example relates to receiving encoded video including rotation orientation metadata, decoding the video, extracting the rotation orientation metadata, rotating the decoded video based on the rotation orientation metadata, generating a view of the rotated decoded video, and buffering the generated view for display.

## Claims

### Claim 1

An encoder comprising:
first circuitry to:
generate a sphere rotation supplemental enhancement information message associated with a video, the sphere rotation supplemental enhancement information message includes information on rotation angles yaw (α), pitch (β), and roll (γ) that are used for conversion between global coordinate axes and local coordinate axes, wherein roll corresponds to a rotation around an x-axis, pitch corresponds to a rotation around a y-axis, and yaw corresponds to a rotation around a z-axis, the sphere rotation supplemental enhancement information message includes:
sphere_rotation_cancel_flag, wherein the sphere_rotation_cancel_flag equals to 1 indicates that the sphere rotation supplemental enhancement information message cancels persistence of any previous sphere rotation supplemental enhancement information message;
sphere_rotation_persistence_flag, the sphere_rotation_persistence_flag specifies persistence of the sphere rotation supplemental enhancement information message for a current layer, wherein the sphere_rotation_persistence_flag equals to 0 to specifies that the sphere rotation supplemental enhancement information message applies to a current decoded picture only, wherein the sphere_rotation_persistence_flag equals to 1 specifies that the sphere rotation supplemental enhancement information message applies persists for the current layer until one or more conditions are met, and
at least one of:
yaw_rotation, wherein yaw_rotation specifies the value of the yaw rotation angle, wherein a 0 for yaw_rotation indicates that there is no yaw rotation,
pitch rotation, wherein pitch rotation specifies the value of the pitch rotation angle, wherein a 0 indicates that there is no pitch rotation, or
roll_rotation, wherein roll_rotation specifies the value of the roll_rotation angle, wherein a 0 for roll rotation indicates that there is no roll rotation; and
second circuitry to output the sphere rotation supplemental enhancement information message.

### Claim 2 (depends on 1)

The encoder of claim 1, wherein the sphere_rotation_cancel_flag equals to 0 indicates that sphere rotation information follows.

### Claim 3 (depends on 1)

The encoder of claim 1, wherein the one or more conditions include: a new coded layer video sequence (CLVS) of the current layer begins, a bitstream ends, or a picture in the current layer associated with a subsequent sphere rotation supplemental enhancement information message is output that follows a current picture in output order.

### Claim 4 (depends on 1)

The encoder of claim 1, wherein at least one of the yaw_rotation, the pitch_rotation, or the roll_rotation is in units of 2−16 degrees.

### Claim 5 (depends on 1)

The encoder of claim 1, wherein at least one of the value of the yaw_rotation is equal to zero when the value of the yaw_rotation is not present, the value of the pitch_rotation is equal to zero when the value of the pitch_rotation is not present, or the value of the roll_rotation is equal to zero when the value of the roll_rotation is not present.

### Claim 6 (depends on 1)

The encoder of claim 1, wherein the second circuitry is to transmit the sphere rotation supplemental enhancement information message.

### Claim 7 (depends on 1)

The encoder of claim 1, wherein the second circuitry is to store the sphere rotation supplemental enhancement information message.

### Claim 8

A system comprising:
memory;
at least one sensor;
a display;
a storage device;
communication circuitry; and
at least one processor to:
generate a sphere rotation supplemental enhancement information message associated with a video, the sphere rotation supplemental enhancement information message includes information on rotation angles yaw (α), pitch (β), and roll (γ) that are used for conversion between global coordinate axes and local coordinate axes, wherein roll corresponds to a rotation around an x-axis, pitch corresponds to a rotation around a y-axis, and yaw corresponds to a rotation around a z-axis, the sphere rotation supplemental enhancement information message includes:
sphere_rotation_cancel_flag, wherein the sphere_rotation_cancel_flag equals to 1 indicates that the sphere rotation supplemental enhancement information message cancels persistence of any previous sphere rotation supplemental enhancement information message;
sphere_rotation_persistence_flag, the sphere_rotation_persistence_flag specifies persistence of the sphere rotation supplemental enhancement information message for a current layer, wherein the sphere_rotation_persistence_flag equals to 0 to specifies that the sphere rotation supplemental enhancement information message applies to a current decoded picture only, wherein the sphere_rotation_persistence_flag equals to 1 specifies that the sphere rotation supplemental enhancement information message applies persists for the current layer until one or more conditions are met, and
at least one of:
yaw_rotation, wherein yaw_rotation specifies the value of the yaw rotation angle, wherein a 0 for yaw_rotation indicates that there is no yaw rotation,
pitch rotation, wherein pitch rotation specifies the value of the pitch rotation angle, wherein a 0 indicates that there is no pitch rotation, or
roll_rotation, wherein roll_rotation specifies the value of the roll rotation angle, wherein a 0 for roll_rotation indicates that there is no roll rotation.

### Claim 9 (depends on 8)

The system of claim 8, wherein the sphere_rotation_cancel_flag equals to 0 indicates that sphere rotation information follows.

### Claim 10 (depends on 8)

The system of claim 8, wherein the one or more conditions include: a new coded layer video sequence (CLVS) of the current layer begins, a bitstream ends, or a picture in the current layer associated with a subsequent sphere rotation supplemental enhancement information message is output that follows a current picture in output order.

### Claim 11 (depends on 8)

The system of claim 8, wherein at least one of the yaw_rotation, the pitch_rotation, or the roll_rotation is in units of 2−16 degrees.

### Claim 12 (depends on 8)

The system of claim 8, wherein at least one of the value of the yaw_rotation is equal to zero when the value of the yaw_rotation is not present, the value of the pitch_rotation is equal to zero when the value of the pitch_rotation is not present, or the value of the roll_rotation is equal to zero when the value of the roll_rotation is not present.

### Claim 13 (depends on 8)

The system of claim 8, wherein the at least one processor is to cause output of the sphere rotation supplemental enhancement information message includes transmitting the sphere rotation supplemental enhancement information message.

### Claim 14 (depends on 8)

The system of claim 8, wherein the at least one processor is to cause the sphere rotation supplemental enhancement information message to be stored.

### Claim 15 (depends on 8)

The system of claim 8, further including a camera.

### Claim 16 (depends on 8)

The system of claim 8, further including a battery.

### Claim 17

An encoder comprising:
first means for generating a sphere rotation supplemental enhancement information message associated with a video, the sphere rotation supplemental enhancement information message includes information on rotation angles yaw (α), pitch (β), and roll (γ) that are used for conversion between global coordinate axes and local coordinate axes, wherein roll corresponds to a rotation around an x-axis, pitch corresponds to a rotation around a y-axis, and yaw corresponds to a rotation around a z-axis, the sphere rotation supplemental enhancement information message includes:
sphere_rotation_cancel_flag, wherein the sphere_rotation_cancel_flag equals to 1 indicates that the sphere rotation supplemental enhancement information message cancels persistence of any previous sphere rotation supplemental enhancement information message;
sphere_rotation_persistence_flag, the sphere_rotation_persistence_flag specifies persistence of the sphere rotation supplemental enhancement information message for a current layer, wherein the
sphere_rotation_persistence_flag equals to 0 to specifies that the sphere rotation supplemental enhancement information message applies to a current decoded picture only, wherein the sphere_rotation_persistence_flag equals to 1 specifies that the sphere rotation supplemental enhancement information message applies persists for the current layer until one or more conditions are met, and
at least one of:
yaw_rotation, wherein yaw_rotation specifies the value of the yaw rotation angle, wherein a 0 for yaw_rotation indicates that there is no yaw rotation,
pitch_rotation, wherein pitch_rotation specifies the value of the pitch rotation angle, wherein a 0 indicates that there is no pitch rotation, or
roll_rotation, wherein roll rotation specifies the value of the roll rotation angle, wherein a 0 for roll_rotation indicates that there is no roll rotation; and
second means for outputting the sphere rotation supplemental enhancement information message.

### Claim 18 (depends on 17)

The encoder of claim 17, wherein the sphere_rotation_cancel_flag equals to 0 indicates that sphere rotation information follows.

### Claim 19 (depends on 17)

The encoder of claim 17, wherein the one or more conditions include: a new coded layer video sequence (CLVS) of the current layer begins, a bitstream ends, or a picture in the current layer associated with a subsequent sphere rotation supplemental enhancement information message is output that follows a current picture in output order.

### Claim 20 (depends on 17)

The encoder of claim 17, wherein at least one of the yaw_rotation, the pitch_rotation, and the roll_rotation is in units of 2−16 degrees.

### Claim 21 (depends on 17)

The encoder of claim 17, wherein at least one of the value of the yaw_rotation is equal to zero when the value of the yaw_rotation is not present, the value of the pitch_rotation is equal to zero when the value of the pitch_rotation is not present, or the value of the roll_rotation is equal to zero when the value of the roll_rotation is not present.

### Claim 22 (depends on 17)

The encoder of claim 17, wherein the second means is to transmit the sphere rotation supplemental enhancement information message.

### Claim 23 (depends on 17)

The encoder of claim 17, wherein the second means is to store the sphere rotation supplemental enhancement information message.
