스마트 폰, 원격회의, 블랙박스, 원격 교육 등 실시간 영상서비스가 다양한 분 야에서 활용되고 있다. 이러한 실시간 영상 서비스들은 보다 실감나도록 하기 위해 해상도가 HD급에서 4K UHD급으로 증가하고 있으며, 해상도가 증가함에 따라 데이터 전송률도 700Mbps에서 12Gbps로 증가하고 있다. 12Gbps의 데이 터 전송률을 줄이기 위해 고해상도 영상을 압축 전송할 수 있는 동영상 압축 전송기술이 필요하며, H.264/AVC는 MPEG-4 대비 2배의 압축 효율을 가지는 동영상압축 기술이다. 그러나 4K(3840×2160)의 고해상도 영상을 압축 부호화하 기 위해 H.264/AVC 부호화기의 연산량은 23.4(Tera Instructions/sec)로 증가하 고, 외부메모리 접근량은 50.13(TBytes/sec)로 증가한다. 따라서 고해상도를 실 시간 처리하기 위한 H.264/AVC 부호화기의 연구들은 많은 연산량과 외부메모 리 접근을 개선하기 위한 노력을 진행 중이다. 고해상도 실시간 H.264/AVC 부호화기의 많은 연산량을 실시간 처리하기 위해 연산량이 많은 정수화소 움직임 추정과 부화소 움직임 추정의 연산처리 성능을 향상시키고자 하였다. 먼저 정수화소 움직임 추정의 차분연산을 병렬화 하여 여 러개의 탐색지점을 동시에 차분하도록 하였고, 부화소 움직임 추정의 보간연산 을 병렬화하여 4×1 라인 단위의 부화소를 병렬로 생성하도록 연산처리성능을 향상시켰다. 그러나 정수화소 움직임 추정의 차분연산 병렬화와 부화소 움직임 추정의 보간연산 병렬화는 Full HD 영상까지 실시간 처리하는 한계를 갖는다. 따라서 고해상도 영상의 연산량을 줄이기 위해 전체 부호화기에서 가장 많은 연산량을 차지하고 있는 움직임추정의 탐색 방법을 전역 탐색방법에서 고속 탐 색방법으로 변경하고, 가변블록 모드를 7-모드에서 4-모드로 줄이고자 하였다. 그러나 탐색지점의 개수를 줄이고, 모드 수를 줄인 움직임 추정은 화질저하가 발생하며 4K 영상을 초당 24장 밖에 실시간 처리하지 못하는 한계를 갖는다. 그리고 움직임 추정의 수행시간이 단축됨에 따라 다음 임계 데이터패스인 엔트 로피 부호화기의 연산처리성능이 병목을 일으키게 되는데, 엔트로피 부호화기 를 2배 병렬화하여 이를 해결하고자 하였다. 그러나 엔트로피 부호화기의 병렬 화로 전체 부호화기의 면적이 증가하는 문제가 발생하고, 엔트로피 부호화의 연 산처리 성능 한계로 4K 영상을 초당 24장밖에 처리하지 못한다. 그리고 고해상 도 H.264/AVC 부호화기의 메모리 접근량을 줄이고자 움직임추정의 검색영역을 내부버퍼에 저장하여 외부메모리 접근량을 줄이고자 하였고, 검색영역 내 검색 윈도우를 재사용하여 내부메모리 접근량도 줄이고자 하였다. 그러나 수평 검색 영역 재사용 기법은 수직으로 인접한 매크로블록 간 검색영역을 재사용하지 않 아 외부메모리 접근량이 많고, 3-방향 검색윈도우 방법은 검색경로 간 참조데이 터의 재사용이 없어 내부메모리 접근량이 많아 4K 영상을 실시간처리하는 데 많은 어려움이 있다. 이에 본 연구는 4K 고해상도 동영상을 실시간 처리하는 고성능 H.264/AVC 부호화기를 설계 및 구현하고자 임계데이터 패스인 움직임 추정과 엔트로피 부 호화의 수행시간을 줄이고, 움직임 추정의 검색영역 재사용을 높여 외부메모리 접근량을 줄이고, 검색경로 간 참조데이터를 재사용하여 내부메모리 접근량도 줄이고자 하였다. 움직임 추정의 수행시간을 줄이기 위해 화질저하가 거의 없는 전역탐색 기반 계층적 정수화소 움직임 추정으로 탐색지점을 줄이고, C 시뮬레 이션을 통한 가변블록 움직임추정의 모드 수를 3-모드로 줄여 화질저하가 없도 록 하였다. 그리고 부화소 움직임 추정의 보간연산을 기존 라인단위에서 블록단 위로 병렬성을 늘려 연산처리성능을 향상시켜 움직임 추정의 수행시간을 줄였 다. 그리고 움직임추정 이후 임계 데이터패스인 엔트로피 부호화의 순차적 연산 과 재귀적 연산을 논리연산 기반 병렬 연산하여 수행시간을 줄였다. 그리고 H.264/AVC 부호화기의 메모리 접근량을 줄이기 위해 수평-수직 검색영역 재사 용 기법을 사용하여 수직으로 인접한 매크로블록 간 검색영역 재사용으로 외부 메모리 접근량을 줄였으며 , 4-방향 검색 윈도우 재사용 기법을 사용하여 검색 경로 간 참조데이터 재사용으로 내부메모리 접근량을 줄였다. 제안하는 H.264/AVC 부호화기를 HDL로 구현하여 0.65nm 공정에서 시뮬레이 션하여 성능을 검증하였다. 제안하는 H.264/AVC 부호화기는 Snopsys사의 design compiler를 통해 합성하였다. 최대 동작주파수 350MHz로 합성하였을 때, 게이트 수는 1,188Kgates이다. 이 같은 결과는 4K 동영상을 초당 60장으로 처리하는 결과이며, 가장 실시간 처리성능이 좋은(4K@24fps) 기존 연구보다 작 은 게이트 수를 갖는 결과이다. 내부버퍼의 크기는 558KBytes이며, 4K@24fps 를 실시간 처리하는 기존 연구보다 내부버퍼의 크기가 크다. 제안하는 H.264/AVC 부호화기의 성능을 검증하기 위해 IP FPGA검증 플랫폼을 구축하 여 Full HD 동영상을 실시간 처리하여 고성능 H.264/AVC 복호화기를 구현하 였음을 확인하였다
Smart phones, teleconferencing, black box, real-time video services, such as distance education has been used in various fields. Real-time video services in order to make a more realistic feel in HD-resolution 4K UHD level is increasing, and the resolution increases data rates from 700Mbps to 12Gbps is increasing. To reduce the data rate of 12Gbps high-resolution images that can be transmitted compressed video compression and transmission technology required, H.264/AVC MPEG-4 over two times the compression efficiency is a video compression technology. However 4K (3840 × 2160) resolution of the H.264/AVC video compression encoder to encode the computational complexity of the 23.4 (Tera Instructions / sec) increases, and the amount of external memory access is 50.13 (TBytes / sec) increases with. Thus, high-resolution real-time H.264/AVC encoder for processing large computational studies and efforts to improve access to external memory and is in progress. The purpose of this study to handle 4K high-resolution real-time H.264/AVC video encoder to the design and implementation of the critical data path execution time of motion estimation and reduce the entropy coding, motion estimation search area to re-raise the amount of external memory access reduce, reuse search path between the reference data and also to reduce the amount of internal memory access was In order to reduce the execution time of motion estimation with little or no deterioration in image quality based on the global navigation of hierarchical integer pixel motion estimation to reduce the search point, C variable block motion estimation through simulation mode, the number of 3-Mode reduces image quality degradation was so . Part-pixel motion estimation and interpolation of the existing line-by-line calculation increasing the parallelism in the computation in blocks to improve the performance of the execution time of motion estimation reduced. Since motion estimation and entropy coding of the critical data path of sequential operations and logical operations based on a recursive operation reduced the execution time of the parallel computation. H.264/AVC encoder and to reduce the amount of memory access horizontal-vertical search areas re-using the technique of vertical search areas between adjacent macro block access to external memory, the amount of re-bar was four-way search window reuse scheme use the search path to the cross-reference data reuse reduced the amount of internal memory access. H.264/AVC is proposed to implement in HDL coder 0.65nm process performance was verified by simulation. The proposed H.264/AVC encoder was synthesized through Snopsys''s design compiler. When synthesized in the maximum operating frequency 350MHz, the number of gates is 1,188 Kgates. These results 4K video processing is a result of 60 frame per second, the real-time processing performance is good (4K @ 24fps) with the existing research is the result of a smaller number of gates. The size of the internal buffer is 558KBytes, 4K@24fps real-time processing than previous studies of the internal buffer size is big. Verify the performance of the proposed H.264/AVC encoder IP FPGA verification platform for building real-time processing and Full HD video and high-performance implementation of H.264/AVC decoder has to acknowledge.
제 1 장 서 론 1제 2 장 기존 H.264/AVC 부호화기 아키텍처 비교분석 62.1 기존 H.264/AVC 부호화기 칩 설계 62.1.1 H.264/AVC 부호화기 칩 성능 62.1.2 H.264/AVC 부호화기 칩 설계 문제점 112.2 기존 H.264/AVC 부호화기 성능 개선방법 142.2.1 임계 데이터패스 성능 개선 142.2.2 데이터 접근량 감소 182.2.3 연산량 감소 24제 3 장 고성능 H.264/AVC 부호화기 아키텍처 설계 및 구현 313.1 고성능 H.264/AVC 부호화기 설계 333.1.1 알고리즘 설계 333.1.2 아키텍처 설계 473.2 H.264/AVC 부호화기 고성능 블록 설계 753.2.1 움직임추정 753.2.2 엔트로피 부호화 773.2.3 디블로킹필터와 화면내 예측과 변환 및 양자화 783.3 H.264/AVC 부호화기 아키텍처 통합 833.3.1 통합 아키텍처 설계 833.3.2 아키텍처 스케줄링 84제 4 장 실험결과 및 고찰 854.1 데이터패스 성능검증 854.1.1 계층적 탐색 기반 움직임 추정 854.1.2 4x4블록 부화소 움직임 추정 884.1.3 16-심볼 내용기반 가변길이 부호화 904.1.4 디블록킹필터와 화면내 예측과 역변환 및 역양자화 924.2 부호화기 칩 통합 성능검증 994.2.1 부호화기 칩 성능 비교 994.3 FPGA 설계 검증 시스템 1014.3.1 검증 개요 1014.3.2 검증 시스템 구현 1024.3.3 H.264/AVC 부호화기 FPGA 구현 및 검증 103제 5 장 결론 104참고문헌 106