New 4K video services demand a high-speed high efficiency video coding (HEVC) encoder. To achieve fast encoding speed, many acceleration methods by general purpose computing on graphics processing units (GPGPU) focus on the inter prediction as the highest workload part on an HEVC encoder, and improve its processing speed. Although transformation and quantization (TQ) is the second highest workload part, it can be the bottleneck of HEVC encoding speed after these improvements of the inter prediction part. Therefore, TQ also needs to be accelerated by the GPGPU. The conventional method for accelerating TQ by parallel processing on a GPU contains large overheads that limit improvement in speed. One overhead is the gathering process, which has to be done in CPU because it is sequential and GPUs cannot handle such a process. The other overhead is a huge amount of data transfer between a CPU and a GPU is required especially for 4K encoding. In this paper, we propose highly parallel transformation and quantization for an HEVC encoder on a GPU. Our method combines an irregular load/store of TU data in separated memory addresses with TQ to remove the gathering process. To perform this irregular memory access, we propose a parallel address list construction method. In addition, we also introduce a parallel coefficient packing technique to reduce the CPU-GPU data transfer and get a further increase in speed. Experimental results showed a 10.8× speed increase compared with the conventional method.
['Hiroaki Igarashi', 'Fumiyo Takano', 'Tatsuji Moriyoshi']
Highly parallel transformation and quantization for HEVC encoder on GPUs