CN111818339A - 基于FPGA的Webp图像压缩算法的多核处理方法 - Google Patents
基于FPGA的Webp图像压缩算法的多核处理方法 Download PDFInfo
- Publication number
- CN111818339A CN111818339A CN202010664400.8A CN202010664400A CN111818339A CN 111818339 A CN111818339 A CN 111818339A CN 202010664400 A CN202010664400 A CN 202010664400A CN 111818339 A CN111818339 A CN 111818339A
- Authority
- CN
- China
- Prior art keywords
- fpga
- webp
- processing method
- compression algorithm
- image compression
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 230000006835 compression Effects 0.000 title claims abstract description 28
- 238000007906 compression Methods 0.000 title claims abstract description 28
- 238000004422 calculation algorithm Methods 0.000 title claims abstract description 22
- 238000003672 processing method Methods 0.000 title claims abstract description 18
- 239000011159 matrix material Substances 0.000 claims abstract description 18
- 238000006243 chemical reaction Methods 0.000 claims abstract description 11
- 238000012545 processing Methods 0.000 claims abstract description 11
- 238000000034 method Methods 0.000 claims abstract description 10
- 238000004364 calculation method Methods 0.000 claims description 11
- 238000013139 quantization Methods 0.000 claims description 11
- 238000004458 analytical method Methods 0.000 claims description 10
- 230000009466 transformation Effects 0.000 claims 1
- 238000013461 design Methods 0.000 abstract description 8
- 238000005111 flow chemistry technique Methods 0.000 abstract description 2
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000011156 evaluation Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000007619 statistical method Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/169—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
- H04N19/17—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
- H04N19/176—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F12/00—Accessing, addressing or allocating within memory systems or architectures
- G06F12/02—Addressing or allocation; Relocation
- G06F12/08—Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
- G06F12/0802—Addressing of a memory level in which the access to the desired data or data block requires associative addressing means, e.g. caches
- G06F12/0806—Multiuser, multiprocessor or multiprocessing cache systems
- G06F12/0842—Multiuser, multiprocessor or multiprocessing cache systems for multiprocessing or multitasking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/10—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
- H04N19/102—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
- H04N19/124—Quantisation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/61—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding in combination with predictive coding
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N19/00—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
- H04N19/60—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
- H04N19/625—Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/64—Circuits for processing colour signals
- H04N9/67—Circuits for processing colour signals for matrixing
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Discrete Mathematics (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及到图像处理技术领域,尤其涉及到一种基于FPGA的Webp图像压缩算法的多核处理方法,包括DDR片上缓存将图像送至颜色空间转换环节,进行按照RGB三通道转换成对应分析的YUV宏块,然后对YUV宏块进行分析、预测量化得到参数矩阵,最终将参数矩阵写回DDR片上缓存。本发明是将WebP在FPGA上实现,采用CPU式的多核心设计思想,让多核共同工作,速率提高到极限,同时实现了图片之间的流水处理。
Description
技术领域
本发明涉及到图像处理技术领域,尤其涉及到一种基于FPGA的Webp图像压缩算法的多核处理方法。
背景技术
在众多压缩算法中,WebP压缩算法脱颖而出,那么什么是WebP格式图片?它是由谷歌(Google)开发的一种旨在加快图片加载速度的图片格式,并能节省大量的服务器带宽资源和数据空间,在压缩率上比JPEG格式更优越,同时提供了有损压缩和无损压缩的图片文件格式,在质量相同的情况下,WebP格式图像的体积要比JPEG格式图像小40%,既然是一个相对较新的计数,所以对于目前市面上能否完美的兼容,其可用和实用性就变得很现实了,再好的东西如果没有好的兼容性,也是非常难以普及和被广泛使用的,同时也可能会增加实用和操作的难度。根据对目前国内浏览器占比与WebP的兼容性分析,大约有50%以上的国内用户可以直接体验到WebP。
现在市场上的图片压缩效率不高,精度不够,体积太大,导致的网络传输速度慢,存储压力大,而大多数WebP压缩算法的实现都是基于CPU的,这样成本就比较高,还不能将CPU的垃圾时间利用起来,而基于FPGA实现的处理速度比较慢,架构不够优美,没有将FPGA的异构计算,计算速度快的特点发挥完全,从而导致压缩效率不高,而且市场上的实现都没有带量化,所以导致预测的结果不够精准。
发明内容
鉴于上述技术问题,本发明提供了一种基于FPGA的Webp图像压缩算法的多核处理方法,本发明是将WebP在FPGA上实现,采用CPU式的多核心设计思想,让多核共同工作,速率提高到极限,同时实现了图片之间的流水处理。
一种基于FPGA的Webp图像压缩算法的多核处理方法,其特征在于,所述方法包括:
DDR片上缓存将图像送至颜色空间转换环节,进行按照RGB三通道转换成对应分析的YUV宏块,然后对YUV宏块进行分析、预测量化得到参数矩阵,最终将参数矩阵写回DDR片上缓存。
上述的基于FPGA的Webp图像压缩算法的多核处理方法,其特征在于,对YUV宏块进行分析、预测量化得到参数矩阵,还包括分析参数、分析中心点。
上述的基于FPGA的Webp图像压缩算法的多核处理方法,其特征在于,所述参数矩阵、分析参数、分析中心点会被用到量化的计算中,最后会将量化后的结果进行打分,最后再进行编码写文件。
上述的基于FPGA的Webp图像压缩算法的多核处理方法,其特征在于,编码写文件之后写回至DDR片上缓存。
上述的基于FPGA的Webp图像压缩算法的多核处理方法,其特征在于,预测量化步骤主要包括有:预测,DCT,量化,反量化,IDCT。
上述的基于FPGA的Webp图像压缩算法的多核处理方法,其特征在于,待IDCT变换处理结束之后,进行打分,之后返回至预测步骤,形成闭环。
上述技术方案具有如下优点或有益效果:
1)优美的多核心架构,灵活调配处理速度,可以按需配比;
2)完美的流水结构,让DSP处于满负荷的工作状态,高吞吐量,低时延,最大的利用了FPGA的异构计算的特点;
3)可以部署在CPU的垃圾时间内,极大的利用了CPU的闲余时间,而不影响正常工作。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明及其特征、外形和优点将会变得更加明显。在全部附图中相同的标记指示相同的部分。并未可以按照比例绘制附图,重点在于示出本发明的主旨。
图1是本发明核心构架图;
图2是预测量化的FPGA实现流程图;
图3是颜色空间转换计算过程和评估图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
FPGA可编程现场门阵列,具有高速计算和低功耗的特性,价格便宜,很适合处理大的流水式计算量,属于异构计算,将CPU和FPGA联合工作,已经是一种趋势。如图1和图2所示,本发明提供的是一种基于FPGA的Webp图像压缩算法的多核处理方法,主要概括为:DDR片上缓存将图像送至颜色空间转换环节,进行按照RGB三通道转换成对应分析的YUV宏块(Y表示亮度,UV表示色度),然后对YUV宏块进行分析、预测量化得到参数矩阵,最终将参数矩阵写回DDR片上缓存。
本发明技术方案中,对YUV宏块进行分析、预测量化得到参数矩阵、分析参数、分析中心点。所述参数矩阵、分析参数、分析中心点会被用到量化的计算中,最后会将量化后的结果进行打分,最后再进行编码写文件;编码写文件之后写回至DDR片上缓存。
优选的,预测量化步骤主要包括有:预测,DCT,量化,反量化,IDCT,待IDCT变换处理结束之后,进行打分,之后返回至预测步骤,形成闭环。
在本发明详细介绍方案中,WebP压缩主要有以下几个步骤:颜色空间转换,该阶段主要是将传统的RGB颜色空间,转换成亮度的颜色空空间(即YUV)。接下来是分析阶段,主要是将图片转换后的颜色空间,进行分析,对每个分量进行不同的预测方式(DC TM等)进行分析,然后对分析结果进行统计分析,最终得到对于一张图片的分析矩阵即参数矩阵、分析参数、分析中心点。后面这些参数会被用到量化的计算中,最后会将量化后的结果进行打分,最后再进行编码写文件。
如附图1,本发明技术方案将整个算法划分为3条主线,第一条主线包括从DDR到片上缓存,然后进行颜色空间转换,同时将转换后的结果写回DDR,同时将转换后的数据进行预分析,得到参数矩阵,最终将参数矩阵写回DDR,这样一条线,没有依赖其他线,数据来自DDR,又写回DDR,其设计思想是解耦,第一根线和第二根线之间的解耦合,用DDR来进行数据隔断,这样有两个好处,在开发时可以并行开发,同时还解决了两根线的处理速度不匹配的问题,同时在进行板上验证时也能并行进行,大大的缩短了开发和测试周期。附图3是颜色空间转换的计算过程,和具体资源周期的详细评估,因为这是关键的一步,这里跟第一条线的吞吐量有关。附图2是第二条主线的整体架构,其设计核心思想也是流水,时分复用,解耦,这里的流水设计保证了整个框架的高吞吐量,而其解耦设计保证了,整个设计多核心的思想,第二根线决定了整体的处理速度,如果需求是高速压缩,就可以将第二条线复制多份,这样就相当于多个线程同时工作,互不干扰,这样就极大的提高了并行度,如果在资源充足的情况下,可以复制任意份,处理速度以可见的形式倍数递增。最后一条线就是最终的编码写文件,这也是符合整体框架的设计思想,解耦合和多核心,也是可以按需复制,然后在CPU的闲余时间与FPGA进行联合工作。
综述,因为三条主线的解耦和多核心设计思想,使从每条主线,到整个框架都是极其灵活的,都是可以任意配置,最终实现高吞吐量,多核心,低延时的高标准,也是由此为WebP在FPGA上的实现提供了一种最优美,最合适的设计方案,最终来解决图片传输和存储所面临的巨大问题,使图片体积变小,图片质量提高,又因为其可配置性,所以可以应对未来日益增长的图片数据压缩需求,是最合适的WebP压缩架构。
本领域技术人员应该理解,本领域技术人员在结合现有技术以及上述实施例可以实现所述变化例,在此不做赘述。这样的变化例并不影响本发明的实质内容,在此不予赘述。
以上对本发明的较佳实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,其中未尽详细描述的设备和结构应该理解为用本领域中的普通方式予以实施;任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例,这并不影响本发明的实质内容。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
Claims (6)
1.一种基于FPGA的Webp图像压缩算法的多核处理方法,其特征在于,所述方法包括:
DDR片上缓存将图像送至颜色空间转换环节,进行按照RGB三通道转换成对应分析的YUV宏块,然后对YUV宏块进行分析、预测量化得到参数矩阵,最终将参数矩阵写回DDR片上缓存。
2.根据权利要求1所述的基于FPGA的Webp图像压缩算法的多核处理方法,其特征在于,对YUV宏块进行分析、预测量化得到参数矩阵,还包括分析参数、分析中心点。
3.根据权利要求2所述的基于FPGA的Webp图像压缩算法的多核处理方法,其特征在于,所述参数矩阵、分析参数、分析中心点会被用到量化的计算中,最后会将量化后的结果进行打分,最后再进行编码写文件。
4.根据权利要求3所述的基于FPGA的Webp图像压缩算法的多核处理方法,其特征在于,编码写文件之后写回至DDR片上缓存。
5.根据权利要求1所述的基于FPGA的Webp图像压缩算法的多核处理方法,其特征在于,预测量化步骤主要包括有:预测,DCT,量化,反量化,IDCT。
6.根据权利要求5所述的基于FPGA的Webp图像压缩算法的多核处理方法,其特征在于,待IDCT变换处理结束之后,进行打分,之后返回至预测步骤,形成闭环。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010664400.8A CN111818339A (zh) | 2020-07-10 | 2020-07-10 | 基于FPGA的Webp图像压缩算法的多核处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010664400.8A CN111818339A (zh) | 2020-07-10 | 2020-07-10 | 基于FPGA的Webp图像压缩算法的多核处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111818339A true CN111818339A (zh) | 2020-10-23 |
Family
ID=72843270
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010664400.8A Pending CN111818339A (zh) | 2020-07-10 | 2020-07-10 | 基于FPGA的Webp图像压缩算法的多核处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111818339A (zh) |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101668207A (zh) * | 2009-09-25 | 2010-03-10 | 天津大学 | Mpeg到avs视频编码转换系统 |
US20160321218A1 (en) * | 2015-04-27 | 2016-11-03 | Neatly Co. | System and method for transforming image information for a target system interface |
CN107680144A (zh) * | 2017-10-16 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种WebP文件转换的方法及装置 |
CN108156457A (zh) * | 2017-12-27 | 2018-06-12 | 郑州云海信息技术有限公司 | 一种JPEG转WebP的图像编码方法及装置 |
CN108900842A (zh) * | 2018-07-27 | 2018-11-27 | 郑州云海信息技术有限公司 | Y数据压缩处理方法、装置、设备及WebP压缩系统 |
CN108932129A (zh) * | 2018-06-26 | 2018-12-04 | 郑州云海信息技术有限公司 | 一种WebP编码过程中熵编码算法的加速系统及方法 |
CN109862361A (zh) * | 2019-02-03 | 2019-06-07 | 北京深维科技有限公司 | 一种webp图像编码方法、装置及电子设备 |
CN110298896A (zh) * | 2019-06-27 | 2019-10-01 | 北京奇艺世纪科技有限公司 | 图片转码方法、装置及电子设备 |
CN110913225A (zh) * | 2019-11-19 | 2020-03-24 | 北京奇艺世纪科技有限公司 | 图像编码方法、装置、电子设备和计算机可读存储介质 |
-
2020
- 2020-07-10 CN CN202010664400.8A patent/CN111818339A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101668207A (zh) * | 2009-09-25 | 2010-03-10 | 天津大学 | Mpeg到avs视频编码转换系统 |
US20160321218A1 (en) * | 2015-04-27 | 2016-11-03 | Neatly Co. | System and method for transforming image information for a target system interface |
CN107680144A (zh) * | 2017-10-16 | 2018-02-09 | 郑州云海信息技术有限公司 | 一种WebP文件转换的方法及装置 |
CN108156457A (zh) * | 2017-12-27 | 2018-06-12 | 郑州云海信息技术有限公司 | 一种JPEG转WebP的图像编码方法及装置 |
CN108932129A (zh) * | 2018-06-26 | 2018-12-04 | 郑州云海信息技术有限公司 | 一种WebP编码过程中熵编码算法的加速系统及方法 |
CN108900842A (zh) * | 2018-07-27 | 2018-11-27 | 郑州云海信息技术有限公司 | Y数据压缩处理方法、装置、设备及WebP压缩系统 |
CN109862361A (zh) * | 2019-02-03 | 2019-06-07 | 北京深维科技有限公司 | 一种webp图像编码方法、装置及电子设备 |
CN110298896A (zh) * | 2019-06-27 | 2019-10-01 | 北京奇艺世纪科技有限公司 | 图片转码方法、装置及电子设备 |
CN110913225A (zh) * | 2019-11-19 | 2020-03-24 | 北京奇艺世纪科技有限公司 | 图像编码方法、装置、电子设备和计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101908035B (zh) | 视频编解码方法、gpu及其与cpu的交互方法及系统 | |
US10187639B2 (en) | Encoding method, decoding method, encoding/decoding system, encoder, and decoder | |
CN105120293B (zh) | 基于cpu和gpu的图像协同解码方法及装置 | |
WO2015120818A1 (zh) | 图像编码、解码方法及装置 | |
CN115086668B (zh) | 一种视频压缩方法、系统、设备及计算机可读存储介质 | |
CN101404767A (zh) | 一种基于图像分析及人工智能的可变参数的自动化视频转码方法 | |
CN104349171A (zh) | 一种视觉无损的图像压缩编、解码装置及编、解码方法 | |
US10110896B2 (en) | Adaptive motion JPEG encoding method and system | |
CN107820095A (zh) | 一种长期参考图像选择方法及装置 | |
CN103313055A (zh) | 一种基于分割的色度帧内预测方法、及视频编码解码方法 | |
US11438594B2 (en) | Block-based picture fusion for contextual segmentation and processing | |
US20140009563A1 (en) | Non-video codecs with video conferencing | |
CN106817584A (zh) | 一种基于fpga的mjpeg压缩实现方法和fpga | |
CN111818339A (zh) | 基于FPGA的Webp图像压缩算法的多核处理方法 | |
CN108881915A (zh) | 基于dsc编码技术视频播放的装置和方法 | |
US20200359030A1 (en) | Video compression for video games | |
WO2023193701A1 (zh) | 图像编码方法及装置 | |
CN111815502B (zh) | 基于WebP压缩算法的多图处理的FPGA加速方法 | |
US20230232002A1 (en) | Point cloud coding method, point cloud decoding method, and relevant apparatuses | |
CN110418141A (zh) | 一种jpg格式图片高性能优化方法 | |
WO2023185806A9 (zh) | 一种图像编解码方法、装置、电子设备及存储介质 | |
RU2782583C1 (ru) | Слияние изображений на блочной основе для контекстной сегментации и обработки | |
TWI832661B (zh) | 圖像編解碼的方法、裝置及存儲介質 | |
US11546597B2 (en) | Block-based spatial activity measures for pictures | |
CN113115050B (zh) | 一种Webp图像压缩系统、压缩方法以及可读存储介质 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20201023 |