IP Library › Granted Patent US 11,563,980
Granted Patent B2
US 11,563,980 · App. 17/219,147 · Granted Jan 24, 2023

General constraint information syntax in video coding

Inventors: Yao-Jen Chang (San Diego, CA); Vadim Seregin (San Diego, CA); Yong He (San Diego, CA); Muhammed Zeyd Coban (Carlsbad, CA); Marta Karczewicz (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/70H04N19/136H04N19/159
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,563,980
App. No.
17/219,147
Granted
Jan 24, 2023
Kind
B2
Abstract

A method of processing video data comprises performing a bitstream conformance process that determines whether a bitstream that comprises an encoded representation of the video data conforms to a video coding standard, wherein the bitstream conformance process determines that the bitstream does not conform to the video coding standard when at least one of: a chroma-related constraint flag is equal to 0 and when there are no chroma components for pictures in the bitstream, or an inter prediction-related constraint flag is equal to 0 when all slices of the bitstream are I slices.

Claims (94)

1. A method of processing video data, the method comprising:

performing a bitstream conformance process that determines whether a bitstream that comprises an encoded representation of the video data conforms to a video coding standard, wherein performing the bitstream conformance process comprises determining that the bitstream does not conform to the video coding standard based on a first syntax element having a particular value indicating a requirement of bitstream conformance is applicable and based on the requirement of bitstream conformance not being satisfied, and wherein the requirement of bitstream conformance specifies a second syntax element shall specify that all layers in a coded video sequence (CVS) are independently coded without inter-layer prediction.

2. The method of claim 1 , wherein the bitstream conformance process determines that the bitstream does not conform to the video coding standard when a chroma-related constraint flag is equal to 0 and when there are no chroma components for pictures in the bitstream, wherein the chroma-related constraint flag is one of:

a syntax element that indicates whether a quad-tree/binary-tree flag must specify that separate coding tree structures are not used for I slices,

a syntax element that indicates whether a cross-component adaptive loop filter flag must indicate that a cross-component adaptive loop filter is disabled,

a syntax element that indicates whether a joint coding of a chroma residuals flag must indicate that joint coding of chroma residuals is disabled, or

a syntax element that indicates whether a cross-component linear model intra prediction flag must indicate that cross-component linear model intra prediction from a luma component to a chroma component is disabled.

3. The method of claim 1 , wherein the bitstream conformance process determines that the bitstream does not conform to the video coding standard when an inter prediction-related constraint flag is equal to 0 and all slices of the bitstream are I slices, wherein the inter prediction-related constraint flag is one of:

a syntax element that specifies whether a wrap-around enabled flag must indicate that horizontal wrap-around motion compensation is not applied in inter prediction,

a syntax element that specifies whether a temporal motion vector prediction enabled flag must indicate that temporal motion vector predictors are not used in a coded layer video sequence (CLVS),

a syntax element that specifies whether a subblock-based temporal motion vector prediction enabled flag must indicate that subblock-based temporal motion vector predictors are not used in the CLVS,

a syntax element that specifies whether an adaptive motion vector difference resolution enabled flag must indicate that adaptive motion vector difference resolution is not used in motion vector coding,

a syntax element that specifies whether a bi-directional optical flow inter prediction flag must indicate that bi-directional optical flow inter prediction is disabled,

a syntax element that specifies whether a decoder motion vector refinement enabled flag must indicate that decoder motion vector refinement is disabled,

a syntax element that specifies whether an affine enabled flag must indicate that no affine model based motion compensation is used in the CLVS,

a syntax element that specifies whether a bi-prediction with coding unit (CU) weights flag must indicate that no bi-prediction with CU weights is used in the CLVS,

a syntax element that specifies whether a combined inter-picture merge and intra-picture prediction (CIIP) flag must indicate that there are no flags that indicate whether CIIP is applied for a coding unit,

a syntax element that specifies whether a merge mode with motion vector difference flag must specify that merge mode with motion vector difference can use fractional sample precision, or

a syntax element that specifies whether a geometric partition based motion compensation flag must indicate that no geometric partition based motion compensation is used in the CLVS.

4. The method of claim 1 , wherein:

the requirement of bitstream conformance specifies that the second syntax element shall specify that all layers in the CVS are independently coded without inter-layer prediction, and

the method further comprises determining that the first syntax element is omitted from the bitstream and is inferred to indicate that the requirement of bitstream conformance is applicable based on a third syntax element specifying that it is a second requirement of bitstream conformance that a VPS identifier of the SPS shall be equal to 0.

5. The method of claim 1 , further comprising at least one of:

generating an error message based on a determination that the bitstream does not conform to the video coding standard,

sending the bitstream to another device based on a determination that the bitstream conforms to the video coding standard, or

decoding the bitstream based on the determination that the bitstream conforms to the video coding standard.

6. A device for processing video data, the device comprising:

a memory to store a bitstream that comprises an encoded representation of the video data conforms to a video coding standard; and

one or more processors implemented in circuitry and coupled to the memory, the one or more processors configured to perform a bitstream conformance process that determines whether the bitstream conforms to a video coding standard, wherein the one or more processors are configured to, as part of performing the bitstream conformance process, determine that the bitstream does not conform to the video coding standard based on a first syntax element having a particular value indicating a requirement of bitstream conformance is applicable and based on the requirement of bitstream conformance not being satisfied, and wherein the requirement of bitstream conformance specifies a second syntax element shall specify that all layers in a coded video sequence (CVS) are independently coded without inter-layer prediction.

7. The device of claim 6 , wherein the bitstream conformance process determines that the bitstream does not conform to the video coding standard when a chroma-related constraint flag is equal to 0 and when there are no chroma components for pictures in the bitstream, wherein the chroma-related constraint flag is one of:

a syntax element that indicates whether a quad-tree/binary-tree flag must specify that separate coding tree structures are not used for I slices,

a syntax element that indicates whether a cross-component adaptive loop filter flag must indicate that a cross-component adaptive loop filter is disabled,

a syntax element that indicates whether a joint coding of a chroma residuals flag must indicate that joint coding of chroma residuals is disabled, or

a syntax element that indicates whether a cross-component linear model intra prediction flag must indicate that cross-component linear model intra prediction from a luma component to a chroma component is disabled.

8. The device of claim 6 , wherein the bitstream conformance process determines that the bitstream does not conform to the video coding standard when an inter prediction-related constraint flag is equal to 0 and all slices of the bitstream are I slices, wherein the inter prediction-related constraint flag is one of:

a syntax element that specifies whether a wrap-around enabled flag must indicate that horizontal wrap-around motion compensation is not applied in inter prediction,

a syntax element that specifies whether a temporal motion vector prediction enabled flag must indicate that temporal motion vector predictors are not used in a coded layer video sequence (CLVS),

a syntax element that specifies whether a subblock-based temporal motion vector prediction enabled flag must indicate that subblock-based temporal motion vector predictors are not used in the CLVS,

a syntax element that specifies whether an adaptive motion vector difference resolution enabled flag must indicate that adaptive motion vector difference resolution is not used in motion vector coding,

a syntax element that specifies whether a bi-directional optical flow inter prediction flag must indicate that bi-directional optical flow inter prediction is disabled,

a syntax element that specifies whether a decoder motion vector refinement enabled flag must indicate that decoder motion vector refinement is disabled,

a syntax element that specifies whether an affine enabled flag must indicate that no affine model based motion compensation is used in the CLVS,

a syntax element that specifies whether a bi-prediction with coding unit (CU) weights flag must indicate that no bi-prediction with CU weights is used in the CLVS,

a syntax element that specifies whether a combined inter-picture merge and intra-picture prediction (CIIP) flag must indicate that there are no flags that indicate whether CIIP is applied for a coding unit,

a syntax element that specifies whether a merge mode with motion vector difference flag must specify that merge mode with motion vector difference can use fractional sample precision, or

a syntax element that specifies whether a geometric partition based motion compensation flag must indicate that no geometric partition based motion compensation is used in the CLVS.

9. The device of claim 6 , wherein:

the requirement of bitstream conformance specifies that the second syntax element shall specify that all layers in the CVS are independently coded without inter-layer prediction, and

the method further comprises determining that the first syntax element is omitted from the bitstream and is inferred to indicate that the requirement of bitstream conformance is applicable based on a third syntax element specifying that it is a second requirement of bitstream conformance that a VPS identifier of the SPS shall be equal to 0.

10. The device of claim 6 , wherein the one or more processors are further configured to perform at least one of:

generating an error message based on a determination that the bitstream does not conform to the video coding standard,

sending the bitstream to another device based on a determination that the bitstream conforms to the video coding standard, or

decoding the bitstream based on the determination that the bitstream conforms to the video coding standard.

11. The device of claim 6 , wherein the device comprises one or more of a camera, a computer, a mobile device, a broadcast receiver device, or a set-top box.

12. A device for processing video data, the device comprising:

means for storing a bitstream that comprises an encoded representation of the video data; and

means for performing a bitstream conformance process that determines whether the bitstream conforms to a video coding standard, wherein the bitstream conformance process determines that the bitstream does not conform to the video coding standard based on a first syntax element having a particular value indicating a requirement of bitstream conformance is applicable and based on the requirement of bitstream conformance not being satisfied, and wherein the requirement of bitstream conformance specifies a second syntax element shall specify that all layers in a coded video sequence (CVS) are independently coded without inter-layer prediction.

13. The device of claim 12 , wherein the bitstream conformance process determines that the bitstream does not conform to the video coding standard when a chroma-related constraint flag is equal to 0 and when there are no chroma components for pictures in the bitstream, wherein the chroma-related constraint flag is one of:

a syntax element that indicates whether a quad-tree/binary-tree flag must specify that separate coding tree structures are not used for I slices,

a syntax element that indicates whether a cross-component adaptive loop filter flag must indicate that a cross-component adaptive loop filter is disabled,

a syntax element that indicates whether a joint coding of a chroma residuals flag must indicate that joint coding of chroma residuals is disabled, or

a syntax element that indicates whether a cross-component linear model intra prediction flag must indicate that cross-component linear model intra prediction from a luma component to a chroma component is disabled.

14. The device of claim 12 , wherein the bitstream conformance process determines that the bitstream does not conform to the video coding standard when an inter prediction-related constraint flag is equal to 0 and all slices of the bitstream are I slices, wherein the inter prediction-related constraint flag is one of:

a syntax element that specifies whether a wrap-around enabled flag must indicate that horizontal wrap-around motion compensation is not applied in inter prediction,

a syntax element that specifies whether a temporal motion vector prediction enabled flag must indicate that temporal motion vector predictors are not used in a coded layer video sequence (CLVS),

a syntax element that specifies whether a subblock-based temporal motion vector prediction enabled flag must indicate that subblock-based temporal motion vector predictors are not used in the CLVS,

a syntax element that specifies whether an adaptive motion vector difference resolution enabled flag must indicate that adaptive motion vector difference resolution is not used in motion vector coding,

a syntax element that specifies whether a bi-directional optical flow inter prediction flag must indicate that bi-directional optical flow inter prediction is disabled,

a syntax element that specifies whether a decoder motion vector refinement enabled flag must indicate that decoder motion vector refinement is disabled,

a syntax element that specifies whether an affine enabled flag must indicate that no affine model based motion compensation is used in the CLVS,

a syntax element that specifies whether a bi-prediction with coding unit (CU) weights flag must indicate that no bi-prediction with CU weights is used in the CLVS,

a syntax element that specifies whether a combined inter-picture merge and intra-picture prediction (CIIP) flag must indicate that there are no flags that indicate whether CIIP is applied for a coding unit,

a syntax element that specifies whether a merge mode with motion vector difference flag must specify that merge mode with motion vector difference can use fractional sample precision, or

a syntax element that specifies whether a geometric partition based motion compensation flag must indicate that no geometric partition based motion compensation is used in the CLVS.

15. A non-transitory computer-readable storage medium having stored thereon instructions that, when executed, cause one or more processors to:

store a bitstream that comprises an encoded representation of video data; and

perform a bitstream conformance process that determines whether the bitstream conforms to a video coding standard, wherein the bitstream conformance process determines that the bitstream does not conform to the video coding standard based on a first syntax element having a particular value indicating a requirement of bitstream conformance is applicable and based on the requirement of bitstream conformance not being satisfied, and wherein the requirement of bitstream conformance specifies a second syntax element shall specify that all layers in a coded video sequence (CVS) are independently coded without inter-layer prediction.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the bitstream conformance process determines that the bitstream does not conform to the video coding standard when a chroma-related constraint flag is equal to 0 and when there are no chroma components for pictures in the bitstream, wherein the chroma-related constraint flag is one of:

a syntax element that indicates whether a quad-tree/binary-tree flag must specify that separate coding tree structures are not used for I slices,

a syntax element that indicates whether a cross-component adaptive loop filter flag must indicate that a cross-component adaptive loop filter is disabled,

a syntax element that indicates whether a joint coding of a chroma residuals flag must indicate that joint coding of chroma residuals is disabled, or

a syntax element that indicates whether a cross-component linear model intra prediction flag must indicate that cross-component linear model intra prediction from a luma component to a chroma component is disabled.

17. The non-transitory computer-readable storage medium of claim 16 , wherein the bitstream conformance process determines that the bitstream does not conform to the video coding standard when an inter prediction-related constraint flag is equal to 0 and all slices of the bitstream are I slices, wherein the inter prediction-related constraint flag is one of:

a syntax element that specifies whether a wrap-around enabled flag must indicate that horizontal wrap-around motion compensation is not applied in inter prediction,

a syntax element that specifies whether a temporal motion vector prediction enabled flag must indicate that temporal motion vector predictors are not used in a coded layer video sequence (CLVS),

a syntax element that specifies whether a subblock-based temporal motion vector prediction enabled flag must indicate that subblock-based temporal motion vector predictors are not used in the CLVS,

a syntax element that specifies whether an adaptive motion vector difference resolution enabled flag must indicate that adaptive motion vector difference resolution is not used in motion vector coding,

a syntax element that specifies whether a bi-directional optical flow inter prediction flag must indicate that bi-directional optical flow inter prediction is disabled,

a syntax element that specifies whether a decoder motion vector refinement enabled flag must indicate that decoder motion vector refinement is disabled,

a syntax element that specifies whether an affine enabled flag must indicate that no affine model based motion compensation is used in the CLVS,

a syntax element that specifies whether a bi-prediction with coding unit (CU) weights flag must indicate that no bi-prediction with CU weights is used in the CLVS,

a syntax element that specifies whether a combined inter-picture merge and intra-picture prediction (CIIP) flag must indicate that there are no flags that indicate whether CIIP is applied for a coding unit,

a syntax element that specifies whether a merge mode with motion vector difference flag must specify that merge mode with motion vector difference can use fractional sample precision, or

a syntax element that specifies whether a geometric partition based motion compensation flag must indicate that no geometric partition based motion compensation is used in the CLVS.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 28, 2021
From: CHANG, YAO-JEN; SEREGIN, VADIM; HE, YONG; COBAN, MUHAMMED ZEYD; KARCZEWICZ, MARTA
To: QUALCOMM INCORPORATED
Reel/Frame 056070/0314 →
Continuity (2)
Provisional Application 63004296 · Apr 2, 2020
Related Publication 20210314623A1 · Oct 7, 2021
Cited By (1)
US 12,260,311