3 research outputs found

    Adaptive Computationally Scalable Motion Estimation for the Hardware H.264/AVC Encoder

    Full text link

    Hardware based High Accuracy Integer Motion Estimation and Merge Mode Estimation

    Get PDF
    학위논문 (박사)-- 서울대학교 대학원 공과대학 전기·컴퓨터공학부, 2017. 8. 이혁재.HEVC는 H.264/AVC 대비 2배의 뛰어난 압축 효율을 가지지만, 많은 압축 기술이 사용됨으로써, 인코더 측의 계산 복잡도를 크게 증가시켰다. HEVC의 높은 계산 복잡도를 줄이기 위한 많은 연구들이 이루어졌지만, 대부분의 연구들은 H.264/AVC를 위한 계산 복잡도 감소 방법을 확장 적용하는 데에 그쳐, 만족스럽지 않은 계산 복잡도 감소 성능을 보이거나, 지나치게 큰 압축 효율 손실을 동반하여 HEVC의 최대 압축 성능을 끌어내지 못했다. 특히 앞서 연구된 하드웨어 기반의 인코더는 실시간 인코더의 실현이 우선되어 압축 효율의 희생이 매우 크다. 그러므로, 본 연구에서는 하드웨어 기반 Inter prediction의 고속화를 이룸과 동시에 HEVC가 가진 압축 성능의 손실을 최소화하고, 실시간 코딩이 가능한 하드웨어 구조를 제안하였다. 본 연구에서 제안한 bottom-up MV 예측 방법은 기존의 공간적, 시간적으로 인접한 PU로부터 MV를 예측하는 방법이 아닌, HEVC의 계층적으로 인접한 PU로부터 MV를 예측하는 방법을 제안하여 MV 예측의 정확도를 큰 폭으로 향상시켰다. 결과적으로 압축 효율의 변화 없이 IME의 계산 복잡도를 67% 감소시킬 수 있었다. 또한, 본 연구에서는 제안된 bottom-up IME 알고리즘을 적용하여 실시간 동작이 가능한 하드웨어 기반의 IME를 제안하였다. 기존의 하드웨어 기반 IME는 고속 IME 알고리즘이 갖는 단계별 의존성으로 인한 idle cycle의 발생과 참조 데이터 접근 문제로 인해, 고속 IME 알고리즘을 사용하지 않거나 또는 하드웨어에 맞게 고속 IME 알고리즘을 수정하였기 때문에 압축 효율의 저하가 수 퍼센트 이상으로 매우 컸다. 그러나 본 연구에서는 고속 IME 알고리즘인 TZS 알고리즘을 채택하여 TZS 알고리즘의 계산 복잡도 감소 성능을 훼손하지 않는 하드웨어 기반의 IME를 제안하였다. 고속 IME 알고리즘을 하드웨어에서 사용하기 위해서 다음 세 가지 사항을 제안하고 하드웨어에 적용하였다. 첫 째로, 고속 IME 알고리즘의 고질적 문제인 idle cycle 발생 문제를 서로 다른 참조 픽쳐와 서로 다른 depth에 대한 IME를 컨텍스트 스위칭을 통해 해결하였다. 둘 째로, 참조 데이터로의 빠르고 자유로운 접근을 위해 참조 데이터의 locality 이용한 multi bank SRAM 구조를 제안하였다. 셋 째로, 지나치게 자유로운 참조 데이터 접근이 발생시키는 대량의 스위칭 mux의 사용을 피하기 위해 탐색 중심을 기준으로 하는 제한된 자유도의 참조 데이터 접근을 제안하였다. 결과 제안된 IME 하드웨어는 HEVC의 모든 블록 크기를 지원하면서, 참조 픽처 4장를 사용하여, 4k UHD 영상을 60fps의 속도로 처리할 수 있으며 이 때 압축 효율의 손실은 0.11%로 거의 나타나지 않는다. 이 때 사용되는 하드웨어 리소스는 1.27M gates이다. HEVC에 새로이 채택된 merge mode estimation은 압축 효율 개선 효과가 뛰어난 새로운 기술이지만, 매 PU 마다 계산 복잡도의 변동 폭이 커서 하드웨어로 구현되는 경우 하드웨어 리소스의 낭비가 많다. 그러므로 본 연구에서는 효율적인 하드웨어 기반 MME 방법과 하드웨어 구조를 함께 제안하였다. 기존 MME 방식은 이웃 PU에 의해 보간 필터 적용 여부가 결정되기 때문에, 보간 필터의 사용률은 50% 이하를 나타낸다. 그럼에도 불구하고 하드웨어는 보간 필터를 사용하는 경우에 맞추어 설계되어왔기 때문에 하드웨어 리소스의 사용 효율이 낮았다. 본 연구에서는 가장 하드웨어 리소스를 많이 사용하는 세로 방향 보간 필터를 절반 크기로 줄인 두 개의 데이터 패스를 갖는 MME 하드웨어 구조를 제안하였고, 높은 하드웨어 사용률을 유지하면서 압축 효율 손실을 최소화 하는 merge 후보 할당 알고리즘을 제안하였다. 결과, 기존 하드웨어 기반 MME 보다 24% 적은 하드웨어 리소스를 사용하면서도 7.4% 더 빠른 수행 시간을 갖는 새로운 하드웨어 기반의 MME를 달성하였다. 제안된 하드웨어 기반의 MME는 460.8K gates의 하드웨어 리소스를 사용하고 4k UHD 영상을 30 fps의 속도로 처리할 수 있다.제 1 장 서 론 1 1.1 연구 배경 1 1.2 연구 내용 3 1.3 공통 실험 환경 5 1.4 논문 구성 6 제 2 장 관련 연구 7 2.1 HEVC 표준 7 2.1.1 쿼드-트리 기반의 계층적 블록 구조 7 2.1.2 HEVC 의 Inter Prediction 9 2.2 화면 간 예측의 속도 향상을 위한 이전 연구 17 2.2.1 고속 Integer Motion Estimation 알고리즘 17 2.2.2 고속 Merge Mode Estimation 알고리즘 20 2.3 화면 간 예측 하드웨어 구조에 대한 이전 연구 21 2.3.1 하드웨어 기반 Integer Motion Estimation 연구 21 2.3.2 하드웨어 기반 Merge Mode Estimation 연구 25 제 3 장 Bottom-up Integer Motion Estimation 26 3.1 서로 다른 계층 간의 Motion Vector 관계 관찰 26 3.1.1 서로 다른 계층 간의 Motion Vector 관계 분석 26 3.1.2 Top-down 및 Bottom-up 방향의 Motion Vector 관계 분석 30 3.2 Bottom-up Motion Vector Prediction 33 3.3 Bottom-up Integer Motion Estimation 37 3.3.1 Bottom-up Integer Motion Estimation - Single MVP 37 3.3.2 Bottom-up Integer Motion Estimation - Multiple MVP 38 3.4 실험 결과 40 제 4 장 하드웨어 기반 Integer Motion Estimation 46 4.1 Bottom-up Integer Motion Estimation의 하드웨어 적용 46 4.2 하드웨어를 위한 수정된 Test Zone Search 47 4.2.1 SAD-tree를 활용한 CU 내 PU의 병렬 처리 47 4.2.2 Grid 기반의 Sampled Raster Search 53 4.2.3 서로 다른 PU 간의 중복 연산 제거 55 4.3 Idle cycle이 감소된 5-stage 파이프라인 스케줄 56 4.3.1 파이프라인 스테이지 별 동작 56 4.3.2 Test Zone Search의 의존성으로 인한 Idle cycle 도입 58 4.3.3 컨텍스트 스위칭을 통한 Idle cycle 감소 60 4.4 고속 동작을 위한 참조 데이터 공급 방법 63 4.4.1 참조 데이터 접근 패턴 및 접근 지연 발생 시 문제점 63 4.4.2 Search Points의 Locality를 활용한 참조 데이터 접근 64 4.4.3 단일 cycle 참조 데이터 접근을 위한 Multi Bank 메모리 구조 66 4.4.4 참조 데이터 접근의 자유도 제어를 통한 스위칭 복잡도 저감 방법 68 4.5 하드웨어 구조 72 4.5.1 전체 하드웨어 구조 72 4.5.2 하드웨어 세부 스케줄 78 4.6 하드웨어 구현 결과 및 실험 결과 82 4.6.1 하드웨어 구현 결과 82 4.6.2 수행 시간 및 압축 효율 84 4.6.3 제안 방법 적용 단계 별 성능 변화 88 4.6.4 이전 연구와의 비교 91 제 5 장 하드웨어 기반 Merge Mode Estimation 96 5.1 기존 Merge Mode Estimation의 하드웨어 관점에서의 고찰 96 5.1.1 기존 Merge Mode Estimation 96 5.1.2 기존 Merge Mode Estimation 하드웨어 구조 및 분석 98 5.1.3 기존 Merge Mode Estimation의 하드웨어 사용률 저하 문제 100 5.2 연산량 변동폭을 감소시킨 새로운 Merge Mode Estimation 103 5.3 새로운 Merge Mode Estimation의 하드웨어 구현 106 5.3.1 후보 타입 별 독립적 path를 갖는 하드웨어 구조 106 5.3.2 하드웨어 사용률을 높이기 위한 적응적 후보 할당 방법 109 5.3.3 적응적 후보 할당 방법을 적용한 하드웨어 스케줄 111 5.4 실험 결과 및 하드웨어 구현 결과 114 5.4.1 수행 시간 및 압축 효율 변화 114 5.4.2 하드웨어 구현 결과 116 제 6 장 Overall Inter Prediction 117 6.1 CTU 단위의 3-stage 파이프라인 Inter Prediction 117 6.2 Two-way Encoding Order 119 6.2.1 Top-down 인코딩 순서와 Bottom-up 인코딩 순서 119 6.2.2 기존 고속 알고리즘과 호환되는 Two-way Encoding Order 120 6.2.3 기존 고속 알고리즘과 결합 및 비교 실험 결과 123 제 7 장 Next Generation Video Coding으로의 확장 127 7.1 Bottom-up Motion Vector Prediction의 확장 127 7.2 Bottom-up Integer Motion Estimation의 확장 130 제 8 장 결 론 132Docto

    Traitement des signaux et images en temps réel ("implantation de H.264 sur MPSoC")

    Get PDF
    Cette thèse est élaborée en cotutelle entre l université Badji Mokhtar (Laboratoire LERICA) et l université de bourgogne (Laboratoire LE2I, UMR CNRS 5158). Elle constitue une contribution à l étude et l implantation de l encodeur H.264/AVC. Durent l évolution des normes de compression vidéo, une réalité sure est vérifiée de plus en plus : avoir une bonne performance du processus de compression nécessite l élaboration d équipements beaucoup plus performants en termes de puissance de calcul, de flexibilité et de portabilité et ceci afin de répondre aux exigences des différents traitements et satisfaire au critère Temps Réel . Pour assurer un temps réel pour ce genre d applications, une solution reste possible est l utilisation des systèmes sur puce (SoC) ou bien des systèmes multiprocesseurs sur puce (MPSoC) implantés sur des plateformes reconfigurables à base de circuit FPGA. L objective de cette thèse consiste à l étude et l implantation des algorithmes de traitement des signaux et images et en particulier la norme H.264/AVC, et cela dans le but d assurer un temps réel pour le cycle codage-décodage. Nous utilisons deux plateformes FPGA de Xilinx (ML501 et XUPV5). Dans la littérature, il existe déjà plusieurs implémentations du décodeur. Pour l encodeur, malgré les efforts énormes réalisés, il reste toujours du travail pour l optimisation des algorithmes et l extraction des parallélismes possibles surtout avec une variété de profils et de niveaux de la norme H.264/AVC.Dans un premier temps de cette thèse, nous proposons une implantation matérielle d un contrôleur mémoire spécialement pour l encodeur H.264/AVC. Ce contrôleur est réalisé en ajoutant, au contrôleur mémoire DDR2 des deux plateformes de Xilinx, une couche intelligente capable de calculer les adresses et récupérer les données nécessaires pour les différents modules de traitement de l encodeur. Ensuite, nous proposons des implantations matérielles (niveau RTL) des modules de traitement de l encodeur H.264. Sur ces implantations, nous allons exploiter les deux principes de parallélisme et de pipelining autorisé par l encodeur en vue de la grande dépendance inter-blocs. Nous avons ainsi proposé plusieurs améliorations et nouvelles techniques dans les modules de la chaine Intra et le filtre anti-blocs. A la fin de cette thèse, nous utilisons les modules réalisés en matériels pour la l implantation Matérielle/logicielle de l encodeur H.264/AVC. Des résultats de synthèse et de simulation, en utilisant les deux plateformes de Xilinx, sont montrés et comparés avec les autres implémentations existantesThis thesis has been carried out in joint supervision between the Badji Mokhtar University (LERICA Laboratory) and the University of Burgundy (LE2I laboratory, UMR CNRS 5158). It is a contribution to the study and implementation of the H.264/AVC encoder. The evolution in video coding standards have historically demanded stringent performances of the compression process, which imposes the development of platforms that perform much better in terms of computing power, flexibility and portability. Such demands are necessary to fulfill requirements of the different treatments and to meet "Real Time" processing constraints. In order to ensure real-time performances, a possible solution is to made use of systems on chip (SoC) or multiprocessor systems on chip (MPSoC) built on platforms based reconfigurable FPGAs. The objective of this thesis is the study and implementation of algorithms for signal and image processing (in particular the H.264/AVC standard); especial attention was given to provide real-time coding-decoding cycles. We use two FPGA platforms (ML501 and XUPV5 from Xilinx) to implement our architectures. In the literature, there are already several implementations of the decoder. For the encoder part, despite the enormous efforts made, work remains to optimize algorithms and extract the inherent parallelism of the architecture. This is especially true with a variety of profiles and levels of H.264/AVC. Initially, we proposed a hardware implementation of a memory controller specifically targeted to the H.264/AVC encoder. This controller is obtained by adding, to the DDR2 memory controller, an intelligent layer capable of calculating the addresses and to retrieve the necessary data for several of the processing modules of the encoder. Afterwards, we proposed hardware implementations (RTL) for the processing modules of the H.264 encoder. In these implementations, we made use of principles of parallelism and pipelining, taking into account the constraints imposed by the inter-block dependency in the encoder. We proposed several enhancements and new technologies in the channel Intra modules and the deblocking filter. At the end of this thesis, we use the modules implemented in hardware for implementing the H.264/AVC encoder in a hardware/software design. Synthesis and simulation results, using both platforms for Xilinx, are shown and compared with other existing implementationsDIJON-BU Doc.électronique (212319901) / SudocSudocFranceF
    corecore