張曉征
(長春理工大學 計算機科學技術學院,吉林長春 130012)
OptiX光線跟蹤引擎對硬件有較高要求,基于OptiX遠程渲染系統整體框架設計為服務器渲染,經過網絡傳輸通過客戶端顯示[1]。OptiX光線跟蹤圖像幀為PPM格式,占用空間大,存在大量冗余信息。JPEG是靜態圖像壓縮標準[2],本文通過選取量化矩陣分析三維場景幀壓縮比率問題。
壓縮系統通過讀取PPM緩沖池文件壓縮后存入JPEG緩沖池。壓縮系統數據流如圖1所示。
壓縮系統從PPM緩沖池循環選取下一幀,當獲取到下一幀時刪除PPM緩沖池內上一幀數據,并把當前幀進行壓縮放入JPEG緩沖池內。

圖1 壓縮模塊數據流向
JEPG基線壓縮方法首先會將圖像分割為8×8的小像素塊。再對每一個像素塊進行FDCT(Forward DCT)變換,來分離高頻低頻信息[3]。
8×8像素塊內的FDCT變換公式為:

圖2 壓縮畫面對比

圖3 不同壓縮策略下的壓縮圖像對比

變換后矩陣根據量化表進行量化,最后對量化后矩陣進行進行編碼。將碼表量化表與圖像數據放入JPEG緩沖區。
人眼對低頻的對比差異敏感度較高,對亮度差異的敏感度較對顏色的色度差異敏感度高,故傳輸數據采用YUV顏色編碼模型。
RGB顏色編碼到YUV顏色編碼模型轉換公式如下:

PPM緩沖池一幀進行壓縮再解壓后圖像與原始PPM圖像對比如圖2所示。
通過畫面對比,壓縮程序在進行JPEG基線標準量化矩陣壓縮時,畫面整體信息保留完整,高頻信息模糊化。
本文使用的服務器為:Intel(R) Core(TM) i7-6700 CPU,8GB內存,NVIDIA GeForce GTX 970 GPU。編譯環境為:win10 64位操作系統,VS2013,MATLAB R2014b。
圖3是對緩沖池內某連續的幀圖像在不同壓縮策略下的壓縮結果。在本次實驗中,原始的1100×740分辨率下的PPM圖像為2385KB,通過分析可以發現量化矩陣選取越大,JPEG圖像壓縮率越高。
因三維渲染視頻幀之間的連續性,該文參照視頻壓縮方法對相鄰幀進行差分,然后對差分幀進行量化矩陣C的量化壓縮。通過對該次實驗的第10,15,20,25,30五幀取樣,發現幀間差分能有效消除幀間重復信息,在幀內壓縮的基礎上消除了約20%幀間冗余數據。
[1]Chen Y J, Hung C Y, Chien S Y. Distributed rendering: Interaction delay reduction in remote rendering with client-end GPU-accelerated scene warping technique[C]// IEEE International Conference on Multimedia & Expo Workshops. IEEE Computer Society, 2017:67-72.
[2]章承科.多核處理器構架的高速JPEG解碼算法[J].單片機與嵌入式系統應用,2006, 6(1):44-47.
[3]張慧慧.基于FPGA的JPEG壓縮編碼器的設計與實現[D].中北大學,2017.