Method and system for constraining slice header processing overhead in video coding
A method for encoding a picture of a video sequence in a bit stream that constrains slice header processing overhead is provided. The method includes computing a maximum slice rate for the video sequence, computing a maximum number of slices for the picture based on the maximum slice rate, and encoding the picture wherein a number of slices used to encode the picture is enforced to be no more than the maximum number of slices.
1. A method for encoding a picture of a video sequence in a bit stream, the method comprising:
computing, with one or more processors, a maximum slice rate for the video sequence;
setting, with the one or more processors, a value of a maximum number of slices for the picture as a minimum of a maximum number of slices per picture specified for the video sequence and the maximum slice rate divided by a frame rate of the video sequence; and
encoding, with the one or more processors, the picture wherein a number of slices used to encode the picture is enforced to be no more than the maximum number of slices.
2. The method of claim 1 , wherein computing the maximum slice rate includes computing the maximum slice rate as MaxLumaSR/MaxLumaPS*MaxSlicesPerPicture, wherein MaxLumaSR is a maximum luma sample rate specified for the video sequence, MaxLumaPS is a maximum luma picture size in samples specified for the video sequence, and MaxSlicesPerPicture is a maximum number of slices per picture specified for the video sequence.
3. The method of claim 2 , further comprising:
determining a level for the video sequence, wherein the level specifies values for MaxLumaSR, MaxLumaPS, and MaxSlicesPerPicture.
4. A method for encoding a picture of a video sequence in a bit stream, the method comprising:
determining a level for the video sequence;
computing a maximum slice rate for the video sequence as MaxLumaSR/MaxLumaPS*MaxSlicesPerPicture, wherein MaxLumaSR is a maximum luma sample rate specified for the level, MaxLumaPS is a maximum luma picture size in samples specified for the level, and MaxSlicesPerPicture is a maximum number of slices per picture specified for the level;
computing a maximum number of slices for the picture as a minimum of MaxSlicesPerPicture and the maximum slice rate divided by a frame rate of the video sequence when the frame rate is fixed;
computing the maximum number of slices for the picture as a minimum of MaxSlicesPerPicture and the maximum slice rate multiplied by a difference in display time between the picture and a picture immediately preceding the picture in display order when the frame rate is variable; and
encoding the picture wherein a number of slices used to encode the picture is constrained to be no more than the maximum number of slices.
5. A method for encoding a picture of a video sequence in a bit stream, the method comprising:
computing, with one or more processors, a maximum slice rate for the video sequence as MaxLumaSR/MaxLumaPS*MaxSlicesPerPicture, wherein MaxLumaSR is a maximum luma sample rate specified for the video sequence, MaxLumaPS is a maximum luma picture size in samples specified for the video sequence, and MaxSlicesPerPicture is a maximum number of slices per picture specified for the video sequence;
computing, with the one or more processors, a maximum number of slices for the picture based on the maximum slice rate; and
encoding, with the one or more processors, the picture wherein a number of slices used to encode the picture is enforced to be no more than the maximum number of slices.
6. The method of claim 5 , further comprising:
determining a level for the video sequence, wherein the level specifies values for MaxLumaSR, MaxLumaPS, and MaxSlicesPerPicture.
7. The method of claim 5 , wherein computing the maximum number of slices for the picture includes setting a value of the maximum number of slices for the picture as a minimum of a maximum number of slices per picture specified for the video sequence and the maximum slice rate divided by a frame rate of the video sequence.
8. The method of claim 5 , wherein computing the maximum number of slices for the picture includes setting a value of the maximum number of slices for the picture as a minimum of a maximum number of slices per picture specified for the video sequence and the maximum slice rate multiplied by a difference in display time between the picture and a picture immediately preceding the picture in display order.