As the high-definition television (HDTV) broadcasting starts, video signal processors must cope with a large amount of video data within a tightly bounded time frame. Hence, performance of the processors and memory bandwidth with external memories become very crucial factors to design HDTV decoding systems. Moreover, the processors are required to a high degree of programmability and fast task-switching features for supporting various standards without hardware redesign and real-time processing.
In this thesis, we discuss both the processor and the memory interface architectures for HDTV decoding applications that have characteristics such as a lot of data-level and instruction-level parallelisms and pre-deterministic operation sequences. First, we propose a processor architecture that meets three requirements i.e., high-performance, programmability and fast task-switching. The proposed architecture features a 4-way VLIW execution pipe and special instructions to achieve high-performance and programmability. Owing to a multi-thread scheme, the processor can execute two independent programs simultaneously without incurring any switching overhead. Lastly, conditional execution instructions and condition generation hardware are used to prevent conditional branches from degrading the instruction-level parallelism and the system performance. Experiment results show that the proposed architecture can achieve 5.4$\times$ speedup over a simple scalar architecture and meet the processing requirement for decoding MP@HL video streams regardless of the number of bi-directional macroblocks.
Second, we propose a high-performance and low energy consumption memory interface architecture for Synchronous DRAM (SDRAM)-based image processing applications. The proposed architecture includes an array address translation logic that transforms logical array addresses into physical memory addresses so as to minimize the number of overhead cycles needed for row-changes. We present several conditions that guarantee the minimal overhead cycles during block-type accesses. To find an optimal translation efficiently, we present a searching algorithm that is based on simple memory access simulations and search space pruning. Experimental results show that the proposed translation increases the memory bandwidth by 50% and saves the energy consumption by 30% over the conventional linear translation.
HDTV 방송 시대가 도래하면서, 영상 복호기는 정해진 시간 내에 보다 많은 양의 영상 정보를 다루게 되었고, 이로 인해 보다 높은 성능의 프로세서 구조가 요구되었다. 알고리즘의 특성에 적합한 영상처리를 위해서, 두개의 이질적인 성격을 갖는 구조로 영상처리기를 구현하는 방법이 연구되어 왔다. 즉, 계산량이 많고 (computation-intensive) 계산형태가 일정한 (regular) 부분을 수행하는 전용 하드웨어 구조 (dedicated hardware module)와, 이런 전용하드웨어를 제어하고 보다 높은 수준의 복잡한 연산을 수행하는 제어용 프로그래머블 (programmable) 프로세서로의 구현하는 방법이다. 제한된 시간에 처리해야 하는 영상 정보의 양이 증가함에 따라 제어용 프로세서의 성능 (performance)과 외부메모리와의 데이터 전송속도가 전체 영상처리시스템의 성능을 좌우하게 되었다. 이 외에도 별도의 하드웨어 재설계가 없이 다양한 HDTV표준을 지원하고, 실시간 처리를 위하여 제어용 범용 프로세서는 높은 유연성 (programmability)과 빠른 역할 전환성 (fast task-switching)을 가져야 한다.
HDTV 복호화 알고리즘은 매우 높은 명령어 병렬성과 데이터 병렬성을 가지고 있으며, 알고리즘 단계에서 연산의 순서가 정적으로 결정되는 특성을 가지고 있다. 본 논문에서는 이런 복호화 알고리즘의 특성을 이용하여, 제어용 범용 프로세서 구조와 메모리 접근 구조를 제안하였다.
첫 번째로 앞서 설명한 높은 성능과 유연성, 빠른 역할 전환성의 요구조건을 만족하는 프로세서 구조를 제안하였다. 이를 위한 구조적 특징으로는 다음과 같다. 한번에 4개까지의 연산을 동시에 수행할 수 있는 VLIW 구조와 MPEG-2 동영상 복호화 알고리즘에 특화된 명령어를 제안했으며, VLIW구조의 명령어 메모리의 크기를 줄이기 위한 수행 명령어 개수 제어 기법을 제안하였다. 다수 동시 프로그램 수행 기법 (Multi-thread)은 실시간 연산에 필요한 빠른 역할 전환성을 위하여 제시되었고, 분기 명령어에 의한 성능 저하를 막기 위하여, 조건부 실행 명령어 및 하드웨어 조건 생성 기법 등이 제안되었다. 이상의 기법으로 제안된 구조는 MPEG-2 동영상 복호화 알고리즘 수행 시에 단순한 기본 구조보다 5.4배의 성능향상을 가져왔다.
두 번째로는 동기식 동적 임의접근 메모리 (Synchronous DRAM)를 기반으로 하는 영상처리 응용분야를 위한 고성능, 저전력 메모리 접근 구조를 제안하였다. 제안된 구조는 영상처리 응용분야의 정적인 메모리 접근 특성을 고려하여 논리적 배열 주소 (logical array address)를 물리적 메모리 주소 (physical memory address)로 변환하는 배열 주소 변환기를 포함한다. 이런 배열 주소 변환기의 목적은 메모리의 활성화된 행 (row)의 변화에 필요한 시간 (overhead cycle)을 줄이는 데에 있다. 각 주소변환방식에서의 오버헤드 시간을 빨리 계산하여 최적의 주소변환 방식을 찾는 탐색 알고리즘도 제시하였다. 압축된 동영상을 복호화하는 MPEG-2 알고리즘을 대상으로 실험한 결과, 제안된 주소 변환 방식에 의한 메모리 접근 구조가 선형적 메모리 접근 구조보다 약 50%의 데이터 전송시간의 향상과 30%의 에너지 소비의 감소를 보였다.