초록
본 논문에서는 실시간 HD급 영상($1920{\times}1080@30fps$) 처리를 위한 효율적인 CAVLC (Context-based Adaptive Variable Length Code) 부호화기의 하드웨어 구조를 제안한다. 기존에 제안되었던 CAVLC 하드웨어 구조들은 CAVLC 부호화를 위해 필요한 $4{\times}4$ 블록내의 정보들을 구하기 위해서 16개의 계수들을 모두 탐색하면서 zigzag scanning을 하였다. 그러나 zigzag 방향으로 정렬 된 계수들 중 '0'이 아닌 마지막 계수 이후에 존재하는 '0'의 열은 CAVLC 부호화를 하는데 있어 불필요한 계수들이다. 본 논문에서는 이러한 불필요한 연산을 줄이기 위해서 계수 위치 탐색 기법과 레벨 순차 정렬 기법을 제안한다. 제안된 구조를 적용하여 실험한 결과, 하나의 매크로블록을 처리하는 평균 클럭 수(Cycles/MB)는 기존 방식보다 약 23%가 줄었다. 제안된 CAVLC 하드웨어 구조는 Verilog HDL을 사용하여 하드웨어로 설계 및 검증되었다. 0.18um 표준 셀 라이브러리로 합성한 결과 16.3k 게이트를 가졌고, HD급($1920{\times}1080@30fps$) 영상을 기준으로 했을 경우 81MHz에서 동작할 수 있음을 확인하였다.
In this paper, we propose an efficient hardware architecture for H.264/AVC CAVLC (Context-based Adaptive Variable Length Coding) encoding. Previous CAVLC architectures search all of the coefficients to find statistic characteristics in a block. However, it is unnecessary information that zero coefficients following the last position of a non-zero coefficient when CAVLC encodes residual coefficients. In order to reduce this unnecessary operation, we propose two techniques, which detect the first and last position of non-zero coefficients and arrange non-zero coefficients sequentially. By adopting these two techniques, the required processing time was reduced about 23% compared with previous architecture. It was designed in a hardware description language and total logic gate count is 16.3k using 0.18um standard cell library Simulation results show that our design is capable of real-time processing for $1920{\times}1088\;30fps$ videos at 81MHz.