2020.05.04

고품질 3D 이미지를 스트리밍하는 '애저 리모트 렌더링' 시작하기

Simon Bisson | InfoWorld
개선된 이미지 해상도와 시야각을 제공하는 마이크로소프트의 혼합 현실 홀로렌즈(HoloLens) 2 헤드셋이 출시됐다. 홀로렌즈 2는 흥미로운 기기로, 배터리 지속 시간을 더 늘리기 위해 인텔이 아닌 ARM 하드웨어를 기반으로 만들어졌으며 증강 현실(Augmented Reality)을 사용해 실제 세계에 정보를 겹쳐 표시하는 현장 실무자를 주 대상으로 한다.
 
ⓒ IDG

홀로렌즈는 놀라운 일을 할 수 있지만, 사실 더 흥미로운 부분은 네트워크 에지에서 기대하는 기능과 플랫폼 측면에서 홀로렌즈가 하지 못하는 현실 부분에 있다.

이미 사용자는 실사에 근접한 품질의 3D 이미지를 실시간으로 렌더링(Rendering)할 수 있는 현대 PC의 뛰어난 그래픽 성능에 익숙하다. 홀로렌즈의 컴퓨팅 역량은 대부분 사용자 주변 세계의 3D 지도를 작성해 제공하는 데 투입되므로 특히 사용자의 현재 시선에 따라 필요한 3D 장면을 생성하는 데 쓸 수 있는 처리 역량이 부족하다.

사용자의 시선은 이미지의 3D 공간 내 어디든 향할 수 있으므로 기기 주변 환경을 신속하게 렌더링해서 제공할 방법이 필요하다. 그러면 기기는 이 렌더링을 실제 환경 위에 오버레이로 표시해 예상된 뷰를 생성해 홀로렌즈 2의 MEMS 기반(마이크로 전자 기기) 홀로그래픽 렌즈를 통해 혼합 현실로 표시할 수 있다.

 

ⓒ Microsoft


클라우드에서의 렌더링 방법

한 가지 방법은 클라우드에 호스팅되는 리소스를 활용해 애저(Azure)의 GPU 역량을 통해 이와 같은 렌더를 생성하는 것이다. 위치와 방향 데이터를 애저 애플리케이션으로 전송하면 애플리케이션은 NV 시리즈 VM을 사용해 시각화를 구축한 다음, 사용자 기기로 전달하고 사용자 기기는 표준 모델 형식을 사용해 이를 표시한다.

개념적으로는 비교적 쉽게 구축할 수 있는 서비스지만, 마이크로소프트가 애저 API로 이미 제공하는 것을 인프라와 네트워크 비용을 감수하면서까지 굳이 새로 만들 필요는 없을 것이다. 현재 공개 프리뷰 단계인 애저 리모트 렌더링(Azure Remote Rendering)은 3D 콘텐츠를 렌더링해 기기에 고품질 3D 이미지로 스트리밍한다.

이 이미지를 기기 콘텐츠와 혼합해 클라우드에서 생성된 콘텐츠에 자체 애플리케이션 UI를 유연하게 추가하는 것도 가능하다. 어느 한 가지 UI 모델에 고정되지 않으므로 원격 렌더링된 콘텐츠를 사용하는 애플리케이션에 각자 고유한 모양과 느낌을 줄 수도 있다.

애저의 클라우드 GPU 아키텍처는 필요에 따라 애플리케이션 인스턴스 간에 GPU를 공유한다. GPU가 그다지 필요 없는 앱은 호스트 하드웨어 GPU의 일부만 사용하고, 높은 그래픽 역량이 필요한 앱은 여러 GPU를 사용해 기기에 단일 3D 이미지를 제공하면서 최선의 성능을 얻을 수 있다.

프리뷰 서비스에는 시간당 요금이 부과된다. 표준 렌더링은 시간당 3달러, 복잡한 장면을 위한 고급 렌더링은 시간당 12달러다. 변환은 월 100개까지 무료이며 초과분부터 애셋당 0.75달러가 부과된다. 프리뷰 가격이므로 최종 서비스 가격은 이보다 더 높아질 가능성이 높다.


애저 리모트 렌더링 소개

애저 리모트 렌더링의 아키텍처와 워크플로우는 비교적 단순하다. 클라우드에 호스팅되는 렌더가 중심에 위치하면서 디자인 워크스테이션으로부터 데이터를 가져온다. 데이터가 업로드되면 타겟 디바이스에서 실행되는 클라이언트 API가 장면 그래프를 사용해 사용자의 시선 방향을 예측해 이 데이터를 클라우드 서비스에 보낸다.

이 서비스는 데이터를 사용해 원격 렌더링 서비스를 관리하면서 애저에 호스팅되는 GPU 전반으로 렌더링 프로세스를 파밍한다. 서버를 처음 가동할 때 다소 시간이 걸릴 수 있으며, 사용자 혼란을 차단하기 위해 모든 코드는 세션 상태를 인식해야 한다. 세션 구성 시 최대 임대 시간을 설정해 애플리케이션이 충돌하면 자동으로 세션이 삭제되도록 한다. 정상적인 경우에는 애플리케이션이 종료 시 세션을 닫는다. 시작 지연을 줄이기 위해 세션을 재사용하는 옵션이 있다. 소량의 세션 풀을 실행 중인 상태로 유지해서 애플리케이션을 시작할 때 가용한 세션에 연결하고, 연결 시 새 모델을 로드할 수 있다.

서비스가 장면을 렌더링하면 모든 GPU의 데이터가 이미지를 형성하고 이 이미지가 클라이언트 디바이스로 스트리밍된다. 클라이언트는 이미지에 로컬 UI와 콘텐츠를 결합한 다음 사용자에게 표시한다. 3D 이미지가 다운로드되면 익숙한 홀로렌즈 개발 툴과 환경을 사용해 이미지를 조작해 애저 리모트 렌더링 클라이언트 앱을 구축할 수 있다.


애저 리모트 렌더링 앱 처음 구축하기

모델은 개발 PC에서 먼저 만들어진다. 유니티(Unity)와 같은 도구를 사용해 애저 리모트 렌더링 API와 호환되는 클라이언트 측 애플리케이션을 만들 수 있으며, 익숙한 개발 도구 내에서 작업하면서 클라우드에서 렌더링되는 콘텐츠를 호스팅하는 장면을 만들 수 있다.

마이크로소프트는 윈도우 PC에서의 테스트를 지원하므로 홀로렌즈에 배포하기 전에 애플리케이션 코드를 테스트해볼 수 있다. 현재는 이것만 엔드포인트로 지원된다.

유니티를 사용하는 경우, 먼저 애플리케이션 매니페스트에 서비스 API 엔드포인트와 코드 종속성을 추가한다. 여기에는 애저 리모트 렌더링과의 연결을 설정하고 유니티 리모트 렌더링 클라이언트를 초기화해 장면 카메라에 연결하는 스크립트와 렌더링 파이프라인 선택도 포함된다.

애저 리모트 렌더링 계정은 애저 스토리지와 연결해야 한다. 연결되면 모델을 업로드해 사용할 수 있게 된다. 모델은 일반적인 3D 파일 형식에서 변환된 엔티티 그래프로 저장된다. 기존 모델을 애저 블롭(blob)에 업로드한 다음 변환 API를 호출해 원격 렌더링 모델을 빌드하고 사용 가능한 다른 블롭에 저장한다.


리모트 렌더링과 새로운 에지 네트워크

애저 리모트 렌더링은 완벽하지 않으며 항상 네트워크의 품질 상황에 따라 크게 좌우된다. 따라서 지연을 감안한 설계가 필요하다. 즉, 사용자에게 급격한 머리 움직임을 줄이라는 신호를 주고 이전 프레임이 전달되는 동안 계산된 렌더를 처리해야 한다. 적절히 운영하기 위해서는 시간이 다소 걸리며 아무리 신중하게 설계하더라도 언제든 사용자의 행동에 의해 와해될 수 있다. 사용자에게 어떤 문제가 발생할 수 있는지, 중대한 렌더링 문제를 피하려면 어떻게 해야 하는지를 설명하는 것이 중요하다.

애저 리모트 렌더링과 같은 서비스가 어떻게 조정되어 미래의 에지 콘텐츠 제공 서버에서 실행될지 흥미롭게 지켜볼 일이다. 5G 기지국에 방대한 GPU를 갖춘 렌더링에 최적화된 올림푸스(Olympus) 서버가 배치된다면 미래의 이동통신 홀로렌즈는 지연이 훨씬 더 적고 대역폭은 높은 기기 연결을 통해 훨씬 더 역동적인 렌더링을 할 수 있게 될 것이다.

에저 리모트 렌더링은 에지 기기에 타겟팅된 컴퓨팅 기능을 제공하는 '패키지형 클라우드 컴퓨팅 서비스'의 초기 사례에 해당한다. 홀로렌즈 2는 와이파이 연결을 사용하지만 에지 기기와 클라우드 컴퓨팅의 조합에 최적화된, 5G 네트워크를 사용하는 홀로렌즈 3을 상상하기도 어렵지 않다.

에지 기기는 종일 작동해야 하는 모바일 기기나 집이나 사무실의 소형 기기 특성상 전력 문제를 중심으로 최적화된다. 이와 같은 기기에는 사용자가 기대하는 수준의 워크로드를 지원할 컴퓨팅 역량이 없다. 클라우드 컴퓨팅 시설로 연결되는 고대역폭 파이프를 활용하면 에지 기기를 클라우드에서 전달되는 콘텐츠를 위한 렌더링 영역으로 사용하고, 컴퓨팅 요구사항을 정의할 수 있는 센서 플랫폼을 클라우드에 제공할 수 있다. editor@itworld.co.kr 


2020.05.04

고품질 3D 이미지를 스트리밍하는 '애저 리모트 렌더링' 시작하기

Simon Bisson | InfoWorld
개선된 이미지 해상도와 시야각을 제공하는 마이크로소프트의 혼합 현실 홀로렌즈(HoloLens) 2 헤드셋이 출시됐다. 홀로렌즈 2는 흥미로운 기기로, 배터리 지속 시간을 더 늘리기 위해 인텔이 아닌 ARM 하드웨어를 기반으로 만들어졌으며 증강 현실(Augmented Reality)을 사용해 실제 세계에 정보를 겹쳐 표시하는 현장 실무자를 주 대상으로 한다.
 
ⓒ IDG

홀로렌즈는 놀라운 일을 할 수 있지만, 사실 더 흥미로운 부분은 네트워크 에지에서 기대하는 기능과 플랫폼 측면에서 홀로렌즈가 하지 못하는 현실 부분에 있다.

이미 사용자는 실사에 근접한 품질의 3D 이미지를 실시간으로 렌더링(Rendering)할 수 있는 현대 PC의 뛰어난 그래픽 성능에 익숙하다. 홀로렌즈의 컴퓨팅 역량은 대부분 사용자 주변 세계의 3D 지도를 작성해 제공하는 데 투입되므로 특히 사용자의 현재 시선에 따라 필요한 3D 장면을 생성하는 데 쓸 수 있는 처리 역량이 부족하다.

사용자의 시선은 이미지의 3D 공간 내 어디든 향할 수 있으므로 기기 주변 환경을 신속하게 렌더링해서 제공할 방법이 필요하다. 그러면 기기는 이 렌더링을 실제 환경 위에 오버레이로 표시해 예상된 뷰를 생성해 홀로렌즈 2의 MEMS 기반(마이크로 전자 기기) 홀로그래픽 렌즈를 통해 혼합 현실로 표시할 수 있다.

 

ⓒ Microsoft


클라우드에서의 렌더링 방법

한 가지 방법은 클라우드에 호스팅되는 리소스를 활용해 애저(Azure)의 GPU 역량을 통해 이와 같은 렌더를 생성하는 것이다. 위치와 방향 데이터를 애저 애플리케이션으로 전송하면 애플리케이션은 NV 시리즈 VM을 사용해 시각화를 구축한 다음, 사용자 기기로 전달하고 사용자 기기는 표준 모델 형식을 사용해 이를 표시한다.

개념적으로는 비교적 쉽게 구축할 수 있는 서비스지만, 마이크로소프트가 애저 API로 이미 제공하는 것을 인프라와 네트워크 비용을 감수하면서까지 굳이 새로 만들 필요는 없을 것이다. 현재 공개 프리뷰 단계인 애저 리모트 렌더링(Azure Remote Rendering)은 3D 콘텐츠를 렌더링해 기기에 고품질 3D 이미지로 스트리밍한다.

이 이미지를 기기 콘텐츠와 혼합해 클라우드에서 생성된 콘텐츠에 자체 애플리케이션 UI를 유연하게 추가하는 것도 가능하다. 어느 한 가지 UI 모델에 고정되지 않으므로 원격 렌더링된 콘텐츠를 사용하는 애플리케이션에 각자 고유한 모양과 느낌을 줄 수도 있다.

애저의 클라우드 GPU 아키텍처는 필요에 따라 애플리케이션 인스턴스 간에 GPU를 공유한다. GPU가 그다지 필요 없는 앱은 호스트 하드웨어 GPU의 일부만 사용하고, 높은 그래픽 역량이 필요한 앱은 여러 GPU를 사용해 기기에 단일 3D 이미지를 제공하면서 최선의 성능을 얻을 수 있다.

프리뷰 서비스에는 시간당 요금이 부과된다. 표준 렌더링은 시간당 3달러, 복잡한 장면을 위한 고급 렌더링은 시간당 12달러다. 변환은 월 100개까지 무료이며 초과분부터 애셋당 0.75달러가 부과된다. 프리뷰 가격이므로 최종 서비스 가격은 이보다 더 높아질 가능성이 높다.


애저 리모트 렌더링 소개

애저 리모트 렌더링의 아키텍처와 워크플로우는 비교적 단순하다. 클라우드에 호스팅되는 렌더가 중심에 위치하면서 디자인 워크스테이션으로부터 데이터를 가져온다. 데이터가 업로드되면 타겟 디바이스에서 실행되는 클라이언트 API가 장면 그래프를 사용해 사용자의 시선 방향을 예측해 이 데이터를 클라우드 서비스에 보낸다.

이 서비스는 데이터를 사용해 원격 렌더링 서비스를 관리하면서 애저에 호스팅되는 GPU 전반으로 렌더링 프로세스를 파밍한다. 서버를 처음 가동할 때 다소 시간이 걸릴 수 있으며, 사용자 혼란을 차단하기 위해 모든 코드는 세션 상태를 인식해야 한다. 세션 구성 시 최대 임대 시간을 설정해 애플리케이션이 충돌하면 자동으로 세션이 삭제되도록 한다. 정상적인 경우에는 애플리케이션이 종료 시 세션을 닫는다. 시작 지연을 줄이기 위해 세션을 재사용하는 옵션이 있다. 소량의 세션 풀을 실행 중인 상태로 유지해서 애플리케이션을 시작할 때 가용한 세션에 연결하고, 연결 시 새 모델을 로드할 수 있다.

서비스가 장면을 렌더링하면 모든 GPU의 데이터가 이미지를 형성하고 이 이미지가 클라이언트 디바이스로 스트리밍된다. 클라이언트는 이미지에 로컬 UI와 콘텐츠를 결합한 다음 사용자에게 표시한다. 3D 이미지가 다운로드되면 익숙한 홀로렌즈 개발 툴과 환경을 사용해 이미지를 조작해 애저 리모트 렌더링 클라이언트 앱을 구축할 수 있다.


애저 리모트 렌더링 앱 처음 구축하기

모델은 개발 PC에서 먼저 만들어진다. 유니티(Unity)와 같은 도구를 사용해 애저 리모트 렌더링 API와 호환되는 클라이언트 측 애플리케이션을 만들 수 있으며, 익숙한 개발 도구 내에서 작업하면서 클라우드에서 렌더링되는 콘텐츠를 호스팅하는 장면을 만들 수 있다.

마이크로소프트는 윈도우 PC에서의 테스트를 지원하므로 홀로렌즈에 배포하기 전에 애플리케이션 코드를 테스트해볼 수 있다. 현재는 이것만 엔드포인트로 지원된다.

유니티를 사용하는 경우, 먼저 애플리케이션 매니페스트에 서비스 API 엔드포인트와 코드 종속성을 추가한다. 여기에는 애저 리모트 렌더링과의 연결을 설정하고 유니티 리모트 렌더링 클라이언트를 초기화해 장면 카메라에 연결하는 스크립트와 렌더링 파이프라인 선택도 포함된다.

애저 리모트 렌더링 계정은 애저 스토리지와 연결해야 한다. 연결되면 모델을 업로드해 사용할 수 있게 된다. 모델은 일반적인 3D 파일 형식에서 변환된 엔티티 그래프로 저장된다. 기존 모델을 애저 블롭(blob)에 업로드한 다음 변환 API를 호출해 원격 렌더링 모델을 빌드하고 사용 가능한 다른 블롭에 저장한다.


리모트 렌더링과 새로운 에지 네트워크

애저 리모트 렌더링은 완벽하지 않으며 항상 네트워크의 품질 상황에 따라 크게 좌우된다. 따라서 지연을 감안한 설계가 필요하다. 즉, 사용자에게 급격한 머리 움직임을 줄이라는 신호를 주고 이전 프레임이 전달되는 동안 계산된 렌더를 처리해야 한다. 적절히 운영하기 위해서는 시간이 다소 걸리며 아무리 신중하게 설계하더라도 언제든 사용자의 행동에 의해 와해될 수 있다. 사용자에게 어떤 문제가 발생할 수 있는지, 중대한 렌더링 문제를 피하려면 어떻게 해야 하는지를 설명하는 것이 중요하다.

애저 리모트 렌더링과 같은 서비스가 어떻게 조정되어 미래의 에지 콘텐츠 제공 서버에서 실행될지 흥미롭게 지켜볼 일이다. 5G 기지국에 방대한 GPU를 갖춘 렌더링에 최적화된 올림푸스(Olympus) 서버가 배치된다면 미래의 이동통신 홀로렌즈는 지연이 훨씬 더 적고 대역폭은 높은 기기 연결을 통해 훨씬 더 역동적인 렌더링을 할 수 있게 될 것이다.

에저 리모트 렌더링은 에지 기기에 타겟팅된 컴퓨팅 기능을 제공하는 '패키지형 클라우드 컴퓨팅 서비스'의 초기 사례에 해당한다. 홀로렌즈 2는 와이파이 연결을 사용하지만 에지 기기와 클라우드 컴퓨팅의 조합에 최적화된, 5G 네트워크를 사용하는 홀로렌즈 3을 상상하기도 어렵지 않다.

에지 기기는 종일 작동해야 하는 모바일 기기나 집이나 사무실의 소형 기기 특성상 전력 문제를 중심으로 최적화된다. 이와 같은 기기에는 사용자가 기대하는 수준의 워크로드를 지원할 컴퓨팅 역량이 없다. 클라우드 컴퓨팅 시설로 연결되는 고대역폭 파이프를 활용하면 에지 기기를 클라우드에서 전달되는 콘텐츠를 위한 렌더링 영역으로 사용하고, 컴퓨팅 요구사항을 정의할 수 있는 센서 플랫폼을 클라우드에 제공할 수 있다. editor@itworld.co.kr 


X