CN110764703A - Method for reading and writing PCM data in real time based on array implementation - Google Patents
Method for reading and writing PCM data in real time based on array implementation Download PDFInfo
- Publication number
- CN110764703A CN110764703A CN201910987627.3A CN201910987627A CN110764703A CN 110764703 A CN110764703 A CN 110764703A CN 201910987627 A CN201910987627 A CN 201910987627A CN 110764703 A CN110764703 A CN 110764703A
- Authority
- CN
- China
- Prior art keywords
- data
- length
- reading
- buffer area
- pcm data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
- G06F3/0656—Data buffering arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0628—Interfaces specially adapted for storage systems making use of a particular technique
- G06F3/0655—Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
Abstract
The invention discloses a method for reading and writing PCM data in real time based on an array, which is implemented based on an annular data structure, circularly writes PCM data returned by audio acquisition equipment to realize real-time storage of the PCM data, and provides an interface for extracting data in a buffer area for circularly reading the PCM data so as to acquire the PCM data in the buffer area in real time. Compared with a reading method realized based on a chain data structure, the method can reduce the time and space complexity required by the program in operation, reduce the program overhead and improve the efficiency, and can be applied to data buffer access of the light-weight real-time audio stream.
Description
Technical Field
The invention relates to a method for reading and writing PCM data in real time, which is realized by a group and is used for reading and writing data of lightweight real-time audio stream.
Background
PCM (pulse code modulation) is to convert a continuous analog signal into a discrete digital signal, and transmit the signal in a channel. Pulse code modulation is the process of sampling the analog signal, quantizing the amplitude of the sample and coding. Sampling and quantizing an analog signal to obtain a quantized pulse amplitude modulation signal which is only a limited number of values; coding, namely, a group of binary codes is used for representing each quantized value with a fixed level, and quantization is simultaneously completed in the coding process.
At present, data reading and writing of the light-weight real-time audio stream are based on a chain data structure, a large amount of computation is wasted in dequeuing operation of a common chain data structure, and the required time and space complexity is high.
Disclosure of Invention
The technical problem to be solved by the present invention is to provide a method for reading and writing PCM data in real time based on an array, which utilizes a pre-applied continuous memory space (annular data structure) to store PCM data returned by an acquisition device in real time, and provides an interface for reading data in a buffer area, so as to obtain PCM data in the buffer area in real time.
In order to solve the technical problem, the technical scheme adopted by the invention is as follows: a method for reading and writing PCM data in real time based on array implementation comprises the following steps: s01), according to the precision requirement of the acquisition equipment, applying a certain amount of continuous memory space as a PCM data buffer area in advance, expressing the logic structure of the continuous memory space as an annular structure, and then informing the acquisition equipment to carry out data acquisition and return PCM data; s02), writing data into the buffer area according to the byte length of the PCM data packet, judging the buffer residual space in the writing process, directly writing the data into the buffer area if the size of the residual space is larger than the length of the data packet, returning to be successful, and returning to be failed if the length of the residual space is smaller than the length of the data packet, and performing the step S03; s03), blocking the data receiving thread, after waiting for T1 time, carrying out the operation of the step S02 on the data packet again, if the return fails, discarding the current data packet, and ending the thread blocking, if the return succeeds, directly ending the thread blocking; s04), reading PCM data in real time in the buffer area, firstly calculating the size of the stored data in the buffer area, then comparing the size with a design threshold, when the size of the stored data in the buffer area is larger than the set threshold, reading the buffer area, returning success, when the size of the data in the buffer area is smaller than the set threshold, returning failure, and performing the step S05; s05), the PCM data reading thread enters the block, and after waiting for T2 time, the step S04 is carried out again until the PCM data can be normally acquired.
Further, the process of judging the remaining space of the buffer area is as follows: firstly, judging the length of stored data in a buffer area, setting the total length of the buffer area as TotalLen and a write pointer as WriteIndex; the read pointer is ReadIndex, the length of data stored in the current buffer area is AvailableLen, and then AvailableLen = (WriteIndex + TotalLen-ReadIndex)% TotalLen and% represents the remainder; the remaining space length of the buffer is the total buffer length minus the length of the data already stored in the buffer.
Further, for the ring data structure, the data cycle writing process is as follows: setting the total length of a buffer area as TotalLen, a write pointer as WriteIndex and the length of a PCM data packet to be stored as DataLen; the write threshold is WriteThreshold, the length of the stored data is AvailableLen, if the length of the remaining storage space is greater than the length of the PCM data packet, the sum of the length of the data buffer minus the stored data is greater than the write threshold, and the sum of the lengths of the buffer is greater than the length of the write pointer plus the PCM data packet, the PCM data packet is directly copied and stored into the data buffer, the write pointer is updated, WriteIndex = WriteIndex + DataLen, and success is returned; if the length of the remaining storage space is greater than the length of the PCM data packet, and the total length of the data buffer minus the stored data is greater than the read-write threshold, but the total length of the buffer is less than the length of the write pointer plus the PCM data packet, the PCM data packet cannot be directly copied and stored in the data buffer, and then the following processing is performed: firstly, obtaining the available space length Len from a write pointer to the end of a buffer, wherein Len = TotalLen-WriteIndex, then writing the data of the length Len corresponding to a PCM data packet into the buffer, then calculating the packet length CoverLen and CoverLen = DataLen-Len which need to be covered forward by the PCM data packet, and then writing the data of the remaining CoverLen length of the PCM data packet into the buffer from the beginning, at the moment, completing data storage, updating the write pointer, and returning success by WriteIndex = (WriteIndex + DataLen)% TotalLen.
Further, for the ring data structure, the data loop reading process is as follows: setting the total length of the buffer area as TotalLen, the reading pointer as ReadIndex, the length of the PCM data to be read as DataLen, and the reading and writing threshold as follows: ReadThreshold, the length of the stored data is AvailableLen; when the length of the stored PCM data is larger than a reading threshold value and the total length of the buffer area is larger than the length of a reading pointer and a PCM data packet, the data can be directly copied from the buffer area and taken out, the reading pointer is updated, ReadIndex = ReadIndex + DataLen, and success is returned; when the length of the stored PCM data packet is greater than the reading threshold, but the total length of the buffer area is less than the length of the reading pointer plus the PCM data packet, the read data can not be directly copied and stored from the data buffer area, and the following processing is performed at this moment: firstly, obtaining the available space length Len from a read pointer to the end of a buffer area, wherein Len = TotalLen-ReadIndex, then reading data of the buffer area corresponding to the Len length, then calculating the data packet length GetLen needing to be read from the front, GetLen = DataLen-Len, then filling and reading the data of the buffer area from the beginning with the GetLen length, at the moment, finishing data reading, updating the read pointer, and returning ReadIndex = (ReadIndex + DataLen)% TotalLen to be successful.
Furthermore, when the program exits or finishes data acquisition, the flag bit of the reading thread is set, so that the reading thread can exit smoothly.
Further, T1 and T2 are both 30 msec.
The invention has the beneficial effects that: the invention utilizes the annular data structure to read and write PCM data, when the annular data structure is read, all elements of the queue do not need to move forwards after the head element is dequeued, but the pointer of the head of the queue moves backwards, and due to the annular structure, the pointer of the tail of the queue can circulate to the original position of the head of the queue after the elements are inserted, thereby covering the original position data. Compared with dequeue operation of a common queue, the dequeue operation method reduces a large amount of operation, and simultaneously can reduce time and space complexity required by program operation, reduce program overhead and improve efficiency.
Drawings
FIG. 1 is a diagram illustrating an array actual data structure;
FIG. 2 is a logic structure diagram after the array is logically transformed;
FIG. 3 is a flow chart of a method according to an embodiment.
Detailed Description
The invention is further described with reference to the following figures and specific embodiments.
Example 1
The present embodiment discloses a method for reading PCM data in real time based on an array implementation, as shown in fig. 3, the method includes the following steps:
s01), according to the precision requirement of the acquisition equipment, applying a certain amount of continuous memory space as a PCM data buffer area in advance, expressing the logic structure of the continuous memory space as an annular structure, and then informing the acquisition equipment to carry out data acquisition and return PCM data;
s02), writing data into the buffer area according to the byte length of the PCM data packet, judging the buffer residual space in the writing process, directly writing the data into the buffer area if the size of the residual space is larger than the length of the data packet, returning to be successful, and returning to be failed if the length of the residual space is smaller than the length of the data packet, and performing the step S03;
s03), blocking the data receiving thread, after waiting for T1 time, carrying out the operation of the step S02 on the data packet again, if the return fails, discarding the current data packet, and ending the thread blocking (because of real-time correlation of PCM data acquisition, the data processing part loses real-time property when the data buffering is carried out, so the data processing part is directly discarded), and if the return succeeds, directly ending the thread blocking;
s04), reading PCM data in real time in the buffer area, firstly calculating the size of the stored data in the buffer area, then comparing the size with a design threshold, when the size of the stored data in the buffer area is larger than the set threshold, reading the buffer area, returning success, when the size of the data in the buffer area is smaller than the set threshold, returning failure, and performing the step S05;
s05), the PCM data reading thread enters the block, and after waiting for T2 time, the step S04 is carried out again until the PCM data can be normally obtained;
s06), when the program is to exit or finishes data acquisition, setting the flag bit of the reading thread, thereby smoothly exiting the reading thread.
In this embodiment, the physical structure of the pre-applied continuous memory space is a continuous linear memory space, which is not a ring, as shown in fig. 1. When reading and writing PCM data, the method expresses the logic structure of the PCM data into a ring-shaped structure by a known method, and the ring-shaped logic expression structure is shown in FIG. 2. In this embodiment, the real-time reading and writing of the PCM data are performed with respect to the ring data structure.
The process of judging the residual space of the buffer area comprises the following steps: firstly, judging the length of stored data in a buffer area, setting the total length of the buffer area as TotalLen and a write pointer as WriteIndex; the read pointer is ReadIndex, the length of data stored in the current buffer area is AvailableLen, and then AvailableLen = (WriteIndex + TotalLen-ReadIndex)% TotalLen and% represents the remainder; the remaining space length of the buffer is the total buffer length minus the length of the data already stored in the buffer.
In this embodiment, for the ring data structure, the process of data cycle writing is as follows:
as shown in fig. 2, let total length of buffer be TotalLen, write pointer be WriteIndex, length of PCM packet to be stored be DataLen; the writing threshold is WriteThreshold, and the length of the stored data is AvailableLen;
if the length of the remaining storage space is larger than the length of the PCM data packet, the total length of the data buffer minus the stored data is larger than a writing threshold value, namely TotalLen-AvailableLen > WriteThreshold, and the total length of the buffer is larger than a writing pointer plus the length of the PCM data packet, namely TotalLen-WriteIndex > DataLen, directly copying the PCM data packet into the data buffer, updating the writing pointer, and returning success, wherein WriteIndex = WriteIndex + DataLen;
if the length of the remaining storage space is greater than the length of the PCM data packet, and the total length of the data buffer minus the stored data is greater than the read-write threshold, that is, totalen-AvailableLen > WriteThreshold, but the total length of the buffer is less than the write pointer plus the length of the PCM data packet, that is, totalen-writelndex < DataLe, the PCM data packet cannot be directly copied and stored in the data buffer, then the following processing is performed:
firstly, obtaining the available space length Len from a write pointer to the end of a buffer, wherein Len = TotalLen-WriteIndex, then writing the data of the length Len corresponding to a PCM data packet into the buffer, then calculating the packet length CoverLen and CoverLen = DataLen-Len which need to be covered forward by the PCM data packet, and then writing the data of the remaining CoverLen length of the PCM data packet into the buffer from the beginning, at the moment, completing data storage, updating the write pointer, and returning success by WriteIndex = (WriteIndex + DataLen)% TotalLen.
For a ring data structure, the data loop reading process is as follows: as shown in fig. 2, let the total length of the buffer be totalen, the read pointer be ReadIndex, the length of the PCM data to be read be DataLen, and the read-write threshold be: ReadThreshold, the length of the stored data is AvailableLen;
when the length of the stored PCM data is greater than a reading threshold value, namely AvailableLen > ReadThreshold, and the total length of the buffer area is greater than the length of a reading pointer and a PCM data packet, namely TotalLen-ReadInde > DataLen, at the moment, data can be directly copied from the buffer area to be taken out, the reading pointer is updated, ReadIndex = ReadIndex + DataLen, and success is returned;
when the length of the stored PCM data packet is greater than the reading threshold, namely AvailableLen > ReadThreshold, but the total length of the buffer area is less than the length of the reading pointer plus the PCM data packet, namely TotalLen-ReadIndex < DataLen, the read data can not be directly copied and stored from the data buffer area, and the following processing is carried out at this time: firstly, obtaining the available space length Len from a read pointer to the end of a buffer area, wherein Len = TotalLen-ReadIndex, then reading data of the buffer area corresponding to the Len length, then calculating the data packet length GetLen needing to be read from the front, GetLen = DataLen-Len, then filling and reading the data of the buffer area from the beginning with the GetLen length, at the moment, finishing data reading, updating the read pointer, and returning ReadIndex = (ReadIndex + DataLen)% TotalLen to be successful.
In this embodiment, T1 and T2 are both 30 milliseconds. Other values may be set as appropriate.
The method described in this embodiment utilizes the characteristics of the ring data structure to store the PCM data returned by the audio acquisition device in real time, and provides an interface for extracting data in the buffer area, so as to obtain the PCM data in the buffer area in real time. Compared with a reading method realized based on a chain data structure, the method can reduce the time and space complexity required by the program in operation, reduce the program overhead and improve the efficiency.
The foregoing description is only for the basic principle and the preferred embodiments of the present invention, and modifications and substitutions by those skilled in the art are included in the scope of the present invention.
Claims (6)
1. A method for reading and writing PCM data in real time based on array implementation is characterized in that: the method comprises the following steps: s01), according to the precision requirement of the acquisition equipment, applying a certain amount of continuous memory space as a PCM data buffer area in advance, expressing the logic structure of the continuous memory space as an annular structure, and then informing the acquisition equipment to carry out data acquisition and return PCM data; s02), writing data into the buffer area according to the byte length of the PCM data packet, judging the buffer residual space in the writing process, directly writing the data into the buffer area if the size of the residual space is larger than the length of the data packet, returning to be successful, and returning to be failed if the length of the residual space is smaller than the length of the data packet, and performing the step S03; s03), blocking the data receiving thread, after waiting for T1 time, carrying out the operation of the step S02 on the data packet again, if the return fails, discarding the current data packet, and ending the thread blocking, if the return succeeds, directly ending the thread blocking; s04), reading PCM data in real time in the buffer area, firstly calculating the size of the stored data in the buffer area, then comparing the size with a design threshold, when the size of the stored data in the buffer area is larger than the set threshold, reading the buffer area, returning success, when the size of the data in the buffer area is smaller than the set threshold, returning failure, and performing the step S05; s05), the PCM data reading thread enters the block, and after waiting for T2 time, the step S04 is carried out again until the PCM data can be normally acquired.
2. The array-based implementation of the method for reading and writing PCM data in real time according to claim 1, wherein: the process of judging the residual space of the buffer area comprises the following steps: firstly, judging the length of stored data in a buffer area, setting the total length of the buffer area as TotalLen and a write pointer as WriteIndex; the read pointer is ReadIndex, the length of data stored in the current buffer area is AvailableLen, and then AvailableLen = (WriteIndex + TotalLen-ReadIndex)% TotalLen and% represents the remainder; the remaining space length of the buffer is the total buffer length minus the length of the data already stored in the buffer.
3. Method for reading and writing PCM data in real time based on an array implementation according to claim 1 or 2, characterized in that: for a ring data structure, the process of data cycle writing is as follows: setting the total length of a buffer area as TotalLen, a write pointer as WriteIndex and the length of a PCM data packet to be stored as DataLen; the write threshold is WriteThreshold, the length of the stored data is AvailableLen, if the length of the remaining storage space is greater than the length of the PCM data packet, the sum of the length of the data buffer minus the stored data is greater than the write threshold, and the sum of the lengths of the buffer is greater than the length of the write pointer plus the PCM data packet, the PCM data packet is directly copied and stored into the data buffer, the write pointer is updated, WriteIndex = WriteIndex + DataLen, and success is returned; if the length of the remaining storage space is greater than the length of the PCM data packet, and the total length of the data buffer minus the stored data is greater than the read-write threshold, but the total length of the buffer is less than the length of the write pointer plus the PCM data packet, the PCM data packet cannot be directly copied and stored in the data buffer, and then the following processing is performed: firstly, obtaining the available space length Len from a write pointer to the end of a buffer, wherein Len = TotalLen-WriteIndex, then writing the data of the length Len corresponding to a PCM data packet into the buffer, then calculating the packet length CoverLen and CoverLen = DataLen-Len which need to be covered forward by the PCM data packet, and then writing the data of the remaining CoverLen length of the PCM data packet into the buffer from the beginning, at the moment, completing data storage, updating the write pointer, and returning success by WriteIndex = (WriteIndex + DataLen)% TotalLen.
4. Method for reading and writing PCM data in real time based on an array implementation according to claim 1 or 2, characterized in that: for a ring data structure, the data loop reading process is as follows: setting the total length of the buffer area as TotalLen, the reading pointer as ReadIndex, the length of the PCM data to be read as DataLen, and the reading and writing threshold as follows: ReadThreshold, the length of the stored data is AvailableLen; when the length of the stored PCM data is larger than a reading threshold value and the total length of the buffer area is larger than the length of a reading pointer and a PCM data packet, the data can be directly copied from the buffer area and taken out, the reading pointer is updated, ReadIndex = ReadIndex + DataLen, and success is returned; when the length of the stored PCM data packet is greater than the reading threshold, but the total length of the buffer area is less than the length of the reading pointer plus the PCM data packet, the read data can not be directly copied and stored from the data buffer area, and the following processing is performed at this moment: firstly, obtaining the available space length Len from a read pointer to the end of a buffer area, wherein Len = TotalLen-ReadIndex, then reading data of the buffer area corresponding to the Len length, then calculating the data packet length GetLen needing to be read from the front, GetLen = DataLen-Len, then filling and reading the data of the buffer area from the beginning with the GetLen length, at the moment, finishing data reading, updating the read pointer, and returning ReadIndex = (ReadIndex + DataLen)% TotalLen to be successful.
5. The array-based implementation of the method for reading and writing PCM data in real time according to claim 1, wherein: and when the program needs to exit or finish data acquisition, setting the flag bit of the reading thread, so that the reading thread exits smoothly.
6. The array-based implementation of the method for reading and writing PCM data in real time according to claim 1, wherein: t1, T2 are both 30 milliseconds.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910987627.3A CN110764703A (en) | 2019-10-17 | 2019-10-17 | Method for reading and writing PCM data in real time based on array implementation |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910987627.3A CN110764703A (en) | 2019-10-17 | 2019-10-17 | Method for reading and writing PCM data in real time based on array implementation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110764703A true CN110764703A (en) | 2020-02-07 |
Family
ID=69332112
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910987627.3A Pending CN110764703A (en) | 2019-10-17 | 2019-10-17 | Method for reading and writing PCM data in real time based on array implementation |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110764703A (en) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102169420A (en) * | 2011-04-18 | 2011-08-31 | 杭州海康威视系统技术有限公司 | Method and device for circularly reading and writing in buffer zone |
CN103037204A (en) * | 2011-10-10 | 2013-04-10 | 深圳市蓝韵实业有限公司 | Ultrasound image transmission method and ultrasound image transmission system |
CN103365782A (en) * | 2012-03-30 | 2013-10-23 | 上海申通地铁集团有限公司 | Memory management method |
CN103514261A (en) * | 2013-08-13 | 2014-01-15 | 江苏华大天益电力科技有限公司 | Data asynchronization storage and access mechanism applied to industrial control system |
CN103744621A (en) * | 2013-12-31 | 2014-04-23 | 深圳英飞拓科技股份有限公司 | Circular read-write method and device for buffer |
CN104461933A (en) * | 2014-11-07 | 2015-03-25 | 珠海全志科技股份有限公司 | Memory management method and device thereof |
CN105159604A (en) * | 2015-08-20 | 2015-12-16 | 浪潮(北京)电子信息产业有限公司 | Disk data read-write method and system |
CN105183665A (en) * | 2015-09-08 | 2015-12-23 | 福州瑞芯微电子股份有限公司 | Data-caching access method and data-caching controller |
CN105260378A (en) * | 2015-09-08 | 2016-01-20 | 上海上讯信息技术股份有限公司 | Database audit method and device |
-
2019
- 2019-10-17 CN CN201910987627.3A patent/CN110764703A/en active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102169420A (en) * | 2011-04-18 | 2011-08-31 | 杭州海康威视系统技术有限公司 | Method and device for circularly reading and writing in buffer zone |
CN103037204A (en) * | 2011-10-10 | 2013-04-10 | 深圳市蓝韵实业有限公司 | Ultrasound image transmission method and ultrasound image transmission system |
CN103365782A (en) * | 2012-03-30 | 2013-10-23 | 上海申通地铁集团有限公司 | Memory management method |
CN103514261A (en) * | 2013-08-13 | 2014-01-15 | 江苏华大天益电力科技有限公司 | Data asynchronization storage and access mechanism applied to industrial control system |
CN103744621A (en) * | 2013-12-31 | 2014-04-23 | 深圳英飞拓科技股份有限公司 | Circular read-write method and device for buffer |
CN104461933A (en) * | 2014-11-07 | 2015-03-25 | 珠海全志科技股份有限公司 | Memory management method and device thereof |
CN105159604A (en) * | 2015-08-20 | 2015-12-16 | 浪潮(北京)电子信息产业有限公司 | Disk data read-write method and system |
CN105183665A (en) * | 2015-09-08 | 2015-12-23 | 福州瑞芯微电子股份有限公司 | Data-caching access method and data-caching controller |
CN105260378A (en) * | 2015-09-08 | 2016-01-20 | 上海上讯信息技术股份有限公司 | Database audit method and device |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10587286B1 (en) | Methods and devices for handling equiprobable symbols in entropy coding | |
CN106570018B (en) | Serialization and deserialization method, device and system and electronic equipment | |
EP0218073A2 (en) | Voice buffer management | |
US6725225B1 (en) | Data management apparatus and method for efficiently generating a blocked transposed file and converting that file using a stored compression method | |
KR102295161B1 (en) | Low Power Automatic Speech Recognition Device | |
CN111209228B (en) | Method for accelerating storage of multi-path on-board load file | |
US6348881B1 (en) | Efficient hardware implementation of a compression algorithm | |
US20210182722A1 (en) | Method and system for generating quantum bit control signal | |
US20060018556A1 (en) | Method, apparatus and system for data block rearrangement for LZ data compression | |
CN110764703A (en) | Method for reading and writing PCM data in real time based on array implementation | |
US8515976B2 (en) | Bit string data sorting apparatus, sorting method, and program | |
CN112652299B (en) | Quantification method and device of time series speech recognition deep learning model | |
CN113408704A (en) | Data processing method, device, equipment and computer readable storage medium | |
EP3133493B1 (en) | Tracing of exception handling events | |
US7058576B2 (en) | Method of calculating HMM output probability and speech recognition apparatus | |
US8555026B2 (en) | Methods and systems for storing variable width stack elements in a single memory stack | |
CN114935676B (en) | Digital circuit and method for preprocessing trigger data based on FPGA | |
EP0945795A1 (en) | Computer system having a multi-pointer branch instruction and method | |
CN108269596B (en) | Method and system for acquiring audio data | |
US20070244889A1 (en) | Byte string searching apparatus and searching method | |
Chang et al. | Systolic array architecture for the sequential stack decoding algorithm | |
CN115801019B (en) | Parallel acceleration LZ77 decoding method and device and electronic equipment | |
CN111651445B (en) | RFID data cleaning method based on lightweight event detection | |
CN112202846B (en) | Method and system for uploading file based on complex network architecture | |
US20240127819A1 (en) | Hardware efficient automatic speech recognition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |