圖像文件縮放方法與系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及圖像處理技術(shù),尤其是涉及對(duì)采用JPEG標(biāo)準(zhǔn)壓縮的圖像進(jìn)行縮放操 作的方法和系統(tǒng)。本發(fā)明還適用于JPEG格式W外的其他圖像壓縮格式的縮放操作。
【背景技術(shù)】
[000引 JPEG是在互聯(lián)網(wǎng)中實(shí)際上使用的圖像格式。由于社交網(wǎng)絡(luò)和互聯(lián)網(wǎng)通信的暴增, 每天有大量圖像需要傳輸,其中多數(shù)圖像采用JPEG標(biāo)準(zhǔn)壓縮。由于平板電腦和智能手機(jī)等 移動(dòng)設(shè)備W及臺(tái)式機(jī)等固定設(shè)備具備不同的屏幕分辨率和帶寬能力,因此需要對(duì)圖像的尺 寸進(jìn)行重新調(diào)整,W便每臺(tái)設(shè)備都能獲得最佳的觀看效果。該些圖像重調(diào)任務(wù)通常在數(shù)據(jù) 中也完成。數(shù)據(jù)中也利用大量配備傳統(tǒng)微處理器的服務(wù)器對(duì)其進(jìn)行處理。盡管數(shù)據(jù)通信與 處理技術(shù)取得了長(zhǎng)足的進(jìn)步,但仍需要對(duì)圖像重調(diào)或縮放的方法及系統(tǒng)進(jìn)行改進(jìn)。傳統(tǒng)的 基于微處理器的服務(wù)器速度慢,消耗功率大。基于ASIC的加速器的功能在出廠后無法實(shí)現(xiàn) 升級(jí)或修改。
【發(fā)明內(nèi)容】
[0003] 本發(fā)明的目的在于在JPEG圖像縮放系統(tǒng)中采用多個(gè)內(nèi)核對(duì)多幅圖像同時(shí)進(jìn)行縮 放,從而加速圖像縮放處理過程。
[0004]為了實(shí)現(xiàn)本發(fā)明的目的,提出如下技術(shù)方案: 本發(fā)明使用的一種圖像文件縮放系統(tǒng),所述系統(tǒng)包含一個(gè)FPGA和一個(gè)與FPGA連接的 存儲(chǔ)器,其中,所述FPGA包括一個(gè)能夠通過接口接收多個(gè)圖像文件的接口控制器,一個(gè)計(jì) 算內(nèi)核控制器,一個(gè)存儲(chǔ)器控制器,一個(gè)與計(jì)算內(nèi)核控制器和存儲(chǔ)器控制器連接的互連裝 置,多個(gè)與互連裝置連接的計(jì)算內(nèi)核。
[0005] 所述系統(tǒng)中的多個(gè)圖像文件包含JPEG圖像。
[0006] 所述系統(tǒng)的接口包含至少一個(gè)PCIe接口或一個(gè)網(wǎng)絡(luò)接口。
[0007] 所述系統(tǒng)的存儲(chǔ)器包含一個(gè)DDR存儲(chǔ)器。
[0008] 所述系統(tǒng)的多個(gè)計(jì)算內(nèi)核具備不同的處理功能或具備相同的處理功能,都能對(duì)圖 像文件進(jìn)行縮放。
[0009]所述系統(tǒng)的多個(gè)計(jì)算內(nèi)核中的第一個(gè)計(jì)算內(nèi)核對(duì)第一個(gè)圖像文件進(jìn)行縮放處理, 第二個(gè)計(jì)算內(nèi)核同步處理第二個(gè)圖像文件。
[0010] 本發(fā)明還提出使用所述圖像文件縮放系統(tǒng)的圖像文件縮放方法,包括步驟: 1) 配備一個(gè)AXI互連裝置; 2) 配備與AXI互連裝置實(shí)現(xiàn)通信連接的多個(gè)計(jì)算內(nèi)核; 3) 接收具備第一圖像分辨率的第一圖像文件; 4) 將與第一圖像文件關(guān)連的第一有效負(fù)載從AXI互連裝置的第一端口發(fā)送至第一計(jì) 算內(nèi)核; 5) 接收具備第二圖像分辨率的第二圖像文件; 6) 將與第二圖像文件關(guān)連的第二有效負(fù)載從AXI互連裝置的第二端口發(fā)送至第二計(jì) 算內(nèi)核; 7) 利用第一計(jì)算內(nèi)核和第二計(jì)算內(nèi)核同時(shí)對(duì)第一有效負(fù)載和第二有效負(fù)載進(jìn)行尺寸 調(diào)整,第一有效負(fù)載被調(diào)整至不同于第一圖像分辨率的第H圖像分辨率,第二有效負(fù)載被 調(diào)整至不同于第二圖像分辨率的第四圖像分辨率; 8) 將尺寸調(diào)整后的第一有效負(fù)載從第一計(jì)算內(nèi)核發(fā)送至AXI互聯(lián)裝置的第一端口; 9) 將尺寸調(diào)整后的第二有效負(fù)載從第二計(jì)算內(nèi)核發(fā)送至AXI互連裝置的第二端口。
[0011] 所述方法還包括: 輸出包含第一有效負(fù)載的調(diào)整后的第H圖像文件; 輸出包含第二有效負(fù)載的調(diào)整后的第四圖像文件。
[0012] 所述方法還包括: 將與第一圖像文件關(guān)連的報(bào)頭信息發(fā)送至與發(fā)送第一有效負(fù)載關(guān)連的第一計(jì)算內(nèi)核; 和將與第二圖像文件關(guān)連的報(bào)頭信息發(fā)送至與發(fā)送第二有效負(fù)載關(guān)連的第二計(jì)算內(nèi)核。
[0013] 所述方法還包括;所述第一圖像文件和第二圖像文件都根據(jù)JPEG格式標(biāo)準(zhǔn)進(jìn)行 轉(zhuǎn)換。
[0014] 所述方法還包括;第一圖像文件和第二圖像文件包含根據(jù)圖像壓縮標(biāo)準(zhǔn)壓縮的關(guān) 連有效負(fù)載數(shù)據(jù)。
[0015] 所述方法還包括:使所述第H圖像分辨率小于第一圖像分辨率,第四圖像分辨率 小于第二圖像分辨率。
[0016] 所述方法還包括;應(yīng)用存儲(chǔ)多個(gè)計(jì)算機(jī)可讀指令的非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介 質(zhì),利用數(shù)據(jù)處理器執(zhí)行所述計(jì)算機(jī)可讀指令,對(duì)圖像文件進(jìn)行尺寸重調(diào),所述指令包括: 使數(shù)據(jù)處理器接收具備第一圖像分辨率的第一圖像文件的指令; 使數(shù)據(jù)處理器將與第一圖像文件關(guān)聯(lián)的第一有效負(fù)載從AXI互連裝置的第一端口發(fā) 送至第一計(jì)算內(nèi)核的指令; 使數(shù)據(jù)處理器接收具備第二圖像分辨率的第二圖像文件的指令; 使數(shù)據(jù)處理器將與第二圖像文件關(guān)聯(lián)的第二有效負(fù)載從AXI互連裝置的第二端口發(fā) 送至第二計(jì)算內(nèi)核的指令; 使數(shù)據(jù)處理器在第一計(jì)算內(nèi)核和第二計(jì)算內(nèi)核對(duì)第一有效負(fù)載和第二有效負(fù)載同時(shí) 進(jìn)行尺寸調(diào)整的指令。第一有效負(fù)載被調(diào)整至不同于第一圖像分辨率的第H圖像分辨率, 第二有效負(fù)載被調(diào)整至不同于第二圖像分辨率的第四圖像分辨率; 使數(shù)據(jù)處理器將調(diào)整后的第一有效負(fù)載從第一計(jì)算內(nèi)核發(fā)送至AXI互連裝置的第一 端口的指令; 使數(shù)據(jù)處理器將調(diào)整后的第二有效負(fù)載從第二計(jì)算內(nèi)核發(fā)送至AXI互連裝置的第二 端口的指令。
[0017] 所述指令包括;使數(shù)據(jù)處理器輸出包含調(diào)整后第一有效負(fù)載的調(diào)整后第H圖像文 件的指令;W及 使數(shù)據(jù)處理器輸出包含調(diào)整后第二有效負(fù)載的調(diào)整后第四圖像文件的指令。
[0018] 所述指令包括:使數(shù)據(jù)處理器將與第一圖像文件相關(guān)的報(bào)頭信息發(fā)送至與發(fā)送第 一有效負(fù)載相關(guān)的第一計(jì)算內(nèi)核的指令;和 使數(shù)據(jù)處理器將與第二圖像文件相關(guān)的報(bào)頭信息發(fā)送至與發(fā)送第二有效負(fù)載相關(guān)的 第二計(jì)算內(nèi)核的指令。
[0019]所述非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)的第一圖像文件和第二圖像文件采用 JPEG格式標(biāo)準(zhǔn)進(jìn)行轉(zhuǎn)換。
[0020] 所述非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)存儲(chǔ)的第一圖像文件和第二圖像文件包含根 據(jù)圖像壓縮標(biāo)準(zhǔn)壓縮的關(guān)連有效負(fù)載數(shù)據(jù)。
[0021] 所述非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中,第H圖像分辨率小于第一圖像分辨率,第 四圖像分辨率小于第二圖像分辨率。
[0022] 本發(fā)明與傳統(tǒng)技術(shù)相比,具備多種優(yōu)勢(shì): 本發(fā)明的一些實(shí)施例采用基于現(xiàn)場(chǎng)可編程口陣列(FPGA)的加速器,對(duì)JPEG計(jì)算機(jī)圖 像進(jìn)行縮放處理,對(duì)比采用傳統(tǒng)的基于微處理器的服務(wù)器,基于FPGA的加速器具有圖像壓 縮速度快且功耗低的優(yōu)勢(shì)。
[0023] 與基于ASIC的加速器不同,F(xiàn)PGA是可重新配置的,使該種加速器的功能在出廠后 可根據(jù)具體情況實(shí)現(xiàn)升級(jí)或修改。
【附圖說明】
[0024] 圖1是本發(fā)明圖像縮放系統(tǒng)的簡(jiǎn)化原理圖。
[00巧]圖2是JPEG圖像縮放方法的簡(jiǎn)化流程圖。
[0026] 圖3是多個(gè)縮放內(nèi)核的簡(jiǎn)化原理圖。
[0027] 圖4是二維轉(zhuǎn)換方法的簡(jiǎn)化流程圖。
[002引圖5是縮放內(nèi)核間的數(shù)據(jù)流的簡(jiǎn)化原理圖。
[0029] 圖6是霍夫曼解碼系統(tǒng)的簡(jiǎn)化原理圖。
[0030] 圖7是像素塊重調(diào)系統(tǒng)的簡(jiǎn)化原理圖。
[0031] 圖8是利用兩個(gè)查找表對(duì)JPEG化ffman代碼進(jìn)行解碼的簡(jiǎn)化原理圖。
[0032] 圖9是控制信號(hào)和數(shù)據(jù)的流動(dòng)情況的簡(jiǎn)化原理圖。
[0033] 圖10是圖像縮放系統(tǒng)的備選系統(tǒng)的簡(jiǎn)化原理圖。
[0034] 附圖中出現(xiàn)的技術(shù)用語說明如下: 圖 1 ;孤Rmemoir;孤R存儲(chǔ)器;Memoircontroller;存儲(chǔ)器控制器;PCIeinterface:PCIe接口;PCIecontroller;PCIe控制器;DMAandcomputingkernelcontroller;DMA 和計(jì)算內(nèi)核控制器;AXIinterconnect;AXI互連裝置;computingkernel;計(jì)算內(nèi)核 圖2;Huffmandecoding;霍夫曼解碼;inverseDCT;反向離散余弦轉(zhuǎn)換;Resizing;尺 寸調(diào)整;DCT;離散余弦轉(zhuǎn)換巧uffmanEncode;霍夫曼編碼 圖 3;PCIecontroller;PCIe控制器;ControllerandmemoiT;控制器和存儲(chǔ)器;AXI Interconnect;AXI互連裝置;InFIFO;輸入先進(jìn)先出存儲(chǔ)器;OutFIFO;輸出先進(jìn)先出存 儲(chǔ)器 圖 4 ;Receive8x8pixelblock:接收 8x8 像素塊;process化OWS;處理 8 行;performcolumn/rowtransformation:執(zhí)行列 / 行轉(zhuǎn)換;processScolumns:處理 8 列; ou1:put8x8pixelblock;輸出 8x8 像素塊 圖 5;Slave:伺服;AXIInterconnect;AXI互連裝置;JPEGdataflow;JPEG數(shù)據(jù) 流;ResizedJPEGdataflow:調(diào)整后的JPEG數(shù)據(jù)流JPEGdataflowJPEG數(shù)據(jù)流;computingkernel:計(jì)算內(nèi)棱 圖 6 :32-bitr