2012-01-19 3 views
1

일부 인텔 하드웨어를 대상으로 이미지 처리 알고리즘을 작성 중입니다. 일반적으로 우리는 일반적인 C 구현을 선호하지만, 코어에서 매우 잘 작동하는 이산 코사인 변환 (Detached Cosine Transform, DCT)을 수행하는 알고리즘을 확인했습니다. 불행하게도 우리의 처리량 요구 사항은 일반적인 C 구현이 약 2 배 정도 느리다. 다른 트릭을 통해 한 단계의 진도를 얻을 수 있습니다. 따라서 DCT를 한 단계 정도 향상시킬 수 있다면 성공을 향한 길을 찾을 수 있습니다.인텔 기반 하드웨어 속도 향상 DCT?

Intel MMX는 이러한 DCT를 수행하기 위해 하드웨어 가속을 사용합니까? 이 악성 소년들을 속이기 위해 악용 할 수있는 다른 인텔 전용 라이브러리 및/또는 하드웨어가 있습니까?

어디서부터 살펴보기 시작합니까? 이것은 나를위한 새로운 직업이고, 처음으로 인텔 하드웨어에 열심히 파고 들었다. 그래서 어떤 포인터가 가장 높이 평가 될 것이다.

+0

어떤 DCT 연산을 의미합니까? [이산 코사인 변환] (http://en.wikipedia.org/wiki/Discrete_cosine_transform) 또는 [지배적 인 수렴 정리] (http://en.wikipedia.org/wiki/Dominated_convergence_theorem)? – wallyk

+0

@wallyk 업데이트 된 질문. – John

+0

코드 라이센스가 GPL과 호환되는 경우 x264 또는 x265와 같은 비디오 코덱에서 직접 최적화 된 DCT/역 DCT 루틴을 찾을 수 있습니다. –

답변

3

인텔의 Integrated Performance Primitives 라이브러리를 살펴보십시오. MMX 및 SSE와 같은 인텔 아키텍처를 최대한 활용하도록 최적화 된 풍부한 루틴을 포함합니다. 다른 많은 것들 중에서도 IPP에는 DCT (documentation here)에 대한 루틴이 포함되어 있습니다.