Abstract: In 3G streaming media services, buffer data overflow seriously affects the multimedia picture quality and the smoothness of media playback, and reduces the user's perceived satisfaction with streaming media services. In order to solve this problem, according to the feedback mechanism proposed by 3GPP PSS, a 3G streaming media rate control algorithm based on RTCP feedback information is described. Computer simulation proves that the algorithm not only effectively prevents buffer data overflow, but also ensures the transmission efficiency and avoids buffer data underload, thus achieving high-quality streaming media services.
Keywords: RTCP feedback; network buffer overflow; client buffer underflow; rate control0
Introduction
The third generation of mobile wireless communication transmission technology can provide 384Kb/s transmission bandwidth in outdoor environments and up to 2Mb/s indoors, so the 3G system can carry high-quality mobile streaming media services. With the increasing demand of mobile users for video-on-demand services and the large-scale promotion of 3G networks by operators, streaming multimedia services have gradually developed into the most important mobile value-added services. However, the time-varying characteristics of wireless links and the functional limitations of mobile terminals have greatly challenged the quality of streaming media services. Research shows that buffer data underflow usually causes freezing of the picture, interruption of user playback and frequent data buffering, while overflow will discard the received data packets that exceed the buffer capacity limit, thereby increasing the packet loss rate, damaging the media picture quality, and seriously affecting the user's satisfaction with the perceived quality of the service. If the
streaming media server can adjust the streaming media sending rate in time according to the current usage of the cached data, it can achieve storage control of the cached data, thereby avoiding buffer data overflow. This paper describes a streaming media rate control algorithm based on RTCP feedback information, which can effectively achieve the above goals, realize uninterrupted and smooth playback of streaming media services, and improve the perceived quality of users.
1. RTCP feedback
mechanism
The 3GPP PSS specification provides a complete point-to-point streaming media structure framework based on mobile networks, as shown in Figure 1.
The server implements streaming media content packaging and sends it to the user terminal via the all-IP network composed of the public Internet and the mobile core network. In the core network, the network cache generally exists in the SGSN or RNC, and its role is to cope with the throughput changes of the wireless link. During the media session, RTP provides end-to-end real-time transmission function, but does not guarantee the quality of service, while RTCP provides feedback on the current network status and data reception quality. Based on this information, the server can implement data transmission control for changes in network status. In this feedback mechanism, the client generates RTCP RR (RTCP Receiver Report) and the server generates RTCP SR (RTCP Sender Report). They provide information such as packet loss rate, interval jitter, maximum received packet sequence number and maximum sent packet sequence number. The 3GPP PSS specification also defines the NADU (Next Application Data Unit) feedback package to describe the terminal capabilities and provide information on the client cache status. The three main parts of NADU are:
Play-out Delay (PD), which is the time difference between the scheduled play time of the next application data unit and the time to generate the NADU packet.
Next Sequence Number (NSN), which is the sequence number of the next data packet to be decoded in the cache.
Available buffer space (Free Buffer Space, FBS), which reflects the size of the current available buffer space.
The feedback process based on RTCP is shown in Figure 2. After the server and the client complete the session establishment, the server starts the streaming media transmission process, and the RTP protocol is responsible for the transmission of media data from the server to the client. The client puts the statistical packet loss rate, the maximum received packet sequence number (HRSN), the playback delay, the available cache space, and the packet sequence number (NSN) to be sent to the decoder into the corresponding parameter fields in the RTCP SR and NADU to form an RTCP mixed packet. The RTCP mixed packet is periodically sent to the server to estimate the network status and the occupancy status of the client cache space. The server can also use the statistical value of the sent packet sequence number and the HRSN in the RTCP RR to judge the cache status on the SGSN or RNC, adjust the sending rate of the data packet, and realize the sending rate control.
2 Sending rate control algorithm
When the client sends a service request to the server, the server configures the connection attributes for the client through the RTSP protocol, obtains the network cache and client cache Nmax and Cmax, and completes the establishment of the streaming media session. After the session is established, the server divides and packages the media content, marks the sequence number. And sends it to the client. Let the size of the i-th data packet be Si. When the sequence number of the first data packet sent by the server at the initial moment of the session is ISN=O, the amount of data sent in time t for N data packets is. After the server receives the RTCP feedback from the client, it can know the packet sequence number HRSN received by the client when the RTCP RR report is generated, and the locally recorded sending packet sequence number, that is, the maximum packet sequence number HTSN currently sent. The difference between the sequence number HTSN and the HRSN represents the number of data packets being transmitted in the network. Assuming that these data packets are temporarily stored in the network cache, the current network cache storage state can be estimated as:
Therefore, the server can obtain the network cache state by the above formula every time it receives an RTCP feedback packet. The data packets received by the client are pre-stored in the terminal cache, and then sent to the decoder for decoding and playback in the order of timestamps. The delay between the client generating NADU feedback and the scheduled playback time of the data packet with sequence number NSN is tPD, the time when the server receives RTCP feedback is tRR, and the scheduled playback time of the data packet with sequence number i is the timestamp Ti, so there is a time offset toff:
This time offset is the time from the generation to the reception of the NADU packet in the RTCP feedback, and also takes into account the situation of playback pause or data buffering. The server can measure the current client cache free space at time t (t>tRR) after receiving the feedback packet:
Where: FBS is the cache available space of NADU feedback; TNSN+toff is the actual decoding time of the data packet NSN. Since formula (3) does not take into account the data packets that the server has sent but the client has not received, the above formula is modified as follows:
Using formula (1) and formula (4), the server should make the following judgment before sending the next data packet i=HTSN+1:
When the above two formulas are true at the same time, it means that the network cache and the client cache still have surplus to receive new data packets, and it is safe for the server to continue to send new data packets. Otherwise, the server suspends sending until the conditions in the above formula are true. Considering the effectiveness of the transmission rate control, the following correction is made to equation (5):
Where: Nthrehold, Cthrehold are safety thresholds. This threshold can ensure that the cache data will not overflow due to the inability to judge the transmission conditions in time before the new RTCP feedback arrives. It can also be seen from equations (1) and (4) that the Ncurr estimate is slightly high and the Cfree estimate is slightly low. This is done to more effectively prevent the occurrence of frequent network cache data overflow and mobile terminal data underflow.
3 Algorithm simulation
According to the above algorithm, Matlab simulation is used to encode the media content with a duration of 42 s at a rate of 57 Kb/s and divide it into 360 packets on the server side. The maximum bandwidth on the wireless link is 64 Kb/s, and there is a 5 s interruption during the link data transmission process. The maximum value of the cache on the SGSN or RNC is 160 Kb, the maximum value of the client cache is 320 Kb, and there is a 3 s pre-buffer before the media application. The safety thresholds Nthrehold and Cthrehold are set to 95% and 90% of the maximum value respectively. The sending interval of the client RTCP feedback packet is 1 s. If the server does not control the sending rate, the amount of data in the network cache and the client cache is shown in Figure 3 and Figure 4. The client cache begins to overflow at around 41 s, and the network cache increases sharply and overflows due to the interruption of the wireless link between 45 and 50 s. Figure 5 shows the sending rate of the server.
The server based on the RTCP feedback control algorithm can timely estimate the cache status and control the sending rate, and can effectively prevent the cache data from overflowing even if the wireless link is interrupted. As can be seen from Figures 6 and 7, the amount of data in the network cache and the client cache is always controlled within their storage capacity. When the wireless link is interrupted, the server suspends data transmission when it finds that the amount of data in the network cache exceeds the safety threshold. Its transmission rate is shown in Figure 8. Since the 320 Kb terminal cache can store 5.6 s of 57 Kb/s media content, it can theoretically withstand a 5 s wireless link interruption. As can also be seen from Figure 7, the algorithm takes into account the data transmission efficiency, makes more reasonable use of the terminal cache space, ensures that data underflow does not occur during the media application process, and avoids the impact of link interruption on playback smoothness.
4 Conclusion
The 3G streaming media rate control algorithm described in this article is based on the RTCP RR and NADU feedback information in the 3GPP PSS specification to prevent network cache and terminal cache data from being underloaded. From the simulation results, the algorithm can not only avoid buffer data overflow, but also keep the terminal buffer full of data, effectively resisting the impact caused by the deterioration or complete interruption of the wireless link. If the algorithm is combined with adaptive streaming and stream thinning technology, it can better achieve smooth playback of 3G multimedia and improve the user's perceived quality of the service.
Previous article:How do ESD devices solve all protection problems?
Next article:Design of intelligent residual current electrical fire monitoring detector
- Popular Resources
- Popular amplifiers
- Molex leverages SAP solutions to drive smart supply chain collaboration
- Pickering Launches New Future-Proof PXIe Single-Slot Controller for High-Performance Test and Measurement Applications
- CGD and Qorvo to jointly revolutionize motor control solutions
- Advanced gameplay, Harting takes your PCB board connection to a new level!
- Nidec Intelligent Motion is the first to launch an electric clutch ECU for two-wheeled vehicles
- Bosch and Tsinghua University renew cooperation agreement on artificial intelligence research to jointly promote the development of artificial intelligence in the industrial field
- GigaDevice unveils new MCU products, deeply unlocking industrial application scenarios with diversified products and solutions
- Advantech: Investing in Edge AI Innovation to Drive an Intelligent Future
- CGD and QORVO will revolutionize motor control solutions
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- Rambus Launches Industry's First HBM 4 Controller IP: What Are the Technical Details Behind It?
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- msp432 record 2-uart and display usage
- [AB32VG1 Development Board Review] RTC Electronic Clock
- Protecting Your IP Cores - Part 1 Soft IP, Section 1: Encryption of HDL Code
- Hey guys, this is my first time using Cadence's Pspice simulation and I encountered this problem
- Industrial Control Electronics Popular Data Download Collection
- How to use Bluetooth 4.2 to implement the Internet of Things
- What is the difference between silicon carbide, MOSFET and IGBT?
- [AT-START-F403A Review] + Zero-distance contact
- The power supply cannot be turned on when the USB flash drive is plugged in. What is the reason?
- Understanding of a curve graph in Chapter 4 of "High Frequency Electronic Circuits. Zeng Xingwen Edition"