US11563980B2ActiveUtilityA1

General constraint information syntax in video coding

89
Assignee: QUALCOMM INCPriority: Apr 2, 2020Filed: Mar 31, 2021Granted: Jan 24, 2023
Est. expiryApr 2, 2040(~13.7 yrs left)· nominal 20-yr term from priority
H04N 19/159H04N 19/136H04N 19/70H04N 19/179H04N 19/186
89
PatentIndex Score
2
Cited by
17
References
17
Claims

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

exact text as granted — not AI-modified
What is claimed is: 
     
       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.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.