정수변환을 활용한 MPEG-4의 Simple Profile Level에서의 부호기 설계
(IT-SOC 핵심설계인력양성사업, 한국소프트웨어 진흥원, 2005.3.~2006.2) 1. 과제 개요 최근 동영상 압축 방식 중 H.264표준은 기존 동영상 압축 방식을 토대로 형성되어 거의 유사하지만, 기존의 방식보다 뛰어난 압축 성능 향상을 보인다. 본 과제를 통해 동영상 압축 방식을 분석하고 H.264의 정수 전환을 MPEG-4의 Simple Profile Level에 적용한 부호기를 설계하고, 이를 통해 동영상 압축 기술과 반도체 설계의 지식을 갖춘 인재양성에 그 목적이 있다. 2. 과제 내용 디지털 신호처리, 저장매체, 전송방식의 발전은 음성 정보로 국한된 서비스로부터 정지영상 및 동영상 등이 포함된 다양한 멀티미디어 서비스를 가능하게 하여 사용자에게 풍부한 정보제공의 기회를 열어주었다. 이것을 가능하게 한 가장 큰 기술은 동영상 압축 방식의 발전으로부터 시작되었다고 할 수 있다. 최근 동영상압축 방식 중 H.264표준은 기존 동영상 압축 방식을 토대로 형성되어 거의 유사하지만, 각각의 세부적인 알고리즘의 상이함으로 인해 기존의 방식보다 뛰어난 압축 성능 향상을 보인다. 본 과제는 다양한 영상 압축 기술의 분석을 수행하고 H.264의 세부적인 압축 알고리즘을 분석한다. 특히 부호기와 복호기 사이의 오차를 줄이기 위해 고안된 정수 변환 기법을 중심으로 H.264를 분석하고 MPEG-4의 Simple Profile Level로의 적용 방법을 모색한다.

<H.264의 부호화 블록도> 이러한 분석들을 바탕으로 MPEG-4의 Simple Profile Level에 적합한 부호기를 설계함으로서 동영상 압축 기법과 반도체 설계 기법을 고루 갖춘 인재를 양성한다. 3. 중요성 및 문제점 가. 연구개발과제의 중요성 디지털 방송의 시작과 더불어 디지털 영상 기술을 응용한 다양한 제품개발이 활발히 진행되고 있다. 또한 무선 네트워크의 발달은 휴대용 단말기를 이용한 다양한 디지털 콘텐츠의 개발을 가속화 하고 있다. 이러한 새로운 산업의 성장은 엄청난 경제적 효과를 가지고 올 수 있기 때문에 디지털 영상 분야의 핵심 기술인 동영상 압축 기술의 습득과 이를 바탕으로 하는 영상 반도체 설계는 원천 기술의 의존성이 심각한 우리의 현실에 비춰볼 때 매우 의미 있는 일이며, 이를 통해 영상 반도체 설계 기술을 선도하는 기반의 마련과 인재양성의 기초가 될 것이다. 나. 연구개발과제 수행결과 기대효과 본 과제의 목적은 동영상 압축 방식의 분석을 통한 영상 압축의 이해와 이를 바탕으로 H.264의 정수 변환을 MPEG-4의 Simple Profile Level에 적용한 부호기를 설계함으로서 영상 압축 기술의 지식과 반도체 설계의 전체적인 절차를 수행 할 수 있는 인재양성에 그 목적이 있다. 또한 본 과제를 통해 설계된 부호기의 응용 방법을 고찰해 봄으로서 새로운 영상 응용 기술을 창출할 수 있는 기회를 제공할 수 있을 것으로 기대된다. 4. 현황 및 접근방법 가. 국내·외 현황 1) 세계 기술현황 - 퀄컴사의 MSM7000이라는 통합 비디오 코덱 칩 개발을 발표하고 많은 연구가 진행 되고 있다. 이외에도 모바일 게임을 지원하는 칩과 무선 랜 기능을 지원하는 다기능 칩 위주의 개발이 이루어지고 있다. 2) 국내 기술현황 - 광운대학교 정광수 교수님팀은 PHILIPS TM1300 DSP 칩을 사용한 최적 MPEG-4 Simple Profile Level3 비디오 부호화기 설계하였다. - 서울대 멀티미디어 연구실에서는 Multimedia processor, MPEG-4, H.264, Image signal processor, JPEG, 3D-graphic accelator, MP3/AAC audio encoder/decoder 등을 설계하였다. - 업계는 SoC 형태의 멀티미디어 프로세서를 주로 개발하고 있다. ( C&S, 텔레칩스, 렛스비젼등이 있다.) 나. 핵심요소 및 접근방법 설계의 편의성 제공을 위하여 과제 초기에는 H.264와 MPEG-4의 영상 압축 표준을 분석하고 부호화의 원리 및 구조를 상세히 분석하여 설계를 검증하고 후기에는 H.264의 변환 및 양자화 과정의 적용을 위한 MPEG-4의 Simple Profile Level상에서의 부호기 설계를 시작할 것이다. 이때 기존 동영상 압축 방식에서 사용된 8x8 이산 여산 변환(DCT)은 변환 연산 수행 시에 변수의 부족한 표현범위에 따라 부호기와 복호기 사이에 오차를 가지게 되는데 이러한 문제점을 해결하기 위해 H.264에서 적용한 정수 변환(Integer Transform)을 적용하여 연산을 간소화하고 성능을 검증할 것이다. 다. 혁신성과 독창성 H.264는 기존의 동영상 압축 표준에 비하여 높은 압축 성능과 유연성의 장점을 가지고 있는 반면, 부호기 및 복호기의 복잡도가 기존의 표준에 비해 매우 높다는 단점이 있다. 즉 부호기 측면에서는 많은 파라미터 부호화 모드를 결정하여야 하는 복잡성을 지닌다. 하지만 정수 변환을 적용하여 연산의 부하를 낮추는 장점을 가지고 있다. 이를 활용하여 복잡도가 낮은 MPEG-4의 Simple Profile Level의 부호기 설계에 적용함으로서 H.264와 MPEG-4의 효율적인 부호기 및 복호기 구현과 또 다른 응용으로의 가능성을 제공할 것이라 여겨진다. 5. 연구목표 및 수행계획 가. 연구목표 본 과제는 H.264의 정수 변환을 MPEG-4의 Simple Profile Level에 적용한 부호기를 설계하고 이를 통해 동영상 압축 기술과 반도체 설계의 지식을 갖춘 인재양성에 그 목적이 있으며, 이를 위한 세부적 목표는 아래와 같다. - 영상 압축 기술 분석 MPEG-4, H.264, JPEG 등 다양한 영상 및 동영상 압축 표준을 분석하고, H.264의 정수 변환 방법을 이해하고, 이를 바탕으로 설계 블록을 도식화 한다. - 복호기 설계 MPEG-4에 관한 압축 기술 분석과 H.264의 정수 변환 분석 자료를 바탕으로 MPEG-4 Simple Profile Level의 파라미터에 입각한 기능블록을 설계한다. 이를 통해 설계기획 및 관련 툴에 관한 지식을 익힘으로서 반도체 설계에 대한 지식과 동영상 압축 기술에 대한 지식을 고루 갖춘 인재를 양성한다. 나. 과제내용 H.264의 높은 압축률의 기본적 원리를 분석하고 연산의 복잡성을 줄여 줄 수 있는 정수 변환을 MPEG-4의 Simple Profile Level에 적용한 부호기를 설계한다. 본 과제에서 수행하여야 할 세부 과제는 다음과 같다. - 규격 분석 ◆ JPEG의 분석을 시작으로 일반적인 정지화상의 부호화와 복호화의 기본 원리를 파악하고, 동영상 압축의 표준과의 차이점을 비교 정리한다. ◆ H.264와 MPEG-4의 분석을 통해 각각의 부호화와 복호화 과정에 대해 체계적으로 분석한고, 이를 통해 부호화와 복호화의 특징을 정의 한다. ◆ H.264 변환 및 양자화의 구체적 방법을 이해하고 설계 블록을 도식화한다. - 복호기 설계 ◆ 규격 분석을 바탕으로 MPEG-4의Simple Profile을 만족하는 블록단위를 설계한다. ◆ 각 블록 간 인터페이스를 정의 한다. ◆ 블록간의 인터페이스를 바탕으로 VHDL이나 Verilog를 이용하여 논리회로 수준에서 블록을 설계하고 시뮬레이션을 통해 부호기를 검증하고 성능을 평가한다. ◆ FPGA를 통해 실제 하드웨어로서의 구현과 검증을 수행한다. 다. 과제수행방법
본 과제 수행 방법은 아래와 같이 4단계로 진행된다. 이러한 단계별 과제수행은 반도체 설계 기획, EDA툴 사용 및 검증방법을 익힐 수 있는 기회를 제공할 것이며, 더 나아기 시스템수준에서부터 회로수준에 이르기까지 전반적인 반도체 설계 능력을 갖춘 인재양성에 기여할 것으로 기대된다. - 영상 압축 표준 분석 단계 과제의 초기 준비 단계로 H.264와 MPEG-4 표준안을 분석하여 부호화와 복호화의 과정을 이해하고 단계별 분석을 수행한다. ◆ 정지화상 표준안 분석 : 영상압축의 기초 지식 습득 과정으로 JPEG 알고리즘을 분 석하고의 부호화와 복호화의 원리와 압축이미지의 데이터 포맷에 관한 구조적 의미를 이해한다. ◆ H.264와 MPEG-4 표준안 분석 : H.264와 MPEG-4 데이터 구조를 파악하고 이에 따른 각 단계별 부호화와 복호와의 세부적 사항을 분석한다. ◆ H.264의 정수 변환을 분석하여 정확한 원리를 이해한다. 또한 이를 바탕으로 각 기능별 설계 블록을 도식화한다. - 부호기 분석 및 설계 단계
MPEG-4의 Simple Profile을 만족하는 단계별 블록 구조도를 바탕으로 부호기의 구조를 분석하고 설계하는 단계로서 블록 간 인터페이스를 정의하고 정수 변환을 적용한다. 또한 시뮬레이션을 통한 설계의 검증을 거쳐 성능을 평가한다. ◆ 인터페이스 설계 : 정의 된 블록의 기능구성 및 데이터의 원활한 흐름을 위해 블록간의 인터페이스 및 동기화를 정의한다. ◆ 하드웨어 설계 : 각각의 블록을 RTL 수준에서 설계하고 verilog simulator를 사용하여 다양한 테스트 벤치의 시뮬레이션을 통해 기능 블록의 검증과 성능을 평가한다. - FPGA 구현 및 검증 단계 본 과제의 마지막 단계로 실제 하드웨어의 동작검증을 위해 FPGA로 구현한다. 이를 통해 시뮬레이션결과와의 차이점을 도출하고 문제점을 분석하고 수정하여 성능을 평가한다. ◆ 부호기 시스템 구축 : 실제 영상처리 시스템을 구축하여 영상신호의 재생을 확인함으로서 부호기의 기능적 측면을 검증하고, 표준에 적합성 여부를 판단하여 설계의 문제점을 도출한다.
|