# US 12,113,971 B2 · Method and apparatus for encoding and decoding a video stream with subpictures

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

- Number: US 12,113,971 B2
- Document ID: US12113971B2
- Status: Granted
- Kind: B2
- Application number: 17/642,535
- Filed: 2020-09-07
- Published: 2022-10-13
- Granted: 2024-10-08
- Earliest claimed: 2019-09-17
- Assignees: Canon Kabushiki Kaisha
- Applicants: Canon Kabushiki Kaisha
- Inventors: Naël Ouedraogo; Franck Denoual
- Web page: https://patentgrep.com/patent/US12113971B2

## CPC

- H04N 19/117: Filters, e.g. for pre-processing or post-processing (sub-band filter banks H04N19/635)
- H04N 19/119: Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
- H04N 19/176: the region being a block, e.g. a macroblock
- 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: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

An encoding method comprising the encoding of information allowing the decoder to infer the splitting of CTBs located at the right, respectively the bottom of a subpicture, which width, respectively height, is not a multiple of the size of the CTBs, when the subpicture is not located at the right, respectively the bottom, of the image. Corresponding decoding methods for the generated bitstream are also proposed.

## Claims

### Claim 1

A method of encoding video data comprising pictures into a bitstream, pictures being divided into subpictures each including one or more slices, the method comprising:
encoding, in a sequence parameter set of the bitstream, a first flag indicating whether information of a subpicture is present;
when a value of the first flag is 1, encoding, in the sequence parameter set of the bitstream, a second flag related to a constraint of subpictures;
when a value of the second flag is 0, encoding, for a given subpicture in a picture, a third flag and a fourth flag in the sequence parameter set of the bitstream, the third flag indicating whether in-loop filtering operations across subpicture boundaries is enabled and the fourth flag indicating whether the given subpicture is treated as a picture in decoding process excluding in-loop filtering operations,
wherein the third flag and the fourth flag are not encoded in the sequence parameter set of the bitstream when the value of the second flag is 1; and
encoding coding tree blocks composing the pictures into the bitstream.

### Claim 2 (depends on 1)

The method of claim 1, wherein the second flag is related to all the subpictures.

### Claim 3 (depends on 1)

The method of claim 1, wherein subpictures are further identified with a subpicture identifier.

### Claim 4 (depends on 3)

The method of claim 3, wherein subpicture identifiers defined in picture parameter sets must be identical in all the picture parameter sets.

### Claim 5 (depends on 1)

The method of claim 1, wherein the second flag is associated with a particular profile.

### Claim 6

A non-transitory computer-readable storage medium storing instructions of a computer program for implementing a method, the method comprising:
encoding, in a sequence parameter set of the bitstream, a first flag indicating whether information of a subpicture is present;
when a value of the first flag is 1, encoding, in the sequence parameter set of the bitstream, a second flag related to a constraint of subpictures;
when a value of the second flag is 0, encoding, for a given subpicture in a picture, a third flag and a fourth flag in the sequence parameter set of the bitstream, the third flag indicating whether in-loop filtering operations across subpicture boundaries is enabled and the fourth flag indicating whether the given subpicture is treated as a picture in decoding process excluding in-loop filtering operations,
wherein the third flag and the fourth flag are not encoded in the sequence parameter set of the bitstream when the value of the second flag is 1; and
encoding coding tree blocks composing the pictures into the bitstream.

### Claim 7 (depends on 1)

The method of claim 1, wherein the method comprises:
when the value of the second flag is 1, all the subpictures have borders constrained as picture borders and there is no loop filtering across the subpicture boundaries.

### Claim 8 (depends on 1)

The method of claim 1, wherein the method further comprises for at least one subpicture:
encoding in the bitstream an information indicating a conformance window for the subpicture.

### Claim 9

A method of decoding a bitstream of video data comprising pictures, pictures being divided into subpictures each including one or more slices, the method comprising:
decoding, from a sequence parameter set of the bitstream, a first flag indicating whether information of a subpicture is present;
when a value of the first flag is 1, decoding, from the sequence parameter set of the bitstream, a second flag related to a constraint of subpictures;
when a value of the second flag is 0, decoding, for a given subpicture in a picture, a third flag and a fourth flag from the sequence parameter set of the bitstream, the third flag indicating whether in-loop filtering operations across subpicture boundaries is enabled, and the fourth flag indicating whether the given subpicture is treated as a picture in decoding process excluding in-loop filtering operations,
wherein the third flag and the fourth flag are not decoded from the sequence parameter set of the bitstream when the value of the second flag is 1; and
decoding the bitstream at least based on the first flag.

### Claim 10 (depends on 9)

The method of claim 9, wherein the method comprises:
when the value of the second flag is 1, all the subpictures have boundaries constrained as picture boundaries and there is no loop filtering across the subpicture boundaries.

### Claim 11 (depends on 9)

The method of claim 9, wherein the second flag is related to all the subpictures.

### Claim 12

A device for encoding video data comprising pictures into a bitstream, pictures being divided into subpictures each including one or more slices the device comprising a processor configured to execute:
encoding, in a sequence parameter set of the bitstream, a first flag indicating whether information of a subpicture is present;
when a value of the first flag is 1, encoding, in the sequence parameter set of the bitstream, a second flag related to a constraint of subpictures;
when a value of the second flag is 0, encoding, for a given subpicture in a picture, a third flag and a fourth flag in the sequence parameter set of the bitstream, the third flag indicating whether in-loop filtering operations across subpicture boundaries is enabled and the fourth flag indicating whether the given subpicture is treated as a picture in decoding process excluding in-loop filtering operations,
wherein the third flag and the fourth flag are not encoded in the sequence parameter set of the bitstream when the value of the second flag is 1; and
encoding coding tree blocks composing the pictures into the bitstream.

### Claim 13

A device for decoding a bitstream of video data comprising pictures, pictures being divided into subpictures each including one or more slices, the device comprising a processor configured for:
decoding, from a sequence parameter set of the bitstream, a first flag indicating whether information of a subpicture is present;
when a value of the first flag is 1, decoding, from the sequence parameter set of the bitstream a second flag related to a constraint of subpictures;
when a value of the second flag is 0, decoding, for a given subpicture in a picture, a third flag and a fourth flag from the sequence parameter set of the bitstream, the third flag indicating whether in-loop filtering operations across subpicture boundaries is enabled, and the fourth flag indicating whether the given subpicture is treated as a picture in decoding process excluding in-loop filtering operations,
wherein the third flag and the fourth flag are not decoded from the sequence parameter set of the bitstream when the value of the second flag is 1; and
decoding the bitstream at least based on the first flag.

### Claim 14 (depends on 1)

The method of claim 1, wherein when the value of the second flag is 1, the value of the third flag is inferred to be 0 and the value of the fourth flag is inferred to be 1,
wherein the third flag, having the value of 0, indicates that the in-loop filtering operations are not performed across boundaries of the given subpicture, and
wherein the fourth flag, having the value of 1, indicates that the given subpicture is treated as a picture in the decoding process excluding in-loop filtering operations.

### Claim 15 (depends on 1)

The method of claim 1, wherein the third flag is a loop filter across subpic enabled flag, and the fourth flag is a subpic treated as pic flag.

### Claim 16 (depends on 1)

The method of claim 1, wherein when the value of the second flag is equal to 1, subpicture boundaries of the subpictures are treated as picture boundaries.

### Claim 17 (depends on 9)

The method of claim 9, wherein when the value of the second flag is 1, the value of the third flag is inferred to be 0 and the value of the fourth flag is inferred to be 1,
wherein the third flag, having the value of 0, indicates that the in-loop filtering operations are not performed across boundaries of the given subpicture, and
wherein the fourth flag, having the value of 1, indicates that the given subpicture is treated as a picture in the decoding process excluding in-loop filtering operations.

### Claim 18 (depends on 9)

The method of claim 9, wherein the third flag is a loop filter across subpic enabled flag, and the fourth flag is a subpic treated as pic flag.

### Claim 19 (depends on 1)

The method of claim 1, wherein when the value of the second flag is equal to 1, subpicture boundaries of the subpictures are treated as picture boundaries.
