# US 12,192,459 B2 · Interplay between subpictures and in-loop filtering

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

- Number: US 12,192,459 B2
- Document ID: US12192459B2
- Status: Granted
- Kind: B2
- Application number: 18/320,782
- Filed: 2023-05-19
- Published: 2024-02-08
- Granted: 2025-01-07
- Earliest claimed: 2019-10-18
- Assignees: Beijing Bytedance Network Technology Co., Ltd.; Bytedance Inc.
- Applicants: Beijing Bytedance Network Technology Co., Ltd.; Bytedance Inc.
- Inventors: Kai Zhang; Zhipin Deng; Hongbin Liu; Li Zhang; Jizheng Xu
- Web page: https://patentgrep.com/patent/US12192459B2

## CPC

- H04N 19/119: Adaptive subdivision aspects, e.g. subdivision of a picture into rectangular or non-rectangular coding blocks
- H04N 19/117: Filters, e.g. for pre-processing or post-processing (sub-band filter banks H04N19/635)
- H04N 19/132: Sampling, masking or truncation of coding units, e.g. adaptive resampling, frame skipping, frame interpolation or high-frequency transform coefficient masking
- H04N 19/174: the region being a slice, e.g. a line of blocks or a group of blocks
- H04N 19/176: the region being a block, e.g. a macroblock
- H04N 19/186: the unit being a colour or a chrominance component
- 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/82: involving filtering within a prediction loop
- H04N 19/86: involving reduction of coding artifacts, e.g. of blockiness
- H04N 19/33: in the spatial domain
- H04N 19/523: with sub-pixel accuracy
- H04N 19/53: Multi-resolution motion estimation; Hierarchical motion estimation
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

An example method of video processing includes: determining, for a conversion between a chroma block of a current processing unit of a current subpicture of a current picture of a video and a bitstream of the video, that a cross component adaptive loop filtering operation is applied to the chroma block, wherein the current picture comprises one or more subpictures; and performing the conversion based on the determining, wherein in the cross component adaptive loop filtering operation, a chroma sample of the chroma block is filtered based on information of luma samples, and wherein one or more luma samples located outside the current processing unit are excluded from the filtering of the chroma sample.

## Claims

### Claim 1

A method of video processing, comprising:
determining, for a conversion between a chroma block of a current processing unit of a current subpicture of a current picture of a video and a bitstream of the video, that a cross component adaptive loop filtering operation is applied to the chroma block, wherein the current picture comprises one or more subpictures; and
performing the conversion based on the determining,
wherein in the cross component adaptive loop filtering operation, a chroma sample of the chroma block is filtered based on information of luma samples, and
wherein one or more luma samples located outside the current processing unit are excluded from the filtering of the chroma sample;
wherein a position of the current subpicture is determined based on a first syntax element and a second syntax element included in the bitstream;
wherein the first syntax element indicates a horizontal position of a top-left coding tree unit of the current subpicture in unit of CtbSizeY and a length of the first syntax element is derived to be Ceil(Log 2(S1)) bits,
wherein the second syntax element indicates a vertical position of the top-left coding tree unit of the current subpicture in unit of CtbSizeY and a length of the second syntax element is derived to be Ceil(Log 2(S2)) bits,
wherein S1 and S2 are greater than 0, and CtbSizeY denotes a size of a coding tree block, and
wherein S1 is equal to (S3+CtbSizeY−1)/CtbSizeY, and S2 is equal to (S4+CtbSizeY−1)/CtbSizeY, wherein S3 is a value of a syntax element included in a sequence parameter set and specifying a maximum width of a decoded picture referring to the sequence parameter set in units of the luma samples, and wherein S4 is a value of a syntax element included in the sequence parameter set and specifying a maximum height of a decoded picture referring to the sequence parameter set in units of the luma samples.

### Claim 2 (depends on 1)

The method of claim 1, wherein the current processing unit is defined by an adaptive loop filtering virtual boundary.

### Claim 3 (depends on 1)

The method of claim 1, wherein one or more luma samples located outside an adaptive loop filtering virtual boundary are excluded from the filtering of the chroma sample.

### Claim 4 (depends on 3)

The method of claim 3, wherein one or more luma samples inside the adaptive loop filtering virtual boundary is used to replace the one or more luma samples located outside an adaptive loop filtering virtual boundary and is included in the filtering of the chroma sample.

### Claim 5 (depends on 1)

The method of claim 1, wherein the current picture further comprises a video block, and
wherein when an edge of the video block coincides with a boundary of a subpicture in the current picture and an in-loop filtering operation across the boundary of the subpicture is disabled, a deblocking filter process is not applied to the edge.

### Claim 6 (depends on 5)

The method of claim 5, wherein a syntax element indicating whether the in-loop filtering operation process across the boundary of the subpicture is disabled is included in the bitstream.

### Claim 7 (depends on 1)

The method of claim 1, wherein a syntax element indicating a maximum block size used for a transform skip coding tool is conditionally included in a sequence parameter set in the bitstream based on a value of a transform skip enabled flag included in the sequence parameter set in the bitstream.

### Claim 8 (depends on 1)

The method of claim 1, wherein the current picture further comprises a video block,
wherein a history-based motion vector prediction table is maintained to be used for motion vector prediction,
wherein when the video block is coded in a first mode, the history-based motion vector prediction table is refrained from being updated based on the video block, and
wherein in the first mode, a partition scheme dividing the video block into two partitions is allowed, and at least one of the two partitions is non-square and non-rectangular.

### Claim 9 (depends on 1)

The method of claim 1, wherein the conversion includes encoding the current picture into the bitstream.

### Claim 10 (depends on 1)

The method of claim 1, wherein the conversion includes decoding the current picture from the bitstream.

### Claim 11 (depends on 1)

The method of claim 1, wherein S3 and S4 are an integer multiple of Max (8, MinCbSizeY), respectively.

### Claim 12 (depends on 1)

The method of claim 1, wherein the bitstream conforms to a format rule which specifies that different subpictures have different subpicture ID values.

### Claim 13 (depends on 12)

The method of claim 12, wherein when a value of one or more syntax elements is equal to 0, a default value is assigned to the subpicture ID value of the subpicture,
wherein, when the value of the one or more syntax elements is equal to 0, a subpicture ID mapping is not explicitly signaled, neither in the sequence parameter set nor in the picture parameter set.

### Claim 14

An apparatus for processing video data comprising a processor and a non-transitory memory with instructions thereon, wherein the instructions upon execution by the processor, cause the processor to:
determine, for a conversion between a chroma block of a current processing unit of a current subpicture of a current picture of a video and a bitstream of the video, that a cross component adaptive loop filtering operation is applied to the chroma block, wherein the current picture comprises one or more subpictures; and
perform the conversion based on the determining,
wherein in the cross component adaptive loop filtering operation, a chroma sample of the chroma block is filtered based on information of luma samples, and
wherein one or more luma samples located outside the current processing unit are excluded from the filtering of the chroma sample;
wherein a position of the current subpicture is determined based on a first syntax element and a second syntax element included in the bitstream;
wherein the first syntax element indicates a horizontal position of a top-left coding tree unit of the current subpicture in unit of CtbSizeY and a length of the first syntax element is derived to be Ceil(Log 2(S1)) bits,
wherein the second syntax element indicates a vertical position of the top-left coding tree unit of the current subpicture in unit of CtbSizeY and a length of the second syntax element is derived to be Ceil(Log 2(S2)) bits,
wherein S1 and S2 are greater than 0, and CtbSizeY denotes a size of a coding tree block, and
wherein S1 is equal to (S3+CtbSizeY−1)/CtbSizeY, and S2 is equal to (S4+CtbSizeY−1)/CtbSizeY, wherein S3 is a value of a syntax element included in a sequence parameter set and specifying a maximum width of a decoded picture referring to the sequence parameter set in units of the luma samples, and wherein S4 is a value of a syntax element included in the sequence parameter set and specifying a maximum height of a decoded picture referring to the sequence parameter set in units of the luma samples.

### Claim 15 (depends on 14)

The apparatus of claim 14, wherein the current processing unit is defined by an adaptive loop filtering virtual boundary.

### Claim 16 (depends on 14)

The apparatus of claim 14, wherein one or more luma samples located outside an adaptive loop filtering virtual boundary are excluded from the filtering of the chroma sample.

### Claim 17 (depends on 16)

The apparatus of claim 16, wherein one or more luma samples inside the adaptive loop filtering virtual boundary is used to replace the one or more luma samples located outside an adaptive loop filtering virtual boundary and is included in the filtering of the chroma sample.

### Claim 18 (depends on 14)

The apparatus of claim 14, wherein the current picture further comprises a video block, and
wherein when an edge of the video block coincides with a boundary of a subpicture in the current picture and an in-loop filtering operation across the boundary of the subpicture is disabled, a deblocking filter process is not applied to the edge.

### Claim 19

A non-transitory computer-readable storage medium storing instructions that cause a processor to:
determine, for a conversion between a chroma block of a current processing unit of a current subpicture of a current picture of a video and a bitstream of the video, that a cross component adaptive loop filtering operation is applied to the chroma block, wherein the current picture comprises one or more subpictures; and
perform the conversion based on the determining,
wherein in the cross component adaptive loop filtering operation, a chroma sample of the chroma block is filtered based on information of luma samples, and
wherein one or more luma samples located outside the current processing unit are excluded from the filtering of the chroma sample;
wherein a position of the current subpicture is determined based on a first syntax element and a second syntax element included in the bitstream;
wherein the first syntax element indicates a horizontal position of a top-left coding tree unit of the current subpicture in unit of CtbSizeY and a length of the first syntax element is derived to be Ceil(Log 2(S1)) bits,
wherein the second syntax element indicates a vertical position of the top-left coding tree unit of the current subpicture in unit of CtbSizeY and a length of the second syntax element is derived to be Ceil(Log 2(S2)) bits,
wherein S1 and S2 are greater than 0, and CtbSizeY denotes a size of a coding tree block, and
wherein S1 is equal to (S3+CtbSizeY−1)/CtbSizeY, and S2 is equal to (S4+CtbSizeY−1)/CtbSizeY, wherein S3 is a value of a syntax element included in a sequence parameter set and specifying a maximum width of a decoded picture referring to the sequence parameter set in units of the luma samples, and wherein S4 is a value of a syntax element included in the sequence parameter set and specifying a maximum height of a decoded picture referring to the sequence parameter set in units of the luma samples.

### Claim 20

A method for storing a bitstream of a video, comprising:
determining, for a chroma block of a current processing unit of a current picture of a current subpicture of a video, that a cross component adaptive loop filtering operation is applied to the chroma block, wherein the current picture comprises one or more subpictures;
generating the bitstream based on the determining; and
storing the bitstream in a non-transitory computer-readable recording medium,
wherein in the cross component adaptive loop filtering operation, a chroma sample of the chroma block is filtered based on information of luma samples, and
wherein one or more luma samples located outside the current processing unit are excluded from the filtering of the chroma sample;
wherein a position of the current subpicture is determined based on a first syntax element and a second syntax element included in the bitstream;
wherein the first syntax element indicates a horizontal position of a top-left coding tree unit of the current subpicture in unit of CtbSizeY and a length of the first syntax element is derived to be Ceil(Log 2(S1)) bits,
wherein the second syntax element indicates a vertical position of the top-left coding tree unit of the current subpicture in unit of CtbSizeY and a length of the second syntax element is derived to be Ceil(Log 2(S2)) bits,
wherein S1 and S2 are greater than 0, and CtbSizeY denotes a size of a coding tree block, and
wherein S1 is equal to (S3+CtbSizeY−1)/CtbSizeY, and S2 is equal to (S4+CtbSizeY−1)/CtbSizeY, wherein S3 is a value of a syntax element included in a sequence parameter set and specifying a maximum width of a decoded picture referring to the sequence parameter set in units of the luma samples, and wherein S4 is a value of a syntax element included in the sequence parameter set and specifying a maximum height of a decoded picture referring to the sequence parameter set in units of the luma samples.
