CN108109181B - 读取图像压缩数据的电路及包含该电路的反畸变电路 - Google Patents
读取图像压缩数据的电路及包含该电路的反畸变电路 Download PDFInfo
- Publication number
- CN108109181B CN108109181B CN201711364142.6A CN201711364142A CN108109181B CN 108109181 B CN108109181 B CN 108109181B CN 201711364142 A CN201711364142 A CN 201711364142A CN 108109181 B CN108109181 B CN 108109181B
- Authority
- CN
- China
- Prior art keywords
- data
- block
- unit
- image
- compressed
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000013507 mapping Methods 0.000 claims abstract description 90
- 230000006837 decompression Effects 0.000 claims description 31
- 239000000872 buffer Substances 0.000 claims description 27
- 239000006185 dispersion Substances 0.000 claims description 2
- 238000007906 compression Methods 0.000 abstract description 14
- 230000006835 compression Effects 0.000 abstract description 13
- 238000010586 diagram Methods 0.000 description 27
- 230000006870 function Effects 0.000 description 4
- 238000000034 method Methods 0.000 description 4
- 230000003139 buffering effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 210000003128 head Anatomy 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012163 sequencing technique Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/60—Memory management
-
- G06T3/047—
-
- G06T5/80—
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20021—Dividing image into blocks, subimages or windows
Abstract
本发明涉及一种读取图像压缩数据的电路,包括取系数单元、坐标计算单元、取压缩块头信息单元和取压缩数据单元,取系数单元读取输出图像块与原始图像块的映射系数;坐标计算单元将原始图像划分为M*N像素的单元块,M和N为大于1的正整数,根据映射系数计算输出图像行对应的原始图像的单元块的坐标;取压缩块头信息单元根据输出图像行对应的原始图像的单元块的坐标生成所述单元块的压缩块的头信息地址,根据头信息地址读取压缩块的头信息;取压缩数据单元根据压缩块的头信息读取所述压缩块数据。实现了实时读取图像压缩数据,降低带宽,降低显示延迟。
Description
技术领域
本发明涉及图像处理领域,具体涉及一种读取图像压缩数据的电路及包含该电路的反畸变电路。
背景技术
在VR系统中,一般是利用透镜将显示屏上的图像投射到用户的眼睛中,由于透镜本身的物理特性,会造成投射到用户眼睛的图像产出畸变色散等现象,影响用户体验。为了避免影响用户体验,可以对传送到显示屏的图像进行反畸变处理,即提前进行失真处理。传送到显示屏上的图像需要从解码后的正常形状(图1左所示)经过畸变成为扭曲形状(图1右所示),而当该扭曲形状(图2左所示)经过透镜显示出来时,由于透镜的光学畸变效果,正好抵消之前的反畸变效果,最终显示出来是正常形状(图2右所示),从而使用户得到较好的体验。
一般情况下,传送到显示装置的图像已经是处理过的,给到显示屏直接显示,即非实时显示模式,处理图像的反畸变功能通常由GPU完成,GPU读取的数据为原始图像数据或压缩数据,经过GPU做解压缩和反畸变的处理再写回动态随机存取存储器(DRAM),再由显示模块读取。每一帧图像的反畸形变换的过程为:从动态随机存取存储器(DRAM)中读取一帧原始图像,按照畸形变换的映射关系对原始图像进行处理,处理完之后写回动态随机存取存储器(DRAM)中,显示模块从动态随机存取存储器(DRAM)中读取已经畸变之后的图像,这样一帧图像的操作会经历读取一帧>回写一帧>显示模块再读取一帧三步,反复读写动态随机存取存储器(DRAM)会导致带宽浪费,GPU负载较重。现有技术通常是读取一帧原始图像的压缩数据之后再进行解压缩计算及后续的图像处理,会带来图像显示延迟的问题。同时,解压缩并进行图像处理之后的图像数据还需要再保存至内存,再由显示装置读取送显,又增加了显示延迟,同时也增加带宽消耗。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种读取图像压缩数据的电路及包含该电路的图像解压缩电路和反畸变电路,克服显示延迟、带宽增加的缺陷。
本发明解决其技术问题所采用的技术方案是:
提供一种读取图像压缩数据的电路,包括取系数单元、坐标计算单元、取压缩块头信息单元和取压缩数据单元,取系数单元读取输出图像块与原始图像块的映射系数;坐标计算单元将所述原始图像划分为M*N像素的单元块,所述M和N为大于1的正整数,根据所述映射系数计算所述输出图像行对应的原始图像的单元块的坐标;取压缩块头信息单元根据所述输出图像行对应的原始图像的单元块的坐标生成所述单元块的压缩块的头信息地址,根据所述头信息地址读取所述压缩块的头信息;取压缩数据单元根据所述压缩块的头信息读取所述压缩块数据。
所述映射系数是反畸变映射系数或融合反畸变、反色散和异步时间扭曲的映射系数。
所述映射系数包括R分量映射系数、G分量映射系数和B分量映射系数。
所述取系数单元包括直接内存存取控制器,用于直接读取所述映射系数。
所述直接内存存取控制器包括:命令产生器、数据分离器和数据缓冲器,命令产生器生成所述映射系数的的内存地址和数据长度,并将所述内存地址和数据长度发送至内存总线;数据分离器接收所述内存总线根据所述内存地址和数据长度发送的数据,并将所述数据组合成所述输出图像块与所述原始图像块的映射系数;数据缓冲器存放所述映射系数。
所述坐标计算单元包括像素坐标计算模块、坐标排序模块和带宽动态调节器,像素坐标计算模块根据所述映射系数计算所述输出图像中每个像素点对应在所述原始图像中的像素点的坐标;坐标排序模块将所述原始图像划分为M*N像素的所述单元块,根据所述输出图像行对应的所述原始图像行的像素点的坐标确定所述输出图像行对应的所述原始图像的单元块,并对所述单元块的纵坐标进行排序,根据所述单元块的纵坐标的范围确定所需单元块的坐标;带宽动态调节器读取所述坐标排序模块确定的所需单元块的坐标,当判断需要读取所述输出图像行的后续行对应的所述原始图像中的单元块的坐标时,读取所述输出图像行的后续行对应的所述原始图像中的单元块的坐标。
所述像素坐标计算模块包括像素R分量坐标计算模块、像素G分量坐标计算模块和像素B分量坐标计算模块,像素R分量坐标计算模块根据所述映射系数计算所述输出图像像素点对应在所述原始图像中的像素点的R分量坐标;像素G分量坐标计算模块根据所述映射系数计算所述输出图像像素点对应在所述原始图像中的像素点的G分量坐标;像素B分量坐标计算模块根据所述映射系数计算所述输出图像像素点对应在所述原始图像中的像素点的B分量坐标。
所述坐标排序模块按所述原始图像像素的横坐标将所述原始图像划分为M*N个像素的所述单元块。
所述M和N为2的幂次。
所述坐标排序模块包括R分量坐标排序模块、G分量坐标排序模块和B分量坐标排序模块,R分量坐标排序模块对所述单元块的R分量的纵坐标进行排序;G分量坐标排序模块对所述单元块的G分量的纵坐标进行排序;B分量坐标排序模块对所述单元块的B分量的纵坐标进行排序。
所述带宽调节器判断需要读取所述输出图像行的后续行对应的所述原始图像中的单元块的坐标的条件是:当所述输出图像行对应的所述原始图像中的单元块的个数不大于第一阈值时。
所述坐标计算单元还包括旋转映射模块,用于将所述输出图像行对应的所述原始图像中的单元块的坐标和所述输出图像行的后续行对应的所述原始图像中的单元块的坐标进行旋转坐标映射。
所述取压缩块头信息单元包括直接内存存取控制器,用于直接读取所述压缩块头信息。
所述直接内存存取控制器包括命令产生器、数据分离器、第一数据缓冲器和第二数据缓冲器,命令产生器所述输出图像行对应的原始图像的单元块的坐标生成所述单元块的压缩块的头信息的内存地址和数据长度,并将所述内存地址和数据长度发送至内存总线;数据分离器接收所述内存总线根据所述内存地址和长度信息发送的所述压缩块的头信息,并根据所述头信息解析出所述压缩块的内存地址和长度信息;第一数据缓冲器存放所述压缩块的内存地址;第二数据缓冲器存放所述压缩块的长度信息。
所述取压缩数据单元包括直接内存存取控制器,用于直接读取所述压缩数据。
所述直接内存存取控制器包括命令产生器和数据分离器,命令产生器根据所述压缩块的头信息确定所述压缩块数据的内存地址和数据长度,并将所述内存地址和数据长度发送至内存总线;数据分离器接收所述内存总线根据所述地址和长度信息发送的所述压缩块的数据。
本发明还提供一种图像解压缩电路,包括如权利要求1至16任一项所述的读取图像压缩数据的电路,用于读取原始图像的压缩块的数据;解压缩单元,用于对所述原始图像的压缩块的数据进行解压缩。
所述解压缩单元还包括:当所述原始图像的压缩块的数据解压后不是M*N像素时,将多组压缩块解压后重新排序拼成M*N像素的单元块。
本发明还提供一种反畸变电路,包括:采用如权利要求17或18任一项所述的图像解压缩电路读取所述原始图像的压缩块的数据并解压;行缓存单元,缓存所述解压后的图像数据;反畸变计算单元,根据所述输出图像像素点对应的原始图像像素点的坐标和所述解压后的图像数据进行反畸变计算。
所述行缓存单元将所述图像解压缩电路解压后的图像数据按照所述原始图像的压缩数据的排列方式进行缓存。
所述反畸变计算单元包括坐标计算模块、行缓存取数模块和插值计算模块,坐标计算模块根据所述输出图像块与原始图像块的映射系数计算所述输出图像行对应的原始图像的单元块的坐标;行缓存取数模块根据所述单元块的坐标读取所述解压后的图像数据;插值计算模块根据所述单元块的坐标和所述行缓存取数单元读取的图像数据进行插值计算,以生成输出图像。
所述插值计算模块包含双线性插值运算器或双三次插值运算器,根据所述坐标和所述行缓存取数单元读取的图像数据进行插值计算。
本发明的有益效果在于,通过提供一种读取图像压缩数据的电路及包含该电路的图像解压缩电路和反畸变电路,可按输出图像行读取对应的输入图像压缩块数据,并可将读取到的压缩数据直接进行解压缩,实现了实时读取,不需要读取一帧图像再进行解压缩计算,减小读数据时的带宽,降低显示延迟。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是现有技术的原始图像畸变成扭曲形状的示意图;
图2是现有技术的原始图像畸变成扭曲形状后经过透镜显示出正常形状的示意图;
图3是本发明一实施例的读取图像压缩数据电路100的电路框图;
图4是本发明图3所示读取图像压缩数据电路100中取系数单元10的直接内存存取控制器的电路框图;
图5是本发明一实施例的输出图像分块示意图;
图6是本发明图5所示输出图像块的映射系数在内存中排放示意图;
图7是本发明图3所示读取图像压缩数据电路100中坐标计算单元30的一实施例301的电路框图;
图8是本发明一实施例的输出图像一行对应的原始图像的单元块的示意图;
图9是本发明图3所示读取图像压缩数据电路100中坐标计算单元30的又一实施例302的电路框图;
图10是本发明图3所示读取图像压缩数据电路100中坐标计算单元30的又一实施例303的电路框图;
图11是本发明图3所示读取图像压缩数据电路100中坐标计算单元30的又一实施例304的电路框图;
图12是本发明图3所示读取图像压缩数据电路100中取压缩块头信息单元50的直接内存存取控制器的电路框图;
图13是本发明图3所示读取图像压缩数据电路100中取压缩数据单元70的直接内存存取控制器的电路框图;
图14是本发明一实施例的压缩单元的头信息和压缩数据在内存中排列的示意图;
图15是本发明的一实施例的图像解压缩电路200的电路框图;
图16是本发明的一实施例的反畸变电路400的电路框图;
图17是本发明一实施例的原始图像的压缩数据的排列方式示意图;
图18是本发明图16所示的反畸变电路400中反畸变计算单元405一实施例的电路框图;
具体实施方式
现结合附图,对本发明的较佳实施例作详细说明。如图3所示,是本发明一实施例的读取图像压缩数据电路100的电路框图,所述读取图像压缩数据的电路100包括取系数单元10、坐标计算单元30、取压缩块头信息单元50和取压缩数据单元70。取系数单元10读取输出图像块与原始图像块的映射系数;坐标计算单元30将原始图像划分为M*N像素的单元块,M和N为大于1的正整数,并根据映射系数计算输出图像行对应的原始图像的单元块的坐标;取压缩块头信息单元50根据输出图像行对应的原始图像的单元块的坐标生成所述单元块的压缩块的头信息地址,并根据所述头信息地址读取压缩块的头信息;取压缩数据70根据压缩块的头信息读取压缩块数据。本发明所述的原始图像指的是未经压缩的输入图像。
提供了一种硬件电路实现的读取图像压缩数据,可按输出图像行读取对应的输入图像压缩块数据,并可将读取到的压缩数据直接进行解压缩,实现了实时读取,不需要读取一帧图像再进行解压缩计算,减小读数据时的带宽,降低显示延迟。
在具体实施方式中,取系数单元10读取输出图像块与原始图像块的映射系数。在具体实施方式中,输出图像块和原始图像块可以是现有技术的任一种分块形式,二者之间的映射系数也可以是现有技术的任一种映射关系的映射系数,本发明不限制映射系数的选取,例如,可以是反畸变映射系数,也可以是融合了反畸变、反色散的映射系数,也可以是融合了反畸变、反色散和异步时间扭曲的映射系数。
在一实施方式中,映射系数可以包括R分量映射系数、G分量映射系数和B分量映射系数。
在一实施方式中,取系数单元可包括直接内存存取控制器,直接读取输出图像块与原始图像块的映射系数。直接内存存取控制器可从动态随机存取存储器(DRAM)中取出每个块的系数并存放在内部静态随机存取存储器(SRAM)中。
在一实施方式中,如图4所示,取系数单元10的直接内存存取控制器可以包括命令产生器101、数据分离器103和数据缓冲器105,命令产生器101生成映射系数的内存地址和数据长度,并将所述内存地址和数据长度发送至内存总线;数据分离器103接收内存总线根据所述存放地址和数据长度信息发送的数据,并将读取的数据组合成输出图像块与原始图像块的映射系数;数据缓冲器105存放所述映射系数。
在具体实施方式中,映射系数可以包括多个系数分量,例如,系数分量a、b、c、d、e、f、g和h,可以为第一个输出图像块的第一个映射系数分量a分配一个初始地址,命令产生器101会根据该初始地址和所有系数分量的数据量总和生成映射系数的存放地址和数据长度信息。当内存总线接受到命令产生器101发送的地址和数据长度信息时,内存总线会向数据分离器103发送相应数据,数据分离器103接收所述数据并组合成所述输出图像块与所述原始图像块的映射系数,再由数据缓冲器105进行缓存。
每个输出图像像素点对应的输入图像像素点的映射关系是由一套系数决定的,输出图像进行分块,如图5所示,每个块共享一套系数,每个块内像素有多少,每个系数就需要反复使用多少次。每个块的映射系数在内存中是顺序排放,如图6所示,按行扫描的方式依次取每个块的系数即可。
在一实施方式中,如图7所示,坐标计算单元301可包括像素坐标计算模块3011、坐标排序模块3013和带宽动态调节器3015。像素坐标计算模块3011根据映射系数计算输出图像中每个像素点对应在原始图像中的像素点的坐标;坐标排序模块3013将原始图像划分为M*N像素的单元块,M和N可为大于1的正整数,根据输出图像行对应的原始图像行的像素点的坐标确定输出图像行对应的原始图像的单元块,并对所述单元块的纵坐标进行排序,根据所述单元块的纵坐标的范围确定所需单元块的坐标;带宽动态调节器3015读取坐标排序模块3013确定的所需单元块的坐标,当判断需要读取输出图像行的后续行对应的原始图像中的单元块的坐标时,读取输出图像行的后续行对应的原始图像中的单元块的坐标。通过单元块的纵坐标进行排序,确定每个输出图像行需要的输入压缩单元块的坐标,并通过带宽动态器调节确定预取的压缩块的坐标。
坐标的映射关系跟输入图像和输出图像的尺寸及映射系数相关,像素坐标计算模块3011根据映射系数按照映射关系公式计算出每个输出图像像素点对应的原始图像像素点的坐标。在具体实施方式中,可通过以下公式计算出该坐标:
β=(outw*outh)>>k
q=g*i+h*j+β
xx=a*i+b*j+c*outh
yy=d*i+e*j+f*outh
m=xx*inw
n=yy*inh
x=(m<<8)/q
y=(n<<8)/q
其中,i、j表示输出图像像素点坐标,x、y表示原始图像像素点坐标,outw、outh表示输出图像的宽和高,inw、inh表示原始图像的宽和高。
在一实施方式中,像素坐标计算模块3011包括像素R分量坐标计算模块、像素G分量坐标计算模块和像素B分量坐标计算模块,像素R分量坐标计算模块根据映射系数计算输出图像像素点对应在原始图像中的像素点的R分量坐标;像素G分量坐标计算模块根据映射系数计算输出图像像素点对应在原始图像中的像素点的G分量坐标;像素B分量坐标计算模块根据映射系数计算输出图像像素点对应在原始图像中的像素点的B分量坐标。
在一实施方式中,坐标排序模块3013可按所述原始图像像素的横坐标将所述原始图像划分为M*N个像素的所述单元块。
在一实施方式中,坐标排序模块3013对原始图像划分的单元块的M和N可以取值为2的幂次,例如,M可取值为16,N可取值为8或16,即,可将原始图像划分为16*8像素或16*16像素的单元块。在具体实施方式中,M和N取值可以相等,也可以不相等。
在具体实施方式中,例如,如果M和N均取值为16,则每个单元块为16*16个像素组成,此时,根据输出图像行对应的原始图像行的像素点的坐标确定输出图像行对应的原始图像的单元块的纵坐标排序之后,得到的纵坐标范围是在15到17之间,则对应的单元块是第0块和第1块,所述单元块的坐标就可以是(0,0)和(0,1)。
在具体实施方式中,可根据确定的纵坐标的取值范围,确定需要更新的单元块坐标,比如,当纵坐标为某一单元块的最后一行时,则表明下一行为一个新的单元,则需要读取下一行的对应单元块,此时下一行的单元块坐标即为需要更新的数据地址。
在一实施方式中,坐标排序模块3013可包括R分量坐标排序模块、G分量坐标排序模块和B分量坐标排序模块,R分量坐标排序模块对单元块的R分量的纵坐标进行排序;G分量坐标排序模块对单元块的G分量的纵坐标进行排序;B分量坐标排序模块对单元块的B分量的纵坐标进行排序。
因为输出图像是按行输出,映射关系能保证计算得到的原始图像的x坐标单调递增,而y坐标虽然不能保证单调递增,但可以保证连续。因此,在一实施方式中,如图8所示,按原始图像的横坐标对原始图像进行单元划分,可划分为每16x16像素为一个单元,然后根据输出图像行对应的原始图像行的像素点的坐标确定输出图像行对应的原始图像的单元块,对落入每个单元块中像素的纵坐标进行排序。当输出图像像素点对应的原始图像像素点的坐标没有落入当前单元时,直接跳过当前单元,输出无效单元。当用于反畸变运算时,由于之后做反畸变运算时需要用到右边像素做插值运算,排序时也需要将右边的像素考虑进来。当有效输入像素点的坐标在某个单元边界时,则其右边的像素对应的纵坐标会在下一个单元内进行排序。
在具体实施方式中,当一行中需要更新多个单元时,例如,需要更新一行中所有单元,相当于在一个16行区间有多行时间空闲,到某一行时需要取完整16行的数据,这样有可能会有带宽峰值的出现,可能造成显示模块数据来不及处理使显示缺数的问题。
带宽动态器304可以解决这一问题,通过判断是否需要读取输出图像行的后续行对应的原始图像中的单元块的坐标。当某一行空闲时,判断可以进行预取后续行的数据,提前预取的行数可以调节,这样可以把后续有可能出现带宽峰值地方的数据平均到空闲的地方,使得总线上平稳取数,不会造成取数过多来不及处理的情况。在空闲时间提前预取之后要用到的压缩块单元,提高取数时总线的利用率。
在一实施方式中,带宽动态调节器判断需要读取输出图像行的后续行对应的原始图像中的单元块的坐标的条件可以是:输出图像行对应的原始图像中的单元块的个数不大于第一阈值。如果是,则可读取输出图像行的后续行对应的原始图像中的单元块的坐标。在具体实施方式中,第一阈值可根据实际需求进行设置,本发明不限制。
如图9所示,是本发明一实施例的坐标计算单元302的电路框图,包括像素坐标计算模块3021、坐标排序模块3023和带宽动态调节器3025。其中带宽动态调节器3025可与图7中所述的带宽动态调节器3015相同。坐标计算模块3021包括了R分量坐标计算模块、像素G分量坐标计算模块和像素B分量坐标计算模块,分别用于根据R分量映射系数、像素G分量映射系数和像素B分量映射系数计算输出图像中每个像素点对应在原始图像中的像素点的R分量坐标、G分量坐标和B分量坐标。同时,坐标排序模块3023包括R分量坐标排序模块、G分量坐标排序模块和B分量坐标排序模块,分别用于对原始图像中划分的单元块中的R分量的纵坐标排序、G分量的纵坐标排序和B分量的纵坐标排序。因原始图像在压缩过程中是按照R分量、G分量和B分量进行压缩的,所以通过分别读取R分量映射系数、G分量映射系数和B分量映射系数,并分别对R分量坐标、G分量坐标和B分量坐标进行排序,可以便于后续计算。
图10是本发明一实施例的坐标计算单元303的电路框图,包括像素坐标计算模块3031、坐标排序模块3033、带宽动态调节器3035和旋转映射模块3037。其中,像素坐标计算模块3031、坐标排序模块3033和带宽动态调节器3035可与图7中的像素坐标计算模块3011、坐标排序模块3013和带宽动态调节器3015相同,旋转映射模块3037可将输出图像行对应的原始图像中的单元块的坐标和输出图像行的后续行对应的原始图像中的单元块的坐标进行旋转坐标映射,可以同时实现图像旋转的功能。
在具体实施方式中,可根据下表所示的旋转映射关系进行所述单元块的坐标进行旋转坐标映射。
图11是本发明一实施例的坐标计算单元304的电路框图,包括像素坐标计算模块3041、坐标排序模块3043、带宽动态调节器3045和旋转映射模块3047。坐标计算模块304的带宽调节器3045和旋转映射模块3047可与图10中的带宽调节器3035和旋转映射模块3037相同,坐标计算模块3041包括了R分量坐标计算模块、像素G分量坐标计算模块和像素B分量坐标计算模块,坐标排序模块3043包括R分量坐标排序模块、G分量坐标排序模块和B分量坐标排序模块。
在一实施方式中,取压缩块头信息单元可包括直接内存存取控制器,可直接读取内存中的压缩块的头信息。直接内存存取控制器允许不同速度的硬件装置来沟通,而不需要依赖于CPU的大量中断负载。
图12是本发明一实施例的取压缩块头信息单元50的直接内存存取控制器的电路框图,包括命令产生器501、数据分离器503、第一数据缓冲器505和第二数据缓冲器507,命令产生器501根据输出图像行对应的原始图像的单元块的坐标生成所述单元块的压缩块的头信息的内存地址和数据长度,并将所述内存地址和数据长度发送至内存总线;数据分离器503接收内存总线根据所述内存地址地址和长度信息发送的压缩块的头信息,并根据所述头信息解析出压缩块的内存地址和长度信息;第一数据缓冲器505存放压缩块的内存地址;第二数据缓冲器507存放压缩块的长度信息。
在具体实施方式中,每个单元块对应的压缩信息和地址信息存放在头信息中,头信息在内存中是连续排列的,通常会配置一个起始地址,后边逐个加一就即可。
在一实施方式中,取压缩数据单元可包括直接内存存取控制器,直接内存存取控制器可直接读取内存中的压缩数据。
图13是本发明一实施例的取压缩数据单元70的直接内存存取控制器的电路框图,包括命令产生器701和数据分离器703,地址产生器701根据压缩块的头信息确定压缩块数据的内存地址和长度信息,并将所述内存地址和数据长度发送至内存总线;数据分离器703接收内存总线根据所述内存地址和长度信息发送的压缩块的数据。在具体实施方式中,数据分离器703接收内存总线根据所述地址和长度信息发送的所述压缩块的数据通常还会带有数据头、数据尾、校验位等非有效数据信息,数据分离器703还会将有效的图像压缩数据信息提取出来。
在具体实施方式中,压缩数据在内存中可以连续存放也可以离散存放,根据地址取出相应长度。图14描述了压缩单元的头信息和压缩数据在内存中的排列,头信息连续排列,数据随意排列。其中。图14左图为原始图像划分为16*16单元块示意图,图14中间图是原始图像的单元块的头信息在内存中的排列示意图,图14右图是原始图像的单元块的压缩数据在内存中的排列示意图,可见,头信息连续排列,压缩数据随意排列。
图15是本发明还提供一种图像解压缩电路200的电路框图,包括本发明的读取图像压缩数据的电路201和解压缩单元203。读取图像压缩数据的电路201读取原始图像的压缩块的数据,解压缩单元203对所述原始图像的压缩块的数据进行解压缩。使输入数据可以为压缩数据,按压缩单元取数之后再做解压缩的操作,可以减小读数据时的带宽。在具体实施方式中,可选用现有技术的任何解压缩电路作为解压缩单元来完成对图像压缩数据的解压缩计算,本发明不限制。
在一实施方式中,当解压缩单元对压缩块解压后不是M*N像素时,可将多组压缩块解压后重新排序拼成M*N像素的单元块。例如,当将解压后的图像数据用于反畸变运算时,反畸变运算通常是以图像块的形式进行运算,所以这样重新排序拼块之后,便于后续计算。
图16是本发明还提供一种反畸变电路400的电路框图,包括本发明的图像解压缩电路401、行缓存单元403和反畸变计算单元405。图像解压缩电路401读取原始图像的压缩块的数据并解压;行缓存单元403缓存所述解压后的图像数据;反畸变计算单元405根据输出图像像素点对应的原始图像像素点的坐标和所述解压后的图像数据进行反畸变计算。提供够了一种实时处理实时显示的反畸变电路,对于每一帧显示来说,节省了读一帧和写一帧的带宽。在反畸变同时实现解压缩和旋转,节省GPU负载,节省带宽。在具体实施方式中,可采用现有技术的任何反畸变电路作为反畸变计算单元来完成对图像的反畸变计算,本发明不限制。
在一实施方式中,行缓存单元403将所述解压电路解压后的图像数据按照所述原始图像的压缩数据的排列方式进行缓存。例如,由于压缩单元及数据位宽的限制,读写解压后的图像数据通常是以4x4像素为单位进行操作的,因为压缩块不是以行扫描的方式读取,如图17所示为原始图像的压缩数据的一种排列方式,读取的时候按序号顺序读取,而输出图像是按照行扫描方式输出,所以对解压后的图像数据的缓存不能根据读取数据的先后顺序,而是要在缓存时根据原始图像数据的压缩数据的排列方式进行排放,读取时按照映射系数计算出的坐标直接读取。
在一实施方式中,如图18所示,反畸变计算单元405可包括坐标计算模块4051、行缓存取数单元4053和插值计算模块4055,坐标计算模块4051根据输出图像块与原始图像块的映射系数计算输出图像行对应的原始图像的单元块的坐标;行缓存取数单元4053根据坐标读取解压后的图像数据;插值计算模块4055根据所述坐标和所述行缓存取数单元读取的图像数据进行插值计算,以生成输出图像。
在一实施方式中,插值计算模块可包含双线性插值运算器或双三次插值运算器,根据坐标计算模块4051计算的坐标和行缓存取数单元4053读取的图像数据进行插值计算。
如本文中所使用,术语“单元”、“模块”以及各种器件,可以是指执行固件程序的专用集成电路(ASIC)、电子电路、组合逻辑电路、和/或提供所述功能性的其它适当组件、作为它们的部分或者包括它们。
本发明的读取图像压缩数据的电路、图像解压缩电路和反畸变电路可以独立的电路形式存在,也可以被集成在集成电路IC芯片或其他装置内以完成相应的功能。本发明不限制。
本发明不限制读取图像压缩数据的电路、图像解压缩电路和反畸变电路中的各个模块之间和/或模块内部完成功能的执行顺序,可根据实际需求调整各个模块之间和/或模块内部的执行顺序,可实现本发明的技术方案即可。
应当理解的是,以上实施例仅用以说明本发明的技术方案,而非对其限制,对本领域技术人员来说,可以对上述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而所有这些修改和替换,都应属于本发明所附权利要求的保护范围。
Claims (18)
1.一种读取图像压缩数据的电路,其特征在于,包括:
取系数单元,用于读取输出图像块与原始图像块的映射系数;
坐标计算单元,用于将所述原始图像划分为M*N像素的单元块,所述M和N为大于1的正整数,根据所述映射系数计算所述输出图像行对应的原始图像的单元块的坐标;
取压缩块头信息单元,用于根据所述输出图像行对应的原始图像的单元块的坐标生成所述单元块的压缩块的头信息地址,根据所述头信息地址读取所述压缩块的头信息;所述取压缩块头信息单元包括直接内存存取控制器,用于直接读取所述压缩块头信息,所述直接内存存取控制器包括:
命令产生器,用于根据所述输出图像行对应的原始图像的单元块的坐标生成所述单元块的压缩块的头信息的内存地址和数据长度,并将所述内存地址和数据长度发送至内存总线;
数据分离器,用于接收所述内存总线根据所述内存地址和长度信息发送的所述压缩块的头信息,并根据所述头信息解析出所述压缩块的内存地址和长度信息;
第一数据缓冲器,用于存放所述压缩块的内存地址;
第二数据缓冲器,用于存放所述压缩块的长度信息;
取压缩数据单元,用于根据所述压缩块的头信息读取所述压缩块数据,所述取压缩数据单元包括直接内存存取控制器,用于直接读取所述压缩数据,所述直接内存存取控制器包括:
命令产生器,用于根据所述压缩块的头信息确定所述压缩块数据的内存地址和数据长度,并将所述内存地址和数据长度发送至内存总线;
数据分离器,用于接收所述内存总线根据所述地址和长度信息发送的所述压缩块的数据。
2.如权利要求1所述的读取图像压缩数据的电路,其特征在于,所述映射系数是反畸变映射系数或融合反畸变、反色散和异步时间扭曲的映射系数。
3.如权利要求1所述的读取图像压缩数据的电路,其特征在于,所述映射系数包括R分量映射系数、G分量映射系数和B分量映射系数。
4.如权利要求1至3任一项所述的读取图像压缩数据的电路,其特征在于,所述取系数单元包括直接内存存取控制器,用于直接读取所述映射系数。
5.如权利要求4所述的读取图像压缩数据的电路,其特征在于,所述直接内存存取控制器包括:
命令产生器,用于生成所述映射系数的的内存地址和数据长度,并将所述内存地址和数据长度发送至内存总线;
数据分离器,用于接收所述内存总线根据所述内存地址和数据长度发送的数据,并将所述数据组合成所述输出图像块与所述原始图像块的映射系数;
数据缓冲器,用于存放所述映射系数。
6.如权利要求1所述的读取图像压缩数据的电路,其特征在于,所述坐标计算单元包括:
像素坐标计算模块,用于根据所述映射系数计算所述输出图像中每个像素点对应在所述原始图像中的像素点的坐标;
坐标排序模块,用于将所述原始图像划分为M*N像素的所述单元块,根据所述输出图像行对应的所述原始图像行的像素点的坐标确定所述输出图像行对应的所述原始图像的单元块,并对所述单元块的纵坐标进行排序,根据所述单元块的纵坐标的范围确定所需单元块的坐标;
带宽动态调节器,用于读取所述坐标排序模块确定的所需单元块的坐标,当判断需要读取所述输出图像行的后续行对应的所述原始图像中的单元块的坐标时,读取所述输出图像行的后续行对应的所述原始图像中的单元块的坐标。
7.如权利要求6所述的读取图像压缩数据的电路,其特征在于,所述像素坐标计算模块包括:
像素R分量坐标计算模块,根据所述映射系数计算所述输出图像像素点对应在所述原始图像中的像素点的R分量坐标;
像素G分量坐标计算模块,根据所述映射系数计算所述输出图像像素点对应在所述原始图像中的像素点的G分量坐标;
像素B分量坐标计算模块,根据所述映射系数计算所述输出图像像素点对应在所述原始图像中的像素点的B分量坐标。
8.如权利要求6所述的读取图像压缩数据的电路,其特征在于,所述坐标排序模块按所述原始图像像素的横坐标将所述原始图像划分为M*N个像素的所述单元块。
9.如权利要求6所述的读取图像压缩数据的电路,其特征在于,所述M和N为2的幂次。
10.如权利要求6所述的读取图像压缩数据的电路,其特征在于,所述坐标排序模块包括:
R分量坐标排序模块,用于对所述单元块的R分量的纵坐标进行排序;
G分量坐标排序模块,用于对所述单元块的G分量的纵坐标进行排序;
B分量坐标排序模块,用于对所述单元块的B分量的纵坐标进行排序。
11.如权利要求6所述的读取图像压缩数据的电路,其特征在于,所述带宽调节器判断需要读取所述输出图像行的后续行对应的所述原始图像中的单元块的坐标的条件是:当所述输出图像行对应的所述原始图像中的单元块的个数不大于第一阈值时。
12.如权利要求6至11任一项所述的读取图像压缩数据的电路,其特征在于,所述坐标计算单元还包括旋转映射模块,用于将所述输出图像行对应的所述原始图像中的单元块的坐标和所述输出图像行的后续行对应的所述原始图像中的单元块的坐标进行旋转坐标映射。
13.一种图像解压缩电路,其特征在于,包括:
如权利要求1至12任一项所述的读取图像压缩数据的电路,用于读取原始图像的压缩块的数据;
解压缩单元,用于对所述原始图像的压缩块的数据进行解压缩。
14.如权利要求13所述的图像解压缩电路,其特征在于,所述解压缩单元还包括:当所述原始图像的压缩块的数据解压后不是M*N像素时,将多组压缩块解压后重新排序拼成M*N像素的单元块。
15.一种反畸变电路,其特征在于,包括:
采用如权利要求13或14任一项所述的图像解压缩电路读取所述原始图像的压缩块的数据并解压;
行缓存单元,用于缓存所述解压后的图像数据;
反畸变计算单元,用于根据所述输出图像像素点对应的原始图像像素点的坐标和所述解压后的图像数据进行反畸变计算。
16.如权利要求15所述的反畸变电路,其特征在于,所述行缓存单元将所述图像解压缩电路解压后的图像数据按照所述原始图像的压缩数据的排列方式进行缓存。
17.如权利要求15所述的反畸变电路,其特征在于,所述反畸变计算单元包括:
坐标计算模块,用于根据所述输出图像块与原始图像块的映射系数计算所述输出图像行对应的原始图像的单元块的坐标;
行缓存取数模块,用于根据所述单元块的坐标读取所述解压后的图像数据;
插值计算模块,用于根据所述单元块的坐标和所述行缓存取数单元读取的图像数据进行插值计算,以生成输出图像。
18.如权利要求17所述的反畸变电路,其特征在于,所述插值计算模块包含双线性插值运算器或双三次插值运算器,用于根据所述坐标和所述行缓存取数单元读取的图像数据进行插值计算。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711364142.6A CN108109181B (zh) | 2017-12-18 | 2017-12-18 | 读取图像压缩数据的电路及包含该电路的反畸变电路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711364142.6A CN108109181B (zh) | 2017-12-18 | 2017-12-18 | 读取图像压缩数据的电路及包含该电路的反畸变电路 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108109181A CN108109181A (zh) | 2018-06-01 |
CN108109181B true CN108109181B (zh) | 2021-06-01 |
Family
ID=62209729
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711364142.6A Active CN108109181B (zh) | 2017-12-18 | 2017-12-18 | 读取图像压缩数据的电路及包含该电路的反畸变电路 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108109181B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110322904B (zh) * | 2019-07-05 | 2021-06-22 | 南京芯驰半导体科技有限公司 | 压缩图像信息读取控制方法及装置 |
CN117057982B (zh) * | 2023-10-11 | 2024-01-26 | 北京地平线信息技术有限公司 | 对图像进行扭曲变换的集成电路及电子设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101060629A (zh) * | 2007-04-27 | 2007-10-24 | 华为技术有限公司 | 图像压缩/解压方法及图像编/解码器和解码电路 |
CN102595109A (zh) * | 2011-01-07 | 2012-07-18 | 安凯(广州)微电子技术有限公司 | 一种jpeg图片解码方法及装置 |
CN105578190A (zh) * | 2016-02-03 | 2016-05-11 | 珠海全志科技股份有限公司 | 应用于视频硬解码的无损压缩方法及系统 |
CN106780291A (zh) * | 2017-01-03 | 2017-05-31 | 珠海全志科技股份有限公司 | 一种实时畸变图像处理加速装置 |
CN107220925A (zh) * | 2017-05-05 | 2017-09-29 | 珠海全志科技股份有限公司 | 一种实时虚拟现实加速方法及装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140204107A1 (en) * | 2013-01-22 | 2014-07-24 | Vixs Systems, Inc. | Video processor with frame buffer compression and methods for use therewith |
-
2017
- 2017-12-18 CN CN201711364142.6A patent/CN108109181B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101060629A (zh) * | 2007-04-27 | 2007-10-24 | 华为技术有限公司 | 图像压缩/解压方法及图像编/解码器和解码电路 |
CN102595109A (zh) * | 2011-01-07 | 2012-07-18 | 安凯(广州)微电子技术有限公司 | 一种jpeg图片解码方法及装置 |
CN105578190A (zh) * | 2016-02-03 | 2016-05-11 | 珠海全志科技股份有限公司 | 应用于视频硬解码的无损压缩方法及系统 |
CN106780291A (zh) * | 2017-01-03 | 2017-05-31 | 珠海全志科技股份有限公司 | 一种实时畸变图像处理加速装置 |
CN107220925A (zh) * | 2017-05-05 | 2017-09-29 | 珠海全志科技股份有限公司 | 一种实时虚拟现实加速方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN108109181A (zh) | 2018-06-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108171662B (zh) | 读取图像压缩数据的方法及包含该方法的反畸变方法 | |
US6788309B1 (en) | Method and apparatus for generating a video overlay | |
US20200143516A1 (en) | Data processing systems | |
US20080100613A1 (en) | Method, medium, and system rendering 3D graphics data to minimize power consumption | |
CN108109181B (zh) | 读取图像压缩数据的电路及包含该电路的反畸变电路 | |
US20090102851A1 (en) | Computer graphics rendering apparatus and method | |
CN109886866B (zh) | 一种自适应仿射变换处理方法及装置 | |
US7231092B2 (en) | Image compression/decompression system employing pixel thinning-out and interpolation scheme | |
EP1516303A2 (en) | Vector graphics circuit accelerator for display systems | |
CN110958362A (zh) | 基于分块查表的图像校正系统及其方法 | |
JP2006073009A (ja) | ヒストグラム伸張の装置および方法 | |
CN108537729B (zh) | 图像无级缩放方法、计算机装置及计算机可读存储介质 | |
US11055820B2 (en) | Methods, apparatus and processor for producing a higher resolution frame | |
US20190005924A1 (en) | Data processing systems | |
US20050249433A1 (en) | Image processing overlaying one image on another | |
US7382376B2 (en) | System and method for effectively utilizing a memory device in a compressed domain | |
EP1288863B1 (en) | Method and device for drawing | |
CN115601223A (zh) | 一种图像预处理装置、方法和芯片 | |
CN106780291B (zh) | 一种实时畸变图像处理加速装置 | |
US7538900B2 (en) | Image processing apparatus, image processing method, and image processing system | |
US20070040842A1 (en) | Buffer memory system and method | |
Yang et al. | FPGA Implementation of Image Super-Resolution Based on Bicubic Interpolation and CNN | |
JP6120561B2 (ja) | 図形描画装置及び図形描画プログラム | |
US20240031704A1 (en) | Hybrid addressing for imaging and vision data | |
WO1998050887A1 (fr) | Processeur d'images et procede de traitement d'images |
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 |