DEVICES AND METHODS FOR PROCESSING OF NON-IDR RELATED SYNTAX FOR HIGH EFFICIENCY VIDEO CODING (HEVC)
Syntax cleanup methods and systems for High Efficiency Video Coding (HEVC) are disclosed.
1 . A method comprising:
evaluating, by the computing device, a single conditional statement once to determine if a current picture is a non-IDR picture;
based on the evaluating of the single conditional statement, when a non-IDR flag indicates a non-IDR picture is present, performing:
encoding or decoding, by the computing device, a first non-IDR parameter indicating a picture order count modulo MaxPicOrderCntLsb for the current picture;
encoding or decoding, by the computing device, a second non-IDR parameter indicating how a short-term picture set of the current picture is created;
encoding or decoding, by the computing device, a third non-IDR parameter indicating an index to a list of the short-term reference picture sets used for creation of a reference picture set of the current picture;
encoding or decoding, by the computing device, a fourth non-IDR parameter indicating a number of candidate long-term reference pictures that are included in a long-term reference picture set of the current picture;
encoding or decoding, by the computing device, a fifth non-IDR parameter indicating the number of long-term reference pictures that are included in the long-term reference picture set of the current picture;
encoding or decoding, by the computing device, a sixth non-IDR parameter indicating an index into a list of candidate long-term reference pictures for identification of a picture that is included in the long-term reference picture set of the current picture;
encoding or decoding, by the computing device, a seventh non-IDR parameter indicating a value of a picture order count modulo MaxPicOrderCntLsb of an i-th long-term reference picture that is included in the long-term reference picture set of the current picture;
encoding or decoding, by the computing device, an eighth non-IDR parameter indicating whether the i-th long term reference picture is used for reference by the current picture;
encoding or decoding, by the computing device, a ninth non-IDR parameter indicating how to calculate a picture order of the long term reference picture set of the current picture;
encoding or decoding, by the computing device, a tenth non-IDR parameter indicating the value of most significant bits of a picture order count value of the i-th long-term reference picture that is included in the long-term reference picture set of the current picture;
encoding or decoding, by the computing device, an eleventh non-IDR parameter indicating if temporal motion vector predictors are used in the sequence of video;
encoding or decoding, by the computing device, a twelfth non-IDR parameter indicating whether temporal motion vector predictors can be used for inter prediction;
wherein the first non-IDR parameter, the second non-IDR parameter, the third non-IDR parameter, the fourth non-IDR parameter, the fifth non-IDR parameter, the sixth non-IDR parameter, the seventh non-IDR parameter, the eighth non-IDR parameter, the ninth non-IDR parameter, the tenth non-IDR parameter, the eleventh non-IDR parameter and the twelfth non-IDR parameter are encoded or decoded consecutively without any other bits or syntax between the first non-IDR parameter, the second non-IDR parameter, the third non-IDR parameter, the fourth non-IDR parameter, the fifth non-IDR parameter, the sixth non-IDR parameter, the seventh non-IDR parameter, the eighth non-IDR parameter, the ninth non-IDR parameter, the tenth non-IDR parameter, the eleventh non-IDR parameter and the twelfth non-IDR parameter in or from an encoded bitstream associated with the sequence of video.
2 . The method of claim 1 , wherein an order in the encoded bitstream is the first non-IDR parameter, the second non-IDR parameter, the third non-IDR parameter, the fourth non-IDR parameter, the fifth non-IDR parameter, the sixth non-IDR parameter, the seventh non-IDR parameter, the eighth non-IDR parameter, the ninth non-IDR parameter, the tenth non-IDR parameter, the eleventh non-IDR parameter and the twelfth non-IDR parameter.
3 . The method of claim 1 , wherein the non-IDR flag is set to a first value to enable a non-IDR picture mode or set to a second value to disable the non-IDR picture mode.
4 . The method of claim 1 , wherein when the non-IDR flag indicates the non-IDR mode is disabled, not encoding or decoding the first non-IDR parameter, the second non-IDR parameter, the third non-IDR parameter, the fourth non-IDR parameter, the fifth non-IDR parameter, the sixth non-IDR parameter, the seventh non-IDR parameter, the eighth non-IDR parameter, the ninth non-IDR parameter, the tenth non-IDR parameter, the eleventh non-IDR parameter and the twelfth non-IDR parameter in or from the encoded bitstream associated with the sequence of video.
5 . The method of claim 1 , wherein an order in the encoded bitstream varies among the first non-IDR parameter, the second non-IDR parameter, the third non-IDR parameter, the fourth non-IDR parameter, the fifth non-IDR parameter, the sixth non-IDR parameter, the seventh non-IDR parameter, the eighth non-IDR parameter, the ninth non-IDR parameter, the tenth non-IDR parameter, the eleventh non-IDR parameter and the twelfth non-IDR parameter.
6 . The method of claim 1 , further comprising:
encoding or decoding, by the computing device, a first IDR parameter indicating if sample adaptive offset (SAO) is enabled for a luma component of the sequence of video,
wherein the first IDR parameter is encoded or decoded consecutively without any other bits or syntax between the twelfth non-IDR parameter and first IDR parameter.
7 . The method of claim 6 , further comprising:
encoding or decoding, by the computing device, a second IDR parameter indicating if sample adaptive offset (SAO) is enabled for a chroma component of the sequence of video,
wherein the second IDR parameter is encoded or decoded consecutively without any other bits or syntax between the first IDR parameter and second IDR parameter.
8 . The method of claim 1 , wherein all of the non-IDR parameters in a slice are grouped under a single non-IDR flag.
9 . The method of claim 1 , wherein the non-IDR flag is located in a slice header.
10 . A decoder comprising:
one or more computer processors; and
a non-transitory computer-readable storage medium comprising instructions that, when executed, control the one or more computer processors to be configured for:
determining an encoded bitstream;
evaluating, by the computing device, a single conditional statement once to determine if a current picture is a non-IDR picture;
based on the evaluating of the single conditional statement, when a non-IDR flag indicates a non-IDR picture is present, performing:
decoding a first non-IDR parameter indicating a picture order count modulo MaxPicOrderCntLsb for the current picture;
decoding a second non-IDR parameter indicating how a short-term picture set of the current picture is created;
decoding a third non-IDR parameter indicating an index to a list of the short-term reference picture sets used for creation of a reference picture set of the current picture;
decoding a fourth non-IDR parameter indicating a number of candidate long-term reference pictures that are included in a long-term reference picture set of the current picture;
decoding a fifth non-IDR parameter indicating the number of long-term reference pictures that are included in the long-term reference picture set of the current picture;
decoding a sixth non-IDR parameter indicating an index into a list of candidate long-term reference pictures for identification of a picture that is included in the long-term reference picture set of the current picture;
decoding a seventh non-IDR parameter indicating a value of a picture order count modulo MaxPicOrderCntLsb of an i-th long-term reference picture that is included in the long-term reference picture set of the current picture;
decoding an eighth non-IDR parameter indicating whether the i-th long term reference picture is used for reference by the current picture;
decoding a ninth non-IDR parameter indicating how to calculate a picture order of the long term reference picture set of the current picture;
decoding a tenth non-IDR parameter indicating the value of most significant bits of a picture order count value of the i-th long-term reference picture that is included in the long-term reference picture set of the current picture;
decoding an eleventh non-IDR parameter indicating if temporal motion vector predictors are used in the sequence of video;
decoding a twelfth non-IDR parameter indicating whether temporal motion vector predictors can be used for inter prediction;
wherein the first non-IDR parameter, the second non-IDR parameter, the third non-IDR parameter, the fourth non-IDR parameter, the fifth non-IDR parameter, the sixth non-IDR parameter, the seventh non-IDR parameter, the eighth non-IDR parameter, the ninth non-IDR parameter, the tenth non-IDR parameter, the eleventh non-IDR parameter and the twelfth non-IDR parameter are decoded consecutively without any other bits or syntax between the first non-IDR parameter, the second non-IDR parameter, the third non-IDR parameter, the fourth non-IDR parameter, the fifth non-IDR parameter, the sixth non-IDR parameter, the seventh non-IDR parameter, the eighth non-IDR parameter, the ninth non-IDR parameter, the tenth non-IDR parameter, the eleventh non-IDR parameter and the twelfth non-IDR parameter from the encoded bitstream associated with the sequence of video.
11 . The decoder of claim 10 , wherein an order in the encoded bitstream is the first non-IDR parameter, the second non-IDR parameter, the third non-IDR parameter, the fourth non-IDR parameter, the fifth non-IDR parameter, the sixth non-IDR parameter, the seventh non-IDR parameter, the eighth non-IDR parameter, the ninth non-IDR parameter, the tenth non-IDR parameter, the eleventh non-IDR parameter and the twelfth non-IDR parameter.
12 . The decoder of claim 10 , wherein the non-IDR flag is set to a first value to enable a non-IDR picture mode or set to a second value to disable the non-IDR picture mode.
13 . The decoder of claim 12 , wherein when the non-IDR flag indicates the non-IDR mode is disabled, not decoding the first non-IDR parameter, the second non-IDR parameter, the third non-IDR parameter, the fourth non-IDR parameter, the fifth non-IDR parameter, the sixth non-IDR parameter, the seventh non-IDR parameter, the eighth non-IDR parameter, the ninth non-IDR parameter, the tenth non-IDR parameter, the eleventh non-IDR parameter and the twelfth non-IDR parameter from the encoded bitstream associated with the sequence of video.
14 . The decoder of claim 10 , wherein an order in the encoded bitstream varies among the first non-IDR parameter, the second non-IDR parameter, the third non-IDR parameter, the fourth non-IDR parameter, the fifth non-IDR parameter, the sixth non-IDR parameter, the seventh non-IDR parameter, the eighth non-IDR parameter, the ninth non-IDR parameter, the tenth non-IDR parameter, the eleventh non-IDR parameter and the twelfth non-IDR parameter.
15 . The decoder of claim 10 , wherein all of the non-IDR parameters in a slice are grouped under a single non-IDR flag.
16 . The decoder of claim 10 , wherein the non-IDR flag is located in a slice header.
17 . An encoder comprising:
one or more computer processors; and
a non-transitory computer-readable storage medium comprising instructions that, when executed, control the one or more computer processors to be configured for:
evaluating a single conditional statement once to determine if a current picture is a non-IDR picture;
based on the evaluating of the single conditional statement, when a non-IDR flag indicates a non-IDR picture is present, performing:
encoding a first non-IDR parameter indicating a picture order count modulo MaxPicOrderCntLsb for the current picture;
encoding a second non-IDR parameter indicating how a short-term picture set of the current picture is created;
encoding a third non-IDR parameter indicating an index to a list of the short-term reference picture sets used for creation of a reference picture set of the current picture;
encoding a fourth non-IDR parameter indicating a number of candidate long-term reference pictures that are included in a long-term reference picture set of the current picture;
encoding a fifth non-IDR parameter indicating the number of long-term reference pictures that are included in the long-term reference picture set of the current picture;
encoding a sixth non-IDR parameter indicating an index into a list of candidate long-term reference pictures for identification of a picture that is included in the long-term reference picture set of the current picture;
encoding a seventh non-IDR parameter indicating a value of a picture order count modulo MaxPicOrderCntLsb of an i-th long-term reference picture that is included in the long-term reference picture set of the current picture;
encoding an eighth non-IDR parameter indicating whether the i-th long term reference picture is used for reference by the current picture;
encoding a ninth non-IDR parameter indicating how to calculate a picture order of the long term reference picture set of the current picture;
encoding a tenth non-IDR parameter indicating the value of most significant bits of a picture order count value of the i-th long-term reference picture that is included in the long-term reference picture set of the current picture;
encoding an eleventh non-IDR parameter indicating if temporal motion vector predictors are used in the sequence of video;
encoding a twelfth non-IDR parameter indicating whether temporal motion vector predictors can be used for inter prediction;
wherein the first non-IDR parameter, the second non-IDR parameter, the third non-IDR parameter, the fourth non-IDR parameter, the fifth non-IDR parameter, the sixth non-IDR parameter, the seventh non-IDR parameter, the eighth non-IDR parameter, the ninth non-IDR parameter, the tenth non-IDR parameter, the eleventh non-IDR parameter and the twelfth non-IDR parameter are encoded consecutively without any other bits or syntax between the first non-IDR parameter, the second non-IDR parameter, the third non-IDR parameter, the fourth non-IDR parameter, the fifth non-IDR parameter, the sixth non-IDR parameter, the seventh non-IDR parameter, the eighth non-IDR parameter, the ninth non-IDR parameter, the tenth non-IDR parameter, the eleventh non-IDR parameter and the twelfth non-IDR parameter in an encoded bitstream associated with the sequence of video.
18 . The encoder of claim 17 , wherein an order in the encoded bitstream is the first non-IDR parameter, the second non-IDR parameter, the third non-IDR parameter, the fourth non-IDR parameter, the fifth non-IDR parameter, the sixth non-IDR parameter, the seventh non-IDR parameter, the eighth non-IDR parameter, the ninth non-IDR parameter, the tenth non-IDR parameter, the eleventh non-IDR parameter and the twelfth non-IDR parameter.
19 . The encoder of claim 17 , wherein an order in the encoded bitstream varies among the first non-IDR parameter, the second non-IDR parameter, the third non-IDR parameter, the fourth non-IDR parameter, the fifth non-IDR parameter, the sixth non-IDR parameter, the seventh non-IDR parameter, the eighth non-IDR parameter, the ninth non-IDR parameter, the tenth non-IDR parameter, the eleventh non-IDR parameter and the twelfth non-IDR parameter.
20 . The encoder of claim 17 , wherein all of the non-IDR parameters in a slice are grouped under a single non-IDR flag.