CN111385578A - 一种应用于fpga的数据解压缩方法、成像设备和汽车 - Google Patents

一种应用于fpga的数据解压缩方法、成像设备和汽车 Download PDF

Info

Publication number
CN111385578A
CN111385578A CN201811622214.7A CN201811622214A CN111385578A CN 111385578 A CN111385578 A CN 111385578A CN 201811622214 A CN201811622214 A CN 201811622214A CN 111385578 A CN111385578 A CN 111385578A
Authority
CN
China
Prior art keywords
data
fpga
bits
compression coefficient
image
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.)
Granted
Application number
CN201811622214.7A
Other languages
English (en)
Other versions
CN111385578B (zh
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 Tusimple Technology Co Ltd
Original Assignee
Beijing Tusimple 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 Tusimple Technology Co Ltd filed Critical Beijing Tusimple Technology Co Ltd
Priority to CN201811622214.7A priority Critical patent/CN111385578B/zh
Priority to PCT/CN2019/077052 priority patent/WO2020133692A1/zh
Publication of CN111385578A publication Critical patent/CN111385578A/zh
Application granted granted Critical
Publication of CN111385578B publication Critical patent/CN111385578B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F7/38Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation
    • G06F7/40Methods or arrangements for performing computations using exclusively denominational number representation, e.g. using binary, ternary, decimal representation using contact-making devices, e.g. electromagnetic relay
    • G06F7/44Multiplying; Dividing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L19/00Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis
    • G10L19/04Speech or audio signals analysis-synthesis techniques for redundancy reduction, e.g. in vocoders; Coding or decoding of speech or audio signals, using source filter models or psychoacoustic analysis using predictive techniques
    • G10L19/16Vocoder architecture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/80Camera processing pipelines; Components thereof

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Electromagnetism (AREA)
  • Compression Or Coding Systems Of Tv Signals (AREA)

Abstract

本申请提供了一种应用于FPGA的数据解压缩方法、成像设备和汽车,其中,该方法包括:获取压缩数据和压缩系数;判断压缩系数的位数m大于预设的固定值n时,将压缩系数右移m减n位得到的数据确定为第一数据;判断压缩系数的位数m小于或等于固定值n时,将压缩系数确定为第一数据;在预先建立的查找表中查找第一数据对应的第二数据;其中,查找表包含二进制的n位0至n位1中每个正整数的倒数左移s位得到的二进制的第二数据;将第一数据对应的第二数据右移m减n位得到的数值确定为第三数据;将压缩数据与第三数据进行乘法运算,得到解压缩数据。本申请具有既能获得满足用户需求的解压缩数据,又能确保处理速度高效的优点。

Description

一种应用于FPGA的数据解压缩方法、成像设备和汽车
技术领域
本申请属于图像处理技术领域,尤其涉及一种应用于FPGA的数据解压缩方法、成像设备和汽车。
背景技术
在音频、视频传输领域,为了节省传输带宽,发送端在传输数据之前一般需要对数据进行压缩处理,接收端收到数据后再进行解压缩处理。其中,解压缩处理一般是压缩处理的逆运算。
例如,现有的图像传输一般是对原始图像进行压缩处理之后再进行传输,在压缩处理的时候,一般是采用乘法操作。相应的,在图像数据传输后进行恢复显示的过程中,就需要进行除法运算,从而恢复出原始图像。
现场可编程门阵列(Field Programmable Gate Array,FPGA)具有开发周期短、制造成本低、配置灵活、处理速度快等优点,被广泛应用于数字信号处理领域。
发明内容
FPGA虽然具有强大的数据处理性能,但是现有的FPGA在除法运算中存在诸多缺点,例如,现有的FPGA一般采用如下方式进行除法运算:
1)使用开发软件中提供的除法器IP核:这种方式需要利用FPGA开发平台自带的除法器IP核,在工程中直接调用IP核实现除法运算,然而,这种除法运算的时延比较高,例如,对于被除数24位、除数32位、余数25位的除法器,一般存在51个时钟的时延;
2)查表:这种方式需要事先将所有数据对应的倒数存储在FPGA内部,当进行除法运算的时候,采用查表的方式查找到数据对应的倒数,但对于位数较多的数据,查找表的方式会占用过多的资源,且位数越多,占用资源越大;
3)自行开发写除法器:这种方式需要工程师自行开发除法器,需要进行移位、加法等运算,且延时也会根据位数不同而不同,存在开发时间长,稳定性差等缺点。
FPGA在除法运算中的上述诸多缺点导致利用FPGA执行涉及除法运算的数据解压缩处理时,存在延时高、占用资源多、开发周期长等问题。
鉴于上述问题,本申请提供一种克服上述问题或者至少部分地解决上述问题的一种应用于FPGA的数据解压缩方法、成像设备和汽车。
在本申请实施方式的第一方面中,提供了一种应用于FPGA的数据解压缩方法,包括:
获取压缩数据和压缩系数;其中,所述压缩数据是原始数据与右移s位的所述压缩系数经过乘法运算得到的数据;所述压缩数据、原始数据、压缩系数均为二进制数据,且压缩系数为m位;
判断压缩系数的位数m大于预设的固定值n时,将所述压缩系数右移m减n位得到的数据确定为第一数据;判断压缩系数的位数m小于或等于所述固定值n时,将所述压缩系数确定为第一数据;其中,m、n、s均为正整数;
在预先建立的查找表中查找所述第一数据对应的第二数据;其中,所述查找表包含二进制的n位0至n位1中每个正整数的倒数左移s位得到的二进制的第二数据;
将所述第一数据对应的第二数据右移m减n位得到的数值确定为第三数据;
将所述压缩数据与所述第三数据进行乘法运算,得到解压缩数据。
在本申请实施方式的第二方面中,提供了一种FPGA,包括:可配置逻辑块,所述可配置逻辑块包括移位寄存器和存储器;
所述存储器用于存储预先建立的查找表,所述查找表包含二进制的n位0至n位1中每个正整数的倒数左移s位得到的二进制的第二数据;
所述可配置逻辑块用于:
获取压缩数据和压缩系数;其中,所述压缩数据是原始数据与右移s位的所述压缩系数经过乘法运算得到的数据;所述压缩数据、原始数据、压缩系数均为二进制数据,且压缩系数为m位;
判断压缩系数的位数m大于预设的固定值n时,通过操作所述移位寄存器,将所述压缩系数右移m减n位得到的数据确定为第一数据;判断压缩系数的位数m小于或等于所述固定值n时,通过操作所述移位寄存器,将所述压缩系数确定为第一数据;其中,m、n、s均为正整数;
在所述查找表中查找所述第一数据对应的第二数据;
通过操作所述移位寄存器,将所述第一数据对应的第二数据右移m减n位得到的数值确定为第三数据;
将所述压缩数据与所述第三数据进行乘法运算,得到解压缩数据。
在本申请实施方式的第三方面中,提供了一种成像设备,包括:图像传感器和FPGA;
所述图像传感器用于拍摄图像,利用预设的压缩系数对所述图像的原始数据进行乘法运算得到压缩数据,并将所述压缩系数和压缩数据发送给所述FPGA;
所述FPGA用于执行如前述的应用于FPGA的数据解压缩方法的各个步骤。
在本申请实施方式的第四方面中,提供了一种汽车,包括:图像处理服务器和如前所述的成像设备;
所述图像处理服务器接收所述成像设备输出的解压缩数据,并对其进行视觉分析处理。
在本申请实施方式的第五方面中,提供了一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述指令被执行时实现如前所述的应用于FPGA的数据解压缩方法。
借助于上述技术方案,本申请实施例提供的数据解压缩方法可良好地运用于FPGA中用于此类数据的解压缩处理(如视频、音频等领域),具有既能获得满足用户需求的解压缩数据,又能确保处理速度高效的优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的应用于FPGA的数据解压缩方法的流程;
图2是本申请实施例提供的自动驾驶汽车的结构框图;
图3是本申请实施例提供的成像设备分段线性化压缩图像数据的曲线示意图;
图4是本申请实施例提供的成像设备的结构框图。
具体实施方式
为了使本技术领域的人员更好地理解本申请中的技术方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
为了便于理解,以下对本申请涉及的技术术语进行解释:
(1)本文中所说的“数据位数m、n”为十进制数据;
(2)本文中所说的“压缩数据Dcmp、原始数据Dorg、压缩系数gain、第一数据D1、第二数据D2、第三数据D3”等由FPGA处理的数据为二进制数据;
(3)本文中所说的“左移”运算以及标识符“<<”是将二进制数据按指定移动的位数向左移位,移出位被丢弃,右边的空位补0;
(4)本文中所说的“右移”运算以及标识符“>>”是将二进制数据按指定移动的位数向右移动,移出位被丢弃,左边移出的空位或者补0;
(5)本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系;
(6)本文中所称的“自动驾驶车”是指利用自动驾驶技术实现的具有载人(如家用轿车、公共汽车等类型)、载货(如普通货车、厢式货车、封闭货车、罐式货车、平板货车、集装厢车、自卸货车、特殊结构货车等类型)或者特殊救援功能(如消防车、救护车等类型)的车辆。
发明概述
在信号传输领域,为了节省带宽,发送端通常会在传输数据之前对位宽较大的原始数据Dorg进行压缩处理,压缩处理的过程包括将原始数据Dorg与一个小于1的数进行乘法运算得到位宽较小的压缩数据Dcmp,相应的,接收端接收到压缩数据Dcmp后需要进行解压缩处理,解压缩处理的过程包括将压缩数据Dcmp除以上述小于1的数得到解压缩数据。
当接收端为FPGA时,由于解压缩处理过程中要进行除法运算,而FPGA在除法运算方面存在延时高、资源占用大、稳定性差等缺点,就导致数据解压缩过程处理速度较慢,以至于传输过程受阻。此外,FPGA在存储小数时,只能通过存储二进制的正整数再通过对该二进制的正整数进行右移操作来实现,这种存储模式也会导致解压缩过程处理速度较慢、延时高。
为了克服上述问题,本申请实施例提供一种应用于FPGA的数据解压缩方法,如图1所示,该方法包括:
步骤S100,获取压缩数据Dcmp和压缩系数gain。
其中,压缩数据Dcmp、原始数据Dorg、压缩系数gain均为二进制数据,且压缩系数gain为m位(m为正整数)。
压缩数据Dcmp是由原始数据Dorg与右移s位(s为正整数)的压缩系数gain经过乘法运算得到的数据,由于FPGA对二进制数据的移位相当于进行了乘法运算,因此有:
Dcmp=Dorg×gain×2-s (公式1)
其中,右移s位的压缩系数gain实际是FPGA存储的压缩处理中乘法运算用到的小数,由于FPGA不能直接存储小数,因此采用存储二进制的正整数压缩系数gain并对其右移s位的方式实现。
例如,压缩系数gain为24位二进制数据,右移24位,即m=24,s=24,则有:Dcmp=Dorg×gain×2-24
步骤S102,判断压缩系数gain的位数m大于预设的固定值n(n为正整数)时,将压缩系数gain右移m减n位得到的数据确定为第一数据D1;判断压缩系数gain的位数m小于或等于预设的固定值n时,将压缩系数gain确定为第一数据D1。
根据该步骤有如下公式:
当m大于n时,D1=gain>>(m-n)=gain×2-m+n (公式2)
当m小于或等于n时,D1=gain (公式9)
例如,n为固定正整数10,若m=24,则将压缩系数gain右移14位得到第一数据D1;若m=8,则将压缩系数gain直接确定为第一数据D1。
步骤S104,在预先建立的查找表中查找第一数据D1对应的第二数据D2,其中,查找表包含二进制的n位0至n位1中每个正整数的倒数左移s位得到的二进制的第二数据D2。
例如,n为固定正整数10,则查找表包含二进制的0000000000至1111111111所表示的数值区间(即十进制的0~210-1)中的每个正整数的倒数左移s位得到的二进制的第二数据D2。其中,第一数据D1可以是查找表中的任意一个正整数,由于该查找表中每个正整数的倒数都是小数,因此FPGA存储的是这些小数左移s位得到的第二数据D2。
根据该步骤,D2=(1/D1)<<s=(1/D1)×2s (公式3)
步骤S106,将第一数据D1对应的第二数据D2右移m减n位得到的数值确定为第三数据D3。
即,D3=D2>>(m-n)=D2×2-m+n (公式4)
步骤S108,将压缩数据Dcmp与第三数据D3进行乘法运算,得到解压缩数据Dun-cmp
即,Dun-cmp=Dcmp×D3 (公式5)
根据上述公式1~公式5可得:
Dorg=Dcmp×(1/gain)×2s (公式6)
Dun-cmp=Dcmp×(1/D1)×2s-m+n (公式7)
gain=D1×2m-n (公式8)
根据上述公式6~公式8可知:解压缩数据Dun-cmp近似等于原始数据Dorg
需要说明的是,在公式2中,由于第一数据D1是压缩系数gain右移m减n位得到的二进制数据,即第一数据D1是压缩系数gain丢弃了移出的m减n位得到的数据,因此,第一数据D1的倒数只是近似等于压缩系数gain的倒数,最终得到的解压缩数据Dun-cmp近似等于原始数据Dorg
根据上述公式6、公式7、公式9可知:解压缩数据Dun-cmp近似等于原始数据Dorg
需要说明的是,公式9中虽有D1=gain,但由于对第一数据D1和压缩系数gain分别取倒数后得到的二进制数据的位数有可能不同,而二进制数据的位数直接影响其精度,因此第一数据D1的倒数也只是近似等于压缩系数gain的倒数,最终得到的解压缩数据Dun-cmp近似等于原始数据Dorg
对于位数为m的压缩系数gain,若采用现有的FPGA查表的方式执行数据解压缩方法,则查找表中需要存储2m个倒数,若采用本申请提供的上述数据解压缩方法,则查找表中最多存储2n个倒数,极大节省了FPGA的存储资源,降低了查找时间。
因此,虽然解压缩数据Dun-cmp相对于原始数据Dorg有所损失,但是上述数据解压缩方法极大地节约了FPGA解压缩数据的计算时间和计算资源,加快了FPGA解压缩数据的处理速度。当解压缩数据相对于原始数据的损失情况在用户的可接受范围内时(例如解压缩后的视频信号、音频信号失真情况不明显,可被用户接受),本申请实施例提供的数据解压缩方法可良好地运用于FPGA中用于此类数据的解压缩处理(如视频、音频等领域),具有既能获得满足用户需求的解压缩数据,又能确保处理速度高效的优点。
需要说明的是,本申请实施例提供的应用于FPGA的数据解压缩方法,可用于对任何允许解压缩结果相对于原始数据有一定失真的数据类型,例如可以是视频信号、音频信号等,本申请对此不作具体限定。
在介绍了本申请的基本原理之后,下面具体介绍本申请的各种非限制性实施方式。
在一些实施例中,压缩数据Dcmp是原始数据Dorg与右移s位的压缩系数gain经过乘法运算之后,又进行了加法运算和/或减法运算得到的数据。例如,采用分段线性化的方式对图像进行压缩处理所使用的压缩公式为:Dcmp=(Dorg-xi)×(gi×2-s)+yi,其中,i是图像压缩处理中对原始数据Dorg进行分段处理得到的每段的编号,i=1,2,3....,xi是每段原始数据的最小值,yi为xi对应的压缩数据,gi是对每段原始数据压缩处理所用的压缩系数。在这类实施例中,由于压缩处理过程还采用了加法、减法等运算,因此,步骤S108将压缩数据Dcmp与第三数据D3进行乘法运算,得到解压缩数据Dun-cmp,包括:将压缩数据Dcmp与第三数据D3进行乘法运算之后,再进行上述加法运算和/或减法运算的逆运算,得到解压缩数据Dun-cmp
在一些实施例中,原始数据Dorg是图像的像素值,例如,待传输的视频信号是静态图像信号,被压缩处理的原始数据是图像的像素值(即每个像素的灰度值)。
在一些实施例中,原始数据Dorg是高动态范围(High Dynamic Range Imaging,HDR)图像的像素值。在HDR图像中,像素值的位宽很大,例如为24位,所需的传输带宽就要很高,为了在有限的带宽下实现传输,将每个像素值由24位压缩至12位然后再传输,FPGA收到数据后,再通过解压缩处理将12位的数据还原回24位。
本申请实施例提供的应用于FPGA的数据解压缩方法中,固定值n是预设的数值,其大小决定了查找表存储的数据量,n的值越小,则占用的FPGA的资源越少,但计算带来的误差也会越大,即解压缩数据相对于原始数据的失真情况越严重。具体应用时,可以根据对内存资源的需求和对数据失真情况的要求等因素综合考虑,来确定固定值n的大小。
应用场景总览
图2所示为一种自动驾驶汽车的结构框架,该自动驾驶汽车的图像采集过程如下:装设在车身上的成像设备21拍摄行驶环境得到图像,并将这些图像实时传输给图像处理服务器22,由图像处理服务器22做进一步的视觉分析处理。
其中,成像设备21包括图像传感器211和FPGA 212,二者之间通过移动行业处理器接口(Mobile Industry Processor Interface,MIPI)传输数据,受MIPI接口传输速率和带宽的限制,图像传感器211在将图像传输给FPGA 212之前,需要先对其进行压缩,FPGA 212接收之后再进行解压缩,具体过程为:
图像传感器211拍摄图像之后,利用预设的压缩系数对图像的原始数据进行压缩处理得到压缩数据,并将压缩系数和压缩数据发送给FPGA 212;FPGA 212利用压缩系数和压缩数据进行解压缩处理得到解压缩数据,该解压缩处理过程采用本申请实施例提供的应用于FPGA 212的数据解压缩方法。
需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施方式在此方面不受任何限制。相反,本申请的实施方式可以应用于适用的任何场景。
示例性方法
结合图2所示的应用场景,通过以下实施例介绍本申请实施例提供的应用于FPGA的数据解压缩方法。
图像传感器拍摄行驶环境得到位宽为24位的HDR图像,在输出该图像之前,采用了分段线性化的方式将24位的图像数据压缩为12位的图像数据,得到压缩数据。
该压缩过程采用的压缩公式为Dcmp=(Dorg-xi)×(gi×2-24)+yi,如图3所示,其中,i是图像压缩处理中对原始数据Dorg进行分段处理得到的每段的编号,i=1,2,3....,xi是每段原始数据的最小值,yi为xi对应的压缩数据,gi是对每段原始数据压缩处理所用的压缩系数,gi位宽为24,Dcmp是原始数据Dorg对应的压缩数据。
图像传感器将压缩数据Dcmp、压缩系数gi、每段原始数据的最小值xi及其对应的压缩数据yi发送给FPGA,FPGA利用这些数据,并按照解压缩公式Dun-cmp=(Dcmp-yi)/gi×224+xi计算得到解压缩数据Dun-cmp,解压缩过程具体如下:
步骤A100,判断压缩系数gi的位数24大于预设的固定值n=10,则将压缩系数gi右移14位(24位减10位)得到的数据确定为第一数据D1;其中,D1=gi>>14=gi×2-14
步骤A200,在预先建立的查找表中查找第一数据D1对应的第二数据D2;其中,D2=(1/D1)<<24=(1/D1)×224
步骤A300,将第一数据D1对应的第二数据D2右移14位得到的数值确定为第三数据D3;其中,D3=D2>>14=D2×2-14
步骤A400,计算Dcmp-yi
步骤A500,将(Dcmp-yi)与第三数据D3进行乘法运算,即(Dcmp-yi)×D3=(Dcmp-yi)×D2×2-14
步骤A600,计算(Dcmp-yi)×D2×2-14+xi得到解压缩数据Dun-cmp;即Dun-cmp=(Dcmp-yi)×D2×2-14+xi
FPGA将解压缩得到的数据传输给图像处理服务器,再由图像处理服务器做进一步的视觉分析处理。
本申请实施例进行了如下实验验证:利用本申请实施例提供的数据解压缩方法,FPGA对像素位宽为12位的压缩图像进行解压缩,得到像素位宽为24位的解压缩图像,整个解压缩过程只需要6个时钟的延时;而利用目前FPGA开发平台自带的IP核做除法运算,对像素位宽为12位的压缩图像进行解压缩得到像素位宽为24位的解压缩图像,整个解压缩过程的延时高达52个时钟。
此外,利用本申请实施例提供的数据解压缩方法,FPGA解压缩得到的图像的清晰程度,与采用目前FPGA开发平台自带的IP核做除法运算的方式对图像进行解压缩所得到的图像的清晰程度相比,清晰程度几乎一致,误差在0.1%以内。
由此可见,通过本申请实施例提供的应用于FPGA的数据解压缩方法,可以在保证图像质量的前提下,有效节约计算时间和计算资源。
示例性设备
基于相同的发明,本申请实施例还提供一种FPGA,包括:可配置逻辑块,可配置逻辑块包括移位寄存器和存储器。
存储器用于存储预先建立的查找表,查找表包含二进制的n位0至n位1中每个正整数的倒数左移s位得到的二进制的第二数据;
可配置逻辑块用于:
获取压缩数据和压缩系数;其中,压缩数据是原始数据与右移s位的压缩系数经过乘法运算得到的数据;压缩数据、原始数据、压缩系数均为二进制数据,且压缩系数为m位;
判断m大于n时,通过操作移位寄存器,将压缩系数右移m减n位得到的数据确定为第一数据;判断m小于或等于n时,通过操作移位寄存器,将压缩系数确定为第一数据;其中,m、n、s均为正整数,且n为固定值;
在查找表中查找第一数据对应的第二数据;
通过操作移位寄存器,将第一数据对应的第二数据右移m减n位得到的数值确定为第三数据;
将压缩数据与第三数据进行乘法运算,得到解压缩数据。
在一些实施例中,压缩数据是原始数据与右移s位的压缩系数经过乘法运算之后,又进行了加法运算和/或减法运算得到的数据;
则,可配置逻辑块将压缩数据与第三数据进行乘法运算,得到解压缩数据,包括:
将压缩数据与第三数据进行乘法运算之后,再进行加法运算和/或减法运算的逆运算,得到解压缩数据。
在一些实施例中,原始数据为音频数据。
在一些实施例中,原始数据为视频数据。
在一些实施例中,原始数据为图像的像素值。
在一些实施例中,图像为高动态范围HDR图像。
本申请实施例提供的FPGA的工作原理与图1所示的应用于FPGA的数据解压缩方法基于相同的发明思想实现,且有相同的非限制性实施方式,具体可参照前面示例性方法中对图1所示的应用于FPGA的数据解压缩方法的介绍,此处不再赘述。
基于相同的发明,如图4所示,本申请实施例还提供一种成像设备,包括:图像传感器41和FPGA 42。
该图像传感器41用于拍摄图像,利用预设的压缩系数对图像的原始数据进行乘法运算得到压缩数据,并将压缩系数和压缩数据发送给FPGA 42;FPGA 42用于执行如图1所示的应用于FPGA 42的数据解压缩方法的各个步骤。
图4所示的成像设备的工作原理与图1所示的应用于FPGA 42的数据解压缩方法基于相同的发明思想实现,且有相同的非限制性实施方式,具体可参照前面示例性方法中对图1所示的应用于FPGA 42的数据解压缩方法的介绍,此处不再赘述。
基于相同的发明,如图2所示,本申请实施例还提供一种汽车,包括:图像处理服务器22和成像设备21。
其中,成像设备21包括的结构和工作原理参照前述对图4所示的成像设备的介绍,此处不再赘述。
图像处理服务器22接收成像设备21输出的解压缩数据,并对其进行视觉分析处理。
该汽车可以是自动驾驶车,即利用自动驾驶技术实现的具有载人(如家用轿车、公共汽车等类型)、载货(如普通货车、厢式货车、封闭货车、罐式货车、平板货车、集装厢车、自卸货车、特殊结构货车等类型)或者特殊救援功能(如消防车、救护车等类型)的车辆。
图2所示的汽车的图像采集过程与图1所示的应用于FPGA的数据解压缩方法基于相同的发明思想实现,且有相同的非限制性实施方式,具体可参照前面示例性方法中对图1所示的应用于FPGA的数据解压缩方法的介绍,此处不再赘述。
基于相同的发明思想,本申请实施例还提供一种计算机可读的存储介质,其上存储有计算机程序,该计算机程序被处理器运行时本申请实施例提供的应用于FPGA的数据解压缩方法。该计算机可读的存储介质例如可以但不限于是电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。在一些实施例中,该计算机可读的存储介质可以是:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
虽然本申请提供了如实施例或流程图所述的方法操作步骤,但基于常规或者无创造性的劳动可以包括更多或者更少的操作步骤。实施例中列举的步骤顺序仅仅为众多步骤执行顺序中的一种方式,不代表唯一的执行顺序。在实际中的装置或客户端产品执行时,可以按照实施例或者附图所示的方法顺序执行或者并行执行(例如并行处理器或者多线程处理的环境)。
上述实施例阐明的装置或模块,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。为了描述的方便,描述以上装置时以功能分为各种模块分别描述。在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。当然,也可以将实现某功能的模块由多个子模块或子单元组合实现。
本申请中所述的方法、装置或模块可以以计算机可读程序代码方式实现控制器按任何适当的方式实现,例如,控制器可以采取例如微处理器或处理器以及存储可由该(微)处理器执行的计算机可读程序代码(例如软件或固件)的计算机可读介质、逻辑门、开关、专用集成电路(Application Specific Integrated Circuit,ASIC)、可编程逻辑控制器和嵌入微控制器的形式,控制器的例子包括但不限于以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20以及Silicone Labs C8051F320,存储器控制器还可以被实现为存储器的控制逻辑的一部分。本领域技术人员也知道,除了以纯计算机可读程序代码方式实现控制器以外,完全可以通过将方法步骤进行逻辑编程来使得控制器以逻辑门、开关、专用集成电路、可编程逻辑控制器和嵌入微控制器等的形式来实现相同功能。因此这种控制器可以被认为是一种硬件部件,而对其内部包括的用于实现各种功能的装置也可以视为硬件部件内的结构。或者甚至,可以将用于实现各种功能的装置视为既可以是实现方法的软件模块又可以是硬件部件内的结构。
本申请所述装置中的部分模块可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构、类等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本申请可借助软件加必需的硬件的方式来实现。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,也可以通过数据迁移的实施过程中体现出来。该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,移动终端,服务器,或者网络设备等)执行本申请各个实施例或者实施例的某些部分所述的方法。
本说明书中的各个实施例采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。本申请的全部或者部分可用于众多通用或专用的计算机***环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、移动通信终端、多处理器***、基于微处理器的***、可编程的电子设备、网络PC、小型计算机、大型计算机、包括以上任何***或设备的分布式计算环境等等。
虽然通过实施例描绘了本申请,本领域普通技术人员知道,本申请有许多变形和变化而不脱离本申请的精神,希望所附的权利要求包括这些变形和变化而不脱离本申请的精神。

Claims (10)

1.一种应用于FPGA的数据解压缩方法,其特征在于,包括:
获取压缩数据和压缩系数;其中,所述压缩数据是原始数据与右移s位的所述压缩系数经过乘法运算得到的数据;所述压缩数据、原始数据、压缩系数均为二进制数据,且压缩系数为m位;
判断压缩系数的位数m大于预设的固定值n时,将所述压缩系数右移m减n位得到的数据确定为第一数据;判断压缩系数的位数m小于或等于所述固定值n时,将所述压缩系数确定为第一数据;其中,m、n、s均为正整数;
在预先建立的查找表中查找所述第一数据对应的第二数据;其中,所述查找表包含二进制的n位0至n位1中每个正整数的倒数左移s位得到的二进制的第二数据;
将所述第一数据对应的第二数据右移m减n位得到的数值确定为第三数据;
将所述压缩数据与所述第三数据进行乘法运算,得到解压缩数据。
2.根据权利要求1所述的方法,其特征在于,所述压缩数据是原始数据与右移s位的所述压缩系数经过乘法运算之后,又进行了加法运算和/或减法运算得到的数据;
则,将所述压缩数据与所述第三数据进行乘法运算,得到解压缩数据,包括:
将所述压缩数据与所述第三数据进行乘法运算之后,再进行所述加法运算和/或减法运算的逆运算,得到解压缩数据。
3.根据权利要求1~2任一所述的方法,其特征在于,所述原始数据为音频信号。
4.根据权利要求1~2任一所述的方法,其特征在于,所述原始数据为视频信号。
5.根据权利要求4所述的方法,其特征在于,所述原始数据为图像的像素值。
6.根据权利要求5所述的方法,其特征在于,所述图像为高动态范围HDR图像。
7.一种FPGA,其特征在于,所述FPGA用于执行如权利要求1~6任一所述的应用于FPGA的数据解压缩方法的各个步骤。
8.一种成像设备,其特征在于,包括:图像传感器和FPGA;
所述图像传感器用于拍摄图像,利用预设的压缩系数对所述图像的原始数据进行乘法运算得到压缩数据,并将所述压缩系数和压缩数据发送给所述FPGA;
所述FPGA用于执行如权利要求1、2、4~6任一所述的应用于FPGA的数据解压缩方法的各个步骤。
9.一种汽车,其特征在于,包括:图像处理服务器和如权利要求8所述的成像设备;
所述图像处理服务器接收所述成像设备输出的解压缩数据,并对其进行视觉分析处理。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机指令,所述指令被执行时实现权利要求1~6任一所述的应用于FPGA的数据解压缩方法。
CN201811622214.7A 2018-12-28 2018-12-28 一种应用于fpga的数据解压缩方法、成像设备和汽车 Active CN111385578B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201811622214.7A CN111385578B (zh) 2018-12-28 2018-12-28 一种应用于fpga的数据解压缩方法、成像设备和汽车
PCT/CN2019/077052 WO2020133692A1 (zh) 2018-12-28 2019-03-05 一种应用于fpga的数据解压缩方法、成像设备和汽车

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811622214.7A CN111385578B (zh) 2018-12-28 2018-12-28 一种应用于fpga的数据解压缩方法、成像设备和汽车

Publications (2)

Publication Number Publication Date
CN111385578A true CN111385578A (zh) 2020-07-07
CN111385578B CN111385578B (zh) 2021-06-01

Family

ID=71126703

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811622214.7A Active CN111385578B (zh) 2018-12-28 2018-12-28 一种应用于fpga的数据解压缩方法、成像设备和汽车

Country Status (2)

Country Link
CN (1) CN111385578B (zh)
WO (1) WO2020133692A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023024796A1 (zh) * 2021-08-24 2023-03-02 华为技术有限公司 一种数据压缩、解压缩方法及通信装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1539102A (zh) * 2001-08-07 2004-10-20 ��˹��ŵ�� 执行除法的方法和装置
CN201359721Y (zh) * 2008-12-24 2009-12-09 京信通信***(中国)有限公司 一种高速除法器
CN102566963A (zh) * 2010-12-21 2012-07-11 普天信息技术研究院有限公司 一种fpga进行数据处理的方法
CN106708468A (zh) * 2015-11-17 2017-05-24 华为数字技术(苏州)有限公司 一种除法运算方法及装置
US20170185378A1 (en) * 2015-12-29 2017-06-29 Realtek Semiconductor Corporation Division operation apparatus and method of the same
CN107018430A (zh) * 2016-01-28 2017-08-04 影图辟开思公司 用于二进制数据的压缩和解压缩的方法和设备
CN108228136A (zh) * 2017-12-08 2018-06-29 上海集成电路研发中心有限公司 基于优化查找表法的对数函数计算的方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1539102A (zh) * 2001-08-07 2004-10-20 ��˹��ŵ�� 执行除法的方法和装置
CN201359721Y (zh) * 2008-12-24 2009-12-09 京信通信***(中国)有限公司 一种高速除法器
CN102566963A (zh) * 2010-12-21 2012-07-11 普天信息技术研究院有限公司 一种fpga进行数据处理的方法
CN106708468A (zh) * 2015-11-17 2017-05-24 华为数字技术(苏州)有限公司 一种除法运算方法及装置
US20170185378A1 (en) * 2015-12-29 2017-06-29 Realtek Semiconductor Corporation Division operation apparatus and method of the same
CN107018430A (zh) * 2016-01-28 2017-08-04 影图辟开思公司 用于二进制数据的压缩和解压缩的方法和设备
CN108228136A (zh) * 2017-12-08 2018-06-29 上海集成电路研发中心有限公司 基于优化查找表法的对数函数计算的方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
罗瑜等: "《基于FPGA的除法器设计》", 《计算机与数字工程》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023024796A1 (zh) * 2021-08-24 2023-03-02 华为技术有限公司 一种数据压缩、解压缩方法及通信装置

Also Published As

Publication number Publication date
CN111385578B (zh) 2021-06-01
WO2020133692A1 (zh) 2020-07-02

Similar Documents

Publication Publication Date Title
CN109600618B (zh) 视频压缩方法、解压缩方法、装置、终端和介质
CN104838653B (zh) 使用差分传送进行的无损图像压缩
US9307244B2 (en) Data storage controlling device, data reading controlling device, and data storing method
EP3108583B1 (en) Devices and methods of source-encoding and decoding of data
CN111131828B (zh) 一种图像压缩方法、装置、电子设备和存储介质
CN105144231B (zh) 选择图像动态范围转换算子的方法和设备
CN110971239A (zh) 基于数据压缩的均值计算方法、装置和终端设备
EP2717475A1 (en) Method and apparatus for compression of generalized sensor data
CN111385578B (zh) 一种应用于fpga的数据解压缩方法、成像设备和汽车
CN110913219A (zh) 一种视频帧预测方法、装置及终端设备
EP3180910B1 (en) Method for optimized chroma subsampling, apparatus for optimized chroma subsampling and storage device
US8358861B2 (en) Image compression device and image decompression device
CN109474824B (zh) 图像压缩方法
EP4344069A2 (en) Data compression method and apparatus and data decompression method and apparatus
JPWO2012160626A1 (ja) 画像圧縮装置、画像復元装置、及びプログラム
EP2273776A1 (en) Image data compression apparatus, decompression apparatus, compression method, decompression method, and program
US20170201759A1 (en) Method and device for image encoding and image decoding
US20230091103A1 (en) Electronic device and method for compressing video data
US20220375022A1 (en) Image Compression/Decompression in a Computer Vision System
CN111083479A (zh) 一种视频帧预测方法、装置及终端设备
EP4216553A1 (en) Point cloud decoding and encoding method, and decoder, encoder and encoding and decoding system
CN110830806A (zh) 一种视频帧预测方法、装置及终端设备
CN110809163A (zh) 一种数据传输方法、装置、计算机设备以及存储介质
CN110771167A (zh) 视频压缩的方法、装置、计算机***和可移动设备
US7970218B1 (en) Method, system, and computer-readable medium for the adaptive filtering and compression of video data

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant