Data processing method and device, electronic equipment, chip and storage medium

By skipping the processing of historical data packets when the data source changes, directly processing new data packets and clearing the buffer, the problem of voice quality degradation in multi-terminal scenarios is solved, resulting in lower latency and a better user experience.

CN122247937APending Publication Date: 2026-06-19BEIJING X RING TECHNOLOGY CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
BEIJING X RING TECHNOLOGY CO LTD
Filing Date
2026-02-11
Publication Date
2026-06-19

Smart Images

  • Figure CN122247937A_ABST
    Figure CN122247937A_ABST
Patent Text Reader

Abstract

This disclosure provides a data processing method and apparatus, electronic device, chip, and storage medium. The method includes: receiving at least one first data packet and a second data packet, wherein the first data packet is received before the second data packet; determining whether a first data source sending the first data packet is the same as a second data source sending the second data packet; if the first data source and the second data source are different, skipping the processing of the first data packet and processing the second data packet. This allows for priority processing of data packets from the new data source when the data source changes, reducing data processing latency and improving user experience.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of data processing, and more particularly to a data processing method, apparatus, electronic device, chip, and storage medium. Background Technology

[0002] With the development of communication technology, real-time services such as voice and video can be carried on IP networks instead of relying on traditional circuit-switched voice networks. As a result, the quality of real-time services cannot be guaranteed. In multi-terminal scenarios, when the synchronization source changes during the execution of real-time services, the terminal will experience problems such as latency and decreased continuity, which affect voice quality. Summary of the Invention

[0003] This disclosure provides a data processing method, apparatus, electronic device, chip, and storage medium to solve problems in the related art.

[0004] A first aspect of this disclosure provides a data processing method, the method comprising: receiving at least one first data packet and a second data packet, the first data packet being received prior to the second data packet; determining whether a first data source for sending the first data packet is the same as a second data source for sending the second data packet; and if the first data source and the second data source are different, skipping the processing of the first data packet and processing the second data packet.

[0005] In some embodiments of this disclosure, determining whether a first data source for sending a first data packet is the same as a second data source for sending a second data packet includes: obtaining a first synchronization source identifier for the first data packet, the first synchronization source identifier being used to indicate the first data source; obtaining a second synchronization source identifier for the second data packet, the second synchronization source identifier being used to indicate the second data source; determining that the first data source and the second data source are the same if the first synchronization source identifier and the second synchronization source identifier are the same; or determining that the first data source and the second data source are different if the first synchronization source identifier and the second synchronization source identifier are different.

[0006] In some embodiments of this disclosure, skipping the processing of the first data packet includes: resetting the first buffer to clear the first data packet cached in the first buffer, the first buffer being used to cache received data packets.

[0007] In some embodiments of this disclosure, skipping the processing of the first data packet includes: discarding at least one of the first data packet cached in the first buffer and the first data packet in the processing state, so as to skip the processing of the first data packet.

[0008] In some embodiments of this disclosure, the first buffer is a jitter buffer.

[0009] In some embodiments of this disclosure, the first data packet and the second data packet are Real-Time Transport Protocol (RTP) data packets.

[0010] In some embodiments of this disclosure, the first data packet and the second data packet are audio data packets or video data packets.

[0011] In some embodiments of this disclosure, processing the second data packet includes: acquiring audio frame data or video frame data carried in the second data packet; and processing the audio frame data or video frame data to output the corresponding audio or video.

[0012] A second aspect of this disclosure provides a data processing apparatus, comprising: a transceiver module for receiving at least one first data packet and a second data packet, wherein the first data packet is received prior to the second data packet; and a processing module for determining whether a first data source for sending the first data packet is the same as a second data source for sending the second data packet; and, if the first data source and the second data source are different, skipping the processing of the first data packet and processing the second data packet.

[0013] In some embodiments of this disclosure, the processing module is further configured to: reset the first buffer to clear the first data packet cached in the first buffer, the first buffer being used to cache the received data packet.

[0014] In some embodiments of this disclosure, the processing module is further configured to: discard at least one of the first data packet cached in the first buffer and the first data packet in the processing state, so as to skip the processing of the first data packet.

[0015] In some embodiments of this disclosure, the first buffer is a jitter buffer.

[0016] In some embodiments of this disclosure, the first data packet and the second data packet are Real-Time Transport Protocol (RTP) data packets.

[0017] In some embodiments of this disclosure, the first data packet and the second data packet are audio data packets or video data packets.

[0018] A third aspect of this disclosure provides an electronic device comprising: at least one processor; and a memory communicatively connected to the at least one processor; wherein the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the methods described in the first aspect of this disclosure.

[0019] A fourth aspect of this disclosure provides a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause a computer to perform the methods described in the first aspect of this disclosure.

[0020] A fifth aspect of this disclosure provides a chip including at least one processor and a communication interface; the communication interface is used to receive signals input to the chip or signals output from the chip, and the processor communicates with the communication interface and implements the method described in the first aspect of this disclosure through logic circuits or executing code instructions.

[0021] In summary, the data processing method proposed in this disclosure can skip the processing of at least one previously received data packet when the data source of the data packet changes, and process the newly received data packet after the data source switch as soon as possible. This can reduce the processing latency of the latest data source data packet, meet the user's real-time requirements, and improve the user experience.

[0022] It should be understood that the above general description and the following detailed description are exemplary and explanatory only, and are not intended to limit this disclosure. Attached Figure Description

[0023] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure, and are not intended to unduly limit this disclosure.

[0024] Figure 1 A flowchart illustrating a data processing method provided in this embodiment of the disclosure. Figure 1 ;

[0025] Figure 2 A schematic diagram of a jitter buffer provided in an embodiment of this disclosure; Figure 3 A schematic diagram illustrating a data source switching method provided in an embodiment of this disclosure; Figure 4 A flowchart illustrating another data processing method provided in an embodiment of this disclosure; Figure 5 This is a schematic diagram of the structure of a data processing apparatus provided in an embodiment of the present disclosure; Figure 6 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this disclosure; Figure 7 This is a schematic diagram of the chip structure provided in an embodiment of this disclosure. Detailed Implementation

[0026] Embodiments of this disclosure are described in detail below. Examples of these embodiments are illustrated in the accompanying drawings, wherein the same or similar reference numerals denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with reference to the accompanying drawings are exemplary and intended to explain this disclosure, and should not be construed as limiting this disclosure.

[0027] With the development of communication technology, real-time services such as voice and video can be carried on Internet Protocol (IP) networks instead of relying on traditional circuit-switched voice networks. Therefore, voice quality cannot be guaranteed. The following explanation uses a voice service scenario as an example, but does not limit the scenario of this solution to voice service scenarios.

[0028] For example, voice services can be Voice over Long-Term Evolution (VoLTE), Voice over 5G New Radio (VoNR), and Voice over Wi-Fi (VoWIFI). Taking VoLTE as an example, its voice service is transmitted as a data stream in the LTE data bearer network, instead of relying on the traditional circuit-switched voice network. In multi-terminal scenarios, when the synchronization source (SSRC) of the voice changes, the PS domain terminal based on VoLTE usually sets up a jitter buffer to buffer downlink data packets. However, when the SSRC of the downlink voice packet changes, there may be outdated data packets in the jitter buffer waiting to be played, which will increase the latency of the voice packet from the latest data source, reduce voice continuity, and affect voice quality.

[0029] Therefore, in order to solve the above problems, this disclosure proposes a data processing method that solves the problem of latency and decreased voice continuity caused by the terminal playing outdated voice packets after the voice SSRC switch in a multi-terminal scenario.

[0030] The solution disclosed herein can be executed by an electronic device or a chip. The electronic device may be, for example, a terminal. The specific content of the method is as follows.

[0031] Figure 1 A flowchart illustrating a data processing method provided in this embodiment of the disclosure. Figure 1 .like Figure 1 As shown, the method may include the following steps.

[0032] Step 101: Receive at least one first data packet and one second data packet.

[0033] In some embodiments, the second data packet is a currently received data packet, and the first data packet is a data packet received before the second data packet. That is, the first data packet can be a historically received data packet, and the name of the first data packet can also be a historical data packet. In this case, at least one first data packet is one or more data packets received before the second data packet.

[0034] In some embodiments, the first data packet and the second data packet may be data packets that need to be transmitted when performing the first service. The first service may be a service with high real-time requirements, in which case the first data packet and the second data packet have high real-time processing requirements. For example, the first data packet and the second data packet may be Real-time Transport Protocol (RTP) data packets; or, for example, the first service may be a voice service, a video service, etc., in which case the first data packet and the second data packet may be an audio data packet or a video data packet.

[0035] In some embodiments, the first service may be a service carried over an IP network, such as VONR service, VOLTE service, VOWIFI service, video call service, etc.

[0036] In some embodiments, a first data packet and a second data packet sent by a network device can be received. For example, the sending end can send the first data packet or the second data packet to the network device, and then the network device can forward the first data packet, the second data packet, etc. to the receiving end.

[0037] Step 102: Determine whether the first data source for sending the first data packet is the same as the second data source for sending the second data packet.

[0038] In some embodiments, the data source of the data packet refers to the device that sends the data packet. That is, the first data source is used to indicate the sender of the first data packet, and the second data source is used to indicate the sender of the second data packet. That is, determining whether the first data source for sending the first data packet and the second data source for sending the second data packet are the same can be determined by determining whether the device for sending the first data packet and the device for sending the second data packet are the same device.

[0039] In some embodiments, the second data packet may be the next data packet received after at least one first data packet has been received. It can be determined whether the data source of one first data packet and the second data packet are the same. In this case, the first data packet is the previous data packet of the second data packet, meaning that the first data packet refers to the last data packet received among at least one data packets. In this case, the first data packet and the second data packet are two data packets received adjacent to each other by the receiving end. In other words, the receiving end can determine whether the data source of the received second data packet is the same as that of the previously received data packet when it receives the second data packet; furthermore, the receiving end can determine whether the data source of the newly received data packet is the same as that of the previously received data packet each time a new data packet is received.

[0040] In some embodiments, it can be determined whether the first data source of at least one first data packet is the same as the second data source of the second data packet. In this case, at least one first data packet may include data packets received by the receiving end within a historical time period; and / or may include data packets cached in the first buffer of the receiving end; and / or may include data packets being processed by the receiving end, etc. In other words, the receiving end can determine whether the data source of multiple historically received data packets is the same as the data source of the second data packet.

[0041] In some embodiments, determining whether a first data source that sends a first data packet is the same as a second data source that sends a second data packet includes: obtaining a first synchronization source identifier for the first data packet, the first synchronization source identifier being used to indicate the first data source; obtaining a second synchronization source identifier for the second data packet, the second synchronization source identifier being used to indicate the second data source; determining that the first data source and the second data source are the same if the first synchronization source identifier and the second synchronization source identifier are the same; or determining that the first data source and the second data source are different if the first synchronization source identifier and the second synchronization source identifier are different.

[0042] In some embodiments, the first synchronization source identifier and the second synchronization source identifier may be SSRC identifiers, which can be used to indicate the device sending the data packet. The first data packet and the second data packet can be parsed to determine the first synchronization source identifier of the first data packet and the second synchronization source identifier of the second data packet. Then, based on the first synchronization source identifier and the second synchronization source identifier, it can be determined whether the first data source and the second data source are the same.

[0043] Step 103: If the first data source and the second data source are different, skip the processing of the first data packet and process the second data packet.

[0044] In some embodiments, when the first data source and the second data source are different, it can be determined that the data source has changed. That is, it can be determined that for the same receiving end, the device sending data packets to the receiving end has changed. For example, terminal A sends a first data packet to terminal B, and the synchronization source identifier corresponding to terminal A is SSRC1. Then the data source changes, and terminal C sends a second data packet to terminal B, and the synchronization source identifier corresponding to terminal C is SSRC2. When terminal B receives the second data packet with the synchronization source identifier SSRC2, it determines that the synchronization source identifier SSRC1 of the previously received data packet is different. Therefore, terminal B determines that the data source has changed.

[0045] In some embodiments, when the data source changes, the processing of the first data packet can be skipped and the processing of the second data packet can be performed. That is, the processing of at least one first data packet received in the past can be skipped and the data packet sent by the latest data source can be processed directly to ensure the real-time performance of business transmission and business processing.

[0046] For example, in a voice service scenario, terminal A sends voice data packets 1-5 to terminal B. Then, the data source changes, and terminal C sends voice data packets 8-10 to terminal B. When terminal B receives data packet 8, it may not have yet processed voice data packet 5, as it remains buffered. Based on the solution disclosed herein, terminal B can skip processing voice data packet 5 upon receiving voice data packet 8 and directly process voice data packet 8. This ensures the real-time nature of the voice service between terminal C and terminal B, preventing delays caused by terminal C sending voice data packet 8 while still processing the buffered voice data packet 5, thus avoiding user experience issues. Simultaneously, it ensures the continuity of the voice service between terminal C and terminal B, preventing discontinuous voice communication when terminal C has already interacted with terminal B regarding the content of voice data packet 8, but terminal B provides feedback on voice data packet 5.

[0047] In some embodiments, when skipping the processing of the first data packet, the contents of the first data packet may be discarded directly, or the buffer at the receiving end may be reset to clear the contents of the first data packet, etc.

[0048] In some embodiments, when determining the synchronization source identifier of the second data packet, the parsing process of the second data packet has already been completed. The frame data carried in the second data packet can also be obtained through the parsing process. Therefore, processing the second data packet can be processing the frame data carried in the second data packet. For example, when the second data packet is an audio data packet or a video data packet, processing the second data packet includes: obtaining the audio frame data or video frame data carried in the second data packet; and processing the audio frame data or video frame data to output the corresponding audio or video.

[0049] In summary, the above embodiments of this disclosure can skip the processing of at least one previously received data packet when the data source of the data packet changes, and process the newly received data packet after the data source switch as soon as possible. This can reduce the processing latency of the latest data source data packet, meet the user's real-time requirements, and improve the user experience.

[0050] The following is another data processing method provided by embodiments of this disclosure, based on Figure 1 The illustrated embodiment shows that the method includes the following steps.

[0051] Step 201: Reset the first buffer.

[0052] In some embodiments, when the processing efficiency of the receiving end is lower than the frequency of receiving data packets, the receiving end can buffer the received data packets into a first buffer. That is, the first buffer is used to buffer the received data packets. Then, the receiving end can take out the data packets from the first buffer in the order of receipt, or in the order of arrangement of data packets at the sending end, or in a preset order for processing.

[0053] Furthermore, the first buffer is a buffer used by the receiving end to cache historically received data packets. The first buffer is used to cache the frame data carried in the historically received data packets. Therefore, in the scheme disclosed herein, the data packets buffered by the first buffer can actually be understood as the frame data carried in the data packets buffered by the first buffer. These two expressions can be used interchangeably. The frame data carried in the data packets can be the content that the data packets actually need to transmit, such as audio frame data, video frame data, etc.

[0054] In some embodiments, the processing of at least one first data packet can be skipped by resetting the first buffer. This can be done by resetting the first buffer to clear the first data packet cached in the first buffer, or by clearing the frame data carried in the first data packet cached in the first buffer, or by clearing the data related to the first data packet cached in the first buffer. After clearing, the receiving end no longer has the data of the first data packet, so the processing of the first data packet can be skipped.

[0055] In some embodiments, the first buffer may be a jitter buffer.

[0056] In summary, the above embodiments of this disclosure can skip the processing of the first data packet by resetting the first buffer, which facilitates the rapid processing of newly received data packets after switching data sources, reduces the processing latency of the latest data source data packets, meets the user's real-time requirements, and improves the user experience. At the same time, clearing the first buffer by resetting can improve the clearing efficiency, or the efficiency of skipping the processing of the first data packet, which can further reduce latency.

[0057] The following is another data processing method provided by embodiments of this disclosure, based on Figure 1 The illustrated embodiment shows that the method includes the following steps.

[0058] Step 301: Discard at least one of the first data packet cached in the first buffer and the first data packet in the processing state.

[0059] In some embodiments, at least one of the first data packet cached in the first buffer and the first data packet in the processing state may be discarded to skip the processing of the first data packet.

[0060] In some embodiments, the first data packet cached in the first buffer can be discarded, for example, all data packets cached in the first buffer can be discarded, or the frame data carried in all data packets cached in the first buffer can be discarded. In this case, the first buffer only caches historical data packets and does not cache the currently received second data packet.

[0061] Alternatively, the first data packet cached in the first buffer can be discarded. The first buffer may cache historical data packets and the currently received second data packet, or part of the information of the second data packet. In this case, only the historically received first data packet can be discarded, which can avoid directly discarding all data packets in the first buffer, causing the second data packet to be lost and requiring retransmission. For example, if data packets arrive out of order, terminal C sends the second data packet 8-10 to terminal B. The second data packet 9 may arrive at the receiving end first. After parsing the second data packet 9 and determining that the data source has changed, the receiving end can cache the second data packet 9 in the first buffer. Then, the historically received first data packet 5 cached in the first buffer can be discarded, but the cached second data packet 9 can be left undiscarded.

[0062] Alternatively, the first data packet that was previously received and is not in the first buffer can be discarded. For example, the frame data of the first data packet 5 has been taken out of the first buffer and is being processed. During the processing, a second data packet is received. At this time, the first data packet being processed can be discarded directly, which can further reduce latency and processing load, and further improve real-time performance.

[0063] In summary, the above embodiments of this disclosure can skip the processing of the first data packet by discarding it, which facilitates the rapid processing of newly received data packets after switching data sources, reduces the processing latency of the latest data source data packets, meets the user's real-time requirements, and improves the user experience. At the same time, by skipping the processing of the first data packet by discarding it, historical data packets can be accurately discarded, avoiding the accidental discarding of data packets from the currently received new data source, and data packets that are in the processing state can be discarded, which can further reduce latency.

[0064] The technical solutions of this disclosure will be further described in detail below with reference to specific application embodiments.

[0065] like Figure 2 As shown, VoLTE-based PS domain terminals typically set up a jitter buffer to cache downlink PS domain data packets. In multi-terminal scenarios, when the voice packet SSRC is switched, if there are still outdated SSRC data packets in the buffer to be played, in similar or related technical solutions, the terminal will read each voice packet hop by hop, resulting in increased latency of the latest data source voice packet and decreased voice continuity.

[0066] To address the aforementioned problems, this disclosure provides a data processing method. The following is an example of such a method provided by this disclosure. Figure 3 The diagram illustrates a data source switching scenario. Taking a voice scenario as an example, a switch at the voice data sending end causes a change in the data source. At the voice data receiving end, when a voice SSRC switch occurs, the jitter buffer is reset and the cached outdated voice packets from the data source are discarded. The voice packets received from the latest data source are played first, thereby solving the problems of increased latency and decreased voice continuity during SSRC switching.

[0067] like Figure 4 As shown, the voice data receiver has a jitter buffer, which can store the frame data carried in historically received data packets. The voice data sender first sends a voice data packet with data source SSRC_1 to the voice data receiver through the network device. After the voice sender changes, i.e., after an SSRC switch, the voice data sender sends a voice data packet with data source SSRC_2 to the voice data receiver through the network device. At this time, the voice data receiver determines that the data sources of the two adjacent received data packets are different, so it performs a jitter buffer reset, discards the outdated voice data packet with data source SSRC_1, and then the voice receiver prioritizes playing the latest voice data packet with data source SSRC_2.

[0068] In summary, the above examples of this application can effectively reduce latency and avoid the problem of decreased voice continuity by prioritizing the playback of the latest data source voice packet during voice SSRC switching.

[0069] Figure 5 This is a schematic diagram of the structure of a data processing apparatus 500 provided in an embodiment of this disclosure. Figure 5 As shown, the device includes: a transceiver module 510 for receiving at least one first data packet and a second data packet, wherein the first data packet is received before the second data packet; and a processing module 520 for determining whether the first data source for sending the first data packet is the same as the second data source for sending the second data packet; and if the first data source and the second data source are different, skipping the processing of the first data packet and processing the second data packet.

[0070] In some embodiments, the processing module is further configured to obtain a first synchronization source identifier of a first data packet, the first synchronization source identifier being used to indicate a first data source; obtain a second synchronization source identifier of a second data packet, the second synchronization source identifier being used to indicate a second data source; if the first synchronization source identifier and the second synchronization source identifier are the same, determine that the first data source and the second data source are the same; or if the first synchronization source identifier and the second synchronization source identifier are different, determine that the first data source and the second data source are different.

[0071] In some embodiments, the processing module is further configured to reset the first buffer to clear the first data packet cached in the first buffer, the first buffer being used to cache the received data packet.

[0072] In some embodiments, the processing module is further configured to discard at least one of the first data packet cached in the first buffer and the first data packet in the processing state, so as to skip the processing of the first data packet.

[0073] In some embodiments, the first buffer is a jitter buffer.

[0074] In some embodiments, the first data packet and the second data packet are Real-Time Transport Protocol (RTP) data packets.

[0075] In some embodiments, the first data packet and the second data packet are audio data packets or video data packets.

[0076] In some embodiments, the processing module is further configured to acquire audio frame data or video frame data carried in the second data packet; process the audio frame data or video frame data to output the corresponding audio or video.

[0077] In summary, when the data source of a data packet changes, the data processing device 500 can skip the processing of at least one previously received data packet and process the newly received data packet after the data source switch as quickly as possible. This can reduce the processing latency of the latest data source data packet, meet the user's real-time requirements, and improve the user experience.

[0078] The methods and apparatus provided in the embodiments of this application have been described above. To implement the functions of the methods provided in the embodiments of this application, the electronic device may include a hardware structure and software modules, and may implement the above functions in the form of a hardware structure, software modules, or a hardware structure plus software modules. One of the above functions may be executed in the form of a hardware structure, software modules, or a hardware structure plus software modules.

[0079] Figure 6 This is a block diagram illustrating an electronic device 600 for implementing the above-described method according to an exemplary embodiment. For example, the electronic device 600 may be a mobile phone, computer, messaging device, game console, tablet device, medical device, fitness equipment, personal digital assistant, etc.

[0080] Reference Figure 6The electronic device 600 may include one or more of the following components: a processing component 602, a memory 604, a power supply component 606, a multimedia component 608, an audio component 610, an input / output (I / O) interface 612, a sensor component 614, and a communication component 616.

[0081] Processing component 602 typically controls the overall operation of electronic device 600, such as operations associated with display, telephone calls, data communication, camera operation, and recording operations. Processing component 602 may include one or more processors 620 to execute instructions to perform all or part of the steps of the methods described above. Furthermore, processing component 602 may include one or more modules to facilitate interaction between processing component 602 and other components. For example, processing component 602 may include a multimedia module to facilitate interaction between multimedia component 608 and processing component 602.

[0082] Memory 604 is configured to store various types of data to support the operation of electronic device 600. Examples of such data include instructions for any application or method operating on electronic device 600, contact data, phonebook data, messages, pictures, videos, etc. Memory 604 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.

[0083] Power supply component 606 provides power to various components of electronic device 600. Power supply component 606 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power to electronic device 600.

[0084] Multimedia component 608 includes a screen that provides an output interface between electronic device 600 and user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touchscreen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors may sense not only the boundaries of touch or swipe actions but also the duration and pressure associated with the touch or swipe operation. In some embodiments, multimedia component 608 includes a front-facing camera and / or a rear-facing camera. When electronic device 600 is in an operating mode, such as a shooting mode or video mode, the front-facing camera and / or rear-facing camera may receive external multimedia data. Each front-facing camera and rear-facing camera may be a fixed optical lens system or have focal length and optical zoom capabilities.

[0085] Audio component 610 is configured to output and / or input audio signals. For example, audio component 610 includes a microphone (MIC) configured to receive external audio signals when electronic device 600 is in an operating mode, such as call mode, recording mode, and voice recognition mode. The received audio signals may be further stored in memory 604 or transmitted via communication component 616. In some embodiments, audio component 610 also includes a speaker for outputting audio signals.

[0086] I / O interface 612 provides an interface between processing component 602 and peripheral interface modules, such as keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to, home buttons, volume buttons, power buttons, and lock buttons.

[0087] Sensor assembly 614 includes one or more sensors for providing state assessments of various aspects of electronic device 600. For example, sensor assembly 614 may detect the on / off state of electronic device 600, the relative positioning of components such as the display and keypad of electronic device 600, changes in position of electronic device 600 or a component of electronic device 600, the presence or absence of user contact with electronic device 600, orientation or acceleration / deceleration of electronic device 600, and temperature changes of electronic device 600. Sensor assembly 614 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. Sensor assembly 614 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, sensor assembly 614 may also include an accelerometer, gyroscope, magnetometer, pressure sensor, or temperature sensor.

[0088] Communication component 616 is configured to facilitate wired or wireless communication between electronic device 600 and other devices. Electronic device 600 can access wireless networks based on communication standards, such as WiFi, 2G or 3G, 4G LTE, 5G NR (NewRadio), or combinations thereof. In one exemplary embodiment, communication component 616 receives broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, communication component 616 also includes a near-field communication (NFC) module to facilitate short-range communication. For example, the NFC module may be implemented based on radio frequency identification (RFID) technology, Infrared Data Association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.

[0089] In an exemplary embodiment, the electronic device 600 may be implemented by one or more application-specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field-programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components to perform the methods described above.

[0090] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions is also provided, such as a memory 604 including instructions, which can be executed by a processor 620 of an electronic device 600 to perform the above-described method. For example, the non-transitory computer-readable storage medium may be a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device, etc.

[0091] Embodiments of this disclosure also provide a non-transitory computer-readable storage medium storing computer instructions, wherein the computer instructions are used to cause a computer to perform the methods described in the above embodiments of this disclosure.

[0092] Figure 7 This is a schematic diagram illustrating the structure of a chip 700 for implementing the above method according to an exemplary embodiment. (Refer to...) Figure 7 The chip 700 includes a communication interface 701 and at least one processor 702. The communication interface 701 is used to receive signals input to the chip 700 or signals output from the chip 700. The processor 702 communicates with the communication interface 701 and implements the methods described in the above embodiments of this disclosure through logic circuits or executing code instructions.

[0093] It should be noted that the terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this disclosure are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this disclosure described herein can be implemented in orders other than those illustrated or described herein. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with this disclosure. Rather, they are merely examples of apparatuses and methods consistent with some aspects of this disclosure as detailed in the appended claims.

[0094] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "illustrative embodiment," "example," "specific example," or "some examples," etc., indicate that a specific feature, structure, material, or characteristic described in connection with an embodiment or example is included in at least one embodiment or example of the present invention. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in at least one embodiment or example.

[0095] Any process or method description in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing a particular logical function or process, and the scope of the preferred embodiments of the invention includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as will be understood by those skilled in the art to which embodiments of the invention pertain.

[0096] The logic and / or steps represented in the flowchart or otherwise described herein, for example, can be considered as a sequenced list of executable instructions for implementing logical functions, and can be embodied in any computer-readable medium for use by, or in conjunction with, an instruction execution system, apparatus, or device (such as a computer-based system, a system including a processing module, or other system that can fetch and execute instructions from, an instruction execution system, apparatus, or device). For the purposes of this specification, "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transmit programs for use by, or in conjunction with, an instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of computer-readable media include: an electrical connection having at least one wiring (control method), a portable computer disk drive (magnetic device), random access memory (RAM), read-only memory (ROM), erasable and editable read-only memory (EPROM or flash memory), fiber optic devices, and portable optical disc read-only memory (CDROM). Furthermore, computer-readable media can even be paper or other suitable media on which programs can be printed, because programs can be obtained electronically, for example, by optically scanning the paper or other media, followed by editing, interpreting, or otherwise processing as necessary, and then stored in computer memory.

[0097] It should be understood that various parts of the embodiments of the present invention can be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, multiple steps or methods can be implemented in software or firmware stored in memory and executed by a suitable instruction execution system. For example, if implemented in hardware, as in another embodiment, it can be implemented using any one or a combination of the following techniques known in the art: discrete logic circuits having logic gates for implementing logical functions on data signals, application-specific integrated circuits (ASICs) having suitable combinational logic gates, programmable gate arrays (PGAs), field-programmable gate arrays (FPGAs), etc.

[0098] Those skilled in the art will understand that all or part of the steps of the methods described in the above embodiments can be implemented by a program instructing related hardware. The program can be stored in a computer-readable storage medium, and when executed, the program includes one or a combination of the steps of the method embodiments.

[0099] Furthermore, the functional units in the various embodiments of the present invention can be integrated into a processing module, or each unit can exist physically separately, or two or more units can be integrated into a module. The integrated module can be implemented in hardware or as a software functional module. If the integrated module is implemented as a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. The storage medium mentioned above can be a read-only memory, a disk, or an optical disk, etc.

[0100] Although embodiments of the present invention have been shown and described above, it is understood that the above embodiments are exemplary and should not be construed as limiting the present invention. Those skilled in the art can make changes, modifications, substitutions and variations to the above embodiments within the scope of the present invention.

Claims

1. A data processing method, characterized in that, include: Receive at least one first data packet and one second data packet, wherein the first data packet is received before the second data packet; Determine whether the first data source that sent the first data packet is the same as the second data source that sent the second data packet; If the first data source and the second data source are different, skip processing the first data packet and process the second data packet instead.

2. The method according to claim 1, characterized in that, Determining whether the first data source for sending the first data packet is the same as the second data source for sending the second data packet includes: Obtain the first synchronization source identifier of the first data packet, wherein the first synchronization source identifier is used to indicate the first data source; Obtain the second synchronization source identifier of the second data packet, the second synchronization source identifier being used to indicate the second data source; If the first synchronization source identifier and the second synchronization source identifier are the same, it is determined that the first data source and the second data source are the same; or, If the first synchronization source identifier and the second synchronization source identifier are different, it is determined that the first data source and the second data source are different.

3. The method according to claim 1, characterized in that, Skipping the processing of the first data packet includes: The first buffer is reset to clear the first data packet cached in the first buffer, which is used to cache received data packets.

4. The method according to claim 1, characterized in that, Skipping the processing of the first data packet includes: Discard at least one of the first data packet cached in the first buffer and the first data packet in the processing state to skip the processing of the first data packet.

5. The method according to any one of claims 1 to 4, characterized in that, The first buffer is a jitter buffer.

6. The method according to any one of claims 1 to 4, characterized in that, The first data packet and the second data packet are Real-Time Transport Protocol (RTP) data packets.

7. The method according to any one of claims 1 to 4, characterized in that, The first data packet and the second data packet are audio data packets or video data packets.

8. The method according to any one of claims 1 to 4, characterized in that, The processing of the second data packet includes: Obtain the audio frame data or video frame data carried in the second data packet; The audio frame data or video frame data is processed to output the corresponding audio or video.

9. A data processing apparatus, characterized in that, include: A transceiver module is used to receive at least one first data packet and one second data packet, wherein the first data packet is received before the second data packet; The processing module is used to determine whether the first data source that sends the first data packet is the same as the second data source that sends the second data packet; If the first data source and the second data source are different, skip processing the first data packet and process the second data packet instead.

10. The apparatus according to claim 9, characterized in that, The processing module is also used for: The first buffer is reset to clear the first data packet cached in the first buffer, which is used to cache received data packets.

11. The apparatus according to claim 9, characterized in that, The processing module is also used for: Discard at least one of the first data packet cached in the first buffer and the first data packet in the processing state to skip the processing of the first data packet.

12. The apparatus according to any one of claims 9 to 11, characterized in that, The first buffer is a jitter buffer.

13. The apparatus according to any one of claims 9 to 11, characterized in that, The first data packet and the second data packet are Real-Time Transport Protocol (RTP) data packets.

14. The apparatus according to any one of claims 9 to 11, characterized in that, The first data packet and the second data packet are audio data packets or video data packets.

15. An electronic device, characterized in that, include: At least one processor; as well as A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor to enable the at least one processor to perform the method of any one of claims 1-8.

16. A non-transitory computer-readable storage medium storing computer instructions, characterized in that, The computer instructions are used to cause the computer to perform the method according to any one of claims 1-8.

17. A chip, characterized in that, It includes at least one processor and a communication interface; the communication interface is used to receive signals input to the chip or signals output from the chip, and the processor communicates with the communication interface and implements the method as described in any one of claims 1 to 8 through logic circuits or executing code instructions.