Encoder and decoder and methods thereof for encoding/decoding a picture of a video sequence
View Patent ↗An object of the embodiments is to achieve an improved reference picture handling. That is achieved by taking into account whether the reference pictures in the decoded picture buffer are long-term reference pictures or short-term reference pictures when determining how they should be marked when the information of the reference picture set is received. The reference pictures are marked as “used for short-term reference” or “used for long-term reference” in the Decoded Picture Buffer (DPB) depending on whether they are included as short-term pictures or long-term pictures in the RPS of a current picture.
1. A method, performed by a decoder, for managing reference pictures to be used for decoding an encoded representation of a picture of a video sequence, the method comprising:
decoding a reference picture set received from an encoder, wherein the reference picture set comprises information about the reference pictures to be kept in a decoded picture buffer;
decoding a Picture Order Count (POC) value indicated in the reference picture set;
determining if the POC value indicated in the reference picture set corresponds to a short-term reference picture or a long-term reference picture;
if the POC value indicated in the reference picture set corresponds to a long-term reference picture:
if there is a long-term reference picture in the decoded picture buffer with a POC value corresponding to the POC value indicated in the reference picture set, keeping the long-term reference picture in the decoded picture buffer as a long-term reference picture;
if there is a short-term reference picture in the decoded picture buffer with a POC value corresponding to the POC value indicated in the reference picture set and there is not a long-term reference picture in the decoded picture buffer with a POC value corresponding to the POC value indicated in the reference picture set, marking the short-term reference picture in the decoded picture buffer as a long-term reference picture and keeping it in the decoded picture buffer;
if the POC value indicated in the reference picture set corresponds to a short-term reference picture:
if there is a short-term reference picture in the decoded picture buffer with a POC value corresponding to the POC value indicated in the reference picture set, keeping the short-term reference picture in the decoded picture buffer as a short-term reference picture.
2. The method of claim 1 , wherein determining if the POC value indicated in the reference picture set corresponds to a short-term reference picture or a long-term reference picture comprises determining if the POC value indicated in the reference picture set is included in one of the lists:
PocLtCurr or PocLtFoll, in which case the POC value corresponds to a long-term reference picture; and
PocStCurrBefore, PocStCurrAfter, or PocStFoll, in which case the POC value corresponds to a short-term reference picture.
3. The method of claim 1 , further comprising marking the reference pictures in the decoded picture buffer by handling the long-term reference pictures in the reference picture set before the short-term reference pictures.
4. A computer program product stored in a non-transitory computer readable medium for managing reference pictures to be used for decoding an encoded representation of a picture of a video sequence, the computer program product comprising software instructions which, when run on a processor of a decoder, causes the processor to:
decode a reference picture set received from an encoder, wherein the reference picture set comprises information about the reference pictures to be kept in a decoded picture buffer;
decode a Picture Order Count (POC) value indicated in the reference picture set;
determine if the POC value indicated in the reference picture set corresponds to a short-term reference picture or a long-term reference picture;
if the POC value indicated in the reference picture set corresponds to a long-term reference picture:
if there is a long-term reference picture in the decoded picture buffer with a POC value corresponding to the POC value indicated in the reference picture set, keep the long-term reference picture in a decoded picture buffer as a long-term reference picture;
if there is a short-term reference picture in the decoded picture buffer with a POC value corresponding to the POC value indicated in the reference picture set and there is not a long-term reference picture in the decoded picture buffer with a POC value corresponding to the POC value indicated in the reference picture set, mark the short-term reference picture in the decoded picture buffer as a long-term reference picture and keeping it in decoded picture buffer;
if the POC value indicated in the reference picture set corresponds to a short-term reference picture:
if there is a short-term reference picture in the decoded picture buffer with a POC value corresponding to the POC value indicated in the reference picture set, keep the short-term reference picture in the decoded picture buffer as a short-term reference picture.
5. A decoder for managing reference pictures to be used for decoding an encoded representation of a picture of a video sequence, the decoder configured to decode a reference picture set received from an encoder, wherein the reference picture set comprises information of the reference pictures to be kept in a decoded picture buffer and to decode a Picture Order Count (POC) value indicated in the reference picture set, the decoder comprising a processor configured to:
determine if the POC value indicated in the reference picture set corresponds to a short-term reference picture or a long-term reference picture;
keep, when there is a long-term reference picture in the decoded picture buffer with a POC value corresponding to the POC value indicated in the reference picture set and the POC value indicated in the reference picture set corresponds to a long-term reference picture, the long-term reference picture in a decoded picture buffer as a long-term reference picture;
mark, when there is a short-term reference picture in the decoded picture buffer with a POC value corresponding to the POC value indicated in the reference picture set and the POC value indicated in the reference picture set corresponds to a long-term reference picture and there is not a long-term reference picture in the decoded picture buffer with a POC value corresponding to the POC value indicated in the reference picture set, the short-term reference picture in the decoded picture buffer as a long-term reference picture and keeping it in decoded picture buffer;
keep, when there is a short-term reference picture in the decoded picture buffer with a POC value corresponding to the POC value indicated in the reference picture set and the POC value indicated in the reference picture set corresponds to a short-term reference picture, the short-term reference picture in the decoded picture buffer as a short-term reference picture.
6. The decoder of claim 5 , wherein the processor is configured to determine if the POC value indicated in the reference picture set corresponds to a short-term reference picture or a long-term reference picture by determining if the POC value indicated in the reference picture set is included in one of the lists:
PocLtCurr or PocLtFoll in which case the POC value corresponds to a long-term reference picture; and
PocStCurrBefore, PocStCurrAfter, or PocStFoll, in which case the POC value corresponds to a short-term reference picture.
7. The decoder of claim 5 , wherein the processor is configured to mark the reference pictures in the decoded picture buffer by handling the long-term reference pictures in the reference picture set before the short-term reference pictures.
8. A method performed by an encoder for managing reference pictures to be used for encoding an encoded representation of a picture of a video sequence, the method comprising:
assigning a Picture Order Count (POC) value, wherein the POC value is selected such that a decoder can:
decode a reference picture set received from an encoder, wherein the reference picture set comprises information about the reference pictures to be kept in a decoded picture buffer of the decoder;
decode a POC value indicated in the reference picture set;
determine if the POC value indicated in the reference picture set corresponds to a short-term reference picture or a long-term reference picture;
if the POC value indicated in the reference picture set corresponds to a long-term reference picture:
if there is a long-term reference picture in the decoded picture buffer with a POC value corresponding to the POC value indicated in the reference picture set, keep the long-term reference picture in a decoded picture buffer as a long-term reference picture;
if there is a short-term reference picture in the decoded picture buffer with a POC value corresponding to the POC value indicated in the reference picture set and there is not a long-term reference picture in the decoded picture buffer with a POC value corresponding to the POC value indicated in the reference picture set, mark the short-term reference picture in the decoded picture buffer as a long-term reference picture and keeping it in decoded picture buffer;
if the POC value indicated in the reference picture set corresponds to a short-term reference picture:
if there is a short-term reference picture in the decoded picture buffer with a POC value corresponding to the POC value indicated in the reference picture set, keep the short-term reference picture in the decoded picture buffer as a short-term reference picture;
including the assigned POC value in a reference picture set to be sent to the decoder.
9. An encoder for managing reference pictures to be used for encoding an encoded representation of a picture of a video sequence, the encoder comprising a processor configured to:
assign a Picture Order Count (POC) value, wherein the POC value is selected such that a decoder can:
decode a reference picture set received from an encoder, wherein the reference picture set comprises information about the reference pictures to be kept in a decoded picture buffer of the decoder;
decode a POC value indicated in the reference picture set;
determine if the POC value indicated in the reference picture set corresponds to a short-term reference picture or a long-term reference picture;
if the POC value indicated in the reference picture set corresponds to a long-term reference picture:
if there is a long-term reference picture in the decoded picture buffer with a POC value corresponding to the POC value indicated in the reference picture set, keep the long-term reference picture in a decoded picture buffer as a long-term reference picture;
if there is a short-term reference picture in the decoded picture buffer with a POC value corresponding to the POC value indicated in the reference picture set and there is not a long-term reference picture in the decoded picture buffer with a POC value corresponding to the POC value indicated in the reference picture set, mark the short-term reference picture in the decoded picture buffer as a long-term reference picture and keeping it in decoded picture buffer;
if the POC value indicated in the reference picture set corresponds to a short-term reference picture:
if there is a short-term reference picture in the decoded picture buffer with a POC value corresponding to the POC value indicated in the reference picture set, keep the short-term reference picture in the decoded picture buffer as a short-term reference picture;
include the assigned POC value in a reference picture set to be sent to the decoder.