VR 시청이 기본값이 된 시대, 그 시간을 훈련으로 바꾸는 소프트웨어 설계 노트
UploadVR은 최근 구글이 Meta Quest용 YouTube 앱의 몰입형 뷰(immersive view)를 대대적으로 개편하는 작업을 진행 중이라고 보도했습니다. 보도에 따르면 이 개편은 Android XR 및 visionOS에서의 경험에 가까워지는 방향으로 진행되고 있습니다.
이 뉴스를 단순한 UI 개선으로 읽으면 절반만 읽은 셈입니다. VR 헤드셋에서 '영상 시청'이 실험적 기능에서 기본 경험으로 이동한다는 뜻이고, 이는 곧 사용자가 헤드셋을 쓰고 보내는 시간이 구조적으로 늘어난다는 의미입니다. 개발자 관점에서 이건 새로운 '컴퓨트 예산'이 생겼다는 것과 같습니다. 매일 30분씩, 눈앞에 렌더링되는 두 개의 독립 디스플레이가 확보되는 셈이니까요.
그렇다면 질문이 하나 남습니다. 그 시간을 그냥 소비할 것인가, 아니면 무언가에 쓸 것인가.
같은 시청 시간, 다른 렌더링 파이프라인
세븐스포츠가 개발한 Amblyotube는 Meta Quest(Quest 2, 3, Pro, 3S)용 재활·교육 소프트웨어로, 왼쪽 눈과 오른쪽 눈에 서로 다른 시각 경험을 제공합니다. 사용자는 익숙한 YouTube 스타일 콘텐츠를 그대로 보면서, 그 시청 시간을 시각 협응과 주의력 훈련에 활용할 수 있습니다. 여기서 흥미로운 지점은 하드웨어 제약을 그대로 활용한다는 것입니다. VR 헤드셋은 원래 좌/우 안구에 독립적인 피드 두 개를 보내야 하죠. 이 구조를 그대로 디옵틱(dichoptic) 훈련 채널로 씁니다.
작동 방식은 대략 이렇게 정리할 수 있습니다.
- 우세안 필터(Dominant Eye Shader): 조절 가능한 디지털 블러, 대비, 밝기, 감마, 불투명도 필터를 적용해 우세안의 개입을 부드럽게 줄입니다. 100% 불투명도에서는 사실상 완전한 디지털 패칭(digital patching)이지만, 목표는 대개 부분 투명도입니다. 두 눈이 동시에 시각 정보를 처리하도록 훈련하는 것이 핵심이기 때문입니다.
- 약시안 샤프너(AI Sharpener, MFBF): AI 엔진이 영상 속 사람 형태(얼굴·몸)를 식별해 약시안 화면에만 선택적 샤프닝을 적용합니다.
- 선택형 Wedge Occlusion: 양쪽 시야 일부에 검은 쐐기를 덮어 각 눈이 장면의 서로 다른 부분을 보도록 강제합니다. 양안 경쟁(binocular rivalry)을 줄이는 고전적인 접근입니다.
- 마젠타 포커스 큐: 약시안 화면에는 고가시성 마젠타 핑크, 우세안 화면에는 은은한 회색으로 표시되는 움직이는 원형 큐입니다. 피부톤·녹색·청색이 지배적인 자연 영상 배경에서 마젠타가 튀기 때문에, 약시안의 주의를 끌고 뇌가 두 신호를 하나로 병합하도록 유도합니다. 즉 양안 융합과 3D 깊이 지각 훈련입니다.
여기에 MFBF 모드의 시각적 액센트(Visual Accents)가 사람 형태에 황록색 글로우(Highlight)나 굵은 붉은 외곽선(Outline)을 입히고, 펄스 Hz와 펄스 깊이를 조절해 '숨 쉬는' 리듬으로 주의를 붙잡아 둡니다. 제어 패널은 Meta Quest 컨트롤러와 핸드 트래킹을 모두 지원하고, 크기 조절과 이동이 가능합니다. 콘텐츠는 통합 YouTube 검색창과 오프라인 카탈로그(어린이용 애니메이션 등)를 통해 가져오며, 기본 재생 컨트롤과 Reset All 버튼이 붙어 있습니다. Room View AR 패스스루 모드로 실제 방 위에 훈련 레이어를 올릴 수도 있습니다.
왜 좌/우 분리 렌더링이 '그냥 되는' 문제가 아닌가
여기서 잠깐 시스템 설계 관점으로 내려가 보겠습니다. 디옵틱 훈련을 VR에서 구현할 때 엔지니어가 부딪히는 핵심 제약은 지연(latency)과 양안 정합성(binocular alignment)입니다. 두 눈에 서로 다른 후처리(블러, 샤프닝, 색조)를 걸면 각 안구의 프레임이 서로 다른 파이프라인을 타게 되고, 여기서 프레임 타이밍이 어긋나면 사용자는 즉시 어지럼증을 호소합니다. 일반적인 단안 렌더링에서는 존재하지 않던 문제입니다.
Amblyotube의 접근은 이 제약을 우회하지 않고 정면으로 다룹니다. 셰이더와 샤프닝, 큐 레이어를 좌/우 안구에 독립적으로 적용하면서도 두 채널이 같은 프레임 클럭 위에서 합성되도록 설계한 셈이죠. 실무적으로 이건 "후처리를 안구별로 분기하되, 컴포지터 단계에서 다시 합친다"는 전형적인 per-eye post-processing 패턴입니다. 여러분이 Unity XR이나 OpenXR 기반으로 양안 효과를 직접 짜본 적이 있다면, 이 구조가 얼마나 까다로운지 감이 올 겁니다.
성능 예산도 무시할 수 없습니다. Quest 계열은 모바일 칩셋 위에서 90Hz(혹은 120Hz)를 유지해야 하고, 여기에 AI 기반 사람 형태 검출까지 얹으면 프레임당 연산 여유가 빠듯합니다. 그래서 이런 종류의 앱에서 현실적인 설계 선택은 "매 프레임 추론"이 아니라 "검출 주기를 낮추고 결과를 보간하는" 쪽입니다. 영상 속 사람 위치는 프레임 간에 급격히 변하지 않으니, 검출을 몇 프레임에 한 번 돌리고 샤프닝 마스크를 그 사이에 재사용해도 체감 품질 손실이 거의 없다는 것이죠. 이건 정답이 아니라 트레이드오프입니다. 정확도와 전력, 발열, 프레임 안정성 사이에서 내려야 하는 엔지니어링 결정입니다.
온보딩이 곧 안전장치인 이유
임상 프리셋 설계는 꽤 보수적입니다. 실행하면 먼저 약시안이 왼쪽인지 오른쪽인지 선택하는데, 이 선택은 잘못하면 반대쪽 우세안을 훈련시켜 버리기 때문에 사실상 가장 중요한 스텝입니다. 이어서 교정 안경을 쓴 상태에서 경도(시력표 마지막 2줄 판독 불가), 중등도(3~5줄), 중증(5줄 이상) 프리셋을 고르면 우세안 셰이더와 약시안 샤프너의 기본 레벨이 자동으로 세팅됩니다.
내장된 LogMAR 시력 확인 도구는 가상 3미터 거리에서 표준 란돌트 C(Landolt C) 시표를 사용해 각 눈과 양안을 최대 30회 시행으로 검사하고, 임상 스테어케이스 알고리즘으로 logMAR 시력을 표시한 뒤 감지된 심도에 맞춰 훈련 프로필을 자동 갱신할 수 있습니다. 즉 파라미터 튜닝을 사용자 감에 맡기지 않는 구조입니다.
개발자 습관으로 보면 이 온보딩 흐름은 일종의 캘리브레이션 파이프라인입니다. 센서가 들어오는 원시 신호를 그대로 쓰지 않고, 기준 측정을 한 번 거친 뒤 그 결과를 시스템 파라미터로 되먹임하는 구조죠. 여기서 중요한 건 기본값이 "사용자가 건드리지 않아도 안전한" 쪽으로 설정되어 있다는 점입니다. 대부분의 소프트웨어는 기본값을 최대 효과 쪽에 두지만, 시각 훈련처럼 사용자에게 물리적 영향을 주는 영역에서는 기본값이 곧 안전장치가 됩니다.
기대치를 정확히 두기
Amblyotube는 만능 해법이 아닙니다. 권장 사용 시간은 하루 30~40분, 세션 최대 1시간이며 VR 눈 피로를 고려한 상한선입니다. 연령 제한은 13세 이상입니다. 그리고 이 소프트웨어는 양안 협응과 깊이 지각을 위한 보조적 시각 훈련·지원 도구이며, 진단이나 치료, 완치를 제공하는 의료 기기가 아닙니다. 시력 문제에 대한 판단과 치료 계획은 안과 전문의와 상담해야 합니다.
VR 시청 경험이 좋아진다는 뉴스는 반가운 일입니다. 더 반가운 건, 그 늘어난 시청 시간 위에 얹을 수 있는 선택지가 이미 존재한다는 사실입니다. 플랫폼이 사용자에게 매일 30분의 몰입형 렌더링 예산을 쥐여준다면, 그 예산을 어디에 쓸지는 결국 소프트웨어를 만드는 우리가 정하는 몫입니다.
Meta Quest 앱스토어에서 Amblyotube를 확인하실 수 있습니다: https://www.meta.com/en-gb/experiences/amblyotube/25906906972338493/ (13세 이상, 하루 30~40분 권장, 최대 1시간. 진단·치료·완치 수단이 아닌 보조적 시각 훈련 도구입니다.)