Abstract
Inter-prediction is always the main bottleneck in H.264/AVC baseline profile. This paper describes an efficient inter-prediction hardware architecture design. H.264/AVC decoder supports various block types but reference software considers only the $4{\times}4$ block when the reference block is being fetched. This causes duplicated pixels which needs extra fetch cycles. In order to eliminate some of the duplicated pixels, the $8{\times}8$ and $4{\times}4$ blocks were considered in the previous design. If the block size is larger than or equal to the $8{\times}8$ block, it will be decomposed into several $8{\times}8$ blocks and if the block size is smaller than the $8{\times}8$ block it will be decomposed into several $4{\times}4$ blocks. Comparing with the reference software, the maximum and minimum cycle reduction of the previous design are 41.5% and 28.2% respectively. For further reduction of the fetch cycles, the various block types are considered in this paper. As a result, the maximum cycle reduction is 18.6% comparing with the previous design.
본 논문에서는 H.264/AVC 베이스라인 프로파일 디코더 설계에서 병목현상을 일으키는 주요 부분인 인터 예측 성능 개선을 위한 효율적인 하드웨어 구조를 제안한다. H.264/AVC 디코더는 다양한 블록 모드를 지원하지만 레퍼런스 소프트웨어에서는 중복 픽셀에 대해 제거 하지 않고 항상 $4{\times}4$ 블록에 대하여 최소 $4{\times}4$, 최대 $9{\times}9$ 참조 블록을 패치한다. 기존의 Nova에서는 이를 해결하기 위하여 $8{\times}8$ 블록 모드와 $4{\times}4$ 블록 모드를 고려하였다. 블록 모드가 $8{\times}8$ 사이즈보다 크거나 같을 경우 여러 $8{\times}8$ 블록으로 나누어서 그에 대한 $13{\times}13$ 레퍼런스 블록을 패치 하고 $8{\times}8$ 블록 보다 작을 경우 여러 개의 $4{\times}4$ 블록으로 나누어 그에 대한 $9{\times}9$ 레퍼런스 블록을 패치하여 중복픽셀을 제거함으로써 사이클 수를 감소시켜 레퍼런스 소프트웨어에 비해 최대 41.5%, 최소 28.2%의 성능을 향상시켰다. 본 논문에서는 성능 향상을 위하여 $8{\times}8$과 $4{\times}4$ 블록 모드 뿐만 아니라 다양한 레퍼런스 블록 패치를 진행하여 중복픽셀을 제거하고 메모리 패치 사이클 수를 줄여 기존 설계에 비해 최대 18.6%의 참조 블록 패치 사이클 수를 감소시켰다.