Byte level Forward Error Correction (B-FEC) is efficient for recovery from uniform bit errors, but not suitable to handle recovery from burst bit errors. Conversely, Sub-Packet level Forward Error Correction (SP-FEC) can alleviate the problem of large encoding/decoding delay jitter in Packet level Forward Error Correction (P-FEC) to efficiently handle recovery from burst bit errors, but has large error recovery overhead as P-FEC for recovery from uniform bit errors. This paper proposes a dynamic combination of byte level and Sub-Packet level Forward Error Correction (BSP-FEC) in the Hybrid Automatic Repeat reQuest (HARQ) mechanism to reduce the error recovery overhead. BSP-FEC not only can solve the problems appearing in B-FEC and SP-FEC, but also can get the advantages of B-FEC and SP-FEC in the HARQ mechanism. BSP-FEC replaces the SP-FEC checksum with B-FEC and uses Automatic Repeat reQuest (ARQ) when the network condition deteriorates. BSP-FEC not only utilizes an overhead cost model to dynamically decide the SP-FEC parameter and the B-FEC bit rate according to network conditions, but also utilizes a time constraint model to decide the ARQ retry limit. BSP-FEC dynamically adjusts the FEC redundancy to save bandwidth and improves the Decodable Frame Rate (DFR) and the Peak Signal to Noise Ratio (PSNR) of the delivered video streaming. Accordingly, BSP-FEC can improve multimedia communication performance to both avoid network congestion and shorten end-to-end delay by decreasing effective packet loss rate and packet recovery overhead. Because of the low packet recovery overhead, furthermore, BSP-FEC allows applications to transmit more application data in networks with limited bandwidth. Considering the compatibility, BSP-FEC is implemented in the application layer as the end-to-end protection method to protect packets from errors in wired/wireless networks. Numerical and simulation experimental results show that BSP-FEC obtains better recovery efficiency with the minimum error recovery overhead.
All Science Journal Classification (ASJC) codes