최근 HD동영상 재생능력에 대해서 관심을 가지는 분들이 많다.
컴퓨터뿐만 아니라 휴대용 기기 시장에서도 HD 파일 재생은 화젯거리인데 
최근 비디오 플레이어에서도 이런 HD 재생능력을 부각시키고 있다.

어느 비디오 플레이어든지 최근에 나오는 것은 자체 코덱 만으로 멀티 쓰레드. 즉 듀얼코어 이상을 지원하여
기존 프로그램들에서와 같이 싱글코어로는 할 수 없던 처리능력을 지원 시피유 수를 늘려서 처리하고 있다.

하지만 시피유의 부담은 생각보다 커서 1080p h264 디코딩시 부하율은 상상을 초월할 정도로 크거나, 재생을 못하는 경우도 생긴다.

이것의 대안으로 나온 방법이 바로 그래픽카드. GPU를 이용한 동영상 디코딩이다.
DXVA. Direct X Video Acceleration의 약자로
동영상 감상시 놀고 있는 그래픽 카드를 이용함으로써 시피유의 부담을 줄이자고자 하는 것이 목표이다.

참고로 GPU를 사용하여 동영상 처리를 시킨다고 해서 전기소비가 줄어드는 것은 아니다.
오히려 전기소비가 더 늘어날 수도 있으니 노트북과 같은 컴퓨터에서는 신중히 사용하어야 한다.

최근에 나온 동영상 재생기 중에서 비디오 카드의 처리능력을 이용한 동영상 디코딩 능력을 비교해 보았다.

비교 대상은

1. 팟플레이어
2. 톡플레이어
3. 초코플레이어

이상 3가지 종류이다. 

여기에서는 사용자 편의성과 파일지원능력을 모두 제외하고 오직 하드웨어 가속만을 실험하였음을 밝힌다.
실험방법은 기존에 설치한 외부 코덱은 전부 무시하고 내장코덱에서 하드웨어 가속만을 활성화 시킨 상태로 실험했다.
이는 사용자가 설치 후 바로 동영상을 재생시켰을 때를 가정한 것이다.

컴퓨터 사양
Intel Core2Duo T6500, 2GB, Nvidia G210M 512MB, Windows 7 Home Premium 32bit
(사용한 그래픽카드가 노트북용 Nvidia사 카드이므로 다른 시스템의 경우 차이가 있을 수 있습니다.)

첫번째 순서인 TP파일.
MPEG2 코덱을 사용하여 방송하는 흔히 HDTV 원본소스를 말한다.

사용된 파일 정보
      Format : MPEG Video
      Format version : Version 2
      Format profile : Main@High
      Format settings, Matrix : Default
      Duration : 31mn 0s
      Bit rate mode : Variable
      Bit rate : 8 741 Kbps
      Nominal bit rate : 20.0 Mbps
      Width : 1 440 pixels
      Height : 1 080 pixels
      Display aspect ratio : 16:9
      Frame rate : 29.970 fps
      Colorimetry : 4:2:0
      Scan type : Interlaced
      Scan order : Top Field First
      Bits/(Pixel*Frame) : 0.188
      Stream size : 1.89 GiB (91%)

본 TP파일은 일본 방송의 경우로 1440의 해상도를 강제로 1920으로 늘려서 방송하는 형식임을 밝힌다.

참고로 DXVA 미 적용시 CPU 점유율은 50%에 육박한다.

추가-2010.06.21
프레임레이트에 대해서 질문이 들어왔는데, 아래 스크린샷 같이 일본 애니메이션 방송의 경우
원래 주사율은 29.97 x 2 = 59.94의 인터레이스드 된 영상이 디인터레이스를 행하여 바로 29.97프레임이 되는 것이 아니라
일본의 애니메이션 방송규격인 23.976 프레임으로 디인터레이스한다.
물론 모든 장면이 23.976 프레임인 것은 아니지만 (아래와 같이 자막이 흘러가는 경우는 59.94프레임이 된다)
이를 알기 위해서는 고도의 동영상 지식이 필요하기 때문에 따로 설명하지는 않겠다.
실제로 H264 규격으로 인코딩을 하기 위해서 동영상을 분석하여 프레임레이트와 디인터레이스 여부를 결정하는데
프레임이 제멋대로라 가변 프레임을 사용하여 동영상을 디인터레이스한다.
23.976 프레임을 29.97 프레임으로 인식하여 인코딩하게 되면 화면이 스크롤링 업 할때 화면이 뚝뚝 끊기는 현상을 발견할 수 있다.
아마 우리나라 방송에는 잘 나타나지 않는 파일이라고 할 수 있다. 


팟 플레이어가 13%, 메모리 91메가 사용
초코플레이어가 10% 메모리 87메가 사용
톡플레이어가 8% 메모리 77메가 사용

전체적으로 점유율의 눈에 띌 정도의 차이는 없지만
상대적으로 가볍고 시피유를 적게 먹는 톡 플레이어가 유리하다.
하지만 여기서 짚고 가야할 사항은 가장 중요하기도 한 디인터레이스 능력이다.

TV 방송은 1080i(인터레이스) 규격으로 가로줄과 세로줄을 각각 따로 보내어 합성하는 방식이다.
이 합성하는 능력을 감지하여 가장 자연스럽게 보여주는 것(프로그래시브 방식으로 변환)을 디인터레이스 작업이라 한다
이 과정을 얼마나 자연스럽게 하느냐가 바로 소프트웨어의 능력이라 하겠다.

3개의 결과물을 보자.
3개의 사진은 방송에서 가로로 흘러가는 자막을 캡쳐한 것인데, 
인터레이스 능력이 좋으면 실제 방송과 같이 부드럽게 보이고 
인터레이스 능력이 나쁘면 화면에 줄이 가거나 자막이 똑바로 보이지 않는 문제가 발생한다.

팟플레이어의 경우

톡플레이어의 경우

초코플레이어의 경우









































어느 화면이 가장 나아 보이는가?
이는 사용자의 선택에 달렸다.