기획
 





 
 
 




전송 2018-06-20 18:00
[테크닉]

360도 VR 비디오를 위한 존 카맥의 선택
오큘러스 5K 비디오 기술

 

오큘러스(Oculus)가 6월 플랫폼 업데이트로 5K 비디오를 지원한다.

오큘러스 CTO 존 카맥(John Camack)은 오큘러스 개발자 블로그를 통해 몰입형 비디오에 360도 60fps 스테레오 비디오를 제공하려는 노력의 일환으로 기존의 고품질 360도 캡처에서 더 높은 수준의 품질과 시각적 명확성을 확보할 수 있는 실험적인 5K 비디오 인코딩 기술을 구현했다고 밝혔다.

 

일반 비디오와 다른 360도 비디오 제한


(이미지 출처: 넷플릭스)

가상현실(VR)에서 전통적인 평면(flat) 비디오를 재생하는 것은 일반적으로 디스플레이 해상도에 따라 제한된다. 1280x720 HD 비디오로도 거대한 가상 커브드 스크린을 만들지 않는 한 VR 헤드셋 해상도를 약간 상회하며, 1080p FHD 콘텐츠의 이점을 얻으려면 고해상도 디스플레이가 적용된 VR 헤드셋이 필요하다.

 


(이미지 출처: 삼성전자)

그러나 몰입형 비디오(Immersive video)는 다른 문제다. 360도에 60프레임(60fps), 입체감을 위한 스테레오 비디오를 재생하려면 비디오 디코더가 현재 제공할 수 있는 것보다 훨씬 높은 해상도를 필요로 한다.

존 카맥은 오큘러스 VR 헤드셋에서 눈으로 보여지는 광학계는 비 균일하게 만들어져 디스플레이의 각도 분해능에 대한 정확한 수치는 없지만 360도에 걸쳐 5120x2560 해상도(5K 비디오)를 근사치로 꼽았다.

 


(이미지 출처: 마이크로소프트)

몰입형 비디오의 가장 일반적인 표현은 360도 구형의 화면을 2:1 평면에 비율의 평면에 담는 등장방형도법(equirectangular projection)이지만 이 방식은 극점에서 픽셀을 비효율적으로 사용한다. 배럴이나 큐브 방식은 약간의 픽셀 절감을 제공할 수 있으나 필수 요소가 아니고 사용률이 낮다.

또한 입체감을 주기 위해서는 양쪽 눈에 스테레오 비디오를 재생해야 하므로 몰입형 360도 비디오를 제공하기 위해 필요한 스펙은 5120x5120 해상도 60프레임 또는 초당 15억 픽셀(1500M pixels per second)이다.

 


(이미지 출처: 삼성전자)

갤럭시 노트4에서 처음 기어 VR을 선보였을 때 해당 스마트폰의 비디오 디코더는 3840x2160 해상도 비디오를 30프레임 또는 240Mbps로 디코딩 할 수 있었다. 360도 비디오로 전환하면 해상도는 괜찮은 듯 보였지만, 움직임이 매끄럽지 않았으며 스테레오가 아니어서 깊이감(입체감)도 없었다. 만약 60프레임에 스테레오 비디오를 원한다면 해상도는 1/4로 떨어지고 이는 화면 품질이 나빠지기 때문에 바람직하지 않다.

갤럭시 S7 세대의 비디오 디코더는 성능이 2배(480Mbps)로 증가했고, 이는 이번에 출시된 오큘러스 독립형 VR 헤드셋 오큘러스 고(Oculus Go)와 최신 삼성 스마트폰에서도 유지되고 있다. 하지만 여전히 오큘러스가 원하는 몰입형 비디오 디코더 성능의 1/3에 불과하다.

 

만약 사용자가 360도 비디오 대신 180도, 60프레임 대신 30프레임, 스테레오가 대신 모노 비디오 등 3가지 중에서 2가지를 기꺼이 희생한다면 남은 여유 성능을 활용해 최고의 디스플레이 품질을 얻을 수 있으므로 현재 VR 동영상은 180도 화면과 30프레임, 스테레오 비디오가 직접적인 해결책이다.

대부분의 카메라와 워크 플로우는 여전히 최적의 화질 픽셀을 제공하지 못하지만 VR 촬영에 맞게 신중하게 셋팅하고 컴퓨터로 후반 작업을 통해 보완할 수 있다. 만약 전체 스테레오 비디오를 원한다면 현재 보이는 중요한 부분만 디코드 해야 한다.

 

시야 종속적인 비디오(view-dependent video)


(이미지 출처: 삼성전자)

오늘 날의 VR 헤드셋은 대략 90도의 시야각을 가지고 있으므로 전체 영역에서 사용자가 현재 볼 수 있는 공간은 약 1/6이다. 만약 VR 헤드셋을 쓴 사용자가 정육면체(큐브)의 중심에서 한쪽 면의 중앙을 정확히 보고 있다면 나머지 다섯 개의 면은 전혀 보이지 않을 것이다.

현 세대 비디오 디코더는 전체 360도 비디오의 1/3만 디코딩 할 수 있지만 VR 헤드셋 시야에 보이는 곳만 처리하면 실제로 1/6만 필요하므로 작업 여유는 충분해야 한다. 그러나 여전히 많은 어려움이 있다. 비디오 압축 방식 때문에 임의의 작은 부분만 디코딩 할 수 없기 때문이다.

 

일반적인 동영상 압축에서 비디오 순서(Sequences of video)는 여러 화면을 그룹화(Group pf Pictures, GOP)해서 분류되며, 완전한 화면 또는 키 프레임이 있는 부분에서 디코딩을 시작하고 나머지 프레임은 이전 프레임에서 예측되는 변화만 처리하는 방식으로 용량을 줄이게 된다.

대부분의 주문형 비디오 시스템은 양호한 압축률을 얻기 위해 3~5초 시간을 사용한다. 1초의 gops에서는 키 프레임이 파일 용량의 약 25%를 차지하며, 0.5초 gops라면 파일의 절반이 키 프레임이다. 디코딩 중인 내용을 즉시 변경할 수 없기 때문에 고개를 90도로 돌리는데 1초도 채 안 걸리는 VR 헤드셋에서는 전체 360도 장면을 충실하게 인코딩해야 한다.

 


(이미지 출처: 오큘러스)

오큘러스는 초기에 시야 종속적인 접근 방법으로 하나의 360도 비디오 대신 이를 20개의 개별 버전으로 만들었다. 각 버전은 다른 부분 디테일을 표현하는데 초점을 맞췄다. 처음에는 피라미드 투영법을 사용했고, 그 다음 오프셋 큐브 맵으로 마이그레이션 되었으며, 모든 버전을 서버에 저장하고 VR 헤드셋 사용자(VR 클라이언트)가 주변을 둘러보면 해당 부분의 버전으로 전환되는 식이었다.

그러나 gops를 1초로 설정해도 인터넷을 통한 전통적인 웹 서버에서는 추가적인 오버 헤드로 인해 전환이 지연되는 시간이 더 길어졌고, VR 헤드셋 사용자가 고개를 돌려 옆을 보는 순간 다른 버전 영상이 선명하게 재생되기 전까지 2초 이상 화면이 흐려지는 현상이 발생하기도 했다. 서버에서 스트리밍 하는 대신 로컬 장치에서 재생하면 지연 현상을 막을 순 있어도 하나의 영상을 보기 위해 20개의 파일 모두를 장치에 저장하는 것도 용량 면에서 비현실적이었다.

또한 모든 360도 비디오를 20가지 버전으로 제작하는 것도 문제다. 하나의 영상을 20개 버전으로 재 샘플링 하는 것은 필연적으로 이미지 품질 저하를 가져왔다. 마스터 비디오를 똑같은 품질로 전달하면 이론적으로는 정확히 동일한 픽셀 밀도를 가지게 되지만, 고해상도 큐브 맵으로 변환하면 품질이 저하된다.

 

멀티 스트림 이용한 새로운 5K급 360 비디오


(이미지 출처: 페이스북)

존 카맥이 내놓은 새로운 절충안은 360도 구형 공간에서 상단과 하단에 더 낮은 해상도를 허용하는 것이다. 그는 이러한 절충안을 내놓은 이유로 대부분의 사람들이 360도 비디오를 볼 때 머리 위나 발 아래를 보지 않는다고 주장했다. (물론 더 나아가면 좌/우나 뒤도 잘 보지 않으니 180도 비디오로도 충분하다는 논쟁이 생기겠지만 360도 비디오는 여전히 점진적인 가치를 가지고 있다고 언급했다. )

360도 비디오에서 아랫쪽 방향은 카메라 장비를 숨기기 위해 종종 검게 표시되며, 360도 입체 영상(3D 360 video)에서는 위나 아래를 보면 스테레오 3D 효과가 감소하므로 제작자가 이를 보지 못하도록 요구한다. 현재 360도 비디오는 극점에서는 픽셀이 비효율적으로 사용되므로 해상도를 낮춰도 최소한 하나의 축에서 여전히 추가 해상도를 제공할 수 있는 일종의 버그 활용이 가능하다.

이것은 일종의 타협에 불과하며 일부 동영상을 이런 형식으로 잘 작동하지 않는다. 예를 들어 천장이나 바닥에 생생한 텍스트를 넣은 영상이 있다면 제대로 보여지지 않을 수도 있다. 그 대신 Z축으로 시야 의존성이 충분하고 최소한의 데이터 중복을 허용하는 시스템을 통해 방대한 서버가 아닌 로컬 장치에서도 작동하는 360도 비디오를 제공할 수 있게 된다.

 


(이미지 출처: 오큘러스)

기본 레이어는 5k 마스터 전체를 항상 사용할 수 있는 2k x 2k 버전으로 재 샘플링(resampling)해서 순간적으로 180도 회전해도 지연 시간 때문에 흐려지지 않고 5k급은 아니지만 2k 해상도로 비교적 선명하게 표시되며 천장이나 바닥도 여전히 볼 만 하다.

키 중심 영역은 재 샘플링 없이 5k x5k 마스터 픽셀에서 직접 잘라낸 10개의 독립적인 비디오 파일을 각각 512x1024 픽셀 열로 나누고, 2018x512 픽셀 비디오 스트립을 만들기 위해 겹쳐서 배치한다.

총 파일 크기는 추가 gop 키프레임에서 극점 부분과 중간의 낮은 디테일 복사본을 생략하는 방식으로 균형을 맞춰 전통적인 5k x 5k 인코딩 파일 용량과 비슷하게 만들 수 있다.

재생 엔진은 2k x 2k 배경(백그라운드)과 현재 보고 있는 보여주는 중앙 부분의 3개의 스트립 등 4개의 비디오 스트림을 동시에 디코딩하며, 사용자가 다른 곳을 보게 되면 배경을 제외한 3개의 스트립은 각각의 gop 위치 포인트에 맞게 새로운 소스로 교체한다.

 

코덱 독립적으로 사용 가능, VR 5K 플레이어 필요

존 카맥이 구현한 방식은 비디오 코덱과 독립적이므로 11개의 비디오 파일은 완전히 독립적으로 구성되며 제작자가 원한다면 H.264, H.265, VP9 심지어 MPEG-2 코덱을 사용할 수 있다. 다만 현재 개발자들에게 제공되는 도구(tool)는 H.264 및 H.265만 지원한다.

존 카맥은 배경 외에 3개가 아닌 4개의 스트립을 동시에 재생하는 것이 이상적이지만 비디오 디코더와 함께 시스템 소프트웨어 오버헤드 때문에 지금 당장은 현재 방식이 편하다고 생각한다고 말했다.

또한 아직 실현되지 않은 계획으로 비트 스트림 해킹을 통해 모든 스트립 샘플을 H.264/H.265 포맷으로 얇게 잘라(slices) 하나의 큰 프레임을 만드는 것이라고 밝혔다. 이 경우에는 비디오 디코더가 3개 또는 4개의 작은 비디오 대신 하나의 큰 비디오만 디코딩하면 되므로 오버헤드가 크게 줄어들고 원하는 경우 10개 이상의 조각들도 쉽게 붙여넣을 수 있으므로 스트립 간격을 좁힐 수 있다. 이 방식에 대해서는 아직 작업에 들어가지 않았다고 덧붙였다.

 


(Henry 5k clip)

오큘러스는 개발자용으로 모바일 VR 시스템에서 새로운 5K x 5K 360도 스테레오 비디오를 재생할 수 있는 VR 5K 플레이어와 개발자 도구(SDK)를 공개했는데, 이 소프트웨어는 오큘러스 고 또는 삼성 갤럭시 S8 이후의 기어 VR 시스템에서 동작한다.

해당 패키지에는 오큘러스 스토리 스튜디오에서 만들었던 VR 단편 영화 '헨리(Henry)'의 5K 샘플 클립도 들어갔다. 헨리는 원래 PC용 VR 헤드셋 오큘러스 리프트에서 실시간 렌더링 경험을 제공하도록 만들어졌지만, 이후 오큘러스 고 및 기어 VR에서 사용할 수 있도록 사전 렌더링된 VR 비디오로 출시된 바 있다.

이번 VR 5K 플레이어 개발자 도구(SDK)에는 새로운 방식에 맞춰 재 샘플링한 30초 가량의 헨리 클립을 포함됐는데, 존 카맥은 VR 헤드셋 사용자가 큰 용량의 앱을 다운로드 하는 것을 싫어하므로 비디오 제작자들이 품질과 용량 사이에 적절한 수준을 맞춰야 할 거라고 언급했다.

그는 헨리 5K 비디오 샘플을 H.264 포맷 CRF 22 품질 수준에 0.5초(1/2초) gop로 인코딩했지만 다운로드 파일 크기를 신경쓰지 않는 영화제나 오프라인 시연회 등에서 미리 설치된 파일이었다면 인코딩 품질을 CRF 18 및 1/4초 gops로 사용했을 거라고 덧붙였다.

 

존 카맥은 이번에 발표한 360도 5K 비디오 인코딩 방식을 통해 지난 몇 년 동안 낡은 스튜디오 방식으로 끔찍한 품질 저하를 보여준 휴면 상태의 수많은 하이엔드 360 제작사들이 비디오 품질을 향상시킬 수 있을 것으로 기대했다.

 

  태그(Tag)  : 오큘러스 VR, 가상현실
관련 기사 보기
[칼럼] 윈도우 MR은 홀로렌즈 마이너 버전?,아직은 부족한 윈도우 MR
[칼럼] 독립형 VR 디바이스 오큘러스 고,VR 시장 변화 이끌까?
[리뷰] 기어 VR보다 경제적인 독립형 VR 헤드셋, 오큘러스 Go 써보니
[취재] 가상현실 속을 달려볼까?, 트레드밀 VR 카페 E-VR 그라운드
[취재] 샤오미 Mi8 시리즈 스마트폰 발표, 미밴드3/미TV4/미VR 헤드셋도 공개
[취재] 독립형 VR 헤드셋 오큘러스 고 출시, 한국에서도 23만원대 구매 가능
태그(Tags) : 오큘러스 VR, 가상현실     관련기사 더보기

  이수원 수석기자 / 필명 폭풍전야 / 폭풍전야님에게 문의하기 swlee@bodnara.co.kr
남들 좋다는 것은 다 따라 하지만 정작 깊게 파고들지는 못하는 성격이다. 정말 좋아하는 일은 취미로 하랬는데, 어쩌다 직업이 되는 바람에 일과 지름이 일심동체인 삶을 살고 있다.
기자가 쓴 다른 기사 보기

Creative Commons License 보드나라의 기사는 저작자표시-비영리-변경금지 2.0 대한민국 라이선스에 따라 이용할 수 있습니다. Copyright ⓒ 넥스젠리서치(주) 보드나라 미디어국
싸이월드 공감 기사링크 퍼가기 기사내용 퍼가기 이 기사를 하나의 페이지로 묶어 볼 수 있습니다. 출력도 가능합니다.
홈으로 탑으로
보드나라 많이본 기사
엔비디아, GPU 재고 소진위해 VGA 제조사 가격 인하 압박?
그래픽 드라이버 안정성, AMD가 NVIDIA보다 뛰어나?
AMD 레이븐 릿지2는 펜티엄 셀러론 대응 엔트리 모델?
소니코리아, 카오디오 AV 헤드유닛 XAV-AX5000 출시
고성능 NVMe M.2 SSD 잘 쓰기, 올바른 메인보드와 소켓 선택법은?
디가우징으로 지운 HDD 데이터, 왜 복구하지 못할까?
GPU 깎는 장인 엔비디아?, 차세대 튜링 관련 루머 정리
비싸다고 겁먹지 말자, 인텔 코어 X CPU 오버클럭 기초 가이드
   이 기사의 의견 보기
트위터 베타서비스 개시! 최신 PC/IT 소식을 트위터를 통해 확인하세요 @bodnara

기자의 시각이 항상 옳은것은 아닙니다. 나머지는 여러분들이 채워 주십시요.

2014년부터 어려운 이야기를 쉽게 하는 것으로 편집방침을 바꿉니다.

네오마인드 / 18-06-21 0:05/ 자국/ 신고/ 이댓글에댓글달기
5k 시대군욧 벌써

인생한방 pkwangn님의 미디어로그 가기  / 18-06-27 21:58/ 자국/ 신고/ 이댓글에댓글달기
360도라... 그런데 집중이 될까요?

[2018 시게이트 가디언스컵] 이벤트2 (18/6/22 ~ 18/7/22) 에 응모 되었습니다
닉네임 웹봇방지

홈으로 탑으로
 
 
2018년 07월
주간 히트 랭킹

[당첨자발표] 보드나라와 씨게이트가 함께 6
[결과발표] 2018년 2분기 포인트 소진 로또 10
[결과발표] 2018년 1분기 포인트 소진 로또 18
[당첨자발표]2018년 새해맞이 덕담 남기기 12
[수정결과발표] 2017년 4분기 포인트 소진 31

실시간 댓글
소셜 네트워크
보드나라 추천 기사