Abstract
In this paper, a digital image compression codec using 2D DWT(Discrete Wavelet Transform) is designed using the FPGA technology for real time operation The implemented image compression codec using wavelet decomposition consists of a wavelet kernel part for wavelet filtering process, a quantizer/huffman coder for quantization and huffman encoding of wavelet coefficients, a memory controller for interface with external memories, a input interface to process image pixels from A/D converter, a output interface for reconstructing huffman codes, which has irregular bit size, into 32-bit data having regular size data, a memory-kernel buffer to arrage data for real time process, a PCI interface part, and some modules for setting timing between each modules. Since the memory mapping method which converts read process of column-direction into read process of the row-direction is used, the read process in the vertical-direction wavelet decomposition is very efficiently processed. Global operation of wavelet codec is synchronized with the field signal of A/D converter. The global hardware process pipeline operation as the unit of field and each field and each field operation is classified as decomposition levels of wavelet transform. The implemented hardware used FPGA hardware resource of 11119(45%) LAB and 28352(9%) ESB in FPGA device of APEX20KC EP20k600CB652-7 and mapped into one FPGA without additional external logic. Also it can process 33 frames(66 fields) per second, so real-time image compression is possible.
본 논문에서는 2D DWT(Discrete Wavelet Transform)를 이용하여 디지털 영상압축기를 FPGA에서 실시간 동작이 가능하도록 설계하였다. 구현된 웨이블릿을 이용한 영상압축기는 필터링을 수행하는 커널부와 양자화 및 허프만 코딩을 수행하는 양자화/허프만 코더부, 외부 메모리와의 인터페이스를 위한 메모리 제어부, A/D 컨버터로부터 영상을 받아들이기 위한 입력 인터페이스부, 불규칙적인 길이의 허브만 코드값을 32비트의 일정길이로 구성하는 출력 인터페이스부, 메모리와 커널사이 데이터를 정렬하는 메모리 커널 버퍼부, PCI와의 연결을 위한 PCI 입/출력부 그리고 그 밖에 타이밍을 맞추기 위한 여러 작은 모듈들로 구성된다. 열방향 읽기 동작을 행방향 읽기 동작으로 수행하기 위한 메모리 사상방식을 사용하여 외부 메모리에 영상을 저장하고 열방향의 수직 필터링 시 효율적으로 데이터를 메모리로부터 읽을 수 있게 한다. 전체적인 동작은 A/D 컨버터의 필드 신호에 동기하여 전체 하드웨어는 필드 단위로 파이프라인 동작을 하고 필드 단위의 동작은 DWT의 웨이블릿 필터링 레벨에 따라서 동작이 구분된다. 구현된 하드웨어는 APEX2KC EP20K600CB652-7의 FPGA 디바이스에서 11119(45%)개의 LAB와 28352(9%)개의 ESB를 사용하여 하나의 FPGA내에 사상될 수 있었고 부가적인 외부 회로의 필요없이 단일 칩으로써 웨이블릿을 이용한 영상압축을 수행할 수 있었다. 또한 33MHz의 속도에서 초당 30 프레임의 영상을 압축할 수 있어 실시간 영상 압축이 가능하였다.