CN112437308A - 一种WebP编码方法及装置 - Google Patents

一种WebP编码方法及装置 Download PDF

Info

Publication number
CN112437308A
CN112437308A CN202011261404.8A CN202011261404A CN112437308A CN 112437308 A CN112437308 A CN 112437308A CN 202011261404 A CN202011261404 A CN 202011261404A CN 112437308 A CN112437308 A CN 112437308A
Authority
CN
China
Prior art keywords
image data
webp
yuv image
block
accelerator card
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
Application number
CN202011261404.8A
Other languages
English (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.)
Beijing Shenwei Technology Co ltd
Original Assignee
Beijing Shenwei 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 Beijing Shenwei Technology Co ltd filed Critical Beijing Shenwei Technology Co ltd
Priority to CN202011261404.8A priority Critical patent/CN112437308A/zh
Publication of CN112437308A publication Critical patent/CN112437308A/zh
Pending legal-status Critical Current

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/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods 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/17Methods 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/176Methods 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/146Data rate or code amount at the encoder output
    • H04N19/15Data rate or code amount at the encoder output by monitoring actual compressed data size at the memory before deciding storage at the transmission buffer
    • 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/423Methods 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 characterised by memory arrangements
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/60Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding
    • H04N19/625Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using transform coding using discrete cosine transform [DCT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Discrete Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本发明公开了一种WebP编码方法及装置,应用于包含FPGA加速卡和CPU端的设备上,FPGA加速卡的DDR缓存端接收到CPU端发送的目标图片;FPGA加速卡从DDR缓存端读取目标图片的YUV图像数据,并将YUV图像数据的WebP编码过程,划分为顺序执行的多个编码步骤进行流水线并行处理,以得到编码后的WebP码流;FPGA加速卡回传WebP码流至所述DDR缓存端;DDR缓存端将所述WebP码流发送至CPU端。通过本发明实现了WebP编码算法的流水线并行处理,从而提高了WebP编码算法的运行速度,进而提高了WebP编码效率。

Description

一种WebP编码方法及装置
技术领域
本发明涉及图像压缩领域,尤其涉及一种WebP编码方法及装置。
背景技术
WebP是一种同时提供了有损压缩与无损压缩的图片文件格式,与PNG图片格式相比,WebP无损图像的文件要小26%;同等SSIM质量指数下,WebP有损图像比JPEG图像小25%-34%,得益于其优秀的压缩效率,WebP格式能大幅节省带宽,且不降低图片画质,因此被广大互联网厂商支持。但是,WebP压缩算法的复杂度大约是JPEG压缩算法复杂度的十倍,对于CPU处理器而言是一个巨大的挑战,完成WebP编码的效率较低。
发明内容
鉴于现有技术存在上述问题,本发明提出了一种WebP编码方法及装置,以提高WebP编码效率。
第一方面,本发明实施例提供一种WebP编码方法,应用于包含FPGA加速卡和CPU端的设备上,所述方法包括:
所述FPGA加速卡的DDR缓存端接收到CPU端发送的目标图片;
所述FPGA加速卡从所述DDR缓存端读取所述目标图片的YUV图像数据,并将所述YUV图像数据的WebP编码过程,划分为顺序执行的多个编码步骤进行流水线并行处理,以得到编码后的WebP码流;
所述FPGA加速卡回传所述WebP码流至所述DDR缓存端;
所述DDR缓存端将所述WebP码流发送至CPU端。
可选地,所述将所述YUV图像数据的WebP编码过程,划分为顺序执行的多个编码步骤进行流水线并行处理,包括:
所述FPGA加速卡从所述DDR缓存端依次读取所述YUV图像数据的每块YUV图像数据;其中,在读取第二块YUV图像数据时,并行对第一块YUV图像数据进行压缩计算;在读取第i块YUV图像数据时,并行对所述第i-1块YUV图像数据进行压缩计算,以及并行对所述第i-2块YUV图像数据的压缩结果进行算术编码,i依次取3至N,N为所述目标图片的分块数量。
可选地,所述FPGA加速卡从所述DDR缓存端依次读取所述YUV图像数据的每块YUV图像数据,包括:
所述FPGA加速卡从DDR缓存端读入每块YUV图像数据,并对读入的当前块YUV图像数据划分为多个像素块,其中,所述多个像素块中包含16x16亮度像素块和8x8色彩像素块,其中,针对每个16x16亮度像素块划分为4x4亮度像素块。
可选地,所述对所述目标图片的第i-1块YUV图像数据进行压缩计算,包括:
对所述第i-1块YUV图像数据中的16x16亮度像素块、4x4亮度像素块以及8x8色彩像素块并行的进行压缩计算,得到每个像素块对应的变换后像素块。
可选地,针对所述第i-1块YUV图像数据中的16x16亮度像素块、4x4亮度像素块以及8x8色彩像素块中每个像素块进行的压缩计算,包括:
至少通过对所述像素块依次进行离散余弦变换、量化处理以及反余弦变换处理,得到所述像素块对应的变换后像素块。
可选地,在所述DDR缓存端将所述WebP码流发送至CPU端之后,还包括:
所述CPU端对接收到的WebP码流进行后处理,得到处理后WebP码流;
打包所述处理后WebP码流,得到所述目标图片对应的WebP格式压缩图片。
第二方面,本发明实施例提供一种WebP编码装置,包括FPGA加速卡和CPU端,其中,
所述CPU端,用于将目标图片发送至所述FPGA加速卡的DDR缓存端;
所述FPGA加速卡的DDR缓存端,用于接收所述CPU端发送的目标图片;
所述FPGA加速卡,用于从所述DDR缓存端读取所述目标图片的YUV图像数据,并将所述YUV图像数据的WebP编码过程,划分为顺序执行的多个编码步骤进行流水线并行处理,以得到编码后的WebP码流,以及回传所述WebP码流至所述DDR缓存端;
所述DDR缓存端,还用于将所述WebP码流发送至CPU端。
可选地,所述FPGA加速卡,具体用于:
从所述DDR缓存端依次读取所述YUV图像数据的每块YUV图像数据;其中,在读取第二块YUV图像数据时,并行对第一块YUV图像数据进行压缩计算;在读取第i块YUV图像数据时,并行对所述第i-1块YUV图像数据进行压缩计算,以及并行对所述第i-2块YUV图像数据的压缩结果进行算术编码,i依次取3至N,N为所述目标图片的分块数量。
可选地,所述FPGA加速卡,具体用于:
从DDR缓存端读入所述第i块YUV图像数据;
对读入的所述第i块YUV图像数据划分为多个像素块,其中,所述多个像素块中包含16x16亮度像素块和8x8色彩像素块,其中,针对每个16x16亮度像素块划分为4x4亮度像素块。
可选地,所述FPGA加速卡,具体用于:
对第i-1块YUV图像数据中的16x16亮度像素块、4x4亮度像素块以及8x8色彩像素块并行的进行压缩计算,得到每个像素块对应的变换后像素块。
本发明实施例提供的一个或者多个技术方案,至少实现了如下技术效果或者优点:
FPGA加速卡的DDR缓存端接收到CPU端发送的目标图片;FPGA加速卡FPGA加速卡从DDR缓存端读取目标图片的YUV图像数据,并将YUV图像数据的WebP编码过程,划分为顺序执行的多个编码步骤进行流水线并行处理,以得到编码后的WebP码流;FPGA加速卡回传得到的WebP码流至DDR缓存端;DDR缓存端将WebP码流发送至CPU端。从而,利用了FPGA的流水线并行特点来实现流水线并行处理WebP编码过程,通过FPGA加速了WebP编码的运行速度,不再单纯依赖于CPU来执行WebP编码过程,从而提高了WebP编码效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1示出了本发明实施例中WebP编码方法的流程图;
图2示出了本发明实施例中流水线并行进行WebP编码的示意图;
图3示出了Y数据的划分结果示意图;
图4示出了UV数据的划分结果示意图;
图5示出了并行的进行压缩计算的示意图;
图6示出了本发明实施例中WebP编码装置的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
本文中出现的术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系;单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。
第一实施例
本发明第一实施例提供一种WebP编码方法,可以应用于包含FPGA加速卡和CPU端的电子设备上,该电子设备可以为用户设备或者服务器。该电子设备上配置有FPGA(FieldProgrammable Gate Array,现场可编程门阵列)加速卡,从而基于电子设备的主处理器(CPU)与FPGA进行交互,实现了基于CPU+FPGA异构计算架构的WebP编码方法,以提高了WebP编码效率。
图1示出了本发明实施例中WebP编码方法的方法流程图。下面请参见图1所示,对本发明实施例提供的WebP编码方法进行详细描述:
首先,执行S101:CPU端获取目标图片。
具体的,目标图片具体是YUV格式的图片,CPU端可以通过图片格式转换获得YUV格式的图片或者直接为YUV格式的图片。
接着,执行S102:FPGA加速卡的DDR SDRAM(Double Data Rate SynchronousDynamic Random Access Memory,双倍数据率同步动态随机存取存储器)缓存端接收到CPU端发送的目标图片。
DDR缓存端接收到目标图片之后缓存,从目标图片中获取YUV图像数据,以供FPGA加速卡的硬件从中读取和进行后续的WebP编码处理。其中,目标图片的YUV图像数据中包含了亮度信息(Y)和色彩信息(UV)。
再接着,执行S103:FPGA加速卡从DDR缓存端读取目标图片的YUV图像数据,并将YUV图像数据的WebP编码过程,划分为顺序执行的多个编码步骤进行流水线并行处理,以得到编码后的WebP码流。
具体的,FPGA加速卡采用流水线并行处理的方式,依次从DDR缓存端读取每块YUV图像数据,并采用WebP编码算法对读入的每块YUV图像数据进行压缩计算和算术编码,以得到编码后的WebP码流。
下面,详细描述FPGA加速卡将YUV图像数据的WebP编码过程,划分为顺序执行的多个编码步骤进行流水线并行处理的实施过程:FPGA加速卡从DDR缓存端依次读取YUV图像数据的每块YUV图像数据;在读取第二块YUV图像数据时,并行对第一块YUV图像数据进行压缩计算;在读取第i块YUV图像数据时,并行对第i-1块YUV图像数据进行压缩计算,以及并行对第i-2块YUV图像数据的压缩结果进行算术编码,i依次取3至N,N为目标图片的分块数量。
从而,第i块YUV图像数据的读入、第i-1块YUV图像数据的压缩计算和第i-2块YUV图像数据的压缩结果的算术编码,这三者是在同一时间进行的,从而利用了FPGA加速卡的流水线并行特点,实现了WebP编码的算法流水线并行处理,能够大大加快WebP编码算法的运行速度,继而提高了WebP编码效率。
下面,参考图2,对流水线并行处理目标图片的YUV图像数据举例说明:
首先,在t1时间内,FPGA加速卡从DDR缓存端读入第1块YUV图像数据。
接着,在t2时间内,FPGA加速卡从DDR缓存端读入第2块YUV图像数据,并在读入第2块YUV图像数据的同时,并行的进行对第1块YUV图像数据的压缩计算,以得到第1块YUV图像数据的压缩结果。从而在t2时间内,不仅读入了第2块YUV图像数据,还同时得到了第1块YUV图像数据的压缩结果,提高了编码效率。
再接着,在t3时间内,FPGA加速卡从DDR缓存端读入第3块YUV图像数据,并在读入第3块YUV图像数据的同时,并行的对第2块YUV图像数据进行压缩计算以及并行的对第1块YUV图像数据的压缩结果进行算术编码;……,以此规律进行下去,在ti时间内,FPGA加速卡从DDR缓存端对应读入第i块YUV图像数据,在读入第i块YUV图像数据的同时,并行的对第i-1块YUV图像数据进行压缩计算,以及并行的对第i-2块YUV图像数据的压缩结果进行算术编码;直至完成对目标图片中最后一块YUV图像数据的算术编码,以得到目标图片的WebP码流。
以上述这种流水线并行方式不断读入目标图片的每块YUV图像数据、同时不断对读入的YUV图像数据进行压缩计算和算术编码,不需要等当前块YUV图像数据算术编码完成之后再去读入下一块YUV图像数据,从而能够提高WebP编码算法的运行速度。
具体的,由于WebP编码算法是分块进行压缩计算的,FPGA加速卡在从DDR缓存端读取第i块YUV图像数据之后,对读入的第i块YUV图像数据划分为多个像素块:16x16亮度像素块和8x8色彩像素块,其中,针对每个16x16亮度像素块又划分为4x4亮度像素块。
需要说明的是,针对FPGA加速卡读入的每块YUV图像数据,都要基于上述方式进行分块,以实现将每块YUV图像数据划分为16x16亮度像素块(如图3表示为Y16x16)和8x8色彩像素块(如图4表示为UV8x8),其中,每个16x16亮度像素块又划分为4x4亮度像素块(如图3表示为Y4x4)。
具体来讲,将YUV图像数据中的亮度信息(Y数据)划分为16x16亮度像素块,其中,每个16x16亮度像素块又划分为4x4亮度像素块,而将YUV图像数据中的色彩信息(UV数据)划分为8x8色彩像素块。
具体的,Y数据划分为16x16亮度像素块和4x4亮度像素块的结果参考图3所示,而UV数据划分为8x8色彩像素块的结果参考图4所示。
在一可选的实施方式下,为了进一步提高WebP编码算法的运行速度,利用FPGA的数据并行特点进行压缩计算。参考图5所示,在对任意一块YUV图像数据进行压缩计算时,对16x16亮度像素块、4x4亮度像素块和8x8色彩像素块这三部分像素块并行的进行压缩计算。
下面参考图5举例来讲,在压缩计算这一步骤中,首先,在k1时间,并行的进行第1块YUV图像数据中Y16x16、Y4x4和UV8x8这三个像素块的压缩计算;接下来,在k2时间,并行的进行第2块YUV图像数据中Y16x16、Y4x4和UV8x8这三个像素块的压缩计算;再接下来,在k3时间,并行的进行第3块YUV图像数据中Y16x16、Y4x4和UV8x8这三个像素块的压缩计算,……,以此规律进行下去,在ki时间,并行的进行第i块YUV图像数据中Y16x16、Y4x4和UV8x8这三个像素块的压缩计算,直至完成目标图片中最后一块YUV图像数据中的Y16x16、Y4x4和UV8x8这三个像素块的压缩计算。
其中,针对每个像素块的压缩计算是:依次对该像素块进行离散余弦变换、量化处理以及反余弦变换,得到该像素块对应的变换后像素块。
FPGA加速卡在读取第i块YUV图像数据时,还同时从DDR缓存端读取了对应的第i块YUV图像数据的帧内预测数据;其中,第i块YUV图像数据的预测数据中包含了每个像素块的预测数据。因此,在对任意一块像素块(具体是任意一块YUV图像数据中的Y16x16、Y4x4或者UV8x8)进行压缩计算时,基于该像素块的原图像数据和预测数据进行计算得到差值矩阵,最后对差值矩阵进行离散余弦变换。以某个Y16x16像素块为例,该Y16x16像素块的原图像数据减去对应的预测数据,得到差值矩阵。
通过上述对WebP算法的改造,使其更好的适应FPGA流水线并行与数据并行的特点,使得WebP算法在FPGA平台的运行速度为CPU运行速度的数倍。
S104:FPGA加速卡回传WebP码流至DDR缓存端。
S105:DDR缓存端将WebP码流发送至CPU端。
CPU端对接收到的WebP码流进行后处理,得到处理后WebP码流;具体的,对WebP码流的后处理包括加入图片信息,比如,加入图片的尺寸、格式等等;打包处理后WebP码流,得到目标图片对应的WebP格式压缩图片。通过加入图片信息,便于解码器对压缩的WebP格式压缩图片进行解码还原。
第二实施例
本发明实施例提供一种WebP编码装置,参考图6所示,该WebP编码装置包括FPGA加速卡和CPU端,其中,所述CPU端,用于将目标图片发送至所述FPGA加速卡的DDR缓存端;所述FPGA加速卡的DDR缓存端,用于接收所述CPU端发送的目标图片;FPGA加速卡,用于采用WebP编码算法对从DDR缓存端读取的YUV图像数据进行流水线并行处理,得到编码后的WebP码流;其中,在从DDR缓存端读取目标图片的第i块YUV图像数据时,还并行对目标图片的第i-1块YUV图像数据进行压缩计算以及并行对目标图片的第i-2块YUV图像数据的压缩结果进行算术编码;回传WebP码流至DDR缓存端;DDR缓存端,还用于将WebP码流发送至CPU端。
在一可选的实施方式下,FPGA加速卡,具体用于:
从DDR缓存端读入第i块YUV图像数据;
对读入的第i块YUV图像数据划分为多个像素块,其中,多个像素块中包含16x16亮度像素块和8x8色彩像素块,其中,针对每个16x16亮度像素块划分为4x4亮度像素块。
在一可选的实施方式下,FPGA加速卡,具体用于:
对第i-1块YUV图像数据中的16x16亮度像素块、4x4亮度像素块以及8x8色彩像素块并行的进行压缩计算,得到每个像素块对应的变换后像素块。
在一可选的实施方式下,FPGA加速卡,具体用于:
至少通过对像素块依次进行离散余弦变换、量化处理以及反余弦变换处理,得到像素块对应的变换后像素块。
在一可选的实施方式下,CPU端,还用于:
对接收到的WebP码流进行后处理,得到处理后WebP码流;
打包处理后WebP码流,得到目标图片对应的WebP格式压缩图片。
需要说明的是,本发明实施例所提供的WebP编码装置,其具体实现及产生的技术效果和前述方法实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。
本发明实施例提供的WebP编码方法及装置,至少实现了如下技术效果或者优点:
FPGA加速卡的DDR缓存端接收到CPU端发送的目标图片;FPGA加速卡FPGA加速卡从DDR缓存端读取目标图片的YUV图像数据,并将YUV图像数据的WebP编码过程,划分为顺序执行的多个编码步骤进行流水线并行处理,以得到编码后的WebP码流;FPGA加速卡回传得到的WebP码流至DDR缓存端;DDR缓存端将WebP码流发送至CPU端。从而,利用了FPGA的流水线并行特点来实现流水线并行处理WebP编码过程,通过FPGA加速了WebP编码的运行速度,不再单纯依赖于CPU来执行WebP编码过程,从而提高了WebP编码效率。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (10)

1.一种WebP编码方法,应用于包含FPGA加速卡和CPU端的设备上,其特征在于,所述方法包括:
所述FPGA加速卡的DDR缓存端接收到CPU端发送的目标图片;
所述FPGA加速卡从所述DDR缓存端读取所述目标图片的YUV图像数据,并将所述YUV图像数据的WebP编码过程,划分为顺序执行的多个编码步骤进行流水线并行处理,以得到编码后的WebP码流;
所述FPGA加速卡回传所述WebP码流至所述DDR缓存端;
所述DDR缓存端将所述WebP码流发送至CPU端。
2.根据权利要求1所述的方法,其特征在于,所述将所述YUV图像数据的WebP编码过程,划分为顺序执行的多个编码步骤进行流水线并行处理,包括:
所述FPGA加速卡从所述DDR缓存端依次读取所述YUV图像数据的每块YUV图像数据;其中,在读取第二块YUV图像数据时,并行对第一块YUV图像数据进行压缩计算;在读取第i块YUV图像数据时,并行对所述第i-1块YUV图像数据进行压缩计算,以及并行对所述第i-2块YUV图像数据的压缩结果进行算术编码,i依次取3至N,N为所述目标图片的分块数量。
3.根据权利要求2所述的方法,其特征在于,所述FPGA加速卡从所述DDR缓存端依次读取所述YUV图像数据的每块YUV图像数据,包括:
所述FPGA加速卡从DDR缓存端读入每块YUV图像数据,并对读入的当前块YUV图像数据划分为多个像素块,其中,所述多个像素块中包含16x16亮度像素块和8x8色彩像素块,其中,针对每个16x16亮度像素块划分为4x4亮度像素块。
4.根据权利要求3所述的方法,其特征在于,所述对所述第i-1块YUV图像数据进行压缩计算,包括:
对所述第i-1块YUV图像数据中的16x16亮度像素块、4x4亮度像素块以及8x8色彩像素块并行的进行压缩计算,得到每个像素块对应的变换后像素块。
5.根据权利要求4所述的方法,其特征在于,针对所述第i-1块YUV图像数据中的16x16亮度像素块、4x4亮度像素块以及8x8色彩像素块中的每个像素块进行的压缩计算,包括:
至少通过对所述像素块依次进行离散余弦变换、量化处理以及反余弦变换处理,得到所述像素块对应的变换后像素块。
6.根据权利要求1-5中任一所述的方法,其特征在于,在所述DDR缓存端将所述WebP码流发送至CPU端之后,还包括:
所述CPU端对接收到的WebP码流进行后处理,得到处理后WebP码流;
打包所述处理后WebP码流,得到所述目标图片对应的WebP格式压缩图片。
7.一种WebP编码装置,其特征在于,包括FPGA加速卡和CPU端,其中,
所述CPU端,用于将目标图片发送至所述FPGA加速卡的DDR缓存端;
所述FPGA加速卡的DDR缓存端,用于接收所述CPU端发送的目标图片;
所述FPGA加速卡,用于从所述DDR缓存端读取所述目标图片的YUV图像数据,并将所述YUV图像数据的WebP编码过程,划分为顺序执行的多个编码步骤进行流水线并行处理,以得到编码后的WebP码流,以及回传所述WebP码流至所述DDR缓存端;
所述DDR缓存端,还用于将所述WebP码流发送至CPU端。
8.如权利要求7所述的装置,其特征在于,所述FPGA加速卡,具体用于:
从所述DDR缓存端依次读取所述YUV图像数据的每块YUV图像数据;其中,在读取第二块YUV图像数据时,并行对第一块YUV图像数据进行压缩计算;在读取第i块YUV图像数据时,并行对所述第i-1块YUV图像数据进行压缩计算,以及并行对所述第i-2块YUV图像数据的压缩结果进行算术编码,i依次取3至N,N为所述目标图片的分块数量。
9.根据权利要求8所述的装置,其特征在于,所述FPGA加速卡,具体用于:
从DDR缓存端读入所述第i块YUV图像数据;
对读入的所述第i块YUV图像数据划分为多个像素块,其中,所述多个像素块中包含16x16亮度像素块和8x8色彩像素块,其中,针对每个16x16亮度像素块划分为4x4亮度像素块。
10.根据权利要求8所述的装置,其特征在于,所述FPGA加速卡,具体用于:
对第i-1块YUV图像数据中的16x16亮度像素块、4x4亮度像素块以及8x8色彩像素块并行的进行压缩计算,得到每个像素块对应的变换后像素块。
CN202011261404.8A 2020-11-12 2020-11-12 一种WebP编码方法及装置 Pending CN112437308A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011261404.8A CN112437308A (zh) 2020-11-12 2020-11-12 一种WebP编码方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011261404.8A CN112437308A (zh) 2020-11-12 2020-11-12 一种WebP编码方法及装置

Publications (1)

Publication Number Publication Date
CN112437308A true CN112437308A (zh) 2021-03-02

Family

ID=74699815

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011261404.8A Pending CN112437308A (zh) 2020-11-12 2020-11-12 一种WebP编码方法及装置

Country Status (1)

Country Link
CN (1) CN112437308A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114187604A (zh) * 2022-02-14 2022-03-15 山东信通电子股份有限公司 一种WebP图片的完整性校验方法、设备及介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102148988A (zh) * 2011-04-20 2011-08-10 上海交通大学 基于fpga的高速jpeg图像处理系统及其处理方法
CN103246499A (zh) * 2013-05-28 2013-08-14 西安电子科技大学 图像并行化处理装置和方法
CN107124615A (zh) * 2017-05-15 2017-09-01 郑州云海信息技术有限公司 一种WebP有损压缩的方法及装置
CN107154062A (zh) * 2017-05-12 2017-09-12 郑州云海信息技术有限公司 一种WebP有损压缩算法的实现方法、装置及系统
CN107820091A (zh) * 2017-11-23 2018-03-20 郑州云海信息技术有限公司 一种图片处理方法、系统及一种图片处理设备
CN109040759A (zh) * 2018-07-27 2018-12-18 西安空间无线电技术研究所 一种图像并行压缩装置及方法
CN110913225A (zh) * 2019-11-19 2020-03-24 北京奇艺世纪科技有限公司 图像编码方法、装置、电子设备和计算机可读存储介质
CN111815502A (zh) * 2020-07-08 2020-10-23 上海雪湖科技有限公司 基于WebP压缩算法的多图处理的FPGA加速方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102148988A (zh) * 2011-04-20 2011-08-10 上海交通大学 基于fpga的高速jpeg图像处理系统及其处理方法
CN103246499A (zh) * 2013-05-28 2013-08-14 西安电子科技大学 图像并行化处理装置和方法
CN107154062A (zh) * 2017-05-12 2017-09-12 郑州云海信息技术有限公司 一种WebP有损压缩算法的实现方法、装置及系统
CN107124615A (zh) * 2017-05-15 2017-09-01 郑州云海信息技术有限公司 一种WebP有损压缩的方法及装置
CN107820091A (zh) * 2017-11-23 2018-03-20 郑州云海信息技术有限公司 一种图片处理方法、系统及一种图片处理设备
CN109040759A (zh) * 2018-07-27 2018-12-18 西安空间无线电技术研究所 一种图像并行压缩装置及方法
CN110913225A (zh) * 2019-11-19 2020-03-24 北京奇艺世纪科技有限公司 图像编码方法、装置、电子设备和计算机可读存储介质
CN111815502A (zh) * 2020-07-08 2020-10-23 上海雪湖科技有限公司 基于WebP压缩算法的多图处理的FPGA加速方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114187604A (zh) * 2022-02-14 2022-03-15 山东信通电子股份有限公司 一种WebP图片的完整性校验方法、设备及介质

Similar Documents

Publication Publication Date Title
CN115623200B (zh) 神经网络驱动型编解码器
JP4182442B2 (ja) 画像データの処理装置、画像データの処理方法、画像データの処理方法のプログラム及び画像データの処理方法のプログラムを記録した記録媒体
EP2015581A1 (en) Dynamic image processing method, program for the dynamic image processing method, recording medium containing the program for the dynamic image processing method, dynamic image processing device
US8902994B1 (en) Deblocking filtering
CN112102212B (zh) 一种视频修复方法、装置、设备及存储介质
US11570477B2 (en) Data preprocessing and data augmentation in frequency domain
CN113473148B (zh) 一种用于视频编码的计算系统及视频编码方法
US20210150260A1 (en) Using selected components of frequency domain image data in artificial intelligence tasks
RU2624464C1 (ru) Порядки сканирования для кодирования без преобразования
CN112437308A (zh) 一种WebP编码方法及装置
CN111432213A (zh) 用于视频和图像压缩的自适应贴片数据大小编码
US10791332B2 (en) Video data processing system
CN114501031B (zh) 一种压缩编码、解压缩方法以及装置
CN111815502B (zh) 基于WebP压缩算法的多图处理的FPGA加速方法
CN112954350A (zh) 一种基于帧分类的视频后处理优化方法及装置
CN112437309A (zh) 一种jpeg编码方法及装置
CN117459727B (zh) 一种图像处理方法、装置、系统、电子设备及存储介质
Mishourovsky Visually Lossless Colour Compression Technology
CN116668702B (zh) 一种视频编码方法、装置、终端设备及存储介质
CN114449280B (zh) 一种视频编解码方法、装置及设备
WO2024060791A1 (zh) 多媒体数据处理方法、装置、设备、存储介质及程序产品
CN112437303A (zh) 一种jpeg解码方法及装置
JP2023553503A (ja) 点群の符号化方法、復号化方法、エンコーダ及びデコーダ
CN108206950B (zh) 一种码流长度计算方法及设备
CN116965030A (zh) 使用稀疏表示来生成图像

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