[Mp4-tech] [Video] H.264: What to do in case of a P-frame loss?
Shankar Manuel Aghito
sma com.dtu.dk
Sat Oct 14 00:07:14 ESTEDT 2006
Dear Luqman and Sugeeth,
just to further clarify. The standard describes how an intact bitstream is decoded.
A conformant decoder is allowed to crash if there is any error in the bitstream
Fortunately error robust decoders can be implemented by using error concealment techniques (i.e. filling the holes!!). Some error concealment (probably not the most advanced) is implemented in the reference software (different algorithms are utilized wheter only a part of a picture or the whole picture is lost - i think that this was previously discussed in this mailing list, including the links to the documents describing the algorithm - you should be able to find it). Implementing more advanced error concealment algorithms is a way for companies to differentiate their products.
As you said, the reference decoder support error concealment in the case of loss of NAL units. Bit error concealment is not implemented, i.e. if one bit is damaged you should remove the whole NALU.
In the encoder there are several things that can be done do make easier the job of the decoder, for example forcing intra pictures/macroblocks for stopping temporal error propagation, using multiple slices per pictures and eventually flexible macroblock Ordering (FMO) in order to limit the part of the picture that is lost. These things can be done using the reference encoder. Another possibility is using redundant slices ( I didn't test it personally, but an implementation of redundant slices should be included in the latest version of JM).
regards,
Manuel
-----Original Message-----
From: mp4-tech-bounces lists.mpegif.org on behalf of Luqman
Sent: Fri 13/10/2023 12:04
To: mp4-tech lists.mpegif.org
Cc:
Subject: Re: [Mp4-tech] Re: Mp4-tech Digest, Vol 39, Issue 8
hi Sugeeth,
thanks for you reply.
> Sugeeth wanted us to know:
>
>In H.264 we dont send Frames, Instead we send the encoded information in
>the Form Of Nalunits. The Nalunits normally contain coded information of
>1 slice. If A Nalunit is lost, with the help of error resilience
>mechanisms and the remaining nal units that constitute the frame, the
>remaining frame can be retrieved.
>
>I dont think Error Resilience is defined in the standard, it is
>something that we implement with our own logics.
>
You are correct; the standard does not say much on error resilience topic.
A quick search on the word "loss" led me to 8.2.5.2 and page 90
(redundant_pic_cnt).
Anyhow, your reply did help me rethink about my problem. I think even
loss of a whole frame should be reconstructable with help of motion
vectors of preceeding and succeeding frames.
Regards,
--
Luqman
-----Original Message-----
From: mp4-tech-bounces lists.mpegif.org on behalf of Luqman
Sent: Wed 11/10/2023 10:53
To: mp4-tech lists.mpegif.org
Cc:
Subject: [Mp4-tech] [Video] H.264: What to do in case of a P-frame loss?
I have a video clip consisting of following frames:
I -> P -> B
Now, once I frame is lost, no decoding of video is possible. But when P
frame is lost, is there a slight possibility of correctly decoding P or
B frame with any error concealment methods?
Actually, I am doing a simulation on h.264 frame loss and would appreciate
your views.
Regards,
--
Luqman
More information about the Mp4-tech
mailing list