Content
Error Recovery and Concealment
Slice Data Errors Recovery and Concealment
NAL Header Error Recovery & Concealment
Additional Recommendations To Enhance Error Resilience in AVC/H.264 Streams
Mathematical Expectation of Number Corrupted Frames in Packet Loss Channel
Prelude
Packet losses and bit-flips occur in video transmissions. Losses can have a very destructive effect on the video quality. If the system (actually a decoder) is not designed to handle losses, then even a single bit error can have a catastrophic effect. Wired packet networks such as the Internet are mainly afflicted by packet loss, where a congestion in an intermediate node may cause an entire packet to be discarded.
On the other hand, wireless channels (as well as satellite communication due to the solar wind) are typically afflicted by bit errors or burst errors at the physical layer. So, bitsream errors (e.g. bit-flip) and packet losses are inevitable.
There are four main approaches for error control:
1. Retransmissions (not tailored for low latency, back-channel is required). In retransmission-based approaches the receiver utilizes a back-channel to notify the sender on lost packets and the sender it turn retransmits the lost packets.
2. Forward error correction (FEC), when data is transmitted via a wireless channel where a single bit-flip can occur with a reasonable probability. In FEC-based approaches a specialized redundancy data is added (at the end or at the start of a packet) to assist to recover (or to correct) data from a few bit-flip errors. Compared to retransmissions, FEC does not require a back-channel and suits low delay applications.
3. Error concealment – the simplest approach: if a frame is corrupted don’t display this frame and ask a clean-up from Server (in H.264 or HEVC either IDR-frame or intra-refresh is requested from the Server).
4. Error-resilient video coding, e.g. scalable multi-layered video, data partitioning, reverse VLC (this mode is present only in MPEG-4).
How Decoder detects bitstream errors?
- At the network level: sometimes packets contain special hash values (e.g. CRC32) and if a bitstream error occurred in the packet then the hash value is inconsistent and this packet is considered as dirty.
- At the elementary stream level (relevant for H264 and HEVC in AnnexB format):
- if during the decoding process the decoder sees the start code while MB/CTU is not finished yet, then it indicates that a bit-stream error has occurred and the current frame (or slice) is invalidated.
- if during the decoding process the decoder has finished a frame but no start code is not present, then it indicates that a bit-stream error has occurred.
- The dissimilarity metrics are employed (for reference pls. look at the paper “A Hybrid Error Control and Artifact Detection Mechanism for Robust Decoding of H.264/AVC Video Sequences“, by Reuben A. Farrugia et al., 2010): the average inter-sample difference across MB boundaries, texture consistency etc.
- if during the decoding process the decoder sees the start code while MB/CTU is not finished yet, then it indicates that a bit-stream error has occurred and the current frame (or slice) is invalidated.
23+ years’ programming and theoretical experience in the computer science fields such as video compression, media streaming and artificial intelligence (co-author of several papers and patents).
the author is looking for new job, my resume
Good write-up, I am normal visitor of one’s blog, maintain up the excellent operate, and It is going to be a regular visitor for a lengthy time.
I just like the valuable info you provide in your articles. I will bookmark your blog and test once more here frequently. I am reasonably certain I’ll be told many new stuff right here! Best of luck for the following!
Appreciate it for this rattling post, I am glad I detected this internet site on yahoo.
I’m really inspired along with your writing talents and also with the layout for your weblog. Is this a paid topic or did you modify it your self? Anyway stay up the excellent high quality writing, it is uncommon to look a nice blog like this one today..
There’s noticeably a bundle to find out about this. I assume you made certain nice points in features also.