테크노아
> 기획&벤치 > 기획기사
GPGPU 기능을 활용한 인코딩 - badaboom
테크노아  |  webmaster@technoa.co.kr
폰트키우기 폰트줄이기 프린트하기 메일보내기 신고하기
승인 2009.11.16  16:44:00
트위터 페이스북 미투데이 요즘 네이버 구글 msn

 

먼저 이번 기사에서 다루어 볼 내용은 동영상 편집에서의 CUDA의 효용성이다. 최근 PMP등 동영상 재생에 특화된 기기 뿐 아니라 아이팟, 그리고 대형 LCD의 스마트폰까지 다양한 기기들이 동영상 재생을 중요한 기능 중 하나로 광고하고 있다.

하지만 아직 모바일 CPU 및 동영상 재생 엔진의 성능은 데스크톱 PC에 비해 부족한 경우가 많으며, 또 재생을 지원하는 코덱이나 비트레이트 등의 제약을 가지는 경우가 많다. 물론 모바일 기기에 특화된 콘텐츠를 사용함으로, 이를 해결할 수도 있지만 때에 따라서는 사용자가 직접 해당 미디어 파일을 재 인코딩하는, 이른바 트랜스코딩(transcoding)을 수행해야 하는 경우가 있다.

지금까지는 바닥이나 곰 인코더 등의 인코딩 툴을 사용해 트랜스코딩을 하거나, 기기 제조사에서 번들로 제공하는 툴을 사용하는 경우가 많았는데, 사실 이러한 작업은 많은 CPU 연산성능을 필요로해 통상적인 가정용 PC에서라면 수십분에서 길게는 수시간 이상의 많은 시간이 소요되는 작업이다.

하지만 그래픽카드의 GPGPU 기능을 활용한 인코딩 툴을 사용할 경우 기존에 CPU의 연산성능만을 사용한 것과는 달리 GPU역시 인코딩 작업에 동참함으로서 작업 시간 감소 효과를 얻을 수 있는 것이 장점이다.

 



Badaboom 트라이벌 버전이 제공되는 '갤럭시 GeForce GTX 260+'


현재 NVIDIA의 CUDA를 지원하는 동영상 편집/인코딩 어플리케이션이 서서히 늘고 있지만, 가장 대표적인 것이 바로 Badaboom 인코더이다. Badaboom 인코더의 경우 CUDA기술 발표와 동시에 트라이얼 버전이 배포되어 CUDA를 체험해 볼 수 있는 툴로 조명 받은 적 있으며, 현재도 NVIDIA 홈페이지에서 추첨을 통해 정식 라이선스를 배포하는 중이다.

 

Badaboom 인코더의 실행 화면은 다음과 같다.


Badaboom 인코더는 기본적으로는 전문적인 편집 툴이라기보다는 손쉽게 동영상 인코딩 및 트랜스코딩을 수행할 수 있는 미디어 컨버터를 지향하기에 인터페이스는 인코딩에 익숙하지 않은 초급 사용자도 쉽게 사용이 가능하도록 직관적으로 꾸며져 있다.

 

화면 좌측은 인코딩 소스를 선택하는 부분이다. Badaboom 인코더는 DVD타이틀이나 VIDEO_TS 폴더, 그리고 미디어 파일을 인코딩 소스로 선택할 수 있으며 입력 파일 포맷, 컨테이너로 DivX, Xvid, MPEG-1, MPEG-4, VC-1, WMV, AVI, MKV, MOV 등 현재 주로 사용되는 대부분의 규격을 지원하고 있다.
 

화면 우측은 출력기기를 선택하는 부분이다. 보통 인코딩 프로그램은 출력 해상도와 비트레이트, 사용 코덱 등을 사용자가 일일이 지정해야 하는 경우가 많지만 Badaboom 인코더의 경우 일반적으로 널리 사용되는 포터블 기기, 또는 미디어 플레이어를 프리셋 형태로 제공해 사용자가 이를 선택하는 형식을 가지며, 기본적으로는 애플사의 아이폰과 아이팟 시리즈, 그리고 XBOX나 소니의 PS3, MS의 Zune 등을 선택할 수 있다.

또한, 사용자가 직접 출력 해상도와 비트레이트 등을 지정해 인코딩하는 형식 역시 제공하기에 위 프리셋에서 제공하지 않는 기기를 사용하더라도 사용자 프리셋을 통한 인코딩 역시 가능하다.

 

고급 설정에 들어가면 사진처럼 NVIDIA의 GPU를 인식하는 것을 알 수 있다.


테스트 시스템에서는 NVIDIA의 메인스트림급 그래픽카드인 GTS250을 사용했는데, Badaboom 인코더의 경우 복수의 프로그램을 사용한 개별 인코딩을 지원하기에 만일 사용자가 SLI등을 구성해 2개 이상의 그래픽카드를 사용할 경우 인코더에서 각각의 그래픽카드를 선택해 인코딩에 활용할 수 있는 것이 특징이다.

 



비디오 인코더 항목을 살펴보면 다음과 같다.


Badaboom 인코더는 최근 블루레이나 포터블 기기 등에 널리 쓰이는 H.264/AVC기반으로 인코딩을 수행하기에 인코딩 항목 역시 그에 맞게 설정되어 있다.

사용자 설정 항목은 다소 간소화 되어 있는 것을 볼 수 있는데, 사용자가 선택할 수 있는 부분은 H.264/AVC에 적용된 엔트로피 부호화 방식인 CABAC(Context-based Adaptive Binary Arithmetic Coder)의 사용 유무, 그리고 H.264 베이스라인의 레벨을 선택하는 부분, 그리고 CBR(Constant Bit-Rate)와 VBR(Variable Bit-Rate)의 적용유무와 키프레임 모드 설정 정도에 국한된다.

 

 

테스트

 Badaboom 성능 테스트

 

다음은 Badaboom 인코더를 사용해 실제 미디어 파일을 트랜스코딩할 때 CUDA 지원 유무에 따른 인코딩 속도의 차이를 비교한 결과이다. 이 때 Badaboom 인코더의 경우 실행 시 NVIDIA의 GPU를 검색하며 인코딩역시 CUDA를 기본적으로 사용해 동작하는데, 때문에 시스템에 NVIDIA사의 GPU가 장착되지 않았을 경우 실행 자체가 불가능하며 CUDA 사용 유무를 사용자가 선택할 수도 없다.

따라서 이번 테스트의 경우 CPU의 연산 능력만을 사용할 경우의 인코딩 속도를 비교하기 위해 비교 대상으로 MEGUI 를 사용했으며, CUDA를 사용해 Badaboom 으로 인코딩 한 테스트 파일과 인코딩 옵션을 동일하게 유지해 각각 테스트에 걸리는 시간을 측정했다.

테스트에 사용한 미디어 파일은 3~4분 내외의 동영상 클립을 사용했으며 총 3개의 코덱으로 제작된 파일을 각각 테스트 해 그 속도 차이를 비교했다.

테스트 소스의 형식은 아래와 같다.
테스트 소스1. 코덱 : H.264, 해상도 : 1280x720 Progressive, 재생 시간 : 3:32
테스트 소스2. 코덱 : WMV9, 해상도 : 1920x1080 Progressive, 재생 시간 : 3:22
테스트 소스3. 코덱 : MPEG2, 해상도 1920x1080 Interlaced, 재생 시간 : 3:24

인코딩은 Badaboom 인코더에서 제공하는 iPhone 용의 프로파일을 사용해 480x320의 해상도로 이루어졌으며, 이때의 인코딩 소요 시간은 아래 표와 같다.
 

 

테스트 결과를 보면 CUDA 사용 시의 인코딩 시간은 CUDA를 지원하는 Badaboom에서와 CPU에만 의지하는 MEGUI 사용 시 그 차이가 상당히 큰 편이다. 전체적으로 볼 때 60%를 상회하는 수준의 처리 시간 감소를 보였으며, 처리속도 역시 평균 50~60fps 수준으로 원본 동영상의 재생시간의 절반 정도로 인코딩을 완료할 수 있었다.

[관련기사]

테크노아의 다른기사 보기  
폰트키우기 폰트줄이기 프린트하기 메일보내기 신고하기
트위터 페이스북 미투데이 요즘 네이버 구글 msn 뒤로가기 위로가기
이 기사에 대한 댓글 이야기 (0)
자동등록방지용 코드를 입력하세요!   
확인
- 200자까지 쓰실 수 있습니다. (현재 0 byte / 최대 400byte)
- 욕설등 인신공격성 글은 삭제 합니다. [운영원칙]
이 기사에 대한 댓글 이야기 (0)
e피플
[e피플] 나이가 대수? 공조냉동기계기능사 필기시험 100점 맞은 NCS교육생
[e피플] 나이가 대수? 공조냉동기계기능사 필기시험 100점 맞은 NCS교육생
나이가 들면 들수록 공부하기가 어렵다는 말이 있다. 더군다나 실업인 상태에서 공부하는 것이라면 부담이 더 클 수 밖에 없다.하지만 이를 비웃듯이 극복하고, 올해 2월 공조냉동기능사...

제호 : 테크노아  |  발행인 : 김필규  |  편집인 : 김필규  |  청소년보호책임자 : 박상규
서울지사 : 서울특별시 구로구 디지털로32가길 18, 7F | 제보 : it@technoa.co.kr
발행소 : 전라북도 전주시 완산구 전룡6길 6 3F | 등록번호 : 전라북도 아00057
등록일자 : 2008년 1월 14일  |  대표전화 : 070-8755-6291  |  FAX : 02-6280-9562
Copyright © 1999-2017 테크노아. All rights reserved. mail to technoa@technoa.co.kr