초록
고해상도의 동영상 서비스가 보편화 되면서 동영상을 빠르게 처리하기 위한 연구가 활발히 이루어지고 있다. 특히 멀티 코어 시스템 상에서 멀티스레드를 사용한 데이터 레벨 병렬화 방법을 적용하여 비디오 디코더의 성능을 향상 시킬 수 있었다. 기존에 제안된 병렬화 방법들을 통해 디코딩 과정의 성능을 향상 시킬 수 있었지만, 이 방법들은 엔트로피 디코딩 부분을 제외하거나 엔트로피 디코딩 부분만의 병렬화를 별도로 고려한 부분적인 병렬화 방법이기 때문에 전체 디코딩 과정의 성능 향상에는 부족한 부분이 있다. 따라서 본 논문에서는 기존 병렬화 디코딩 과정뿐만 아니라 엔트로피 병렬화 디코딩 과정까지 함께 고려한 통합적인 비디오 디코딩 병렬화 방법을 제안한다. 우리는 각각의 비디오 디코더 병렬화 방법을 분석하여 최적화 방법을 제시하고 이의 성능평가를 해보았다. 그리고 우리는 비디오 디코딩 과정 내부에 존재하는 코어의 개수에 따른 성능향상의 차이를 고려해 성능을 최적화한 Integrated Parallelization 방법을 제안한다. 우리는 인텔 i7 멀티코어 시스템의 물리적 코어에서 엔트로피 디코딩 부분을 최대로 병렬화 하면서, 내부 자원을 공유하는 하이퍼스레딩 기술을 사용하여 데이터레벨 병렬화 방법에는 물리적 코어 수의 2배까지 스레드를 할당했다. 그리고 디코딩 과정 내부 특성을 고려한 멀티스레드 스케쥴링으로 전체 디코딩 과정의 성능을 멀티코어 시스템에 최적화해서 최대 70%까지 성능을 향상시킬 수 있었다.
Demand for high resolution video services leads to active studies on high speed video processing. Especially, widespread deployment of multi-core systems accelerates researches on high resolution video processing based on parallelization of multimedia software. Previously proposed parallelization approach could improve the decoding performance. However, some parallelization methods did not consider the entropy decoding and others considered only a partial decoding parallelization. Therefore, we consider parallel entropy decoding integrated with other parallel video decoding process on a multi-core system. We propose a novel parallel decoding method called Integrated Parallelization. We propose a method on how to optimize the parallelization of video decoding when we have a multi-core system with many cores. We parallelized the KTA 2.7 decoder with the proposed technique on an Intel i7 Quad-Core platform with Intel Hyper-Threading technology and multi-threads scheduling. We achieved up to 70% performance improvement using IP method.