|
CUDA 지원으로 인코딩 성능에 영향이 있나?
이번에는 CUDA 지원 프로그램들을 내놓고 있는 인코딩
프로그램 제조사들의 말대로 실제 CUDA 지원 프로그램들이 CUDA를 가속했을
때의 인코딩 시간이나 CPU 점유율 부분 등에서 잇점이 있는지
살펴보았다.
테스트는 인코딩 중 동영상 편집에 강화된 파워디렉터 7과 TMPGEnc 4.0 Xpress의 2가지 프로그램을 테스트에 사용하였으며, 추후 기회가되면, 트랜스코딩 프로그램 지원에 따른 성능이나 점유율, 화질 등을 비교할 것이다.
테스트 시스템
|
CPU |
Intel Core2 Extreme QX6850 (Quad-Core,
3.00GHz, L2 8MB) |
|
MainBoard |
GIGABYTE GA-X38-DS4 (DDR2) |
|
Chipset |
Intel X38 Express + ICH9R |
|
RAM |
Kingston PC2-9200 (DDR2-1150MHz) 2GB (1GB X 2EA) |
|
VGA |
NVIDIA GeForce 9800GT 512MB
Ref. |
|
HDD |
Seagate
Barracuda 7200.11 SATA2 1000GB 7200RPM |
|
ODD |
SAMSUNG
TSST SH-S203P (DVD RW) |
|
PSU |
Ikonik
Vulcan 1200W (1200W) |
|
OS |
Windows
Vista Ultimate K SP1 32bit |
|
DirectX |
DirectX
9.0c/ 10 |
|
Chipset
Patch |
Intel inf
9.1.0.1007 |
|
VGA
Driver |
NVIDIA
ForceWare 180.48 |
|
NVIDIA
PhysX Software 08.10.13 (180.48에 기본 포함) |
테스트 시스템은 인텔 코어 2 Extreme Edition
QX6850 CPU,
X38과
PC2-9200 (DDR2 1150MHz) 2개를 듀얼 채널로 구성하였다. 윈도우 비스타
SP1 32bit 운영체제, X38 최신 칩셋, GeForce 9800GT 그래픽
카드와 포스웨어 180.48 정식 드라이버를 사용했다. HDD는 Seagate
바라쿠다 7200.11 1TB를 사용했으며, DDR2 800MHz로 설정하고
메모리 타이밍은 5-5-5-18-2T 기본 설정을
적용했다.
테스트에 사용될 TMPGEnc 4.0 Xpress와 PowerDirector
7은 BadaBoom이 휴대기기 등에 맞추어 트랜스코딩 과정에서 CUDA 지원
GPU들이 CPU를 도와 빠른 변환을 도와주는 것과 달리 인코딩 과정에서
여러 가지 효과 (비디오 효과, 필터링)를 적용했을 때 CPU의 점유율을
줄여주면서 전체 인코딩 시간을 줄여주는데 목적이 있다.
실제로 트랜스코딩에 그치지 않고 원하는 영상을
만들기 위해서 화려한 효과 등을 넣기도 하는데 이들 효과는 CPU 처리가
증가되어 점유율이 높아지고 인코딩 시간에도 영향을 미친다. 그러므로,
이들 효과 적용에서 CUDA 지원 GPU가 CPU 처리과정을 도와주면
인코딩 시간 단축이 가능해진다.
TMPGEnc 4.0 Xpress : CUDA 비디오 효과 가속
(필터링 가속)

[NVIDIA CUDA
2.0을 지원하는 TMPGEnc 4.0 Xpress]

[각종 필터 (비디오 효과)
적용하는 편집 모드]
페가시스사의 TMPGEnc 4.0 Xpress는 BadaBoom에
이어 상용 인코딩 프로그램 중 비교적 빠르게 NVIDIA CUDA 가속 지원을
해주고 있는데 사이버링크사의 파워디렉터7과 마찬가지로 CUDA 지원은
비디오 효과 (필터링) 적용시에 가속되도록 하고 있다.
TMPGEnc 4.0 Xpress는 CUDA 지원으로 GPU 가속을
지원하며, 파일 포맷이나 용량을 줄이는 트랜스코딩의 비중이 높은 편에
속하는 인코딩 프로그램이지만, 비디오 효과 (필터링)나 영상의 원하는
부분을 잘라내는 등의 복잡하지 않은 편집도 가능하다.
TMPGEnc 4.0 Xpress : 비디오 필터링 (효과) 2개 가속
TMPGEnc 4.0 Xpress가 비디오 효과 (필터링) 적용에서
CUDA 지원 GPU의 도움을 통해 인코딩에 유리하다고 홍보되는 만큼
테스트에는 Video Noise Reduction/ Noise Reduction (time) 필터링과
Smart Sharpness 필터링 효과 2개를 적용하였을 때의 CUDA 활성화 여부에
따라 인코딩 시간의 차이를 보여주는지를 확인해보았다. 인코딩은 15초의
MPEG 파일을 MPEG2로 변환하는 과정에 필터링 효과를 2개 적용한 후의
결과다.

[CUDA를 활성화하고 인코딩하면 CPU와 CUDA간의
점유율 차이 확인 가능]
TMPGEnc 4.0 Xpress는 비디오 효과 (필터링)을 적용한
후 인코딩을 진행하면, 인코딩 과정에서 CPU와 CUDA 즉, GPU 사용 비율을
직접 확인할 수 있다. 비디오 효과 (필터링)를 적용하지 않을 경우 당연히
CPU의 처리 비율이 높게 나타나며, 비디오 효과를 적용할 경우 적용되는
효과에 따라 CUDA의 범위도 차이를 보인다. 물론, 작업 관리자를 통해
인코딩시의 CPU 점유율과 이 비율에 나타난 CPU 점유율과는 차이가 있다.

TMPGEnc 4.0 Xpress는 CUDA 2.0을 지원하며, 필터링
가속 (Filtering), 하드웨어 비디오 디코더 (Hardware Video Decoder)
기능을 지원하는데 각각의 조건에서 CUDA 지원에 따른 향상을 살펴보았다.
CUDA 지원 옵션을 모두 활성화한 후 비디오 효과
(필터링) 2가지를 적용했을 때 CPU 단독으로 인코딩을 진행하였을 때와
비교하여 약 2.4배 가까이 빠른 처리 속도를 보였다. 그러나, 비디오
디코더만 체크를 해제하였을 때는 CPU 단독으로 처리하는 것보다 느린
처리 시간을 보여주기도 하여 CPU 처리 성능이 많이 필요로 하는 필터 효과에서는 CUDA 가속이 큰 힘이 된다.
파워디렉터 7 : CUDA 비디오 효과 가속
사이버링크 파워디렉터 7은 CUDA를 지원하는 비디오
효과들을 제공하는데 CUDA 지원 효과는 구분이 쉽도록 NVIDIA사의 로고가
포함되며, 지원되는 효과는 가우시안 흐림효과, 광선1/
광선2, 만화경, 방사형 흐림효과, 색상 바꾸기, 추상주의, 컬러 가장자리, 컬러 페인팅, 펜 잉크의 10가지 비디오 효과들을 지원한다.
테스트는 CUDA 지원 비디오 효과들을 GPU 가속했을
때 과연 전체 인코딩 시간과 인코딩을 진행 중일 때의 시간 차이를 직접
확인해보았으며, 비디오 효과는 펜 잉크, 색상 바꾸기, 컬러 가장자리,
색상 바꾸기, 만화경 순으로 5가지 비디오 효과를 넣어 진행 과정을
비교했다. 원본 MPEG 파일을 MPEG 파일로 변환하면서 5가지 비디오 효과를
적용한 후의 결과다.
파워디렉터 7 : 비디오 효과 5가지 적용 후 인코딩
진행 중 CPU 점유율비교

[CUDA 비활성,
mpg to mpeg-2 변환과 CUDA 지원 5가지 비디오 효과]

[CUDA 활성,
mpg to mpeg-2 변환과 CUDA 지원 5가지 비디오 효과]
이미지들은 파워디렉터7 인코딩은 CUDA 활성화와
비활성, 그리고 MPEG 파일을 MPEG2 파일로 변환하였을 때 중복된 효과를
포함하여 모두 5가지 CUDA 지원 비디오 효과를 적용한 후 40% 인코딩이
진행되었을 때의 결과로 CUDA를 활성화하였을 때 전체 경과 시간과 CPU
점유율면에서 CUDA 활성화가 더 나은 것으로 나타났다. CUDA 활성화시
67%, 비활성화시에는 96% 수준의 점유율을 보여주고 있어 CPU로만 연산하는
것보다 GPU의 도움을 받을 경우 확실한 CPU 점유율 감소의 잇점도 얻을
수 있다.
파워디렉터 7 : 비디오 효과 5가지 적용 후 인코딩
종료 시간비교

CUDA를 지원하는 비디오 효과 5가지를 적용 후 인코딩을
진행하는 과정에서 GPU 가속을 켰을 때 진행 시간과 인코딩 시간에서 유리했던 것에 이어 인코딩을
끝마친 시점에서 전체 인코딩 시간도 차이를 보였다. CUDA 가속시 2분
40초, CUDA 미사용시 3분 52초로 72초 (1분 12초)의 차이를 보여 인코딩시
CUDA로 가속되는 특정 비디오 효과를 동영상에 적용하면 확실한 효과를
얻을 수 있다.
또, 비디오 효과 하나만을 적용했을 때의 결과도
비교하기 위해 펜 잉크 (Pen ink)와 색상 바꾸기 (Replace Color)
2가지 효과를 택하여 인코딩 중 1분 간 영상에 포함하도록 하여 인코딩
시간을 비교했다. 펜 잉크 (Pen ink)는 CUDA 가속에 따른 효과를 크게
볼 수 있는 반면, 색상 바꾸기 효과는 오히려 CPU만으로 가속하는 것이
유리했다. 같은 CUDA 지원 비디오 효과지만, 펜 잉크는 GPU 가속 비중이
높다고 볼 수 있으며, 색상 바꾸기 (Replace Color) 효과는 CPU 처리만으로도
충분한 성능을 제공하는 효과로 볼 수 있어 지원 효과에 따라 GPU 가속의
차이가 나타난다.
CUDA를 지원하는 인코딩 프로그램들은 공통적으로
CPU로만 가속했던 특정 비디오 효과 (필터)들을 GPU를 통해 가속해줌으로써
전체 인코딩 시간과 CPU의 점유율을 낮출 수 있어 CUDA의 장점을 충분히
활용할 수 있게 만들었다.
이런 부분은 트랜스코딩에 비중이 높은 사용자들보다는
캠코더나 UCC 등 다양한 효과들을 표현하고자 하는 사용자들에게는 GPU로
가속되는 비디오 효과들은 분명 인코딩 시간 등의 절약이라는 효과를
기대할 수 있다.
하지만, CUDA 지원 인코딩 프로그램들에 적용된
비디오 효과들은 국내 사용자들 대부분이 파일 포맷이나 변환을 주로
하는 트랜스코딩의 비중이 높은 점과 국내 무료 인코더들보다
사용이 상대적으로 어려운 점, 그리고 무엇보다 상용이라는 점이 많은
사용자들이 접근하기 쉽지 않은 문제가 있다. |