Audio Packet Redundancy via Dual-Stream Encoding
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing systems for redundant communications fail to optimize for the unique deficiencies in sending audio streams over packet-based communication systems, particularly due to issues like intermittent packet loss and packet delay, and do not utilize factors such as audio packet durations, timestamps, sequence numbers, and multi-vendor encoding standards.
Innovation Solution
A method where a source node generates two audio streams: one optimized for perceived quality and transmitted over a high-bandwidth network like VoIP, and another optimized for bandwidth conservation and transmitted over a lower-bandwidth network like cellular, with packets having the same duration and timestamp but encoded differently, allowing for efficient failover and bandwidth management.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Measurement precision
If high-bandwidth encoding algorithms are used to optimize perceived quality, then audio quality is improved, but bandwidth consumption increases
Solution Approach 1:
The system segments the audio stream into multiple parallel streams, each encoded with different algorithms optimized for different network conditions. The source node creates a first audio stream with high-quality encoding and a second audio stream with bandwidth-efficient encoding, allowing selective transmission based on network availability
Solution Approach 2:
The system changes the encoding parameters dynamically by creating multiple versions of the same audio stream with different encoding characteristics. The destination node can switch between encoding algorithms based on network conditions, changing the effective parameters of the transmission without altering the source audio
2Reliability
If redundant data streams are sent over different networks, then reliability is improved, but bandwidth consumption increases
Solution Approach 1:
The system implements partial redundancy by sending the same audio information through multiple networks with different encoding algorithms. Instead of sending full redundant streams, it uses packet-level redundancy where the destination node can reconstruct lost packets from the alternative stream, reducing overall bandwidth consumption while maintaining reliability
Solution Approach 2:
The system creates a copy of the audio stream with different encoding characteristics for the purpose of redundancy. The second audio stream serves as a backup copy that can be used when the primary stream fails, enabling failover without requiring identical redundancy
3Measurement precision
If multiple routing paths are evaluated and switched between, then quality of service is improved, but system complexity increases
Solution Approach 1:
The destination node performs self-service by autonomously evaluating the quality of received packets from multiple streams and selecting the best packets for reconstruction. The system includes a packet evaluator that automatically assesses packet quality metrics and a selector that chooses which packets to use, eliminating the need for complex centralized routing control
Data Source
AI summary
The system generates a first data stream which represents a data signal. The first data stream is encoded via a first encoding technique. The first data stream comprises one or more packets with a duration and timestamp. The data signal is encoded into a second data stream using a different encoding technique with a corresponding packet in the second data stream. A packet in the second data stream has the same duration and timestamp as the corresponding packet in the first data stream.The first data stream is sent on a first network. The second data stream is sent on a second network. The first and second data streams are received. A missing/delayed packet in the first data stream is detected. The data signal is regenerated using the first data stream and the packet from the second data stream that corresponds to the missing/delayed packet in the first data stream.


