WO2016110031A1 - Data flow decoding method and device - Google Patents

Data flow decoding method and device Download PDF

Info

Publication number
WO2016110031A1
WO2016110031A1 PCT/CN2015/078498 CN2015078498W WO2016110031A1 WO 2016110031 A1 WO2016110031 A1 WO 2016110031A1 CN 2015078498 W CN2015078498 W CN 2015078498W WO 2016110031 A1 WO2016110031 A1 WO 2016110031A1
Authority
WO
WIPO (PCT)
Prior art keywords
data stream
decoding
inverse
encoding
compressed data
Prior art date
Application number
PCT/CN2015/078498
Other languages
French (fr)
Chinese (zh)
Inventor
陈峻峰
Original Assignee
中兴通讯股份有限公司
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 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2016110031A1 publication Critical patent/WO2016110031A1/en

Links

Images

Classifications

    • 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

Definitions

  • the present invention relates to the field of communications, and in particular to a method and apparatus for decoding a data stream.
  • the invention relates to a high-speed JPEG image decoding device based on Field Programable Gate Array (FPGA), in particular to a codec technology in the field of image digital processing.
  • FPGA Field Programable Gate Array
  • JPEG Joint Photographic Experts Group
  • FPGA is a large-scale programmable logic device. Digital signal and image processing with FPGA can solve the problem of parallelism and speed. Its flexible configurability makes the system composed of FPGA easy to modify, test and upgrade. It is widely used in real-time image processing, radio communication and satellite navigation.
  • the decoding of JPEG is the inverse process of encoding.
  • the flow of JPEG decoding process is shown in Figure 1.
  • the Huffman decoding process determines that the decoding process can only be decoded one by one, because of the characteristics of huffman coding.
  • a code can't solve a code before, so this link becomes the key link that affects the speed of the whole algorithm. If it is not solved, the parallel processing capability of the FPGA cannot be fully utilized for algorithm acceleration.
  • the embodiments of the present invention provide a method and an apparatus for decoding a data stream, so as to at least solve the problem that the decoding speed can be reduced only by one serial decoding in the JPEG decoding process in the related art.
  • a method for decoding a data stream including: receiving a multi-channel compressed data stream, where the compressed data stream is a data stream adopting a first coding mode, and the first coding mode needs to be adopted.
  • Serial decoding mode for decoding for decoding; using multiple decoders to perform parallel decoding on the multiple compressed data streams, Obtaining a multi-channel decoded data stream; buffering the multi-channel decoded data stream; and performing subsequent decoding processing on the buffered multi-channel decoded data stream by using a polling manner.
  • Cacheing the multiplexed data stream includes: buffering the multiplexed data stream into a plurality of first input first output (FIFO) memories.
  • the method further includes: when the buffered data stream is buffered, performing a subsequent decoding process, where the method further includes: when the multiple compressed data stream is further encoded by using the second encoding mode, The multi-channel decoded data is inverse-coded by using an inverse coding method corresponding to the second coding mode to obtain an inverse coding result, and the inverse coding result is buffered into a FIFO memory.
  • the method After being buffered to the FIFO memory, the method further includes: performing inverse quantization processing, inverse discrete cosine transform DCT processing, and color space conversion processing on the inverse encoding result.
  • the first coding mode is a Huffman huffman coding mode
  • the second coding mode is a Z-word coding and a run-length coding.
  • the compressed data stream is a compressed data stream of a JPEG file.
  • a decoding apparatus for a data stream, comprising: a receiving module, configured to receive a compressed data stream, wherein the compressed data stream is a data stream adopting a first encoding mode, The first coding mode needs to be decoded by using a serial decoding mode; the first decoding module is configured to perform parallel decoding on the multiple compressed data streams by using multiple decoders to obtain a multi-channel decoded data stream; The second decoding module is configured to perform subsequent decoding processing on the buffered data stream after the buffering by using the polled data stream.
  • the cache module is further configured to buffer the multiplexed decoded data streams into a plurality of first-in first-out FIFO memories.
  • the second decoding module is further configured to perform, when the multiplexed compressed data stream is further encoded by using a second encoding manner, using the inverse encoding method corresponding to the second encoding mode to perform the multiplexed decoded data. Inverse encoding, the inverse encoding result is obtained, and the inverse encoding result is buffered into the FIFO memory.
  • the first coding mode is a Huffman huffman coding mode
  • the second coding mode is a Z-word coding and a run-length coding.
  • the embodiment of the present invention adopts a receiving multiple compressed data stream, wherein the compressed data stream is a data stream adopting a first encoding mode, and the first encoding mode needs to be decoded by using a serial decoding manner; and multiple decoders are used.
  • Parallel decoding of the multi-channel compressed data stream to obtain a multi-channel decoded data stream; buffering the multi-channel decoded data stream; and performing subsequent decoding on the buffered multi-channel decoded data stream by polling deal with.
  • the invention solves the problem that the decoding speed can be reduced by only one serial decoding in the JPEG decoding process in the related art, thereby achieving the effect of simplifying the circuit structure, saving FPGA resources and improving the decoding speed.
  • FIG. 2 is a flow chart of a method of decoding a data stream according to an embodiment of the present invention
  • FIG. 3 is a structural block diagram of a decoding apparatus for a data stream according to an embodiment of the present invention
  • FIG. 4 is a block diagram of a multi-channel compressed data stream processing structure in the related art
  • FIG. 5 is a block diagram showing a structure of a multiplexed compressed data stream according to an embodiment of the present invention.
  • FIG. 2 is a flowchart of a method for decoding a data stream according to an embodiment of the present invention. As shown in FIG. 2, the process includes the following steps:
  • Step S102 receiving a multiplexed compressed data stream, where the compressed data stream is a data stream adopting a first coding mode, and the first coding mode needs to be decoded by using a serial decoding manner;
  • Step S104 using multiple decoders to perform parallel decoding on the multiple compressed data streams to obtain a multi-channel decoded data stream
  • Step S106 buffering the multiplexed data stream
  • Step S108 performing subsequent decoding processing on the buffered multi-channel decoded data stream by using polling.
  • multiple decoders perform parallel decoding on the multi-channel compressed data stream, and perform subsequent decoding processing on the multi-channel decoded data stream by polling.
  • the decoding process can only be one string.
  • Row decoding unable to solve a code before the previous code is solved, the above steps solve the problem that the decoding speed can be reduced by only one serial decoding in the JPEG decoding process in the related art, thereby achieving a simplified circuit structure. Save FPGA resources and improve decoding speed.
  • the above step S106 involves buffering the multiplexed data stream.
  • the multiplexed data stream is buffered into a plurality of first-in first-out FIFO memories, thereby completing multi-channel decoding. After the cache processing of the data stream.
  • the process of encoding a multiplexed compressed data stream may involve encoding the multiplexed compressed data stream in a plurality of manners.
  • the multiplexed decoded data is inverse-coded using an inverse encoding method corresponding to the second encoding method to obtain an inverse encoding result, and the inverse encoding result is buffered into the FIFO memory.
  • the inverse encoding result is sequentially subjected to inverse quantization processing, inverse discrete cosine transform DCT processing, and color space conversion processing, thereby completing the multiplexed compressed data stream.
  • inverse quantization processing inverse discrete cosine transform DCT processing
  • color space conversion processing thereby completing the multiplexed compressed data stream.
  • the first coding mode is a Huffman huffman coding mode
  • the second coding mode is a Z-word coding and a run-length coding
  • the compressed data stream is a compressed data stream of a JPEG file.
  • a decoding device for the data stream is also provided.
  • the device is configured to implement the foregoing embodiments and preferred embodiments, and details are not described herein.
  • the term "module” may implement a combination of software and/or hardware of a predetermined function.
  • the apparatus described in the following embodiments is preferably implemented in software, hardware, or a combination of software and hardware, is also possible and contemplated.
  • FIG. 3 is a structural block diagram of a decoding apparatus for a data stream according to an embodiment of the present invention.
  • the apparatus includes: a receiving module 32 configured to receive a compressed data stream, wherein the compressed data stream is used In the data stream of the first coding mode, the first coding mode needs to be decoded by using a serial decoding mode; the first decoding module 34 is configured to perform parallel decoding on the multiple compressed data streams by using multiple decoders to obtain multi-channel decoding.
  • the cache module 36 is configured to cache the multiplexed data stream; the second decoding module 38 is configured to perform subsequent decoding processing on the buffered multiplexed data stream by using a polling manner. .
  • the cache module 36 is further configured to buffer the multiplexed data streams into a plurality of first-in first-out FIFO memories.
  • the second decoding module 38 is further configured to perform inverse encoding on the multiplexed decoded data by using an inverse encoding method corresponding to the second encoding mode when the multiplexed compressed data stream is further encoded by using the second encoding method.
  • the result is encoded and the inverse encoded result is buffered into the FIFO memory.
  • the first coding mode is a Huffman huffman coding mode
  • the second coding mode is a Z-word coding and a run-length coding.
  • each of the above modules may be implemented by software or hardware.
  • the foregoing may be implemented by, but not limited to, the foregoing modules are all located in the same processor; or, the above modules are respectively located.
  • the first processor, the second processor, and the third processor In the first processor, the second processor, and the third processor.
  • the optional embodiment provides a device for batch processing JPEG decoding by using FPGA. Compared with the conventional JPEG decoding device, the decoding speed is doubled under the premise of a slight increase in device complexity.
  • the FPGA parallel batch processing JPEG picture decoding device of the alternative embodiment is composed of the following parts: multiple parallel huffman decoders, several first input first output (FIFO) buffers, and one inverse Z-coded and inverse-stroke encoder, 1 inverse quantizer, 1 inverse (Discrete Cosine Transform, DCC for short) converter and 1 color space converter.
  • the first step multiple huffman decoders (6 to 8) respectively receive compressed data streams of multiple JPEG files independently, and independently perform huffman decoding.
  • the decoding result is placed in the corresponding FIFO of each channel.
  • Step 2 The inverse z-word encoding and the anti-stroke encoder poll the multi-channel FIFO from top to bottom, read out the first non-empty FIFO data polled for anti-z-word and anti-stroke decoding and put the result into The next level of FIFO.
  • the third step the inverse quantizer reads the data of the upper FIFO and searches for the corresponding quantization table according to the channel number in the data for inverse quantization.
  • the fourth step the inverse quantization result of the inverse quantization.
  • Step 5 Send the result of the inverse DCT transform to the color converter for color space conversion, and finally split the red and green (Red Green Blue) RGB data of each channel.
  • the focus of this alternative embodiment is on the multiplexing structure of the multiple parallel huffman decoders designed in the present apparatus.
  • FPGA It is a field programmable gate array. It has the characteristics of flexible architecture, logic unit, high integration and wide application range. It can be used to realize large-scale circuits and flexible programming. At present, the main manufacturers have xilinx, altera, lattice and so on.
  • the FPGA is internally organized by logic function blocks and connected by programmable interconnect resources.
  • Huffman Decoder Huffman Coding is an encoding method that compresses data efficiently and without loss. Widely used in file, image and video compression, huffman decoding is the inverse of encoding.
  • Anti-Z-word and anti-stroke encoder Z-word encoding and run-length encoding are also encoding methods, which is very helpful for the compression of image data.
  • Anti-Z-word encoding and anti-stroke encoding are their inverse processes, which are used in decoding.
  • Inverse Quantization is the inverse of quantization. Images need to be quantized during compression coding to ignore details that are insensitive to human eyes and reduce the amount of data.
  • Inverse DCT converter the inverse process of DCT transform, DCT transform is cosine transform, the image transforms the time domain signal into frequency domain signal by cosine transform in the process of compression, because the physiological characteristics of the human eye are insensitive to high frequency signals, so High frequency signals in the frequency domain can be ignored to achieve the purpose of compressing the amount of data.
  • RGB red, green, blue
  • YUV ie TV video or computer monitor video
  • FIG. 4 is a block diagram of a multi-channel compressed data stream processing structure in the related art.
  • the multiplexed JPEG picture code streams respectively pass through respective huffman decoders, inverse z-word inverse-stroke encoders, inverse quantizers, and inverse DCTs.
  • the converter and color space converter complete the decoded output.
  • This design structure does not fully utilize the processing speed asymmetry between the huffman decoder module and other modules.
  • the inverse z-word inverse-stroke encoder, inverse quantizer, inverse DCT converter and color space conversion are designed separately for each channel.
  • the resulting circuit is extremely complex, occupies a lot of resources, directly affects the circuit layout and working frequency, and is limited by FPGA resources, and the number of parallel paths is impossible.
  • This alternative embodiment makes full use of the fact that the huffman decoding speed is slow and the other modules are fast.
  • This asymmetry designates the parts other than the huffman decoding module into a multiplexing structure.
  • Multiple huffman decoders in the device perform huffman decoding independently, and the decoding results are placed in each respective FIFO.
  • Anti-Z character of the latter stage The encoder and the anti-stroke encoder poll each FIFO and process the data in each FIFO using a "first come, first served" strategy. Then, after the FIFO buffer, inverse quantizer inverse quantization, inverse DCT transform and color space converter conversion, the RGB data decoded by each picture is finally output.
  • FIG. 5 is a block diagram of a multi-channel compressed data stream processing structure according to an embodiment of the present invention. As shown in FIG. 5, multiple huffman encoders, FIFO buffers, inverse Z-word encoders, and inverse-stroke encoders are described in the present design. The connection relationship between the inverse quantizer, the inverse DCT converter, and the color space converter. Eight JPEG pictures are input simultaneously, and eight huffman decoders in the device independently perform huffman decoding. The speed of 8-channel decoding is unequal and unpredictable, and the huffman decoding result is placed in each FIFO.
  • the anti-Z-encoder and the anti-stroke encoder of the latter stage poll each FIFO, and use the "first come, first served" strategy to process the data in each FIFO. Then, after the FIFO buffer, inverse quantizer inverse quantization, inverse DCT transform and color space converter conversion, the RGB data decoded by each picture is finally output.
  • the present invention eliminates the speed bottleneck by adopting a multiplexed parallel processing method for the serial link in the JPEG decoding process, improves the overall decoding speed, and greatly speeds up the decoding speed of the batch JPEG picture.
  • the design of the present invention greatly simplifies the circuit structure by fully multiplexing certain unit modules, saves FPGA resources, and can achieve the effect of improving the working frequency.
  • a software is provided that is configured to perform the technical solutions described in the above embodiments and preferred embodiments.
  • a storage medium is further provided, wherein the software includes the above-mentioned software, including but not limited to: an optical disk, a floppy disk, a hard disk, an erasable memory, and the like.
  • modules or steps of the present invention described above can be implemented by a general-purpose computing device that can be centralized on a single computing device or distributed across a network of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device such that they may be stored in the storage device by the computing device and, in some cases, may be different from the order herein.
  • the steps shown or described are performed, or they are separately fabricated into individual integrated circuit modules, or a plurality of modules or steps thereof are fabricated as a single integrated circuit module.
  • the invention is not limited to any specific combination of hardware and software.
  • a method and an apparatus for decoding a data stream provided by an embodiment of the present invention have the following beneficial effects: solving the problem that the decoding speed can be reduced only by one serial decoding in the JPEG decoding process in the related art.
  • the circuit structure is simplified, the FPGA resources are saved, and the decoding speed is improved.

Abstract

Disclosed are a data flow decoding method and device. The method comprises: receiving multiple compressed data flows, the compressed data flows being data flows using a first coding mode, and the first coding mode needing a serial decoding mode for decoding; performing parallel decoding on the multiple compressed data flows by using multiple decoders, so as to obtain multiple decoded data flows; caching the multiple decoded data flows; and performing subsequent decoding processing on the multiple cached and decoded data flows by means of polling. The problem of low decoding speed because serial decoding must be performed one by one in the JPEG decoding process in the related art is solved, thereby achieving the effects of simplifying the circuit structure, saving FPGA resources and increasing the decoding speed.

Description

数据流的解码方法及装置Data stream decoding method and device 技术领域Technical field
本发明涉及通信领域,具体而言,涉及一种数据流的解码方法及装置。The present invention relates to the field of communications, and in particular to a method and apparatus for decoding a data stream.
背景技术Background technique
本发明涉及一种基于现场可编程门阵列(Field Programable Gate Array,简称为FPGA)的高速JPEG图像解码装置,尤其涉及图像数字处理领域的编解码技术。The invention relates to a high-speed JPEG image decoding device based on Field Programable Gate Array (FPGA), in particular to a codec technology in the field of image digital processing.
随着计算机和通信和多媒体技术的飞速发展,人们对图像数据的存储和传输的要求越来越高。这就要求在保证图像质量的前提下用较小的空间存储图像和用较低的码率传输图像,而这需要用图像压缩编码和解码技术来实现。联合图像专家小组(Joint Photographic Experts Group,简称为JPEG)标准具备图像质量好、编码效率高、计算复杂度适中因此得到广泛运用。With the rapid development of computers and communication and multimedia technologies, people are increasingly demanding the storage and transmission of image data. This requires that the image be stored in a smaller space and the image transmitted at a lower bit rate while maintaining image quality, which is achieved by image compression encoding and decoding techniques. The Joint Photographic Experts Group (JPEG) standard is widely used because of its good image quality, high coding efficiency, and moderate computational complexity.
FPGA是一种大规模可编程逻辑器件,用FPGA实现数字信号和图像处理可以很好地解决并行性和速度问题,其灵活的可配置特性使得FPGA构成的系统易于修改、测试和升级,因此在实时图像处理、无线电通讯和卫星导航中都得到广泛应用。FPGA is a large-scale programmable logic device. Digital signal and image processing with FPGA can solve the problem of parallelism and speed. Its flexible configurability makes the system composed of FPGA easy to modify, test and upgrade. It is widely used in real-time image processing, radio communication and satellite navigation.
JPEG的解码是编码的逆过程,JPEG解码过程的流程如附图1所示,其中的哈夫曼huffman解码环节因为huffman编码的特点决定其解码过程只能一个一个串行解码,在解出上一个码之前无法解下一个码,所以此环节成为影响整个算法速度的关键环节所在,如不解决则无法充分利用FPGA的并行处理能力进行算法加速。The decoding of JPEG is the inverse process of encoding. The flow of JPEG decoding process is shown in Figure 1. The Huffman decoding process determines that the decoding process can only be decoded one by one, because of the characteristics of huffman coding. A code can't solve a code before, so this link becomes the key link that affects the speed of the whole algorithm. If it is not solved, the parallel processing capability of the FPGA cannot be fully utilized for algorithm acceleration.
针对相关技术中,在JPEG解码过程中只能一个一个串行解码导致解码速度较低的问题,还未提出有效的解决方案。For the related art, only one serial decoding in the JPEG decoding process leads to a problem of low decoding speed, and an effective solution has not been proposed.
发明内容Summary of the invention
本发明实施例提供了一种数据流的解码方法及装置,以至少解决相关技术中在JPEG解码过程中只能一个一个串行解码导致解码速度较低的问题。The embodiments of the present invention provide a method and an apparatus for decoding a data stream, so as to at least solve the problem that the decoding speed can be reduced only by one serial decoding in the JPEG decoding process in the related art.
根据本发明的一个实施例,提供了一种数据流的解码方法,包括:接收多路压缩数据流,其中,压缩数据流为采用了第一编码方式的数据流,该第一编码方式需要采用串行解码方式进行解码;采用多个解码器分别对所述多路压缩数据流进行并行解码, 得到多路解码后的数据流;将所述多路解码后的数据流进行缓存;对缓存后的所述多路解码后的数据流采用轮询的方式进行后续解码处理。According to an embodiment of the present invention, a method for decoding a data stream is provided, including: receiving a multi-channel compressed data stream, where the compressed data stream is a data stream adopting a first coding mode, and the first coding mode needs to be adopted. Serial decoding mode for decoding; using multiple decoders to perform parallel decoding on the multiple compressed data streams, Obtaining a multi-channel decoded data stream; buffering the multi-channel decoded data stream; and performing subsequent decoding processing on the buffered multi-channel decoded data stream by using a polling manner.
将所述多路解码后的数据流进行缓存,包括:将所述多路解码后的数据流分别缓存至多个先入先出(First Input First Output,简称为FIFO)存储器中。Cacheing the multiplexed data stream includes: buffering the multiplexed data stream into a plurality of first input first output (FIFO) memories.
对缓存后的所述多路解码后的数据流采用轮询的方式进行后续解码处理过程中,所述方法还包括:在所述多路压缩数据流还采用了第二编码方式进行编码时,使用与该第二编码方式对应的反编码方式对所述多路解码后的数据进行反编码,得到反编码结果,并将所述反编码结果缓存至FIFO存储器中。The method further includes: when the buffered data stream is buffered, performing a subsequent decoding process, where the method further includes: when the multiple compressed data stream is further encoded by using the second encoding mode, The multi-channel decoded data is inverse-coded by using an inverse coding method corresponding to the second coding mode to obtain an inverse coding result, and the inverse coding result is buffered into a FIFO memory.
缓存至FIFO存储器之后还包括:对所述反编码结果依次进行反量化处理、反离散余弦变换DCT处理、色彩空间转换处理。After being buffered to the FIFO memory, the method further includes: performing inverse quantization processing, inverse discrete cosine transform DCT processing, and color space conversion processing on the inverse encoding result.
所述第一编码方式为哈夫曼huffman编码方式,所述第二编码方式为Z字编码和行程编码。The first coding mode is a Huffman huffman coding mode, and the second coding mode is a Z-word coding and a run-length coding.
所述压缩数据流为JPEG文件的压缩数据流。The compressed data stream is a compressed data stream of a JPEG file.
根据本发明的另一个实施例,还提供了一种数据流的解码装置,包括:接收模块,设置为接收多路压缩数据流,其中,压缩数据流为采用了第一编码方式的数据流,该第一编码方式需要采用串行解码方式进行解码;第一解码模块,设置为采用多个解码器分别对所述多路压缩数据流进行并行解码,得到多路解码后的数据流;缓存模块,设置为将所述多路解码后的数据流进行缓存;第二解码模块,设置为对缓存后的所述多路解码后的数据流采用轮询的方式进行后续解码处理。According to another embodiment of the present invention, there is further provided a decoding apparatus for a data stream, comprising: a receiving module, configured to receive a compressed data stream, wherein the compressed data stream is a data stream adopting a first encoding mode, The first coding mode needs to be decoded by using a serial decoding mode; the first decoding module is configured to perform parallel decoding on the multiple compressed data streams by using multiple decoders to obtain a multi-channel decoded data stream; The second decoding module is configured to perform subsequent decoding processing on the buffered data stream after the buffering by using the polled data stream.
所述缓存模块还设置为将所述多路解码后的数据流分别缓存至多个先入先出FIFO存储器中。The cache module is further configured to buffer the multiplexed decoded data streams into a plurality of first-in first-out FIFO memories.
所述第二解码模块还设置为在所述多路压缩数据流还采用了第二编码方式进行编码时,使用与该第二编码方式对应的反编码方式对所述多路解码后的数据进行反编码,得到反编码结果,并将所述反编码结果缓存至FIFO存储器中。The second decoding module is further configured to perform, when the multiplexed compressed data stream is further encoded by using a second encoding manner, using the inverse encoding method corresponding to the second encoding mode to perform the multiplexed decoded data. Inverse encoding, the inverse encoding result is obtained, and the inverse encoding result is buffered into the FIFO memory.
所述第一编码方式为哈夫曼huffman编码方式,所述第二编码方式为Z字编码和行程编码。The first coding mode is a Huffman huffman coding mode, and the second coding mode is a Z-word coding and a run-length coding.
通过本发明实施例,采用接收多路压缩数据流,其中,压缩数据流为采用了第一编码方式的数据流,第一编码方式需要采用串行解码方式进行解码;采用多个解码器 分别对多路压缩数据流进行并行解码,得到多路解码后的数据流;将多路解码后的数据流进行缓存;对缓存后的多路解码后的数据流采用轮询的方式进行后续解码处理。解决了相关技术中在JPEG解码过程中只能一个一个串行解码导致解码速度较低的问题,进而达到了简化电路结构,节省FPGA资源,提高解码速度的效果。The embodiment of the present invention adopts a receiving multiple compressed data stream, wherein the compressed data stream is a data stream adopting a first encoding mode, and the first encoding mode needs to be decoded by using a serial decoding manner; and multiple decoders are used. Parallel decoding of the multi-channel compressed data stream to obtain a multi-channel decoded data stream; buffering the multi-channel decoded data stream; and performing subsequent decoding on the buffered multi-channel decoded data stream by polling deal with. The invention solves the problem that the decoding speed can be reduced by only one serial decoding in the JPEG decoding process in the related art, thereby achieving the effect of simplifying the circuit structure, saving FPGA resources and improving the decoding speed.
附图说明DRAWINGS
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:The drawings described herein are intended to provide a further understanding of the invention, and are intended to be a part of the invention. In the drawing:
图1是相关技术中JPEG图像解码流程图;1 is a flowchart of JPEG image decoding in the related art;
图2是根据本发明实施例的数据流的解码方法的流程图;2 is a flow chart of a method of decoding a data stream according to an embodiment of the present invention;
图3是根据本发明实施例的数据流的解码装置的结构框图;FIG. 3 is a structural block diagram of a decoding apparatus for a data stream according to an embodiment of the present invention; FIG.
图4是相关技术中多路压缩数据流处理结构框图;4 is a block diagram of a multi-channel compressed data stream processing structure in the related art;
图5是根据本发明实施例的多路压缩数据流处理结构框图。FIG. 5 is a block diagram showing a structure of a multiplexed compressed data stream according to an embodiment of the present invention.
具体实施方式detailed description
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。The invention will be described in detail below with reference to the drawings in conjunction with the embodiments. It should be noted that the embodiments in the present application and the features in the embodiments may be combined with each other without conflict.
在本实施例中提供了一种数据流的解码方法,图2是根据本发明实施例的数据流的解码方法的流程图,如图2所示,该流程包括如下步骤:In this embodiment, a method for decoding a data stream is provided. FIG. 2 is a flowchart of a method for decoding a data stream according to an embodiment of the present invention. As shown in FIG. 2, the process includes the following steps:
步骤S102,接收多路压缩数据流,其中,压缩数据流为采用了第一编码方式的数据流,第一编码方式需要采用串行解码方式进行解码;Step S102, receiving a multiplexed compressed data stream, where the compressed data stream is a data stream adopting a first coding mode, and the first coding mode needs to be decoded by using a serial decoding manner;
步骤S104,采用多个解码器分别对多路压缩数据流进行并行解码,得到多路解码后的数据流;Step S104, using multiple decoders to perform parallel decoding on the multiple compressed data streams to obtain a multi-channel decoded data stream;
步骤S106,将多路解码后的数据流进行缓存;Step S106, buffering the multiplexed data stream;
步骤S108,对缓存后的多路解码后的数据流采用轮询的方式进行后续解码处理。 Step S108, performing subsequent decoding processing on the buffered multi-channel decoded data stream by using polling.
通过上述步骤,多个解码器对多路压缩数据流进行并行解码,对多路解码后的数据流采用轮询的方式进行后续解码处理,相比于相关技术中,解码过程只能一个一个串行解码,在解出上一个码之前无法解下一个码,上述步骤解决了相关技术中在JPEG解码过程中只能一个一个串行解码导致解码速度较低的问题,进而达到了简化电路结构,节省FPGA资源,提高解码速度的效果。Through the above steps, multiple decoders perform parallel decoding on the multi-channel compressed data stream, and perform subsequent decoding processing on the multi-channel decoded data stream by polling. Compared with the related art, the decoding process can only be one string. Row decoding, unable to solve a code before the previous code is solved, the above steps solve the problem that the decoding speed can be reduced by only one serial decoding in the JPEG decoding process in the related art, thereby achieving a simplified circuit structure. Save FPGA resources and improve decoding speed.
上述步骤S106涉及到将多路解码后的数据流进行缓存,在一个可选实施例中,将多路解码后的数据流分别缓存至多个先入先出FIFO存储器中,从而完成了对多路解码后的数据流的缓存处理。The above step S106 involves buffering the multiplexed data stream. In an optional embodiment, the multiplexed data stream is buffered into a plurality of first-in first-out FIFO memories, thereby completing multi-channel decoding. After the cache processing of the data stream.
多路压缩数据流进行编码的过程可能涉及到采用多种方式对多路压缩数据流进行编码,在一个可选实施例中,在对多路压缩数据流进行了第一编码方式之后,还采用了第二编码方式进行编码时,使用与第二编码方式对应的反编码方式对多路解码后的数据进行反编码,得到反编码结果,并将反编码结果缓存至FIFO存储器中。The process of encoding a multiplexed compressed data stream may involve encoding the multiplexed compressed data stream in a plurality of manners. In an alternative embodiment, after the first encoding of the multiplexed compressed data stream, When the second encoding method performs encoding, the multiplexed decoded data is inverse-coded using an inverse encoding method corresponding to the second encoding method to obtain an inverse encoding result, and the inverse encoding result is buffered into the FIFO memory.
再对多路压缩数据流进行反编码之后,在一个可选实施例中,对反编码结果依次进行反量化处理、反离散余弦变换DCT处理、色彩空间转换处理,从而对多路压缩数据流完成了最终的解码。After performing inverse encoding on the multiplexed compressed data stream, in an optional embodiment, the inverse encoding result is sequentially subjected to inverse quantization processing, inverse discrete cosine transform DCT processing, and color space conversion processing, thereby completing the multiplexed compressed data stream. The final decoding.
在一个可选实施例中,第一编码方式为哈夫曼huffman编码方式,第二编码方式为Z字编码和行程编码。In an optional embodiment, the first coding mode is a Huffman huffman coding mode, and the second coding mode is a Z-word coding and a run-length coding.
在一个可选实施例中,压缩数据流为JPEG文件的压缩数据流。In an alternative embodiment, the compressed data stream is a compressed data stream of a JPEG file.
在本实施例中还提供了一种数据流的解码装置,该装置设置为实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。In the embodiment, a decoding device for the data stream is also provided. The device is configured to implement the foregoing embodiments and preferred embodiments, and details are not described herein. As used below, the term "module" may implement a combination of software and/or hardware of a predetermined function. Although the apparatus described in the following embodiments is preferably implemented in software, hardware, or a combination of software and hardware, is also possible and contemplated.
图3是根据本发明实施例的数据流的解码装置的结构框图,如图3所所示,该装置包括:接收模块32,设置为接收多路压缩数据流,其中,压缩数据流为采用了第一编码方式的数据流,第一编码方式需要采用串行解码方式进行解码;第一解码模块34,设置为采用多个解码器分别对该多路压缩数据流进行并行解码,得到多路解码后的数据流;缓存模块36,设置为将多路解码后的数据流进行缓存;第二解码模块38,设置为对缓存后的多路解码后的数据流采用轮询的方式进行后续解码处理。 FIG. 3 is a structural block diagram of a decoding apparatus for a data stream according to an embodiment of the present invention. As shown in FIG. 3, the apparatus includes: a receiving module 32 configured to receive a compressed data stream, wherein the compressed data stream is used In the data stream of the first coding mode, the first coding mode needs to be decoded by using a serial decoding mode; the first decoding module 34 is configured to perform parallel decoding on the multiple compressed data streams by using multiple decoders to obtain multi-channel decoding. After the data stream, the cache module 36 is configured to cache the multiplexed data stream; the second decoding module 38 is configured to perform subsequent decoding processing on the buffered multiplexed data stream by using a polling manner. .
缓存模块36还设置为将多路解码后的数据流分别缓存至多个先入先出FIFO存储器中。The cache module 36 is further configured to buffer the multiplexed data streams into a plurality of first-in first-out FIFO memories.
第二解码模块38还设置为在多路压缩数据流还采用了第二编码方式进行编码时,使用与第二编码方式对应的反编码方式对该多路解码后的数据进行反编码,得到反编码结果,并将反编码结果缓存至FIFO存储器中。The second decoding module 38 is further configured to perform inverse encoding on the multiplexed decoded data by using an inverse encoding method corresponding to the second encoding mode when the multiplexed compressed data stream is further encoded by using the second encoding method. The result is encoded and the inverse encoded result is buffered into the FIFO memory.
第一编码方式为哈夫曼huffman编码方式,第二编码方式为Z字编码和行程编码。The first coding mode is a Huffman huffman coding mode, and the second coding mode is a Z-word coding and a run-length coding.
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述各个模块均位于同一处理器中;或者,上述各个模块分别位于第一处理器、第二处理器和第三处理器…中。It should be noted that each of the above modules may be implemented by software or hardware. For the latter, the foregoing may be implemented by, but not limited to, the foregoing modules are all located in the same processor; or, the above modules are respectively located. In the first processor, the second processor, and the third processor.
针对相关技术中存在的上述问题,下面结合可选实施例进行说明,在本可选实施例中结合了上述可选实施例及其可选实施方式。For the above-mentioned problems existing in the related art, the following description will be made in conjunction with an alternative embodiment in which the above-described optional embodiments and alternative embodiments thereof are combined.
本可选实施例提供了一种用FPGA并行批量处理JPEG解码的装置,相对传统的JPEG解码装置在装置复杂度略增的前提下解码速度得到成倍加快。The optional embodiment provides a device for batch processing JPEG decoding by using FPGA. Compared with the conventional JPEG decoding device, the decoding speed is doubled under the premise of a slight increase in device complexity.
本可选实施例的FPGA并行批量处理JPEG图片解码的装置由以下几部分组成:多个并行的huffman解码器、若干个先入先出(First Input First Output,简称为FIFO)缓冲器、1个反Z字编码和反行程编码器、1个反量化器、1个反(Discrete Cosine Transform,简称为DCT)变换器和1个色彩空间转换器。The FPGA parallel batch processing JPEG picture decoding device of the alternative embodiment is composed of the following parts: multiple parallel huffman decoders, several first input first output (FIFO) buffers, and one inverse Z-coded and inverse-stroke encoder, 1 inverse quantizer, 1 inverse (Discrete Cosine Transform, DCC for short) converter and 1 color space converter.
本可选实施例的实现方案包括如下步骤:The implementation of this alternative embodiment includes the following steps:
第一步:多个huffman解码器(6至8个)分别独立接收多个JPEG文件的压缩数据流,并独立进行huffman解码。解码结果放在各路相应的FIFO中。The first step: multiple huffman decoders (6 to 8) respectively receive compressed data streams of multiple JPEG files independently, and independently perform huffman decoding. The decoding result is placed in the corresponding FIFO of each channel.
第二步:反z字编码和反行程编码器自上而下轮询多路FIFO,读出轮询到的第一个非空的FIFO数据进行反z字和反行程解码并将结果放入下一级FIFO中。Step 2: The inverse z-word encoding and the anti-stroke encoder poll the multi-channel FIFO from top to bottom, read out the first non-empty FIFO data polled for anti-z-word and anti-stroke decoding and put the result into The next level of FIFO.
第三步:反量化器读出上级FIFO的数据并根据数据中带的通道号查找对应的量化表进行反量化。The third step: the inverse quantizer reads the data of the upper FIFO and searches for the corresponding quantization table according to the channel number in the data for inverse quantization.
第四步:将反量化的结果进行反DCT变换。The fourth step: the inverse quantization result of the inverse quantization.
第五步:将反DCT变换的结果送给色彩变换器进行色彩空间转换,最后分路输出每路的红绿蓝(Red Green Blue,)RGB数据。 Step 5: Send the result of the inverse DCT transform to the color converter for color space conversion, and finally split the red and green (Red Green Blue) RGB data of each channel.
本可选实施例的重点在于本装置中设计的多路并行huffman解码器的多路复用结构。The focus of this alternative embodiment is on the multiplexing structure of the multiple parallel huffman decoders designed in the present apparatus.
关于本科选实施例的术语解释:Interpretation of terms for selected undergraduate embodiments:
FPGA:即现场可编程门阵列,具有体系结构和逻辑单元灵活、集成度高以及适用范围广的特点,可用于实现较大规模电路,编程灵活方便。目前主要生产厂家有xilinx、altera、lattice等。FPGA内部由逻辑功能块排成阵列,并由可编程的互连资源连接这些逻辑功能块。FPGA: It is a field programmable gate array. It has the characteristics of flexible architecture, logic unit, high integration and wide application range. It can be used to realize large-scale circuits and flexible programming. At present, the main manufacturers have xilinx, altera, lattice and so on. The FPGA is internally organized by logic function blocks and connected by programmable interconnect resources.
huffman解码器:哈夫曼编码(Huffman Coding)是一种编码方式,能有效并且无损地压缩数据。在文件、图像和视频压缩中都有广泛应用,huffman解码就是编码的逆过程。Huffman Decoder: Huffman Coding is an encoding method that compresses data efficiently and without loss. Widely used in file, image and video compression, huffman decoding is the inverse of encoding.
反Z字和反行程编码器:Z字编码和行程编码也都是编码方式,对图像数据的压缩非常有帮助,反Z字编码和反行程编码是它们的逆过程,在解码中得到使用。Anti-Z-word and anti-stroke encoder: Z-word encoding and run-length encoding are also encoding methods, which is very helpful for the compression of image data. Anti-Z-word encoding and anti-stroke encoding are their inverse processes, which are used in decoding.
反量化器:反量化是量化的逆过程,图像在压缩编码过程中需要量化,以忽略人眼不敏感的细节,减少数据量。Inverse Quantizer: Inverse quantization is the inverse of quantization. Images need to be quantized during compression coding to ignore details that are insensitive to human eyes and reduce the amount of data.
反DCT变换器:DCT变换的逆过程,DCT变换即余弦变换,图像在压缩过程中通过余弦变换将时域信号转换成频域信号,因为人眼的生理特征是对高频信号不敏感,所以频域内的高频信号可以忽略,以达到压缩数据量的目的。Inverse DCT converter: the inverse process of DCT transform, DCT transform is cosine transform, the image transforms the time domain signal into frequency domain signal by cosine transform in the process of compression, because the physiological characteristics of the human eye are insensitive to high frequency signals, so High frequency signals in the frequency domain can be ignored to achieve the purpose of compressing the amount of data.
色彩空间转换器:一般图片是RGB(即红、绿、蓝三色)格式的,这种格式并不适合压缩,需要转成YUV(即电视视频或者电脑显示器视频)格式才适合压缩。Color space converter: The general picture is RGB (ie red, green, blue) format, this format is not suitable for compression, you need to convert to YUV (ie TV video or computer monitor video) format is suitable for compression.
图4是相关技术中多路压缩数据流处理结构框图,如图4所示,多路的JPEG图片码流分别经过各自的huffman解码器、反z字反行程编码器、反量化器、反DCT变换器和色彩空间转化器完成解码输出。这种设计结构没有充分利用huffman解码器模块和其它模块之间处理速度的不对称性,对每一路都单独设计了反z字反行程编码器、反量化器、反DCT变换器和色彩空间转化器,导致整个电路异常复杂,占用资源极多,直接影响电路布局布线和工作频率,并且受FPGA资源限制,其并行的路数不可能很多。4 is a block diagram of a multi-channel compressed data stream processing structure in the related art. As shown in FIG. 4, the multiplexed JPEG picture code streams respectively pass through respective huffman decoders, inverse z-word inverse-stroke encoders, inverse quantizers, and inverse DCTs. The converter and color space converter complete the decoded output. This design structure does not fully utilize the processing speed asymmetry between the huffman decoder module and other modules. The inverse z-word inverse-stroke encoder, inverse quantizer, inverse DCT converter and color space conversion are designed separately for each channel. The resulting circuit is extremely complex, occupies a lot of resources, directly affects the circuit layout and working frequency, and is limited by FPGA resources, and the number of parallel paths is impossible.
本可选实施例充分利用了huffman解码速度慢而其它模块处理速度快这个不对称性将除huffman解码模块以外的部分都设计成多路复用结构。装置内多个huffman解码器分别独立进行huffman解码,解码结果放在每路各自的FIFO中。后级的反Z字 编码器和反行程编码器轮询各路FIFO,采用“先来先服务”的策略处理各路FIFO中的数据。然后经过再次FIFO缓存、反量化器反量化、反DCT变换和色彩空间转换器转换,最后输出各路图片解码后的RGB数据。相比图4电路结构得到大规模简化。This alternative embodiment makes full use of the fact that the huffman decoding speed is slow and the other modules are fast. This asymmetry designates the parts other than the huffman decoding module into a multiplexing structure. Multiple huffman decoders in the device perform huffman decoding independently, and the decoding results are placed in each respective FIFO. Anti-Z character of the latter stage The encoder and the anti-stroke encoder poll each FIFO and process the data in each FIFO using a "first come, first served" strategy. Then, after the FIFO buffer, inverse quantizer inverse quantization, inverse DCT transform and color space converter conversion, the RGB data decoded by each picture is finally output. Compared to the circuit structure of Figure 4, it is greatly simplified.
图5是根据本发明实施例的多路压缩数据流处理结构框图,如图5所示,描述了本设计中多个huffman编码器、FIFO缓冲器、反Z字编码器、反行程编码器、反量化器、反DCT变换器和色彩空间转化器之间的连接关系。8张JPEG图片同时输入装置,装置内的8个huffman解码器分别独立进行huffman解码,8路解码的速度是不均等且无法预测的,huffman解码结果放在每路各自的FIFO中。后级的反Z字编码器和反行程编码器轮询各路FIFO,采用“先来先服务”的策略处理各路FIFO中的数据。然后经过再次FIFO缓存、反量化器反量化、反DCT变换和色彩空间转换器转换,最后输出各路图片解码后的RGB数据。5 is a block diagram of a multi-channel compressed data stream processing structure according to an embodiment of the present invention. As shown in FIG. 5, multiple huffman encoders, FIFO buffers, inverse Z-word encoders, and inverse-stroke encoders are described in the present design. The connection relationship between the inverse quantizer, the inverse DCT converter, and the color space converter. Eight JPEG pictures are input simultaneously, and eight huffman decoders in the device independently perform huffman decoding. The speed of 8-channel decoding is unequal and unpredictable, and the huffman decoding result is placed in each FIFO. The anti-Z-encoder and the anti-stroke encoder of the latter stage poll each FIFO, and use the "first come, first served" strategy to process the data in each FIFO. Then, after the FIFO buffer, inverse quantizer inverse quantization, inverse DCT transform and color space converter conversion, the RGB data decoded by each picture is finally output.
综上所述,本发明通过对JPEG解码过程中串行环节采取多路复用的并行处理方法,消除了速度瓶颈,提高了总体解码速度,大大加快了批量JPEG图片的解码速度。相比普通的多路处理结构,本发明的设计通过充分复用某些单元模块大大简化了电路结构,节约了FPGA资源,同时能达到提高工作频率的效果。In summary, the present invention eliminates the speed bottleneck by adopting a multiplexed parallel processing method for the serial link in the JPEG decoding process, improves the overall decoding speed, and greatly speeds up the decoding speed of the batch JPEG picture. Compared with the conventional multi-processing structure, the design of the present invention greatly simplifies the circuit structure by fully multiplexing certain unit modules, saves FPGA resources, and can achieve the effect of improving the working frequency.
在另外一个实施例中,还提供了一种软件,该软件设置为执行上述实施例及优选实施方式中描述的技术方案。In another embodiment, a software is provided that is configured to perform the technical solutions described in the above embodiments and preferred embodiments.
在另外一个实施例中,还提供了一种存储介质,该存储介质中存储有上述软件,该存储介质包括但不限于:光盘、软盘、硬盘、可擦写存储器等。In another embodiment, a storage medium is further provided, wherein the software includes the above-mentioned software, including but not limited to: an optical disk, a floppy disk, a hard disk, an erasable memory, and the like.
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。It will be apparent to those skilled in the art that the various modules or steps of the present invention described above can be implemented by a general-purpose computing device that can be centralized on a single computing device or distributed across a network of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device such that they may be stored in the storage device by the computing device and, in some cases, may be different from the order herein. The steps shown or described are performed, or they are separately fabricated into individual integrated circuit modules, or a plurality of modules or steps thereof are fabricated as a single integrated circuit module. Thus, the invention is not limited to any specific combination of hardware and software.
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。 The above description is only the preferred embodiment of the present invention, and is not intended to limit the present invention, and various modifications and changes can be made to the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and scope of the present invention are intended to be included within the scope of the present invention.
工业实用性Industrial applicability
如上所述,本发明实施例提供的一种数据流的解码方法及装置,具有以下有益效果:解决了相关技术中在JPEG解码过程中只能一个一个串行解码导致解码速度较低的问题,进而达到了简化电路结构,节省FPGA资源,提高解码速度的效果。 As described above, a method and an apparatus for decoding a data stream provided by an embodiment of the present invention have the following beneficial effects: solving the problem that the decoding speed can be reduced only by one serial decoding in the JPEG decoding process in the related art. In turn, the circuit structure is simplified, the FPGA resources are saved, and the decoding speed is improved.

Claims (10)

  1. 一种数据流的解码方法,包括:A method for decoding a data stream, comprising:
    接收多路压缩数据流,其中,压缩数据流为采用了第一编码方式的数据流,该第一编码方式需要采用串行解码方式进行解码;Receiving a multi-channel compressed data stream, wherein the compressed data stream is a data stream adopting a first coding mode, and the first coding mode needs to be decoded by using a serial decoding manner;
    采用多个解码器分别对所述多路压缩数据流进行并行解码,得到多路解码后的数据流;Parallel decoding the multiple compressed data streams by using multiple decoders to obtain a multi-channel decoded data stream;
    将所述多路解码后的数据流进行缓存;Cache the multi-channel decoded data stream;
    对缓存后的所述多路解码后的数据流采用轮询的方式进行后续解码处理。The buffered multiplexed data stream is subjected to subsequent decoding processing by means of polling.
  2. 根据权利要求1所述的方法,其中,将所述多路解码后的数据流进行缓存,包括:The method of claim 1, wherein the buffering the multi-channel decoded data stream comprises:
    将所述多路解码后的数据流分别缓存至多个先入先出FIFO存储器中。The multiplexed decoded data streams are respectively buffered into a plurality of first-in first-out FIFO memories.
  3. 根据权利要求1所述的方法,其中,对缓存后的所述多路解码后的数据流采用轮询的方式进行后续解码处理过程中,所述方法还包括:The method according to claim 1, wherein the buffering of the multiplexed data stream is performed in a subsequent manner in a polling manner, the method further comprising:
    在所述多路压缩数据流还采用了第二编码方式进行编码时,使用与该第二编码方式对应的反编码方式对所述多路解码后的数据进行反编码,得到反编码结果,并将所述反编码结果缓存至FIFO存储器中。When the multiplexed compressed data stream is further encoded by using the second coding mode, the multiplexed decoded data is inverse-coded by using an inverse coding method corresponding to the second coding mode to obtain an inverse coding result, and The inverse encoding result is buffered into the FIFO memory.
  4. 根据权利要求3所述的方法,其中,缓存至FIFO存储器之后还包括:The method of claim 3, wherein the buffering to the FIFO memory further comprises:
    对所述反编码结果依次进行反量化处理、反离散余弦变换DCT处理、色彩空间转换处理。The inverse coding result is sequentially subjected to inverse quantization processing, inverse discrete cosine transform DCT processing, and color space conversion processing.
  5. 根据权利要求3所述的方法,其中,所述第一编码方式为哈夫曼huffman编码方式,所述第二编码方式为Z字编码和行程编码。The method according to claim 3, wherein said first encoding mode is a Huffman huffman encoding mode, and said second encoding mode is Z-word encoding and run length encoding.
  6. 根据权利要求1至5中任一项所述的方法,其中,所述压缩数据流为JPEG文件的压缩数据流。The method of any of claims 1 to 5, wherein the compressed data stream is a compressed data stream of a JPEG file.
  7. 一种数据流的解码装置,包括:A decoding device for a data stream, comprising:
    接收模块,设置为接收多路压缩数据流,其中,压缩数据流为采用了第一编码方式的数据流,该第一编码方式需要采用串行解码方式进行解码; The receiving module is configured to receive the multiplexed compressed data stream, where the compressed data stream is a data stream that adopts the first encoding mode, and the first encoding mode needs to be decoded by using a serial decoding manner;
    第一解码模块,设置为采用多个解码器分别对所述多路压缩数据流进行并行解码,得到多路解码后的数据流;The first decoding module is configured to perform parallel decoding on the multiple compressed data streams by using multiple decoders to obtain a multi-channel decoded data stream;
    缓存模块,设置为将所述多路解码后的数据流进行缓存;a cache module, configured to cache the multi-channel decoded data stream;
    第二解码模块,设置为对缓存后的所述多路解码后的数据流采用轮询的方式进行后续解码处理。The second decoding module is configured to perform subsequent decoding processing on the buffered data stream after the multi-channel decoding.
  8. 根据权利要求7所述的装置,其中,所述缓存模块还设置为将所述多路解码后的数据流分别缓存至多个先入先出FIFO存储器中。The apparatus of claim 7, wherein the cache module is further configured to buffer the multiplexed decoded data streams into a plurality of first-in first-out FIFO memories, respectively.
  9. 根据权利要求7所述的装置,其中,所述第二解码模块还设置为在所述多路压缩数据流还采用了第二编码方式进行编码时,使用与该第二编码方式对应的反编码方式对所述多路解码后的数据进行反编码,得到反编码结果,并将所述反编码结果缓存至FIFO存储器中。The apparatus according to claim 7, wherein said second decoding module is further configured to use an inverse encoding corresponding to said second encoding mode when said multiplexed compressed data stream is further encoded by said second encoding mode The method performs inverse encoding on the multiplexed decoded data to obtain an inverse encoding result, and buffers the inverse encoding result into a FIFO memory.
  10. 根据权利要求9所述的装置,其中,所述第一编码方式为哈夫曼huffman编码方式,所述第二编码方式为Z字编码和行程编码。 The apparatus according to claim 9, wherein said first encoding mode is a Huffman huffman encoding mode, and said second encoding mode is Z-word encoding and run length encoding.
PCT/CN2015/078498 2015-01-06 2015-05-07 Data flow decoding method and device WO2016110031A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510005309.4 2015-01-06
CN201510005309.4A CN105828083A (en) 2015-01-06 2015-01-06 Method and device for decoding data streams

Publications (1)

Publication Number Publication Date
WO2016110031A1 true WO2016110031A1 (en) 2016-07-14

Family

ID=56355455

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/078498 WO2016110031A1 (en) 2015-01-06 2015-05-07 Data flow decoding method and device

Country Status (2)

Country Link
CN (1) CN105828083A (en)
WO (1) WO2016110031A1 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107404654B (en) * 2017-08-23 2020-09-18 苏州浪潮智能科技有限公司 JPEG image decompression method, device and platform
CN107483952A (en) * 2017-08-29 2017-12-15 郑州云海信息技术有限公司 A kind of method, apparatus and system of jpeg image decompression
CN108900844B (en) * 2018-07-27 2021-06-29 郑州云海信息技术有限公司 JPEG decoding device, method and system
CN111384963B (en) * 2018-12-28 2022-07-12 上海寒武纪信息科技有限公司 Data compression/decompression device and data decompression method
CN111384962B (en) * 2018-12-28 2022-08-09 上海寒武纪信息科技有限公司 Data compression/decompression device and data compression method
CN110784227B (en) * 2019-10-21 2021-07-30 清华大学 Multi-path compression method and device for data set and storage medium
CN111314699A (en) * 2020-02-28 2020-06-19 北京奇艺世纪科技有限公司 Image decoding method, device, electronic equipment and storage medium
CN112437303A (en) * 2020-11-12 2021-03-02 北京深维科技有限公司 JPEG decoding method and device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1133512A (en) * 1994-09-30 1996-10-16 株式会社理光 Method and device for data coding and decoding
US20030133514A1 (en) * 2001-09-17 2003-07-17 Eric Lais Apparatus and method for decode arbitration in a multi-stream multimedia system
US20070288980A1 (en) * 2006-06-08 2007-12-13 Huaning Niu System and method for digital communication having a frame format and parsing scheme with parallel convolutional encoders
CN101257633A (en) * 2007-08-28 2008-09-03 深圳市同洲电子股份有限公司 Method and apparatus for decoding length changeable code based on lookup list
CN102404578A (en) * 2011-12-21 2012-04-04 中国科学院自动化研究所 Multi-channel video transmitting system and method

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3514026B2 (en) * 1996-02-07 2004-03-31 富士ゼロックス株式会社 Encoding device
CN101042773A (en) * 2006-03-22 2007-09-26 国际商业机器公司 Data processing device
CN100525450C (en) * 2007-03-13 2009-08-05 北京中星微电子有限公司 Method and device for realizing Hoffman decodeng
CN101790094B (en) * 2010-03-19 2013-01-30 山东大学 VLSI system structure of JPEG image decoder and realization method thereof

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1133512A (en) * 1994-09-30 1996-10-16 株式会社理光 Method and device for data coding and decoding
US20030133514A1 (en) * 2001-09-17 2003-07-17 Eric Lais Apparatus and method for decode arbitration in a multi-stream multimedia system
US20070288980A1 (en) * 2006-06-08 2007-12-13 Huaning Niu System and method for digital communication having a frame format and parsing scheme with parallel convolutional encoders
CN101257633A (en) * 2007-08-28 2008-09-03 深圳市同洲电子股份有限公司 Method and apparatus for decoding length changeable code based on lookup list
CN102404578A (en) * 2011-12-21 2012-04-04 中国科学院自动化研究所 Multi-channel video transmitting system and method

Also Published As

Publication number Publication date
CN105828083A (en) 2016-08-03

Similar Documents

Publication Publication Date Title
WO2016110031A1 (en) Data flow decoding method and device
US20210211728A1 (en) Image Compression Method and Apparatus
KR101710001B1 (en) Apparatus and Method for JPEG2000 Encoding/Decoding based on GPU
US20030152148A1 (en) System and method for multiple channel video transcoding
BRPI0607204B1 (en) CODING AND DECODING DEVICES AND METHODS AND TRANSMISSION SYSTEM
CN1825964B (en) Method and system for processing video frequency data on chip
CN102215399B (en) Frame buffer compression method, video encoder and system of video encoder
CN103246499A (en) Device and method for parallelly processing images
US20240080487A1 (en) Method, apparatus for processing media data, computer device and storage medium
WO2020168501A1 (en) Image encoding method and decoding method, and device and system to which said methods are applicable
CN1310498C (en) Digital video-audio decoder
WO2022179600A1 (en) Video coding method and apparatus, video decoding method and apparatus, and electronic device
CN112788024B (en) Method and system for real-time coding of 8K ultra-high-definition video
US20200322621A1 (en) Video decoder and manufacturing method therefor, and data processing circuit, system and method
CN200953634Y (en) Multiple digital data flow outputting device
TWI514851B (en) Image encoding/decing system and method applicable thereto
US8861880B2 (en) Image processing device and image processing method
KR20110071204A (en) Parallel processing method in wavelet-based jpeg2000
CN112291483A (en) Video pushing method and system, electronic equipment and readable storage medium
WO2020168520A1 (en) Encoder, encoding system, and encoding method
WO2023185806A9 (en) Image coding method and apparatus, image decoding method and apparatus, and electronic device and storage medium
US20090201989A1 (en) Systems and Methods to Optimize Entropy Decoding
CN107809643A (en) A kind of coding/decoding method of image, device and medium
US20070192393A1 (en) Method and system for hardware and software shareable DCT/IDCT control interface
WO2023051222A1 (en) Filtering method and apparatus, encoding method and apparatus, decoding method and apparatus, computer-readable medium, and electronic device

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15876537

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15876537

Country of ref document: EP

Kind code of ref document: A1