x

이메일로 만나보는 스타트업 가이드

투자, 행사, 정부사업 등 스타트업 생태계 소식을 이메일로 편하게 받아보세요.

PC 게임 영상을 네트워크를 통해 다른 기기로 전송하는 게임 스트리밍에서는 조작 지연을 최소화하는 게 중요하다. 이런 처리에는 보통 H.264나 AV1과 같은 영상 압축 기술인 비디오 코덱이 사용되지만 이들 기술은 높은 압축률을 실현하는 대신 지연을 유발하는 딜레마를 안고 있다. 이에 그래픽 엔진 프로그래머(Themeister)가 가정 내 LAN처럼 넓은 대역폭이 확보된 환경을 전제로 지연을 극한까지 줄이는 것을 목표로 한 코덱 PyroWave를 설계했다고 밝혔다.

PyroWave는 프레임 간 차이 정보를 활용하는 일반적인 모션 예측을 폐지하고 모든 프레임을 개별적으로 압축하는 인트라 온리(Intra-only) 방식을 채택하고 있다. 이 방식은 데이터 크기가 증가하지만 처리 과정이 단순해지고 에러에 대한 내성도 향상된다. 더불어 GPU 병렬 처리에 장애가 되는 엔트로피 부호화라는 데이터 압축 과정도 생략해 철저한 고속화를 실현했다.

PyroWave는 많은 코덱이 사용하는 DCT(이산 코사인 변환) 대신 이산 웨이브릿 변환(DWT)을 기반으로 한다. 이는 이미지를 여러 주파수 대역, 그러니까 전체 구조를 나타내는 저주파 성분과 윤곽 등 세부를 나타내는 고주파 성분으로 분해하는 방식으로 이미지 특성에 따른 효율적인 압축이 가능해진다.

DWT로 분해된 데이터는 양자화라는 과정에서 정보량을 줄이게 된다. 이는 데이터 정밀도를 의도적으로 낮추는 처리인데 PyroWave에서는 인간의 시각 특성을 활용한 점이 특징이다. 인간 눈은 세세한 디테일 그러니까 고주파 성분 변화에는 둔감하므로 해당 데이터를 더 거칠게 양자화해 인지되는 화질 저하를 억제하면서도 데이터량을 크게 줄일 수 있다.

또 PyroWave는 다수 코어로 병렬 처리를 수행하는 GPU 아키텍처에 최적화되어 있으며 이미지를 블록 단위로 병렬 처리해 고속 인코딩을 실현한다. 아울러 엔트로피 부호화를 제거한 덕분에 데이터량 제어, 즉 비트레이트 제어가 쉬워졌다고 한다. 개발자는 PyroWave를 이용하면 영상 내 각 블록에 대해 화질 저하와 데이터 절감량 간 균형을 정확히 계산해 목표한 데이터량에 거의 오차 없이 맞출 수 있다고 설명했다.

PyroWave는 1080p 해상도 영상 1프레임을 1밀리초를 크게 밑도는 시간 내에 인코딩할 수 있다. 이는 비압축 영상을 PC 내부 버스를 통해 전송하는 것보다 빠른 경우도 있을 정도이며 이 인코딩 속도가 그대로 지연 단축으로 이어져 사용자 체감 품질을 크게 향상시킨다.

성능 분석 그래프를 보면 PyroWave는 1080p 해상도 영상을 RX 9070 XT라는 GPU에서 단 0.13밀리초 만에 인코딩하고 있는 걸 확인할 수 있다. 더 가벼운 일반적인 게임을 인코딩할 때의 경우 인코딩 시간은 80마이크로초로 더 간단한 장면에서는 성능이 더 향상되는 걸 알 수 있다.

PyroWave는 일반 용도가 아니라 초저지연 로컬 스트리밍이라는 틈새 영역에 특화해 기존 기술을 능가하는 성능을 달성했다. 개발자는 이 프로젝트는 특정 목적에 맞춰 기술을 과감히 선택하고 버리는 것의 중요성을 보여주는 좋은 사례라며 자신감을 드러냈다. 관련 내용은 이곳에서 확인할 수 있다.

뉴스 레터 구독하기

Related Posts

No Content Available
Next Post