CN104952037B - 图像文件缩放方法与系统 - Google Patents
图像文件缩放方法与系统 Download PDFInfo
- Publication number
- CN104952037B CN104952037B CN201410555394.7A CN201410555394A CN104952037B CN 104952037 B CN104952037 B CN 104952037B CN 201410555394 A CN201410555394 A CN 201410555394A CN 104952037 B CN104952037 B CN 104952037B
- Authority
- CN
- China
- Prior art keywords
- image
- payload
- image file
- kernel
- resolution ratio
- 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
- 238000000034 method Methods 0.000 title claims abstract description 49
- 238000012545 processing Methods 0.000 claims abstract description 24
- 230000006870 function Effects 0.000 claims abstract description 13
- 230000006835 compression Effects 0.000 claims abstract description 10
- 238000007906 compression Methods 0.000 claims abstract description 10
- 230000008569 process Effects 0.000 claims abstract description 8
- 238000012795 verification Methods 0.000 claims abstract description 7
- 230000015654 memory Effects 0.000 claims description 64
- 238000003860 storage Methods 0.000 claims description 21
- 230000002596 correlated effect Effects 0.000 claims description 9
- 230000005540 biological transmission Effects 0.000 claims description 6
- 238000004891 communication Methods 0.000 claims description 4
- 239000000872 buffer Substances 0.000 description 8
- 238000006243 chemical reaction Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000003139 buffering effect Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000000694 effects Effects 0.000 description 3
- 238000005070 sampling Methods 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 101100021996 Arabidopsis thaliana CYP97C1 gene Proteins 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000000844 transformation Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005265 energy consumption Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000032696 parturition Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000011946 reduction process Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/11—File system administration, e.g. details of archiving or snapshots
- G06F16/116—Details of conversion of file system types or formats
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/50—Information retrieval; Database structures therefor; File system structures therefor of still image data
- G06F16/51—Indexing; Data structures therefor; Storage structures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B27/00—Editing; Indexing; Addressing; Timing or synchronising; Monitoring; Measuring tape travel
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/76—Television signal recording
- H04N5/91—Television signal processing therefor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N9/00—Details of colour television systems
- H04N9/79—Processing of colour television signals in connection with recording
- H04N9/80—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback
- H04N9/804—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components
- H04N9/8042—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction
- H04N9/8047—Transformation of the television signal for recording, e.g. modulation, frequency changing; Inverse transformation for playback involving pulse code modulation of the colour picture signal components involving data reduction using transform coding
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Compression Of Band Width Or Redundancy In Fax (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
- Image Processing (AREA)
Abstract
本发明是一种图像文件缩放方法与系统,本发明利用一个加速器,对采用JPEG标准压缩的图像进行缩放操作。在具体实施例中,图像缩放系统采用多个内核对多幅图像同时进行缩放,多个计算内核具备不同的处理功能或具备相同的处理功能,都能对图像文件进行缩放。系统的多个计算内核中的第一个计算内核对第一个图像文件进行缩放处理,第二个计算内核同步处理第二个图像文件,从而加速图像缩放处理过程。本发明还适用于JPEG格式以外的其他图像压缩格式的缩放操作。
Description
技术领域
本发明涉及图像处理技术,尤其是涉及对采用JPEG标准压缩的图像进行缩放操作的方法和系统。本发明还适用于JPEG格式以外的其他图像压缩格式的缩放操作。
背景技术
JPEG是在互联网中实际上使用的图像格式。由于社交网络和互联网通信的暴增,每天有大量图像需要传输,其中多数图像采用JPEG标准压缩。由于平板电脑和智能手机等移动设备以及台式机等固定设备具备不同的屏幕分辨率和带宽能力,因此需要对图像的尺寸进行重新调整,以便每台设备都能获得最佳的观看效果。这些图像重调任务通常在数据中心完成。数据中心利用大量配备传统微处理器的服务器对其进行处理。尽管数据通信与处理技术取得了长足的进步,但仍需要对图像重调或缩放的方法及系统进行改进。传统的基于微处理器的服务器速度慢,消耗功率大。基于ASIC的加速器的功能在出厂后无法实现升级或修改。
发明内容
本发明的目的在于在JPEG图像缩放系统中采用多个内核对多幅图像同时进行缩放,从而加速图像缩放处理过程。
为了实现本发明的目的,提出如下技术方案:
本发明使用的一种图像文件缩放系统,所述系统包含一个FPGA和一个与FPGA连接的存储器,其中,所述FPGA包括一个能够通过接口接收多个图像文件的接口控制器,一个计算内核控制器,一个存储器控制器,一个与计算内核控制器和存储器控制器连接的互连装置,多个与互连装置连接的计算内核。
所述系统中的多个图像文件包含JPEG图像。
所述系统的接口包含至少一个PCIe接口或一个网络接口。
所述系统的存储器包含一个DDR存储器。
所述系统的多个计算内核具备不同的处理功能或具备相同的处理功能,都能对图像文件进行缩放。
所述系统的多个计算内核中的第一个计算内核对第一个图像文件进行缩放处理,第二个计算内核同步处理第二个图像文件。
本发明还提出使用所述图像文件缩放系统的图像文件缩放方法,包括步骤:
1)配备一个AXI互连装置;
2)配备与AXI互连装置实现通信连接的多个计算内核;
3)接收具备第一图像分辨率的第一图像文件;
4)将与第一图像文件关连的第一有效负载从AXI互连装置的第一端口发送至第一计算内核;
5)接收具备第二图像分辨率的第二图像文件;
6)将与第二图像文件关连的第二有效负载从AXI互连装置的第二端口发送至第二计算内核;
7)利用第一计算内核和第二计算内核同时对第一有效负载和第二有效负载进行尺寸调整,第一有效负载被调整至不同于第一图像分辨率的第三图像分辨率,第二有效负载被调整至不同于第二图像分辨率的第四图像分辨率;
8)将尺寸调整后的第一有效负载从第一计算内核发送至AXI互联装置的第一端口;
9)将尺寸调整后的第二有效负载从第二计算内核发送至AXI互连装置的第二端口。
所述方法还包括:
输出包含第一有效负载的调整后的第三图像文件;
输出包含第二有效负载的调整后的第四图像文件。
所述方法还包括:
将与第一图像文件关连的报头信息发送至与发送第一有效负载关连的第一计算内核;和将与第二图像文件关连的报头信息发送至与发送第二有效负载关连的第二计算内核。
所述方法还包括:所述第一图像文件和第二图像文件都根据JPEG格式标准进行转换。
所述方法还包括:第一图像文件和第二图像文件包含根据图像压缩标准压缩的关连有效负载数据。
所述方法还包括:使所述第三图像分辨率小于第一图像分辨率,第四图像分辨率小于第二图像分辨率。
所述方法还包括:应用存储多个计算机可读指令的非临时性计算机可读存储介质,利用数据处理器执行所述计算机可读指令,对图像文件进行尺寸重调,所述指令包括:
使数据处理器接收具备第一图像分辨率的第一图像文件的指令;
使数据处理器将与第一图像文件关联的第一有效负载从AXI互连装置的第一端口发送至第一计算内核的指令;
使数据处理器接收具备第二图像分辨率的第二图像文件的指令;
使数据处理器将与第二图像文件关联的第二有效负载从AXI互连装置的第二端口发送至第二计算内核的指令;
使数据处理器在第一计算内核和第二计算内核对第一有效负载和第二有效负载同时进行尺寸调整的指令。第一有效负载被调整至不同于第一图像分辨率的第三图像分辨率,第二有效负载被调整至不同于第二图像分辨率的第四图像分辨率;
使数据处理器将调整后的第一有效负载从第一计算内核发送至AXI互连装置的第一端口的指令;
使数据处理器将调整后的第二有效负载从第二计算内核发送至AXI互连装置的第二端口的指令。
所述指令包括:使数据处理器输出包含调整后第一有效负载的调整后第三图像文件的指令;以及
使数据处理器输出包含调整后第二有效负载的调整后第四图像文件的指令。
所述指令包括:使数据处理器将与第一图像文件相关的报头信息发送至与发送第一有效负载相关的第一计算内核的指令;和
使数据处理器将与第二图像文件相关的报头信息发送至与发送第二有效负载相关的第二计算内核的指令。
所述非临时性计算机可读存储介质存储的第一图像文件和第二图像文件采用JPEG格式标准进行转换。
所述非临时性计算机可读存储介质存储的第一图像文件和第二图像文件包含根据图像压缩标准压缩的关连有效负载数据。
所述非临时性计算机可读存储介质中,第三图像分辨率小于第一图像分辨率,第四图像分辨率小于第二图像分辨率。
本发明与传统技术相比,具备多种优势:
本发明的一些实施例采用基于现场可编程门阵列(FPGA)的加速器,对JPEG计算机图像进行缩放处理,对比采用传统的基于微处理器的服务器,基于FPGA的加速器具有图像压缩速度快且功耗低的优势。
与基于ASIC的加速器不同,FPGA是可重新配置的,使这种加速器的功能在出厂后可根据具体情况实现升级或修改。
附图说明
图1是本发明图像缩放系统的简化原理图。
图2是JPEG图像缩放方法的简化流程图。
图3是多个缩放内核的简化原理图。
图4是二维转换方法的简化流程图。
图5是缩放内核间的数据流的简化原理图。
图6是霍夫曼解码系统的简化原理图。
图7是像素块重调系统的简化原理图。
图8是利用两个查找表对JPEG Huffman代码进行解码的简化原理图。
图9是控制信号和数据的流动情况的简化原理图。
图10是图像缩放系统的备选系统的简化原理图。
附图中出现的技术用语说明如下:
图1:DDR memory:DDR存储器;Memory controller:存储器控制器;PCIeinterface:PCIe接口;PCIe controller:PCIe控制器;DMA and computing kernelcontroller:DMA和计算内核控制器;AXI interconnect:AXI互连装置;computing kernel:计算内核
图2:Huffman decoding:霍夫曼解码;inverse DCT:反向离散余弦转换;Resizing:尺寸调整;DCT:离散余弦转换;Huffman Encode:霍夫曼编码
图3:PCIe controller:PCIe控制器;Controller and memory:控制器和存储器;AXI Interconnect:AXI互连装置;In FIFO:输入先进先出存储器;Out FIFO:输出先进先出存储器
图4:Receive8x8pixel block:接收8x8像素块;process8rows:处理8行;performcolumn/row transformation:执行列/行转换;process8columns:处理8列;output8x8pixel block:输出8x8像素块
图5:Slave:伺服;AXI Interconnect:AXI互连装置;JPEG data flow:JPEG数据流;Resized JPEG data flow:调整后的JPEG数据流;JPEG data flow:JPEG数据流;computing kemel:计算内核
图6:32-bit register:32位寄存器;Bit0:第0位;Encoded input:编码输入;Barrel shifter:桶型移位器Select32bits codeword from96bits:从96位中选择32位码字;bit select:比特选择器;bit0-15:第0位至第15位;Bit16-31:第16位至第31位;Huffman lookup table:霍夫曼查找表;delay1clk cycle:延迟一个时钟周期;barrelshifter:桶型移位器;select16bits Mantissa from32bits:从32位中选择16位尾数;CodeLength+mantissa Length:代码长度+尾数长度;Zero Run:零游程;Select Register:选择寄存器;Write:写入;Convert Mantissa:转换尾数;64IDCT Coefficients Register:64位IDCT系数寄存器;Reset to zero:复位至0;64IDCT Coefficients output in parallel:64个IDCT系数并行输出
图7:8x8pixel block:8x8像素块;Input pixel block decimation:输入像素块抽取;control data in to decimate pixels in each8x8pixel block:控制数据,抽取每个8x8像素块的像素;image row count and image column count:图像行计数和图像列计数;Resize Block RAM:尺寸重调块RAM;control address to buffer a whole lineof8x8pixels for decimation:控制地址对8x8像素的整行进行缓冲,以便抽取;resizedpixel block:尺寸重调像素块
图8:16bit input:16位输入;bit0to15-n:第0位至第15-n位;bit n to15:第n位至第15位;bit0to n-1:第0位至第n-1位;look up table0:查找表0;look up table1:查找表1;output:输出
图9:Memory controller:存储器控制器;PCIe controller:PCIe控制器;DMAEngine:DMA引擎;computing kernels controller:计算内核控制器;AXI interconnect:AXI互连装置;controller and buffer:控制器与缓冲器;control signals:控制信号;data bus and control signals:数据总线与控制信号;computing kernel:计算内核
图10:DDR memory:DDR存储器;Memory controller:存储器控制器;High speednetwork:高速网络;Network interface:网络接口;Network interface controller:网络接口控制器;DMA and computing kernel controller:DMA和计算内核控制器;AXIinterconnect:AXI互连装置;computing kernel:计算内核
具体实施方式
本发明的实施例为采用JPEG标准压缩的图像进行缩放操作,提供了方法和系统。
所述的图像文件尺寸调整系统囊括一个FPGA,其包含一个能够通过一个接口接收多个图像文件的接口控制器,一个计算内核控制器和一个存储器控制器。FPGA还包含一个与计算内核控制器和存储器控制器连接的互连装置和与该互连装置连接的多个计算内核。该系统还包含一个与FPGA连接的存储器。
本发明的还实现了图像文件尺寸调整方法,这种方法包括提供一个AXI互连装置和提供与AXI互连装置实现通信连接的多个计算内核。这种方法还包括接收具备第一图像分辨率的第一图像文件,并将与第一图像文件关联的第一有效负载从AXI互连装置的第一端口发送至第一计算内核,同时还包括接收具备第二图像分辨率的第二图像文件,并将与第二图像文件关联的第二有效负载从AXI互连装置的第二端口发送至第二计算内核。另外,这种方法还包括利用第一计算内核和第二计算内核同时对第一有效负载和第二有效负载进行尺寸调整。第一有效负载被调整至不同于第一图像分辨率的第三图像分辨率,第二有效负载被调整至不同于第二图像分辨率的第四图像分辨率。此外,这种方法还包括将尺寸调整后的第一有效负载从第一计算内核发送至AXI互联装置的第一端口,以及将尺寸调整后的第二有效负载从第二计算内核发送至AXI互连装置的第二端口。
本发明应用存储多个计算机可读指令的非临时性计算机可读存储介质。利用数据处理器执行这些计算机可读指令,可对图像文件进行尺寸重调。这些指令包括使数据处理器接收具备第一图像分辨率的第一图像文件的指令和使数据处理器将与第一图像文件关联的第一有效负载从AXI互连装置的第一端口发送至第一计算内核的指令,以及使数据处理器接收具备第二图像分辨率的第二图像文件的指令。这些指令还包括使数据处理器将与第二图像文件关联的第二有效负载从AXI互连装置的第二端口发送至第二计算内核的指令,以及使数据处理器在第一计算内核和第二计算内核对第一有效负载和第二有效负载同时进行尺寸调整的指令。第一有效负载被调整至不同于第一图像分辨率的第三图像分辨率,第二有效负载被调整至不同于第二图像分辨率的第四图像分辨率。此外,这些指令还包括使数据处理器将调整后的第一有效负载从第一计算内核发送至AXI互连装置的第一端口的指令,和使数据处理器将调整后的第二有效负载从第二计算内核发送至AXI互连装置的第二端口的指令。
图1是根据本发明的实施例,介绍图像缩放系统的简化原理图。为清楚起见,图1略去了系统某些控制装置相关组件。图9详细介绍了这些控制器和控制信号。根据本发明的实施例,本文介绍的加速器包含一个印刷电路板(PCB)——含一个或多个FPGA,板载内存和其他组件。这种加速器还被称为图像尺寸调整引擎。它可利用一个接口(如PCIe接口)接收来自计算机的JPEG图像。在系统中,JPEG图像可利用直接内存访问(DMA)技术被传输至该加速器。根据下文更详细的描述,FPGA还配备了内存接口、DMA引擎、控制器和加速器内核。每个加速器包含多个内核。这些内核能够对图像进行解码,调整图像尺寸,然后再对调整后的图像进行编码,使其恢复至JPEG格式。调整后的JPEG格式图像再被传回计算机。如下关于图10的讨论,在另一个实施例中,JPEG图像通过1G/10G/40G以太网或Infiniband等高速网络接口,采用或不采用远程直接内存访问(RDMA)技术,以网络数据包的形式,被传输至加速器。
如图1所示,计算机105通过一个适用接口106连接图像尺寸调整引擎100。该计算机是采用Linux操作系统的基于x86的多核服务器。在图1所示的实施例中,接口106是一个PCIe接口,但本发明的实施例不一定依赖于这种接口。
图10是根据本发明的实施例,介绍图像缩放系统的备选系统的简化原理图。图10介绍的备选系统与图1介绍的系统有许多相同点,但它采用网络接口1006连接网络接口控制器1010,而图1显示采用PCIe接口110。如图10所示,图像尺寸调整引擎1000和多台计算机1005a-1005d间的网络接口1006(接入高速网络1001),是以太网或Infiniband网络接口。例如,网络接口1006可以是一个高速网络接口,包括但不限于1G/10G/40G以太网接口、Infiniband接口或其他类似接口。尽管图10显示四台计算机1005a-1005d,但本发明不限于这一数量。
本发明的实施例利用一个FPGA实现本发明的一个或多个特性,包含图像尺寸调整引擎100的各个元件。在某些实施例中,整个图像尺寸调整引擎100就由一个FPGA构成,FPGA实现的功能相当于其他系统中的电子电路。在图1所示的实施例中,这种FPGA配备的元件包括PCIe控制器110或备选的网络接口控制器1010和可与DDR内存107交互的内存控制器112。
图像尺寸调整引擎100还包含一个DMA和计算内核控制器114、一个高级可扩展接口(AXI)互连装置116和多个计算内核120a-120n。如下文有关AXI互连装置116的相关论述,DMA控制器控制计算内核120a-120n和DDR内存107之间及DDR内存107与计算机105之间的数据流。AXI接口116可通过内存控制器112读取DDR内存107的数据,并将这些数据读入计算内核,还可将数据写入DDR内存107。因此,AXI互连装置116可用作一个交叉连接点,使DDR内存107的数据能够被读入计算内核120,也使计算内核120的数据能被写入DDR内存107。
计算内核120的其他细节请参考图3。在一些实施例中,计算内核控制器114负责控制计算机105和图像尺寸调整引擎100之间的数据流和DDR内存107与计算内核120之间的数据流(通过内存控制器112)。JPEG解码流包括解析JPEG报头,对霍夫曼零长度编码数据进行解码,执行Z字型扫描和IDCT。执行Z字型扫描和IDCT的过程可通过同时并行处理几个像素的方式进行加速。不过,霍夫曼编码数据的解码本身是一个串行过程。利用配备通用处理器的CPU对JPEG图像解码时,这会成为一个瓶颈。本发明的实施例针对加速器采用了几种方案,为霍夫曼零长度编码数据和实现快速解码创造条件。
根据本发明的实施例,系统采用多个计算内核120a-120n,这些内核可同时处理不同的图像,实现并行处理功能。因此,在图1显示的采用6个计算内核的系统中,6幅不同的图像可同时处理,这相对于传统系统改进了系统性能。另一个需要说明的问题是,计算内核120的数量可大于图1所示的6个。尽管本发明未要求,但在一个专用系统中,AIX互连装置116(根据FPGA的系统资源)却配备了16个端口。一个端口(例如主接口端口)用于连接内存控制器112(从而连接DDR内存107),另一个端口用于连接DMA和计算内核控制器114,其余14个端口用于连接计算内核120,这样n值就等于14。在其他系统中,FPGA的资源为增加的计算内核的充分利用创造了条件。
在另一个实施例中,FPGA具备多个AXI互连装置,譬如,这使图像尺寸调整引擎100包含了两个AXI互连装置,其中每个互连装置连接14个计算内核,从而使一个图像尺寸调整引擎100共计连接28个计算内核。为了清楚起见,图1显示了一个AXI互连装置116,但本发明并不限于这一数量。充分利用增加的AXI互连装置,可提高系统的并行处理能力。
尽管DMA和计算内核控制器114作为一个整体显示,但这并不是本发明所要求的,DMA控制器功能和计算内核控制器功能可分别实现。
再看一下图1和图10,尽管PCIe控制器110/网络控制器1010显示连接一个DMA和计算内核控制器114,但本发明并未对此做出限制。在其他实施例中,PCIe控制器110/网络控制器1010可连接多个DMA和计算内核控制器114,譬如,连接两个、四个或更多DMA和计算内核控制器114。因此,可以通过增加连接PCIe控制器110/网络控制器1010的DMA和计算内核控制器,在DMA和计算内核控制器层面提高资源利用率,还可通过增加连接多个计算内核的AXI接口,在AXI接口层面提高资源利用率。因此,图1和图10显示的具备一个DMA和计算内核控制器/AXI互连接口对的系统,并不是限制本发明的适用范围,只是显示一个特定的系统而已。本领域的任何普通技术人员都应能够识别多个不同型号、修改版和备用版。
参照图1,尽管图1显示PCIe控制器110连接一个DMA和计算内核控制器114,但本发明并不限于这样的系统。在其他实施例中,PCIe控制器110可连接多个计算内核控制器114,譬如,连接两个、四个或更多计算内核控制器。因此,可通过增加连接PCIe控制器110的计算内核控制器的数量,在计算内核控制器层面,提高资源利用率,或者通过增加连接多个计算内核的AXI接口的数量,在AXI接口层面,提高资源利用率。因此,图1显示的具备一个计算内核控制器/AXI互连接口对的系统并不是对本发明做出限制,只是介绍一个特定系统而已。本领域的任何普通技术人员都应能够识别多个不同型号、修改版和备用版。
图2是根据本发明的实施例,介绍JPEG图像缩放方法的简化流程图。如图2所示,这种缩放方法包括接收具备第一分辨率的JPEG图像,然后进行霍夫曼解码(210)。之后,再对解码图像进行逆离散余弦变换(DCT)(212)。这样就可根据输入图像的理想尺寸,对具备第一分辨率的图像进行尺寸调整,从而得到具备第二分辨率的图像(214)。例如,在手机上显示时,大图像(如3,264像素x2,448像素)需要被调小,以便在手机的小屏幕上显示(如1,024像素x768像素)。此外,其他缩放尺寸也适用于本发明。
这种方法还包括,在图像完成缩放后,执行DCT操作(216)和对转换的图像进行霍夫曼编码,从而得到调整后的具备第二分辨率的JPEG图像。在有些系统中,用于调整的图像从PCIe接口获得,然后再将调整后的图像发送回PCIe接口。在其他系统中,用于调整的图像从DDR内存获得,调整完毕后再发送回DDR内存。此外,该系统还能够从PCIe接口或网络接口接收图像,然后再将调整的图像发送至DDR内存,反之亦可。本领域的任何普通技术人员都应能够识别多个不同型号、修改版和备用版。
值得注意的是,图2显示的具体步骤,是根据本发明的实施例,介绍一种具体JPEG图像缩放方法。也可根据备用实施例,执行其他操作顺序。例如,本发明的备用实施例可采用不同顺序执行上述操作步骤。此外,图2显示的各个步骤也可包括多个小步骤,这些小步骤也可采用适宜的不同顺序操作。另外,还可根据具体应用,增减步骤。本领域的任何普通技术人员都应能够识别多个不同型号、修改版和备用版。
图3是根据本发明的实施例,介绍多个缩放内核的简化原理图。图3的简化原理图显示了图像缩放引擎的几个主要模块图3显示系统如何同步处理几幅图像,以提高系统吞吐量。例如,PCIe控制器110(或图10所示网络控制器1010)可同时将多幅JPEG图像传输至图像缩放引擎。在一个实施例中,需要处理的图像存入DDR内存,然后再检索出来,发送至多个计算内核,同时确保这些计算内核能够同时处理这些图像。因为本发明的实施例可同步处理多幅JPEG图像,因此,在一些实施例中,对内存带宽的要求较高。为了降低对外置存储器带宽的要求,图像缩放引擎在FPGA上配备了片上内存,从而使某些系统无需采用外置存储器,如图7所示。
一个FPGA器件包含几百至几千个可配置的片上内存块。本发明的实施例配备大量这样的内存块,用作缓冲器,存储缩放操作过程中的中间数据。采用多个存储块,可使本文所述的缩放器同步或同时处理多幅图像,从而使缩放器具备与解码器相同的吞吐量。
如图3所示,显示计算内核120(只有四个计算内核120a-120d)只是为了清楚起见。计算内核还可包含一个输入FIFO和一个输出FIFO以及JPEG编解码器。这些FIFO可用于数据缓冲和控制。例如,接口时钟频率不同于计算内核频率。在该例中,输入/输出FIFO用于缓冲数据,补偿频率差。除了这些配置在计算内核内的缓冲器,FIFO310等缓冲器也可根据本发明的实施例得到应用。
参照图3和图9,JPEG图像完成调整后,计算内核会通过将调整后的图像发送至AXI互连装置116,把结果写入DDR3存储器或直接写入计算内核控制器。计算内核控制器通过DMA控制器,将调整后的JPEG图像发送至PC。
图4是根据本发明的实施例,介绍二维转换方法的简化流程图。参照图4,这种方法包括接收一个像素块(410)。在所示的实施例中,这个像素块是一个8x8的像素块,但这并不是本发明所要求的。在其他实施例中,其他像素块得以应用,包括4x4像素块和16x16像素块。
在每个时钟周期,采用IDCT或DCT算法,并行处理等于像素块尺寸的的预定数量像素行(例如8个像素行)。具体采用哪种算法取决于是否执行IDCT或DCT(即解码或编码)操作。预定数量时钟周期结束后(例如8个时钟周期),整个像素块将被处理完毕,然后生成转换后的数据。
然后再执行列/行转换,使转换像素块接受列处理(414)。将像素块有效旋转90度后,采用下一个预定时钟周期数(例如8)并行处理像素列,执行IDCT或DCT操作(416)。这样,在本实施例中,经过16个时钟周期后,针对所有64个像素的IDCT或DCT处理完成。转换结束后,输出8x8像素块(418)。在一些实施例中,输出的像素块存入寄存器中。该寄存器可并行输出所有64个像素。
值得注意的是,图4显示的具体步骤,是根据本发明的实施例,介绍一种具体的二维转换方法。也可根据备用实施例,执行其他操作顺序。例如,本发明的备用实施例可采用不同顺序执行上述操作步骤。此外,图4显示的各个步骤也可包括多个小步骤,这些小步骤也可采用适宜的不同顺序操作。另外,还可根据具体应用,增减步骤。本领域的任何普通技术人员都应能够识别多个不同型号、修改版和备用版。
图5是根据本发明的实施例,介绍缩放内核间的数据流的简化原理图。图5详细介绍AXI互连装置116与计算内核120a-120d之间的交互。JPEG数据从AXI互连装置的端口流入各个计算内核,然后再作为调整后的JPEG数据传输回来。
JPEG数据包括一个文件头、控制信息、图像有效负载和其他类似信息。在一些实施例中,文件头包括图像尺寸和调整后的图像尺寸。在一些实施例中,尺寸调整信息就是最终图像尺寸与原始图像尺寸之比(分辨率),但这不是本发明所要求的。例如,缩放比可通过PCIe接口或备用的网络接口传输,具体取决于本实施例采用哪种接口,然后再将其传输至计算内核。在典型的实施例中,缩放要求在将JPEG数据传输至图像缩放引擎之前就已确定。
表1显示的是作为示例的JPEG数据包,包括文件头、霍夫曼编码表、量化表、色度抽样和其他类似信息。值得注意的是,JPEG数据中的一个或更多部分是可以利用软件、硬件或软硬件的结合进行配置的。本领域的任何普通技术人员都应能够识别多个不同型号、修改版和备用版。
表1
一幅JPEG图像可采用多个不同的色度抽样率。不过,最常用的色度抽样率是4∶4∶4和4∶2∶2。尽管一些实施例采用了支持所有可能的色度抽样率的JPEG解码器,但这些配置会带来高昂的资源开销,使FPGA器件配置的计算内核数据减少。其他实施例采用异构架构。多数计算内核只支持最常用的格式,只有少数计算内核支持所有格式。每种计算内核的数量可通过将不同的比特流加载至FPGA,从而实现动态调整。
在最大支持分辨率方面也存在类似的策略。通常,支持更高分辨率图像的缩放可增加使用的缓冲器和FIFO的大小。因此,一些实施例采用多数计算内核只支持最常见分辨率的设计。在一个具体实施例中,所有计算内核除一个以外,都支持最大宽度为4096像素的图像,而另外一个计算内核支持最大宽度为8192的图像。本领域的任何普通技术人员都应能够识别多个不同型号、修改版和备用版。
如上文所述,尽管图5所示的计算内核是彼此独立的相同的计算内核,但这并不是本发明所要求的。这些计算内核可以具备不同的性能,包括处理速度、最大图像分辨率以及其他类似方面。这样,调度引擎可以根据具体应用,为不同的计算内核分配不同分辨率的图像。因此,具备不同尺寸调整要求(例如压缩度、处理时间的要求和其他类似方面)的不同图像可根据本发明的实施例被发送至不同的计算内核。对于具备不同性能的FPGA而言,高处理要求的缩放项目可发送至高性能的高速计算内核,低处理要求的缩放项目(例如低分辨率的图像可发送至低性能的计算内核。在其他实施例中,图像根据循环调度的算法,依次发送至处于闲置状态的计算内核。
图6是根据本发明的实施例,介绍霍夫曼解码系统的简化原理图。与每个时钟周期对一个像素进行解码的传统系统不同,本发明的实施例采用64位寄存器,以更少的时钟周期数对整个像素块进行解码(例如8x8像素块等于64像素)。
如下文更详细的介绍,本发明的实施例将输入流的前16位(第0位至第15位)用作地址,并利用一个查找表(LUT)每个时钟周期对一个码字进行解码。同时,在这同一个时钟周期,LUT的输出被反馈到桶型移位器完成幅度解码。在对每个8x8块进行解码前,利用复位块652,将64个输出寄存器650复位至零。这种复位无需任何额外的时钟周期。根据霍夫曼码的零游程规定写入零值也无需额外的代码周期。这种方式可使本发明的实施例在每个时钟周期对一个码字/数值对进行解码。此外,本发明的实施例使用不到64个的时钟周期对每个8x8块进行解码,原因是,通常情况下,大量的IDCT系数都为零。最快情况下,当与8x8块相关联的所有64个IDCT系数值均为零时,只需一个时钟周期即可对64个值进行解码。
在一个实施例中,采用的LUT包含针对每个通道的216=65,536个条目。利用JPEG霍夫曼树的不对称性,其他实施例采用两个LUT,每个LUT具备216-n个条目。在一个示例性的实施例中,采用n=5的值,这与一些FPGA器件的单块RAM的大小相符。在其他实施例中,采用的n值或大或小。为便于参考,这两个查找表被称为LUT0和LUT1。
图8是根据本发明的实施例,介绍如何利用两个查找表对JPEG霍夫曼代码进行解码的简化原理图。在图8所示的实施例中,在一个时钟周期内,利用16位的比特流对两个查找表进行寻址,并完成解码。如图8所示,实施例采用的霍夫曼查找表810和812(以上简称为LUT0和LUT1)采用两个具备2,048个条目(例如216-n个条目,这里的n等于5)的ROM代替具备65,536个代目的ROM。在其他实施例中,LUT采用的是RAM。
16位中的0位至n-1位传输至一个AND电路820。0位至15-n位传输至LUT810,并用作LUT810的地址输入,n位至15位传输至LUT812,并用作LUT812的地址输入。如果前n个位都是1,AND电路820会生成一个正值,然后MUX830选择LUT812的这些正值作为输出。如果前n位不都是1,有些等于0的情况下,AND电路820会生成一个零输出,然后MUX830选择LUT810的这些结果作为输出。因此,在某些系统中,一些实施例会选用两个小型的LUT,以便大幅降低对FPGA的块内存的要求。
霍夫曼编码是可变长编码,因此,对于每个码字而言,码长是不可知的,多少位都有可能。所以,系统存储96位码流,并利用计数器指出当前霍夫曼码的起始位置。如图6所示,一组寄存器用于执行此功能。霍夫曼解码器接收需要解码(即利用霍夫曼解码器对采用霍夫曼编码的压缩图像文件进行解压缩,生成解压缩文件。)的编码图像,然后在第一个时钟周期,32位被移位至寄存器601。在第二个时钟周期,接下来的32位被移位至寄存器301,而最开始的32位被移位至寄存器602。这样,三个时钟周期后,96位被分别加载至寄存器601、寄存器602和寄存器603。
最初,比特选择器612的输出为0,则解码器从0位开始进行解码。基于比特选择器612的输入,桶型移位器610选择第0位至第31位。在这32位中,第0位至第15位被发送至霍夫曼查找表620,作为LUT的地址。第16位至第31位被发送至桶型移位器624,如下所述,供其选择一个16位尾数。霍夫曼LUT620可用作具备216=65,536个条目的ROM。如上文与图8相关的内容所述,可利用多个LUT(例如两个小型LUT)替换霍夫曼LUT。霍夫曼查找表620的每个条目都是一个三元组{码长、尾数长度和零游程}。零游程输出至选择寄存器630。该选择寄存器与转换尾数块结合在一起,可为64个IDCT系数解码寄存器650提供输入。选择寄存器630可用作一个多路复用器。码长输出至选择尾数的桶型移位器624。尾数长度从桶型移位器24输出至对尾数进行解码的转换尾数块632。计算出码长和尾数长度之和,然后输入延迟模块622,以确定下一个霍夫曼码位置。
每个周期计算出码长和尾数长度之和,输入延迟模块622。解码位数大于32时,大于32位的选择块(计算解码位数量)的输出可使寄存器601、寄存器602和寄存器603中的值移位至下一个寄存器,消除寄存器603中的第0位至第31位。寄存器603中的值利用寄存器602中的数据覆盖,来自霍夫曼码流的32位新值被加载至601寄存器。
在一些实施例中,霍夫曼码最长的码字是16位,并带16位的尾数。在其他实施例中,码字/尾数对长度达32位。因此,本发明的实施例能够一次处理32位。
再次参见图6,霍夫曼LUT 620输出当前码字的长度(码长),指出第二个码字开始时,需要消除的位数。因此,选择存入寄存器601、寄存器602或寄存器603的数据,并将这些数据发送至霍夫曼LUT时,需用到码字长度。譬如,如果码长是4位,尾数长度是8位,则比特选择器612输出13位,然后,后续处理从下一个周期开始。
图7是根据本发明的实施例,介绍像素块重调系统的简化原理图。图7所示的操作是由图像尺寸调整器执行的。控制字指出调整后的像素块大小,例如6x6像素块——的输入像素块抽取器710抽取8x8像素块。Resize Block RAM 714用于存储图像调整时的像素数据。Resize Block RAM 714输出的是调整后的像素块。因此,本发明的实施例是抽取像素块,生成调整后的像素块。
由于像素是以8x8像素矩形块的形式抽取的,因此,行计数器和列计数器可用于生成源图像的8x8像素块的坐标。该模块具备两个参数,分别定义列长度和行长度。在图像尺寸调整操作过程中,输入每个8x8像素块时,计数器720的列计数元件增加8个像素。当8x8像素块的整行输入完毕后,计数器720的行计数元件增加8个像素。当列计数器和行计数器达到要求的列长和行长时,图像尺寸重调操作完成。
下面的例子是图像调整比例为50%。输入的是8x8像素块,调整后的输出也是8x8像素块,不过是从4个输入8x8像素块抽取的。输入8x8像素块的一行经过缓冲,用作8x8像素块的整行的第一个输入,构成上面的4x8像素块。然后再对这些像素进行缓冲,之后等待,直到接收到输入8x8像素块的第二行,再对其进行抽取,生成下面的4x8像素块。这些构成整个8x8输出像素块。这种缓冲操作是由图7所示的控制元件完成的。
本发明的实施例进行图像尺寸重调时未采用外置存储器,原因是图像重调引擎配备了Resize Block RAM 714。由于一些实施例未采用外置存储器,因此图像重调速度相对于采用外置存储器的传统技术提高了。
调整后的图像切片是组装的调整像素块x调整像素块RAM714中的调整像素块,在一个实施例中,为4,096像素x16像素。然后,再对调整图像的切片进行编码,使其变为JPEG格式,再写入DDR存储器,以备最后拼接成整幅调整图像。
图9是根据本发明的实施例,介绍控制信号和数据的流动情况的简化原理图。图9额外介绍了图1所示的系统的控制信号和数据流。参见图9,当从计算机接收到图像,并写入DDR存储器后,计算内核控制器会将图像调整请求派送至一个伺服控制器。该伺服控制器就会从DDR存储器提取JPEG图像,然后再将图像派送至计算内核。该伺服控制器会对计算内核控制器发送的工作请求进行排序,因此只有等先前的工作完成后,才会向伺服控制器派送新图像。
以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步的详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (20)
1.一种图像文件缩放系统,其特征在于,所述系统包含一个FPGA和一个与FPGA连接的存储器,其中,所述FPGA包括一个能够通过接口接收多个图像文件的接口控制器,一个计算内核控制器,一个存储器控制器,一个与计算内核控制器和存储器控制器连接的互连装置,多个与互连装置连接的计算内核,一个与FPGA连接的存储器;
所述图像文件缩放系统可用于图像文件缩放:所述图像文件缩放系统提供一个AXI互连装置和提供与AXI互连装置实现通信连接的多个计算内核;接收具备第一图像分辨率的第一图像文件,并将与第一图像文件关联的第一有效负载从AXI互连装置的第一端口发送至第一计算内核,接收具备第二图像分辨率的第二图像文件,并将与第二图像文件关联的第二有效负载从AXI互连装置的第二端口发送至第二计算内核;利用第一计算内核和第二计算内核同时对第一有效负载和第二有效负载进行尺寸调整;第一有效负载被调整至不同于第一图像分辨率的第三图像分辨率,第二有效负载被调整至不同于第二图像分辨率的第四图像分辨率;将尺寸调整后的第一有效负载从第一计算内核发送至AXI互联装置的第一端口,以及将尺寸调整后的第二有效负载从第二计算内核发送至AXI互连装置的第二端口。
2.根据权利要求1所述的系统,其特征在于,所述系统中的多个图像文件包含JPEG图像。
3.根据权利要求1所述的系统,其特征在于,所述系统的接口包含至少一个PCIe接口或一个网络接口。
4.根据权利要求1所述的系统,其特征在于,所述系统的存储器包含一个DDR存储器。
5.根据权利要求1所述的系统,其特征在于,所述系统的多个计算内核具备不同的处理功能。
6.根据权利要求1所述的系统,其特征在于,所述系统的多个计算内核具备相同的处理功能。
7.根据权利要求1所述的系统,其特征在于,所述系统的多个计算内核都能对图像文件进行缩放。
8.根据权利要求7所述的系统,其特征在于,所述系统的多个计算内核中的第一个计算内核对第一个图像文件进行缩放处理,第二个计算内核同步处理第二个图像文件。
9.一个图像文件缩放方法,包括:
1)配备一个AXI互连装置;
2)配备与AXI互连装置实现通信连接的多个计算内核;
3)接收具备第一图像分辨率的第一图像文件;
4)将与第一图像文件关连的第一有效负载从AXI互连装置的第一端口发送至第一计算内核;
5)接收具备第二图像分辨率的第二图像文件;
6)将与第二图像文件关连的第二有效负载从AXI互连装置的第二端口发送至第二计算内核;
7)利用第一计算内核和第二计算内核同时对第一有效负载和第二有效负载进行尺寸调整,第一有效负载被调整至不同于第一图像分辨率的第三图像分辨率,第二有效负载被调整至不同于第二图像分辨率的第四图像分辨率;
8)将尺寸调整后的第一有效负载从第一计算内核发送至AXI互联装置的第一端口;
9)将尺寸调整后的第二有效负载从第二计算内核发送至AXI互连装置的第二端口。
10.根据权利要求9所述的方法,其特征在于,所述方法还包括:输出包含第一有效负载的调整后的第三图像文件;
输出包含第二有效负载的调整后的第四图像文件。
11.根据权利要求9所述的方法,其特征在于,所述方法还包括:
将与第一图像文件关连的报头信息发送至与发送第一有效负载关连的第一计算内核;
和
将与第二图像文件关连的报头信息发送至与发送第二有效负载关连的第二计算内核。
12.根据权利要求9所述的方法,其特征在于,所述方法还包括:所述第一图像文件和第二图像文件的格式都符合JPEG标准。
13.根据权利要求9所述的方法,其特征在于,所述方法还包括:第一图像文件和第二图像文件包含根据图像压缩标准压缩的关连有效负载数据。
14.根据权利要求9所述的方法,其特征在于,所述方法还包括:使所述第三图像分辨率小于第一图像分辨率,第四图像分辨率小于第二图像分辨率。
15.存储多个计算机可读指令的非临时性计算机可读存储介质,利用数据处理器执行所述计算机可读指令,提供尺寸重调后的图像文件,所述指令包括:
使数据处理器接收具备第一图像分辨率的第一图像文件的指令;
使数据处理器将与第一图像文件关联的第一有效负载从AXI互连装置的第一端口发送至第一计算内核的指令;
使数据处理器接收具备第二图像分辨率的第二图像文件的指令;
使数据处理器将与第二图像文件关联的第二有效负载从AXI互连装置的第二端口发送至第二计算内核的指令;
使数据处理器在第一计算内核和第二计算内核对第一有效负载和第二有效负载同时进行尺寸调整的指令,第一有效负载被调整至不同于第一图像分辨率的第三图像分辨率,第二有效负载被调整至不同于第二图像分辨率的第四图像分辨率;
使数据处理器将调整后的第一有效负载从第一计算内核发送至AXI互连装置的第一端口的指令;
使数据处理器将调整后的第二有效负载从第二计算内核发送至AXI互连装置的第二端口的指令。
16.根据权利要求15所述的非临时性计算机可读存储介质,其特征在于,所述指令包括:
使数据处理器输出包含调整后第一有效负载的调整后第三图像文件的指令;以及
使数据处理器输出包含调整后第二有效负载的调整后第四图像文件的指令。
17.根据权利要求15所述的非临时性计算机可读存储介质,其特征在于,所述指令包括:
使数据处理器将与第一图像文件相关的报头信息发送至与发送第一有效负载相关的第一计算内核的指令;和
使数据处理器将与第二图像文件相关的报头信息发送至与发送第二有效负载相关的第二计算内核的指令。
18.权利要求15所述的非临时性计算机可读存储介质,其特征在于,所述非临时性计算机可读存储介质存储的第一图像文件和第二图像文件采用一种JPEG格式标准。
19.权利要求15所述的非临时性计算机可读存储介质,其特征在于,所述非临时性计算机可读存储介质存储的第一图像文件和第二图像文件包含根据图像压缩标准压缩的关连有效负载数据。
20.权利要求15所述的非临时性计算机可读存储介质,其特征在于,所述非临时性计算机可读存储介质中,第三图像分辨率小于第一图像分辨率,第四图像分辨率小于第二图像分辨率。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/228,027 US9560310B2 (en) | 2014-03-27 | 2014-03-27 | Method and system for rescaling image files |
US14/228,027 | 2014-03-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104952037A CN104952037A (zh) | 2015-09-30 |
CN104952037B true CN104952037B (zh) | 2018-08-07 |
Family
ID=54166671
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410555394.7A Active CN104952037B (zh) | 2014-03-27 | 2014-10-20 | 图像文件缩放方法与系统 |
Country Status (2)
Country | Link |
---|---|
US (2) | US9560310B2 (zh) |
CN (1) | CN104952037B (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105677595A (zh) * | 2016-01-21 | 2016-06-15 | 方一信息科技(上海)有限公司 | 一种同时实现计算加速和pciessd存储的fpga方法 |
CN105957011B (zh) * | 2016-05-25 | 2019-05-21 | 北京小米移动软件有限公司 | 图片处理方法及装置 |
US11119835B2 (en) | 2017-08-30 | 2021-09-14 | Intel Corporation | Technologies for providing efficient reprovisioning in an accelerator device |
CN108710587B (zh) * | 2018-06-04 | 2021-03-26 | 中国电子科技集团公司第十四研究所 | 基于axi总线的信号处理fpga通用处理架构系统 |
CN108958800B (zh) * | 2018-06-15 | 2020-09-15 | 中国电子科技集团公司第五十二研究所 | 一种基于fpga硬件加速的ddr管理控制系统 |
CN109491934B (zh) * | 2018-09-28 | 2021-03-02 | 方一信息科技(上海)有限公司 | 一种集成计算功能的存储管理系统控制方法 |
CN110968537B (zh) * | 2018-09-28 | 2021-02-02 | 方一信息科技(上海)有限公司 | 一种基于pcie ssd的fpga搜索匹配方法 |
CN109618165A (zh) * | 2019-01-07 | 2019-04-12 | 郑州云海信息技术有限公司 | 一种图像解码方法、系统及主机和图像处理系统 |
US10877817B1 (en) * | 2019-06-28 | 2020-12-29 | Intel Corporation | Technologies for providing inter-kernel application programming interfaces for an accelerated architecture |
CN111343503B (zh) * | 2020-03-31 | 2022-03-04 | 北京金山云网络技术有限公司 | 视频的转码方法、装置、电子设备及存储介质 |
CN112037118B (zh) * | 2020-07-16 | 2024-02-02 | 新大陆数字技术股份有限公司 | 图像缩放硬件加速方法、装置、系统及可读存储介质 |
CN115409890B (zh) * | 2022-11-02 | 2023-03-24 | 山东大学 | 基于msr和广义霍夫变换的自定义标志检测方法及系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101779461A (zh) * | 2007-04-25 | 2010-07-14 | 彼科森成像有限责任公司 | 使用pixon方法的图像压缩和解压缩 |
CN101916428A (zh) * | 2010-08-18 | 2010-12-15 | 中国科学院光电技术研究所 | 一种图像数据的图像处理装置 |
CN103281531A (zh) * | 2013-05-10 | 2013-09-04 | 北方工业大学 | 面向hevc的质量可伸缩层间预测编码 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7434166B2 (en) * | 2003-06-03 | 2008-10-07 | Harman International Industries Incorporated | Wireless presentation system |
US8503539B2 (en) * | 2010-02-26 | 2013-08-06 | Bao Tran | High definition personal computer (PC) cam |
US20130162625A1 (en) * | 2011-12-23 | 2013-06-27 | Michael L. Schmit | Displayed Image Improvement |
-
2014
- 2014-03-27 US US14/228,027 patent/US9560310B2/en active Active
- 2014-10-20 CN CN201410555394.7A patent/CN104952037B/zh active Active
-
2017
- 2017-01-26 US US15/416,898 patent/US20170140502A1/en not_active Abandoned
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101779461A (zh) * | 2007-04-25 | 2010-07-14 | 彼科森成像有限责任公司 | 使用pixon方法的图像压缩和解压缩 |
CN101916428A (zh) * | 2010-08-18 | 2010-12-15 | 中国科学院光电技术研究所 | 一种图像数据的图像处理装置 |
CN103281531A (zh) * | 2013-05-10 | 2013-09-04 | 北方工业大学 | 面向hevc的质量可伸缩层间预测编码 |
Also Published As
Publication number | Publication date |
---|---|
US20150281636A1 (en) | 2015-10-01 |
US9560310B2 (en) | 2017-01-31 |
US20170140502A1 (en) | 2017-05-18 |
CN104952037A (zh) | 2015-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104952037B (zh) | 图像文件缩放方法与系统 | |
TW583883B (en) | System and method for multiple channel video transcoding | |
US8913667B2 (en) | Video decoding system having a programmable variable-length decoder | |
US20210082087A1 (en) | Image pipeline processing method and device | |
US8989509B2 (en) | Streaming wavelet transform | |
US9026568B2 (en) | Data compression for direct memory access transfers | |
US8866646B2 (en) | Memory compression technique with low latency per pixel | |
US9158686B2 (en) | Processing system and method including data compression API | |
KR101977453B1 (ko) | 분할된 디스플레이를 구동하는 다수의 디스플레이 파이프라인들 | |
CN105120293A (zh) | 基于cpu和gpu的图像协同解码方法及装置 | |
JP2001094437A (ja) | Mpeg信号復号方法及び装置 | |
US20140086309A1 (en) | Method and device for encoding and decoding an image | |
US20170127074A1 (en) | Video bit stream decoding | |
JPH11501420A (ja) | Jpeg画像圧縮標準を実現するvlsi回路構造体 | |
CN112235579B (zh) | 视频处理方法、计算机可读存储介质及电子设备 | |
AU2019101273A4 (en) | Method and apparatus for super-resolution using line unit operation | |
EP4195062A1 (en) | Method and apparatus for separable convolution filter operations on matrix multiplication arrays | |
CN101931804B (zh) | 无需使用存储器的旋转图像的设备及方法 | |
DE112012004727B4 (de) | Entpacken einer variablen Anzahl von Datenbits | |
WO2023024668A1 (zh) | 卷积计算方法、系统、设备及存储介质 | |
US11189006B2 (en) | Managing data for transportation | |
Sierra et al. | High-Performance Decoding of Variable-Length Memory Data Packets for FPGA Stream Processing | |
US20130044125A1 (en) | Method for displaying an elementary image of a composite image and an associated viewing device | |
US11778211B2 (en) | Parallel video parsing for video decoder processing | |
US20240087169A1 (en) | Realtime conversion of macroblocks to signed distance fields to improve text clarity in video streaming |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20180419 Address after: A2706, Jinzhong commercial building, 3037 Jintian Road, Futian street, Futian District, Shenzhen, Guangdong Applicant after: Lian Jie computing technology (Shenzhen) Co., Ltd. Address before: 2/FRM211-13, lakeside, Hongkong, China, 8 science and technology Avenue, Hongkong Science Park, West Shatin Applicant before: CLUSTER TECHNOLOGY LIMITED |
|
TA01 | Transfer of patent application right | ||
GR01 | Patent grant | ||
GR01 | Patent grant |