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 such as $16{\times}16$, $16{\times}8$, $8{\times}16$, $8{\times}8$, $8{\times}4$, $4{\times}8$, $4{\times}4$ block types. Reference Software(JM) only considers the $4{\times}4$ block type 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$ block types were considered in the previous design. If the block size is larger than or equal to the $8{\times}8$ block type, it will be separated into several $8{\times}8$ block types and if the block size is smaller than the $8{\times}8$ block type it will be separated into several $4{\times}4$ blocks. For further reduction of the fetch cycles, the various block types are considered in this paper. As a result, the maximum cycle reduction percentage is 18.6% comparing with the previous design.
본 논문에서는 H.264/AVC 베이스라인 프로파일 가운데서 병목현상을 일으키는 주요한 부분인 인터 예측의 효율적인 하드웨어 구조에 관한 설계에 대해 기술한다. H.264/AVC 디코더는 $16{\times}16$, $16{\times}8$, $8{\times}16$, $8{\times}8$, $8{\times}4$, $4{\times}8$, $4{\times}4$ 등 다양한 블록 모드를 지원하는데 레퍼런스 소프트웨어(JM)에서는 중복 픽셀에 대해 제거 하지 않고 항상 $4{\times}4$ 블록에 대한 $9{\times}9$ 참조 블록을 패취하게 된다. 기존에 이미 설계된 디자인에서는 이러한 문제를 해결하기 위하여 $8{\times}8$ 블록 모드와 $4{\times}4$ 블록 모드를 고려하여 설계하였다. 블록 모드가 $8{\times}8$ 사이즈보다 크거나 같을 경우 여러 개의 $8{\times}8$ 블록으로 나뉘어서 그에 대한 $13{\times}13$ 레퍼런스 블록을 패취하고 $8{\times}8$ 블록 보다 작을 경우 여러 개의 $4{\times}4$ 블록으로 나뉘어서 그에 대한 $9{\times}9$ 레퍼런스 블록을 패취하는 방법을 사용하여 중복픽셀을 제거 하여 패취 사이클을 줄였다. 본 논문에서는 더 큰 성능 향상을 위하여 $8{\times}8$과 $4{\times}4$ 블록 모드뿐만이 아닌 다양한 블록 모드에 대한 레퍼런스 블록 패취를 진행하여 더 많은 중복픽셀을 제거 하였고 메모리 패취 사이클을 줄여 최대 18.6%의 참조 블록 패취 사이클 감소를 가져 왔다.