CN112995237B - Method, device and equipment for processing video data stream and storage medium - Google Patents

Method, device and equipment for processing video data stream and storage medium Download PDF

Info

Publication number
CN112995237B
CN112995237B CN202110557170.XA CN202110557170A CN112995237B CN 112995237 B CN112995237 B CN 112995237B CN 202110557170 A CN202110557170 A CN 202110557170A CN 112995237 B CN112995237 B CN 112995237B
Authority
CN
China
Prior art keywords
data
packet
processing
coding
decoding
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.)
Active
Application number
CN202110557170.XA
Other languages
Chinese (zh)
Other versions
CN112995237A (en
Inventor
吴飞红
黄晓峰
王升堂
杨浩运
宋磊
贾惠柱
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Boya Hongtu Video Technology Co ltd
Original Assignee
Hangzhou Boya Hongtu Video Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Boya Hongtu Video Technology Co ltd filed Critical Hangzhou Boya Hongtu Video Technology Co ltd
Priority to CN202110557170.XA priority Critical patent/CN112995237B/en
Publication of CN112995237A publication Critical patent/CN112995237A/en
Application granted granted Critical
Publication of CN112995237B publication Critical patent/CN112995237B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

The present invention can provide a method, apparatus, device and storage medium for processing a video data stream. Wherein, the method for processing the video data stream may include but is not limited to at least one of the following steps: reading a video elementary stream, wherein the video elementary stream comprises a plurality of network abstraction layer units; dividing a network abstraction layer unit into first data packets, wherein each first data packet comprises a plurality of signal source symbols; taking a first preset number of first data packets as a packet group, and respectively acquiring a second preset number of signal source symbols from each first data packet in the packet group; and carrying out parallel coding processing on the signal source symbols of the second preset number to obtain a second data packet. The invention innovatively optimizes the coding and decoding processes in a comprehensive way through two aspects of parallel computing and data access optimizing ways so as to achieve the technical purposes of improving the coding and decoding processing speed and the like, and thus the invention fundamentally solves the problem of low coding and decoding speed.

Description

Method, device and equipment for processing video data stream and storage medium
Technical Field
The present invention relates to the field of video data processing technology, and more particularly, to a method, an apparatus, a device and a storage medium for processing a video data stream.
Background
With the continuous increase of data transmission speed, the application of encoding and decoding of video data streams is more and more extensive. However, due to the technical limitation of the existing coding and decoding scheme, the coding and decoding process still has the problem that the speed is too slow to meet the real-time performance. Although the speed of obtaining effective video data by a user can be improved by upgrading hardware equipment or pre-caching data in an indirect way, the methods increase the cost, and actually do not solve the problem existing in the existing coding and decoding technical scheme objectively.
Disclosure of Invention
In order to solve the problem of too low encoding and decoding speed in the prior art, the invention can provide a method, a device, equipment and a storage medium for processing video data streams, and can achieve the technical purposes of greatly improving the encoding and decoding processing speed and the like so as to solve at least one technical problem in the prior art.
To achieve the above technical object, the present invention can provide a method for processing a video data stream, which may include, but is not limited to, one or more of the following steps.
Reading a video elementary stream, wherein the video elementary stream comprises a plurality of network abstraction layer units.
And dividing the network abstraction layer unit into first data packets, wherein each first data packet comprises a plurality of signal source symbols.
The method comprises the steps of taking a first preset number of first data packets as a packet group, and respectively obtaining a second preset number of signal source symbols from each first data packet in the packet group.
And carrying out parallel coding processing on the signal source symbols of the second preset number to obtain a second data packet.
Further, the performing parallel encoding processing on the second preset number of signal source symbols to obtain a second data packet includes: and carrying out parallel coding processing on the signal source symbols in the first local memory to obtain a second data packet formed by coding.
The first local memory is used for loading the first data packet in batches.
The method further comprises the following steps: and writing the second data packet into a first system memory from the first local storage in a batch processing mode.
Further, the parallel encoding processing of the signal source symbols in the first local storage includes:
coding the signal source symbol according to a first preset lookup table preset in the first local memory; the first preset lookup table is stored in a static data area of the first local memory.
Further, the method further comprises:
receiving an anti-lost packet group formed based on the transmitted second data packets, wherein the anti-lost packet group comprises a third preset number of the second data packets.
And performing parallel decoding processing on the packet loss resistant group to obtain the first data packet.
Further, the performing parallel decoding processing on the packet loss prevention group to obtain the first data packet includes:
performing parallel decoding processing on the packet loss resistant group in a second local memory to obtain a first data packet formed by decoding; the second local memory is used for loading the anti-lost packet group in batches.
And writing the first data packet into a second system memory from the second local storage in a batch processing mode.
Further, the performing, in the second local storage, parallel decoding processing on the packet loss prevention group includes:
decoding the packet loss resistant group according to a second preset lookup table preset in the second local memory; and the second preset lookup table is stored in a static data area of a second local memory.
Further, the performing parallel decoding processing on the packet loss resistant group includes:
and allocating storage space for the intermediate data generated in the parallel decoding process in the second local storage in a storage space multiplexing mode.
To achieve the above technical objects, the present invention can also provide an apparatus for processing a video data stream, which may include, but is not limited to, a code stream reading module, a data dividing module, a data obtaining module, a data encoding module, and the like.
And the code stream reading module is used for reading a video basic code stream, and the video basic code stream comprises a plurality of network abstraction layer units.
And the data dividing module is used for dividing the network abstraction layer unit into first data packets, and each first data packet comprises a plurality of signal source symbols.
The data acquisition module is used for taking a first preset number of first data packets as a packet group and respectively acquiring a second preset number of signal source symbols from each first data packet in the packet group.
And the data coding module is used for carrying out parallel coding processing on the signal source symbols of the second preset number to obtain a second data packet.
To achieve the above technical object, the present invention can specifically provide a computer device, which comprises a memory and a processor, wherein the memory stores computer readable instructions, and the computer readable instructions, when executed by the processor, cause the processor to execute the steps of the method for processing a video data stream according to any one of the embodiments of the present invention.
To achieve the above technical object, the present invention can also specifically provide a storage medium storing computer readable instructions, which when executed by one or more processors, cause the one or more processors to perform the steps of the method for processing a video data stream as described in any one of the embodiments of the present invention.
The invention has the beneficial effects that: the invention can complete the encoding processing process and the decoding processing process in a parallel computing mode, and can greatly improve the computing efficiency. For example, when RS (N, k) is encoded, specifically RS (110, 55), the conventional method requires about 56440 clock cycles for one encoding; after parallel optimization processing is carried out by the method, the average encoding time is increased to about 1940 clock cycles, and 124156 clock cycles are required for a specific single instruction multiple data unit (namely 64 groups of calculation). It can be seen that the invention can greatly reduce the clock period required for encoding by parallel computing, and can correspondingly reduce the clock period required for decoding.
The invention can reasonably plan the DRAM space, write the data to be read into the DRAM in batch, and place the lookup table data required by encoding and decoding in the static data area of the DRAM so as to obviously reduce the data interaction times between the DRAM and the system memory, thereby avoiding the time consumption caused by the multiple data read-write delay of the DRAM and the system memory. Taking a DSP processor platform as an example, the invention can reduce the data interaction between the DSP DRAM and the system memory to the maximum extent, thereby further reducing the clock period required by coding.
In conclusion, the invention innovatively and comprehensively optimizes the encoding and decoding processes through two aspects of parallel computing and data access optimizing modes so as to achieve the technical purposes of improving the encoding and decoding processing speed and the like. Compared with the existing mode of upgrading hardware equipment, the invention fundamentally solves the problem of low coding and decoding speed.
Drawings
Fig. 1 shows a flow diagram of a method for processing a video data stream in one or more embodiments of the invention.
Fig. 2 is a flow chart illustrating the overall implementation of encoding, transmitting and decoding in one or more embodiments of the invention.
Fig. 3 shows a flow diagram of coding based on reed solomon in one or more embodiments of the invention.
FIG. 4 shows a flow diagram of a parallel encoding process performed in one or more embodiments of the invention.
Fig. 5 is a flow diagram illustrating decoding based on reed solomon in one or more embodiments of the invention.
Fig. 6 shows a schematic structural diagram of an apparatus for processing a video data stream according to one or more embodiments of the present invention.
Detailed Description
The method, apparatus, device and storage medium for processing video data stream according to the present invention will be explained and explained in detail with reference to the drawings.
As shown in fig. 1, and in conjunction with fig. 2 to 5, the present invention can provide a method for processing a video data stream, which can be implemented on heterogeneous chip platforms to increase encoding and decoding speeds. The heterogeneous chip according to the present invention is, for example, a Digital Signal Processor (DSP), and the processing method of the present invention includes, but is not limited to, a data encoding Process, a data transmission Process, and a data decoding Process as a whole.
First, data encoding process (Encoder):
as shown in fig. 1 to 4, the present invention can encode a video Elementary Stream (ES) by using an RS (Reed-Solomon) encoding method.
As shown in fig. 2, a video elementary stream is read, and the video elementary stream includes a plurality of Network Abstraction Layer Units (NALUs). The invention can divide the network abstraction layer Unit into the first data packet (packet) according to the Maximum Transmission Unit (MTU), namely, the size of one packet must be smaller than or equal to the size of one MTU; in the present invention, one packet does not span two NALUs, so one NALU may be fragmented into one or more first packets. In this embodiment, if the MTU size is 1500 Bytes, the packet is less than or equal to 1500 Bytes, and each first data packet shown in fig. 3 includes a plurality of Source symbols (Source Symbol, 1 Symbol = m Bytes).
The first data packets with the first preset number are taken as a packet group, and a second preset number of signal source symbols are respectively obtained from each first data packet in the packet group, where the first preset number is specifically k, and the second preset number may be 64, 128, 32, or the like, for example. In this embodiment, the generating the N-k check packet by using the k first data packets as a group (packet group) may specifically include: the second predetermined number is 64, and as shown in fig. 3 and 4, in this embodiment, 64 signal source symbols are extracted from the same positions of the k first data packets, respectively.
Compared with the mode of sequential cyclic calculation with lower efficiency, the method performs parallel coding processing on the second preset number of signal source symbols to obtain N second data packets after coding, and it can be seen that the efficiency is greatly improved through the parallel coding calculation mode, where N is less than or equal to 255 in this embodiment. The N second data packets include k original first data packets and N-k check packets (packets) generated by encoding. Specifically, as shown in fig. 3, in the present embodiment, N-k check symbols (Redundancy symbols) can be generated through RS (N, k) channel coding, and the generated N-k check symbols are respectively filled into the positions corresponding to the N-k check packets, so as to cyclically perform parallel coding until the coding of all the signal source symbols in all the first data packets is completed. In some embodiments of the present invention, the encoding computation process may be accelerated by using parallel computation instructions, specifically taking advantage of the characteristics of DSP parallel computation. As shown in fig. 3 and 4, 64 signal source symbols can be taken out from k Data packets each time to form one SIMD Unit (Single Instruction Multiple Data Unit), and the 64 signal source symbols with the same number operate the same in one encoding calculation.
In the embodiment of the invention, N, k parameter is settable, k is less than or equal to N is less than or equal to 2m-1, where m represents the number of bits for coding a symbol (symbol), and 4 is less than or equal to m is less than or equal to 8.
The method loads the data to be read into the DRAM in batches to the maximum extent, and then the method carries out parallel coding processing on the signal source symbols of the second preset number to obtain a second data packet, wherein the method comprises the following steps: the method specifically comprises the steps of carrying out parallel coding processing on a signal source symbol in a first local memory (DRAM) to obtain a second data packet formed by coding; it can be seen that the first local storage is used for loading the first data packets in batch, in this embodiment, the total data size of the first data packets is not greater than MTU × N =1500 × 255=382500 Bytes, and 382500 Bytes is smaller than DSP DRAM =521K Bytes, so all the first data packets can be loaded into the DRAM at one time, the generated data (second data packets) is stored in the DRAM first, and then the second data packets are written from the first local storage to the first system memory in a batch processing manner.
More specifically, the invention places the fixed and unchangeable data used in each coding calculation in the static data area of the DRAM, and the whole coding process is not changed. The fixed and unchangeable data comprise lookup tables such as an exponent table, a logarithm table and a generator polynomial table. The parallel encoding processing of the signal source symbols in the first local memory comprises: and carrying out coding processing on the signal source symbols according to a plurality of first preset lookup tables preset in a first local memory.
The first preset lookup table of some embodiments of the present invention is stored in the static data area of the first local memory, and the first preset lookup table may specifically include, but is not limited to, an exponent table, a logarithm table, and a generator polynomial table for encoding.
In the encoding process of one or more embodiments of the present invention, the SIMD parallel computation width is 64, so the space occupied by the SIMD Unit is 64 × 1500=96000 Bytes at most. Although the shift operation control structure body also needs to occupy a certain space, the accumulated space is smaller than the space of the DSP DRAM, so that the whole RS encoding process of one packet group can be directly carried out in the space of the DSP DRAM, and the data interaction with the system space is not needed in the intermediate process, thereby greatly reducing the time consumed by the memory data interaction.
It should be understood that the DRAM, i.e., the Data RAM, in one or more embodiments of the present invention is referred to collectively as a Data Random Access Memory, i.e., the local Memory in the present invention.
II, data transmission process (Transmit):
as shown in fig. 1, after encoding a video elementary stream, a second data packet obtained by an encoding method is transmitted, and specifically, N data packets obtained by encoding (including k original first data packets and N-k check packets generated by encoding) are sent out. In the primary encoding and decoding process, after the encoding end equipment encodes the data, the encoded data is transmitted to the decoding end equipment, and the decoding end equipment decodes the received data. It should be understood that both the encoding and decoding functions may be integrated on one codec device.
Third, data decoding process (Decoder):
as shown in fig. 1 and 5, an anti-loss packet group formed based on the transmitted second data packets is received, where the anti-loss packet group includes a third preset number of second data packets. In the present invention, the anti-lost packet group includes X valid data packets, that is, the third preset number is X in this embodiment, and the number of lost data packets to be recovered is N-X. Corresponding to the encoding mode, the invention can adopt an RS (Reed-Solomon) decoding mode to decode the received packet loss resisting group.
And performing parallel decoding processing on the anti-lost packet group to obtain a first data packet, thereby realizing recovery of the lost data packet, obtaining a required effective data packet, realizing recovery of the rest N-X lost data packets, and outputting all the effective data packets after decoding.
Some embodiments of the present invention load X valid data packets from an external system into a DSP DRAM, perform parallel decoding processing on a lost packet group to obtain a first data packet, including: parallel decoding processing is performed on the anti-lost packet group in the second local memory to obtain a first data packet formed by decoding. Specifically, the invention can respectively carry out shift operation on X effective data packets, obtain 64 m-bit symbols (symbols) from each data packet, and fill the symbols into the SIMD Unit; and then, performing parallel Reed Solomon decoding calculation on the data in the SIMD Unit, filling the recovered lost data into the corresponding position of the SIMD Unit, and finally performing shift operation to fill the data recovered in the SIMD Unit into the corresponding position of the lost data packet until all symbols (symbols) in the data packet are processed, namely, the decoding of an anti-loss packet group is completed.
The second local storage can be used for loading the anti-lost packet group in batches, and the first data packet can be written into the second system memory from the second local storage in a batch processing mode.
More specifically, the invention can place the exponent table, the logarithm table, the generator polynomial table and the like in the static data area of the DRAM in advance, and the whole process of decoding the packet loss resistant data stream does not change. Then, the remaining space of the DRAM at the decoding end is divided, the maximum occupied space of the original packet loss resistant group data and the packet data to be recovered can be 382500 Bytes as described above, the maximum occupied space of the SIMD Unit can be 96000 Bytes as described above, namely, the same encoding process is carried out, and the SIMD parallel computing width in the decoding process is also 64. The shift operation control structure and the lost data position record used in the decoding process of the invention occupy a small part of space.
The embodiment of decoding the exponent in the second local memory in parallel to the anti-lost packet group includes: decoding the packet loss resisting group according to a second preset lookup table preset in a second local memory; the second preset lookup table is stored in the static data area of the second local memory, and includes, but is not limited to, an exponent table, a logarithm table, and a generator polynomial table for decoding.
To solve the problem that more intermediate data generated during the decoding process may exceed the remaining space of the DRAM, some embodiments of the invention may further include: and distributing a storage space for intermediate data generated in the parallel decoding process in the second local storage in a storage space multiplexing mode so as to improve the utilization rate of the storage space of the DRAM and further reduce or even avoid a data interaction process between the DRAM and a system memory in the decoding process. For example, when data r generates data s and is not used, other data t and the like can be multiplexed into the DRAM space allocated to data r. Of course, on the basis of the scheme of the invention, the DRAM space usage can be flexibly adjusted according to the (N, k) parameters, because some intermediate data sizes are dynamically changed according to the RS parameters; under extreme conditions, the invention can flexibly arrange the intermediate data occupying larger space in the DRAM space or the system memory according to actual conditions so as to improve the reliability of the invention; in general parameter setting under the conventional condition, all intermediate data are set in the DRAM space, and the decoding speed is improved by reducing the data reading and writing delay.
It should be understood that when the number X of valid data packets is more than or equal to k, data decoding and lost data packet recovery can be normally realized; when X < k, the packet group repairs the exception.
In conclusion, the invention can accelerate the encoding and decoding through parallel computing and memory optimization. The invention can utilize the accelerated calculation characteristic of the DSP in the RS coding and decoding calculation process, adopts the built-in instruction of the DSP to realize parallel calculation, and improves the coding and decoding calculation efficiency. In the RS coding and decoding calculation process, the Data RAM (DRAM) space of the selected DSP can be reasonably planned, the Data interaction times between the DRAM and the system memory are reduced, the time consumption caused by multiple Data reading and writing delays is avoided, and the coding and decoding processing speed is greatly improved. Therefore, the invention can effectively overcome the problem that the conventional RS encoding and decoding anti-packet loss processing method has too low running speed on the multi-core heterogeneous platform.
As shown in fig. 6, one or more further embodiments of the present invention may provide an apparatus for processing a video data stream, specifically, a video data stream encoding apparatus for encoding a video data stream.
The device comprises but is not limited to a code stream reading module, a data dividing module, a data obtaining module and a data coding module.
The code stream reading module is used for reading a video basic code stream, and the video basic code stream can comprise a plurality of network abstraction layer units.
The data dividing module is used for dividing the network abstraction layer unit into first data packets, and each first data packet comprises a plurality of signal source symbols.
The data acquisition module is used for taking a first data packet with a first preset number as a packet group and respectively acquiring signal source symbols with a second preset number from each first data packet in the packet group.
And the data coding module is used for carrying out parallel coding processing on the signal source symbols of the second preset number to obtain a second data packet.
The data coding module is specifically used for carrying out parallel coding processing on the signal source symbols in the first local storage to obtain a second data packet formed by coding; the first local memory is used for loading the first data packets in batches. The data encoding module may be configured to write the second data packet from the first local storage to the first system memory in a batch process. More specifically, the data encoding module is configured to perform encoding processing on the signal source symbol according to a first preset lookup table preset in a first local memory; the first preset lookup table is stored in a static data area of the first local memory.
The present invention may also provide a video data stream decoding apparatus for encoding a video data stream, which may include, but is not limited to, a data receiving module and a data decoding module.
The data receiving module is used for receiving an anti-lost packet group formed on the basis of the transmitted second data packets, and the anti-lost packet group comprises a third preset number of second data packets.
The data decoding module can be used for performing parallel decoding processing on the anti-lost packet group to obtain a first data packet. The data decoding module is specifically used for performing parallel decoding processing on the lost packet group in the second local memory to obtain a first data packet formed by decoding; the second local memory is used for loading the anti-lost packet group in batches. The invention writes the first data packet into the second system memory from the second local memory in a batch processing mode. More specifically, the data decoding module may be configured to perform decoding processing on the anti-packet-loss packet according to a second preset lookup table preset in the second local memory; and the second preset lookup table is stored in the static data area of the second local memory. The data decoding module can also be used for allocating storage space for the intermediate data generated in the parallel decoding process in the second local storage in a storage space multiplexing mode.
It can be seen that the present invention can also provide an RS packet loss prevention system, which includes a video data stream encoding device for encoding a video data stream and a video data stream decoding device for encoding a video data stream.
Still further embodiments of the invention can provide a computer device comprising a memory and a processor, the memory having stored therein computer readable instructions which, when executed by the processor, cause the processor to perform the steps of the method for processing a video data stream according to any of the embodiments of the invention. The method for processing a video data stream according to the invention may comprise a data encoding process, a data transmission process and a data decoding process as a whole. Firstly, a data encoding process: reading a video basic code stream, wherein the video basic code stream comprises a plurality of network abstraction layer units; dividing a network abstraction layer unit into first data packets, wherein each first data packet comprises a plurality of signal source symbols; taking a first preset number of first data packets as a packet group, and respectively acquiring a second preset number of signal source symbols from each first data packet in the packet group; and carrying out parallel coding processing on the signal source symbols of the second preset number to obtain a second data packet. Wherein, performing parallel coding processing on the signal source symbols of the second preset number to obtain the second data packet comprises: carrying out parallel coding processing on the signal source symbols in a first local memory to obtain a second data packet formed by coding; the first local memory is used for loading the first data packets in batches; and writing the second data packet from the first local storage to the first system memory in a batch processing mode. More specifically, the parallel encoding processing of the signal source symbols in the first local memory comprises: coding the signal source symbol according to a first preset lookup table preset in a first local memory; the first preset lookup table is stored in a static data area of the first local memory. Secondly, data transmission process: and after the video basic code stream is coded, transmitting a second data packet obtained by the coding mode. Thirdly, data decoding process: receiving an anti-lost packet group formed on the basis of the transmitted second data packets, wherein the anti-lost packet group comprises a third preset number of second data packets; and performing parallel decoding processing on the anti-lost packet group to obtain a first data packet. The invention carries out parallel decoding processing on the lost packet group to obtain a first data packet, and comprises the following steps: performing parallel decoding processing on the anti-lost packet group in a second local memory to obtain a first data packet formed by decoding; the second local memory is used for loading the anti-lost packet group in batches; and writing the first data packet into the second system memory from the second local memory in a batch processing mode. More specifically, the parallel decoding processing of the anti-lost packet group in the second local memory includes: decoding the packet loss resisting group according to a second preset lookup table preset in a second local memory; and the second preset lookup table is stored in the static data area of the second local memory. Some embodiments of the invention provide parallel decoding processing of anti-lost packet groups comprising: and allocating storage space for the intermediate data generated in the parallel decoding process in the second local storage in a storage space multiplexing mode.
Further embodiments of the invention can also provide a storage medium having stored thereon computer-readable instructions which, when executed by one or more processors, cause the one or more processors to perform the steps of the method for processing a video data stream according to any of the embodiments of the invention. The method for processing a video data stream according to the invention may comprise a data encoding process, a data transmission process and a data decoding process as a whole. Firstly, a data encoding process: reading a video basic code stream, wherein the video basic code stream comprises a plurality of network abstraction layer units; dividing a network abstraction layer unit into first data packets, wherein each first data packet comprises a plurality of signal source symbols; taking a first preset number of first data packets as a packet group, and respectively acquiring a second preset number of signal source symbols from each first data packet in the packet group; and carrying out parallel coding processing on the signal source symbols of the second preset number to obtain a second data packet. Wherein, performing parallel coding processing on the signal source symbols of the second preset number to obtain the second data packet comprises: carrying out parallel coding processing on the signal source symbols in a first local memory to obtain a second data packet formed by coding; the first local memory is used for loading the first data packets in batches; and writing the second data packet from the first local storage to the first system memory in a batch processing mode. More specifically, the parallel encoding processing of the signal source symbols in the first local memory comprises: coding the signal source symbol according to a first preset lookup table preset in a first local memory; the first preset lookup table is stored in a static data area of the first local memory. Secondly, data transmission process: and after the video basic code stream is coded, transmitting a second data packet obtained by the coding mode. Thirdly, data decoding process: receiving an anti-lost packet group formed on the basis of the transmitted second data packets, wherein the anti-lost packet group comprises a third preset number of second data packets; and performing parallel decoding processing on the anti-lost packet group to obtain a first data packet. The invention carries out parallel decoding processing on the lost packet group to obtain a first data packet, and comprises the following steps: performing parallel decoding processing on the anti-lost packet group in a second local memory to obtain a first data packet formed by decoding; the second local memory is used for loading the anti-lost packet group in batches; and writing the first data packet into the second system memory from the second local memory in a batch processing mode. More specifically, the parallel decoding processing of the anti-lost packet group in the second local memory includes: decoding the packet loss resisting group according to a second preset lookup table preset in a second local memory; and the second preset lookup table is stored in the static data area of the second local memory. Some embodiments of the invention provide parallel decoding processing of anti-lost packet groups comprising: and allocating storage space for the intermediate data generated in the parallel decoding process in the second local storage in a storage space multiplexing mode.
The logic and/or steps represented in the flowcharts or otherwise described herein, such as an ordered listing of executable instructions that can be considered to implement logical functions, can be embodied in any computer-readable storage medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, processor-containing system, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. For the purposes of this description, a "computer-readable storage medium" can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection (electronic device) having one or more wires, a portable computer cartridge (magnetic device), a Random Access Memory (RAM), a Read-Only Memory (ROM), an Erasable Programmable Read-Only Memory (EPROM-Only Memory, or flash Memory), an optical fiber device, and a portable Compact Disc Read-Only Memory (CDROM). Additionally, the computer-readable storage medium may even be paper or another suitable medium upon which the program is printed, as the program can be electronically captured, via for instance optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner if necessary, and then stored in a computer memory.
It should be understood that portions of the present invention may be implemented in hardware, software, firmware, or a combination thereof. In the above embodiments, the various steps or methods may 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, any one or combination of the following techniques, which are known in the art, may be used: a discrete logic circuit having a logic Gate circuit for implementing a logic function on a data signal, an application specific integrated circuit having an appropriate combinational logic Gate circuit, a Programmable Gate Array (PGA), a Field Programmable Gate Array (FPGA), or the like.
In the description herein, references to the description of the term "the present embodiment," "one embodiment," "some embodiments," "an example," "a specific example," or "some examples," etc., mean that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the present invention. In this specification, the schematic representations of the terms used above are not necessarily intended to refer to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, various embodiments or examples and features of different embodiments or examples described in this specification can be combined and combined by one skilled in the art without contradiction.
Furthermore, the terms "first", "second" and "first" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one such feature. In the description of the present invention, "a plurality" means at least two, e.g., two, three, etc., unless specifically limited otherwise.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents and simplifications made in the spirit of the present invention are intended to be included in the scope of the present invention.

Claims (9)

1. A method for processing a video data stream, comprising:
reading a video basic code stream, wherein the video basic code stream comprises a plurality of network abstraction layer units;
dividing the network abstraction layer unit into first data packets, wherein each first data packet comprises a plurality of signal source symbols;
taking a first preset number of first data packets as a packet group, and respectively acquiring a second preset number of signal source symbols from each first data packet in the packet group;
performing parallel coding processing on the second preset number of signal source symbols to obtain a second data packet, including: carrying out parallel coding processing on the signal source symbols in a first local memory to obtain a second data packet formed by coding; the first local memory is used for loading the first data packets in batches;
the method further comprises the following steps: and writing the second data packet into a first system memory from the first local storage in a batch processing mode.
2. Method for processing a video data stream according to claim 1, wherein said parallel encoding processing of said source symbols in a first local memory comprises:
coding the signal source symbol according to a first preset lookup table preset in the first local memory; the first preset lookup table is stored in a static data area of the first local memory.
3. Method for processing a video data stream according to claim 1 or 2, characterized in that it further comprises:
receiving an anti-lost packet group formed based on the transmitted second data packets, wherein the anti-lost packet group comprises a third preset number of the second data packets;
and performing parallel decoding processing on the packet loss resistant group to obtain the first data packet.
4. The method of claim 3, wherein the performing parallel decoding processing on the packet loss tolerant group to obtain the first packet comprises:
performing parallel decoding processing on the packet loss resistant group in a second local memory to obtain a first data packet formed by decoding; the second local memory is used for loading the anti-lost packet group in batches;
and writing the first data packet into a second system memory from the second local storage in a batch processing mode.
5. The method for processing video data stream according to claim 4, wherein the parallel decoding processing of the packet loss resistant group in the second local memory comprises:
decoding the packet loss resistant group according to a second preset lookup table preset in the second local memory; and the second preset lookup table is stored in a static data area of a second local memory.
6. The method of claim 4, wherein the decoding the packet loss resilient group comprises:
and allocating storage space for the intermediate data generated in the parallel decoding process in the second local storage in a storage space multiplexing mode.
7. An apparatus for processing a video data stream, comprising:
the code stream reading module is used for reading a video basic code stream, and the video basic code stream comprises a plurality of network abstraction layer units;
the data dividing module is used for dividing the network abstraction layer unit into first data packets, and each first data packet comprises a plurality of signal source symbols;
the data acquisition module is used for taking a first preset number of first data packets as a packet group and respectively acquiring a second preset number of signal source symbols from each first data packet in the packet group;
the data coding module is used for carrying out parallel coding processing on the signal source symbols of the second preset number to obtain a second data packet; the data coding module is used for carrying out parallel coding processing on the signal source symbols in the first local storage to obtain a second data packet formed by coding; the first local memory is used for loading the first data packets in batches;
and the data encoding module is used for writing the second data packet into the first system memory from the first local memory in a batch processing mode.
8. Computer device, characterized in that it comprises a memory and a processor, in which are stored computer-readable instructions which, when executed by the processor, cause the processor to carry out the steps of the method for processing a video data stream according to any one of claims 1 to 6.
9. A storage medium having computer-readable instructions stored thereon, which, when executed by one or more processors, cause the one or more processors to perform the steps of the method for processing a video data stream as claimed in any one of claims 1 to 6.
CN202110557170.XA 2021-05-21 2021-05-21 Method, device and equipment for processing video data stream and storage medium Active CN112995237B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110557170.XA CN112995237B (en) 2021-05-21 2021-05-21 Method, device and equipment for processing video data stream and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110557170.XA CN112995237B (en) 2021-05-21 2021-05-21 Method, device and equipment for processing video data stream and storage medium

Publications (2)

Publication Number Publication Date
CN112995237A CN112995237A (en) 2021-06-18
CN112995237B true CN112995237B (en) 2021-10-08

Family

ID=76337126

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110557170.XA Active CN112995237B (en) 2021-05-21 2021-05-21 Method, device and equipment for processing video data stream and storage medium

Country Status (1)

Country Link
CN (1) CN112995237B (en)

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9584819B2 (en) * 2011-10-24 2017-02-28 Qualcomm Incorporated Grouping of tiles for video coding
SG11201404251QA (en) * 2012-01-20 2014-08-28 Fraunhofer Ges Forschung Coding concept allowing parallel processing, transport demultiplexer and video bitstream
WO2014003676A1 (en) * 2012-06-29 2014-01-03 Telefonaktiebolaget L M Ericsson (Publ) Apparatus and methods thereof for video processing
US9350781B2 (en) * 2013-05-31 2016-05-24 Qualcomm Incorporated Single network abstraction layer unit packets with decoding order number for video coding
MX358481B (en) * 2014-03-27 2018-08-22 Arris Entpr Llc Method and apparatus for encoding rate control in advanced coding schemes.
WO2017029400A1 (en) * 2015-08-20 2017-02-23 Koninklijke Kpn N.V. Forming one or more tile streams on the basis of one or more video streams
CN112703742B (en) * 2018-09-14 2023-03-31 华为技术有限公司 Block indication in video coding

Also Published As

Publication number Publication date
CN112995237A (en) 2021-06-18

Similar Documents

Publication Publication Date Title
US11705924B2 (en) Low-latency encoding using a bypass sub-stream and an entropy encoded sub-stream
US9594632B2 (en) Systems and methods for reliably storing data using liquid distributed storage
US7900118B2 (en) Flash memory system and method for controlling the same
US20160314039A1 (en) Advanced bitwise operations and apparatus in a multi-level system with nonvolatile memory
US20160011936A1 (en) Systems and methods for reliably storing data using liquid distributed storage
WO2008003094A2 (en) Efficient representation of symbol-based transformations with application to encoding and decoding of forward error correction codes
CN101076114A (en) Self-adaptive context binary arithmetic encoder and encoding method
US20160011935A1 (en) Systems and mehtods for reliably storing data using liquid distributed storage
CN111294059B (en) Encoding method, decoding method, error correction method and related devices
US8438167B2 (en) Method and device for recording media
KR20120096749A (en) Memory device and memory system
WO2021106514A1 (en) Controller and storage device
CN112596674A (en) Method and system for double protection of main control cache data of solid state disk
CN107801044B (en) Backward adaptive device and correlation technique
JP2020149195A (en) Memory system
KR20190111991A (en) Method and apparatus for processing rate matching of polar code
CN112995237B (en) Method, device and equipment for processing video data stream and storage medium
CN115016981B (en) Storage area setting method, data reading and writing method and related devices
US4922494A (en) Method of and circuit for decoding block-coded messages affected by symbol substitutions, insertions and deletions
CN107017962A (en) The coding method of dynamic power consumption control and codec
CN110299183B (en) In-line ECC module and implementation method thereof
CN112286449A (en) RS erasure processing equipment and distributed storage system
CN109391368B (en) Method for interleaving data and interleaver
US20190109603A1 (en) Accelerated Processing for Maximum Distance Separable Codes Using Composite Field Extensions
KR101167225B1 (en) Programmable signal and processing circuit and method of depuncturing

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
GR01 Patent grant
GR01 Patent grant
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A method, device, device and storage medium for processing video data stream

Effective date of registration: 20211221

Granted publication date: 20211008

Pledgee: Bank of Beijing Limited by Share Ltd. Hangzhou branch

Pledgor: Hangzhou Boya Hongtu Video Technology Co.,Ltd.

Registration number: Y2021330002587

PE01 Entry into force of the registration of the contract for pledge of patent right
PC01 Cancellation of the registration of the contract for pledge of patent right

Date of cancellation: 20231117

Granted publication date: 20211008

Pledgee: Bank of Beijing Limited by Share Ltd. Hangzhou branch

Pledgor: Hangzhou Boya Hongtu Video Technology Co.,Ltd.

Registration number: Y2021330002587

PC01 Cancellation of the registration of the contract for pledge of patent right
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A method, apparatus, device, and storage medium for processing video data streams

Effective date of registration: 20231123

Granted publication date: 20211008

Pledgee: Bank of Beijing Limited by Share Ltd. Hangzhou branch

Pledgor: Hangzhou Boya Hongtu Video Technology Co.,Ltd.

Registration number: Y2023330002763

PE01 Entry into force of the registration of the contract for pledge of patent right