본문 바로가기
팁 & 테크

동영상 편집, 'CUDA'가 있어 즐겁다!

by 테리™ 2009. 4. 6.
반응형

엔비디아(NVIDIA)는 지난 4월 2일, 지포스(GeForce) GTX275 발매와 함께 새로운 드라이버인 ‘지포스 182.50’과, CUDA와 PhsyX 체험을 위한 맛보기 프로그램들의 모음인 ‘파워팩(PowerPack)3' 를 발표했다. 그리고 이 파워팩 3에 포함된 프로그램 중, CUDA를 사용하는 재미있는 프로그램이 있어 이를 간단히 소개하고자 한다.

엔비디아는 자사의 지포스 그래픽 프로세서를 사용한 GPGPU 솔루션인 CUDA 홍보에 적극 나서고 있다. 전 세계적으로 CUDA가 가능한 GPU는 수백만 대의 컴퓨터에 장착되어 있으며, 이런 컴퓨터들에서 CUDA 지원 그래픽 카드 드라이버를 설치하고 프로그램을 사용할 경우 좀 더 쾌적한 환경에서 작업이 가능하다.

CUDA를 제대로 사용하기 위해서는, 256MB 이상의 그래픽 메모리를 가진 지포스 8 시리즈 이상의 그래픽 카드가 필요하며, 기본적으로 그래픽 프로세서가 연산하지만 기본적인 명령어 변환 등에서 최소한의 프로세서 능력이 필요하다. 프로세서가 강력할수록 어느 수준까지는 같은 그래픽 카드라 해도 CUDA의 성능은 크게 달라진다.

이번에 소개할 프로그램은 지포스 파워팩 3에 들어 있는 비디오 편집 프로그램들이다. ‘vReveal'은 동영상에 각종 효과를 적용해서 화질 개선 등을 할 수 있는 프로그램이며, 'LoiLoScope' 는 간단한 편집과 자막 삽입 등을 쉽고 재미있게 해 주는 프로그램이다.

두 프로그램 모두 기본적으로는 상용 프로그램이며, 홈페이지에서는 사용 기간에 제약이 있는 트라이얼 버전이 제공된다. 하지만 기능 제약은 없으며, 간단히 맛을 보기에는 충분하다. 또 상용 버전을 구매하기에 앞서, 가용성을 확인한다는 측면에서도 의미가 있다.

동영상 화질 개선을 위한 ‘vReveal'


▲ vReveal 구동 화면. CUDA지원 로고가 선명하다.

MotionDSP Inc.의 'vReveal'은 동영상에 각종 화질 개선 효과를 적용시켜 주는 프로그램이다. 지금까지 동영상에 이런 편집을 하려면 일반적으로 어도비(Adobe)의 프리미어(Premier)같은 전문 동영상 편집 프로그램을 사용해야 했다. 이 프로그램들은 덩치도 크고 무거울 뿐 아니라, 보통은 처음 프로그램을 띄우자 마자 수많은 메뉴와 어떻게 사용해야 될지 모를 난감함에 질려버리기 마련이다.

‘vReveal'의 장점은 ’작고 간편하고 빠르다‘이다. 프로그램의 크기는 동영상 전문 편집 프로그램에 비해 대단히 작다. 전문 편집 프로그램에 비해 크기가 작은 이유는 간단하다. 이 프로그램은 자체적인 편집 기능이 없기 때문이다. 대신 간편하게 화질 보정 효과를 적용할 수 있도록 특정 기능을 편리하게 쓸 수 있도록 하는 데 특화했다.


▲ 기능을 단순하고 직관적으로 사용할 수 있게 되어 있다.

기본적으로 제공하는 기능은 2배 슈퍼샘플링, 밝기 조절, 명도/채도 조절, 대비 조절, 노이즈 감소, 흔들림 감소, 확대/축소 정도가 있다. 효과를 주려면 큼직한 버튼을 누르기만 해도 된다. 세부 설정에서는 이 효과를 어느 정도 줄 지에 대한 설정이 가능하며, 바로 옆에 준비된 미리보기 공간을 통해 결과물을 원본과 비교해 미리 볼 수도 있다. 미리보기는 실시간으로 가능하다.

효과 설정이 다 되었다면 ‘Share'를 눌러 동영상을 저장할 수 있다. 독특하게도, 파일로 저장하는 방법외에도 ’유튜브(Youtube)'에 직접 저장을 지원한다. 유튜브에 영상 업로드를 자주 하는 사용자들은 이 기능을 통해 굳이 여러 번 손을 쓸 필요 없이 편리하게 동영상의 저장과 업로드가 가능하다. 저장 형식은 무압축 AVI와 WMV를 사용할 수 있다. 그럼 이제 직접 테스트해 성능을 살펴보자.

 

 

이 프로그램에서 CUDA가 쓰인 부분은 동영상 저장 부분이다. 지금까지 CUDA가 사용되어 가장 큰 이득을 얻은 곳이 비디오 인코딩 관련 분야이다. 고도의 병렬 처리가 가능해 멀티 코어 프로세서가 압도적인 위력을 자랑하는 이 분야에서, 수십 개의 스트림 프로세서가 병렬로 배치된 그래픽 프로세서는 사용할 수만 있다면 높은 성능을 보여줄 것으로 기대되었고, 실제로도 높은 성능을 보여주고 있다.

간단히 640*480 30프레임 정도의 영상에 각종 효과와 원본 포함 리사이징 기능을 똑같이 걸어서 테스트한 결과를 살펴보면, CUDA를 적용한 상태에서 인코딩했을 경우에는 8분 23초가 소요된다.

반면, CUDA를 쓰지 않고 프로세서만 쓰면 쿼드코어 프로세서를 100% 사용해도 19분 7초라는 시간이 소요되었다. 단순 계산으로도 두 배 이상의 차이. 영상이 크고 효과가 무거워질수록 더 크게 차이가 난다고 하니, 무거운 작업을 하는 사람이라면 눈여겨 볼 부분이다.

간단한 자막과 비디오 이펙트를 위한 ‘Super LoiLoScope Mars'

 

Loico Inc. 의 ‘Super LoiLoScope Mars'로는 동영상에 간단히 몇 가지 특수 효과를 추가하고, 자막을 추가할 수 있다. 전문 편집 프로그램에 비해서는 빈약하나, 제한된 용도로 사용한다면 타임라인을 사용한 익숙한 방법과 빠른 편집 등이 장점이다.

그리고 그래픽 프로세서 가속을 인터페이스 전체에서 사용해 모든 게 드래그&드롭으로 이루어지는 재미있고 직관적인 인터페이스로 빠른 작업을 기대할 수 있다. 현재 이 프로그램은 홈페이지의 파워팩 다운로드 페이지에서는 찾을 수 없지만 CUDA 지원 애플리케이션으로 다뤄볼 만한 것이어서 이번 기회에 함께 소개해 보겠다.

일단, 이 프로그램은 인터페이스가 재미있다. 그래픽 프로세서의 가속이 인터페이스 단계에서 지원되는 덕분에 전체적으로 부드러운 드래그&드롭과 자유로운 확대/축소가 가능하다. 마우스 휠을 돌리거나 클랙과 드래그, 화면 이동 등에서 기존의 2D 기반에서는 볼 수 없는 부드러운 이동을 볼 수 있다. 동영상 편집 프로그래밍이라기보다 게임을 하는 기분이다.


▲ 황당하다 싶을 정도로 독특한 유저 인터페이스에 적응되면 눈과 손이 즐겁다.


▲ 영상의 효과들은 메뉴에서 누르는 대로 실시간으로 볼 수 있다.

처음 시작하면 넓은 우주에 덩그라니 펼쳐진 작업용 개체들을 볼 수 있다. 자막을 넣기 위해 자막을 추가하면 동영상에 들어가는 게 아니라 개체가 생성되고, 이를 영상의 타입라인 위에 올려 주면 자막이 나온다. 속성 편집은 아주 간단한 수준으로 지원되는데, 타임라인 위에 올리기 전에 미리 설정한 뒤에 올려주면 된다. 타임라인 위에 올라가면 단지 자막이 보이는 시간 정도만 조절 가능하다.

반면 영상의 보정 효과들은 타임라인을 미리 선택한 뒤 누르면 영상 옆에 속성이 보이고, 실시간으로 적용되는 화면을 보면서 설정 가능하다. CUDA 기반의 가속이 지원되므로 효과를 넣고도 실시간으로 부드러운 화면으로 확인이 가능하다. 그리고 효과들은 메뉴의 버튼들을 누를 때마다 하나씩 추가되며, 같은 효과를 여러 번 적용할 수도 있고, 추가된 효과들은 순서대로 영상 옆의 설정 창에 추가된다.

영상 저장은 공유 버튼을 눌러 메뉴를 호출하면 된다. 전통적인 파일 저장과 함께 미리 지정된 인기있는 휴대용 기기들에 맞춰진 설정, 유튜브 업로드가 지원된다. 휴대용 기기에는 많이들 쓰는 3G 휴대폰이나 아이팟, 아이폰, PSP, PS3 등의 프리셋이 지원된다.

만약 자신이 쓰는 해당 기기에 최적화시켜 사용한다면 복잡한 설정 과정 없이 최적화된 영상을 얻을 수 있다. 단, H.264 형식으로의 저장을 위해서는 '퀵타임(QuickTime)'이 설치되어 있어야 한다. 한편, 대부분의 프리셋에서 CUDA 가속을 지원한다.

 

 

프로그램은 CUDA 가속을 적극적으로 활용한다. 아예 인터페이스 단계에서부터 CUDA 가속을 사용하여 실시간 효과 처리가 가능하며, 동영상 인코딩에도 대부분의 경우 CUDA를 사용해 빠른 속도로 저장되는 것을 볼 수 있다. 프로세서만으로 처리하면 절대 볼 수 없을듯한 속도가 표시되는 것을 보면 신기함을 넘어 경이롭기까지 하다.

CUDA를 사용한 경우와 그렇지 않은 경우를 비교하면, 이 프로그램에서는 차이가 놀라울 정도로 크게 벌어진다. 12초 정도의 샘플 영상을 1920*1080p, 비트레이트 8192Kbps 정도로 업샘플링, 밝기 수정, 자막 삽입 등을 적용하여 인코딩한 결과 CUDA를 사용한 경우엔 단 12초, 프로세서만으로 퀵타임을 사용하여 인코딩한 경우 77초가 걸렸다.

물론 이 경우에는 인코더가 달라지므로 단순 비교는 무리다. 그러나 빠른 건 사실이다. 아주 짧은 영상이지만 퀵타임을 사용하여 프로세서로 인코딩한 결과와, 자체 인코더로 CUDA를 적용한 경우의 시간 차이는 비슷한 설정에서도 매우 크게 벌어졌다. 결과물도 용량이나 화질에서 큰 차이가 없는 만큼 설정에서는 큰 차이가 없었다. 인코더 효율에서 CUDA를 쓸 때 큰 이득이 있음을 쉽게 짐작할 수 있다.

그래픽카드는 이제 게임만 하는 게 아니다!


▲ 무료로 공개된 파워팩을 통해 CUDA의 진면목을 엿볼 수 있다.

그래픽 프로세서의 용도는 다양해지고 있다. 예전의 고정적인 픽셀 파이프라인 구조를 벗어나 그래픽 프로세서 전체가 고도로 병렬화된 쉐이더 유닛 단위로 개편되면서, 예전에는 꿈만 같았던 그래픽 프로세서의 범용 연산 처리가 아주 제한적이지만 가능해진 것이다. 현재 엔비디아는 이 분야에서 가장 앞서 있으며, 가장 많은 결과물을 시장에 보여주고 있다.

현재 멀티 코어 프로세서도 범용 사용에 있어 때에 따라 효율성 논란이 있는 만큼, 이보다 더 극단적으로 병렬화된 그래픽 프로세서의 범용 연산에 대한 효율은 극히 일부분을 제외하고는 크게 와 닿지 않는 것이 현실이다. 또한 그래픽 프로세서의 범용 연산이 적용되는 분야도 대단히 제한되어 있다. 하지만 적용이 가능한 영역에 있어서는 그 효용성을 의심할 수 없을 정도로 확실한 효과를 보여주고 있다.

물론 아직까지 그래픽 프로세서를 범용 연산에 사용하는 것은 제약 사항이 많으며, 일반적인 프로그램의 사용에 있어 강력한 범용 프로세서는 여러 모로 많은 이득을 가져다 준다. 하지만 특정 분야에서라도 그래픽 프로세서를 사용하여 성능을 크게 끌어올릴 수 있다는 사실은 사용자에게 있어 PC의 잠재력과 가능성을 새삼 돌아보게 해주는 일이다.

원문보기 댓글보기 ▒ Copyright ⓒ Acrofan All Right Reserved
반응형

댓글