| Title: | Otimização de desempenho do software de referência do JPEG Pleno 4DTM |
| Author: | Rodrigues, Arthur Scarpatto |
| Abstract: |
Light Fields (LFs) are a high-dimensional image modality that captures spatial and angular information simultaneously, enabling post-capture refocusing and perspective changes. Their high data volume demands efficient codec implementations; yet the JPEG Pleno reference software — the JPEG Pleno Model (JPLM) — exhibits significant computational bottlenecks that impede practical deployment. This work investigates performance optimization of the JPLM encoder and decoder under the 4D Transform Mode (4DTM). The methodology combines binary profiling with flamegraphs and Linux perf, source code analysis, and compiler-emitted assembly inspection to identify the dominant bottlenecks and develop targeted optimizations. Three independent optimizations are proposed and evaluated. The first, OPT_GETM, eliminates redundant significance scans in the hexadecatree rate-distortion search by caching the maximum coefficient magnitude across lowerBitplane recursion chains. The second, SUM_SQUARES_MULTI_ACC, restructures the sum-of-squares loop in the coefficient truncation criterion into a multi-accumulator integer reduction that exposes instruction-level parallelism and SIMD vectorization. The third, DCT_BUFFER_REUSE, eliminates per-invocation heap allocation in the separable 4D-DCT by reusing a pre-allocated buffer across calls. Results are evaluated across four JPEG Pleno Common Test Conditions (CTC) target bitrates, four LFs (Bikes, Danger_de_Mort, Fountain_Vincent2, and Stone_Pillars_Outside), and thirteen threading configurations using a statistically rigorous pipeline based on the Wilcoxon–Mann–Whitney test. Combined, the three optimizations accelerate the encoder by 20–30% and the decoder by 13–15% relative to the baseline, with no loss in coding efficiency. Light Fields (LFs) são uma modalidade de imagem de alta dimensionalidade que captura simultaneamente informação espacial e angular, possibilitando refocagem e mudança de perspectiva após a captura. Seu elevado volume de dados exige implementações eficientes de codificadores; entretanto, o software de referência do Joint Photographic Experts Group (JPEG) Pleno — o JPEG Pleno Model (JPLM) — apresenta gargalos computacionais significativos que dificultam sua adoção prática. Este trabalho investiga a otimização de desempenho do codificador e decodificador do JPEG Pleno Model (JPLM) no contexto do 4D Transform Mode (4DTM). A metodologia combina perfilagem do binário com flamegraphs e Linux perf, análise do código-fonte e inspeção do código assembly gerado pelo compilador, com o objetivo de identificar os principais gargalos e desenvolver otimizações direcionadas. Três otimizações independentes são propostas e avaliadas. A primeira, OPT_GETM, elimina varreduras de significância redundantes na busca de otimização taxa-distorção da árvore hexadecária, armazenando em cache a magnitude máxima dos coeficientes ao longo das cadeias de recursão lowerBitplane. A segunda, SUM_SQUARES_MULTI_ACC, reestrutura o laço de soma de quadrados no critério de truncamento de coeficientes em uma redução inteira com múltiplos acumuladores, expondo paralelismo em nível de instrução e vetorização Single Instruction Multiple Data (SIMD). A terceira, DCT_BUFFER_REUSE, elimina alocações de heap por invocação na 4-Dimensional Discrete Cosine Transform (4D-DCT) separável, reutilizando um buffer pré-alocado entre as chamadas. Os resultados são avaliados em quatro taxas de bits das Common Test Conditions (CTC) do JPEG Pleno, quatro LFs (Bikes, Danger_de_Mort, Fountain_Vincent2, e Stone_Pillars_Outside), e treze configurações de threads, por meio de um pipeline estatístico rigoroso baseado no teste de Wilcoxon–Mann–Whitney. Em conjunto, as três otimizações aceleram o codificador em 20–30% e o decodificador em 13–15% em relação à baseline, sem perda de eficiência de codificação. |
| Description: | TCC (graduação) - Universidade Federal de Santa Catarina, Centro Tecnológico, Ciências da Computação. |
| URI: | https://repositorio.ufsc.br/handle/123456789/274083 |
| Date: | 2026-07-07 |
| Files | Size | Format | View |
|---|---|---|---|
| tcc-final-arthur.pdf | 5.147Mb |
View/ |