제3부 · 작동 원리 / 제13장
20밀리초의 벽
지연을 각도 오차로 해석하고, 움직임 속도에 따라 체감 오차가 달라지는 이유를 봅니다.
옵시디언 원고 기반 · 웹판 편집 2026.09.30 · 이 장의 Markdown · 편집 범위
이 본문은 조사 당시의 연구 원고입니다. 제품 상태·가격·수치와 해석은 출처·조사 범위와 함께 읽어 주세요.
참고문헌 16개 ↓ · 본문 [번호]로 출처 확인
증강현실이 싸우는 상대는 해상도가 아니다. 시간이다. 가상 물체가 실제 세계에 붙어 있으려면, 머리가 움직인 뒤 화면이 따라오는 시간이 사람의 지각보다 짧아야 한다. 이 장은 그 시간이 어디서 생기고, 얼마나 짧아야 하며, 어떻게 줄이는지를 다룬다. 결론을 미리 말하면 이렇다. 지연은 초로 재지만 사람은 각도로 본다.
지연은 무엇을 재는 말인가
지연을 말하려면 먼저 양 끝점을 못 박아야 한다. motion-to-photon 지연은 사용자의 머리나 손이 물리적으로 움직인 순간부터, 그 움직임을 반영한 빛이 눈에 도달하는 순간까지의 시간이다. 정의의 핵심은 양쪽 끝을 모두 물리 세계에 두었다는 점이다. 컴퓨터 내부의 어느 시각도 끝점이 될 수 없다.
경계를 느슨하게 잡으면 숫자가 유리해진다. 시작점을 센서의 출력 시각으로 잡으면 센서 내부 지연과 샘플링 대기가 통째로 사라진다. 끝점을 프레임버퍼에 다 그린 시각으로 잡으면 주사와 화소 응답이 사라진다. 그러면 제조사마다 다른 구간을 재고, 숫자를 나란히 놓을 수 없다.
| 경계를 이렇게 잡으면 | 숨어 버리는 구간 |
|---|---|
| 시작점 = 센서가 값을 출력한 시각 | 센서 내부 지연, 샘플링 대기 |
| 시작점 = 응용프로그램이 자세를 받은 시각 | 전송 지연, 운영체제 전달 지연 |
| 끝점 = 렌더링이 끝난 시각 | 주사, 화소 응답, 잔상 |
| 끝점 = 화소에 신호가 도달한 시각 | 화소의 응답 시간과 점등 시간 |
표 출처: [1] (본문 기준으로 재구성)
번개와 천둥으로 생각하면 쉽다. 번개가 번쩍인 순간부터 내 귀에 소리가 닿는 순간까지를 재야 뜻이 있다. 소리가 공기 중으로 출발한 순간부터 재면 아무것도 말해 주지 않는다.
증강현실에서 이 숫자가 특히 가혹한 이유는 따로 있다. 사용자가 정답지를 손에 쥐고 있다. 가상 물체가 늦게 그려지면 그 뒤에 실제 세계가 그대로 있어서 어긋남이 즉시 드러난다. 순수 가상현실에서는 비교 대상이 없으므로 전체가 함께 늦어도 덜 티가 난다.
목표치로 흔히 인용되는 20밀리초는 성격을 구분해 읽어야 한다. 카맥은 2013년에 50밀리초면 반응은 좋으나 미묘하게 늦게 느껴진다고 적고, 20밀리초 미만을 권고했다. 그러나 같은 글에서 사람의 감각계는 아주 작은 상대 지연도 검출한다고 못 박았다. 스타우페르트와 동료들도 2020년 리뷰에서 이 숫자를 지각 역치가 아니라 권고 예산으로 정리한다. 20밀리초는 넘지 말자는 선이고, 보이기 시작하는 선은 훨씬 아래에 있다.
또 하나 중요한 사실이 있다. 지연은 단일 숫자가 아니라 분포다. 같은 기기에서도 화면의 어느 위치인가에 따라 값이 다르다. 60프레임 화면에서 마지막에 갱신되는 쪽은 처음 갱신되는 쪽보다 약 16밀리초 늦다. 프레임마다 값이 흔들리는 것도 마찬가지다. [1]
첫 관문, 센서의 주기와 지터
머리의 움직임은 관성측정장치의 자이로스코프와 가속도계가 먼저 잡는다. 이 단계에서 지연은 두 갈래로 생긴다.
하나는 샘플링 주기다. 센서가 초당 125회 값을 내보낸다면, 움직임이 일어난 순간과 그것이 표본에 잡히는 순간 사이에 최대 8밀리초의 간격이 생긴다. 평균으로는 4밀리초의 지연이고, 동시에 0에서 8밀리초 사이를 무작위로 오가는 흔들림이다. 이 흔들림을 지터라고 부른다.
다른 하나는 전송이다. 범용 인터페이스는 폴링 방식이라 장치가 값을 준비해도 호스트가 물어볼 때까지 기다린다. 여기에 운영체제가 메시지를 커널에서 사용자 프로그램으로 넘기는 시간이 붙는다. 카맥은 이 값을 약 2밀리초 이내의 무작위 지연으로 적었다.
초당 125장을 찍는 카메라로 달리는 사람을 잡는 상황과 같다. 셔터와 셔터 사이는 8밀리초다. 카메라 성능이 아무리 좋아도 사건이 그 틈에 일어나면 8밀리초 늦게 발견된다. 샘플링 주기는 사건과 발견 사이의 운 나쁜 간격을 정한다.
| 항목 | 값 | 조건 |
|---|---|---|
| 범용 인터페이스 표준 갱신 | 초당 125회 | 주기 8ms, 지터 0~8ms |
| 고속 갱신이 가능한 하드웨어 | 초당 1000회 | 주기 1ms |
| 운영체제 전달 | 약 2ms 이내 무작위 | 카맥 2013 |
| 자기식 트래커 사양 지연 | 4ms | 호스트 전송 제외한 벤더 사양 |
| 같은 트래커의 측정 지연 | 약 11ms | 호스트 전송 포함 |
표 출처: [2] (본문 기준으로 재구성)
표의 마지막 두 줄은 함께 읽어야 한다. 홀러웨이는 1995년에 당시 자기식 트래커의 사양 지연이 4밀리초라고 적으면서, 그 값이 호스트로의 전송 시간을 빼고 계산된 것이라는 단서를 달았다. 같은 논문의 다른 절에서는 같은 장치의 지연을 약 11밀리초로 측정했다고 적는다. 같은 장치가 경계를 어디에 두느냐에 따라 두 배 이상 달라진다.
해법은 두 방향이다. 주파수를 올려 주기를 줄이거나, 센서 쪽에서 타임스탬프를 찍어 값이 언제 측정된 것인지를 정확히 알리는 것이다. 후자가 더 중요하다. 지연의 절대값은 예측으로 보상할 수 있지만, 얼마나 늦었는지 모르는 지연은 보상할 방법이 없다. 파이프라인 맨 앞의 지터는 뒤에서 제거되지 않는다. [2]
정확도를 시간으로 산다
관성측정장치만으로는 위치를 알 수 없다. 가속도를 두 번 적분하면 오차가 시간의 제곱으로 누적되어 수 초 만에 수 미터가 어긋난다. 그래서 카메라 기반 추적이 절대 기준을 잡아 주고, 관성센서가 그 사이를 빠르게 메운다.
문제는 두 센서의 시간 상수가 정반대라는 점이다. 관성센서는 빠르지만 드리프트한다. 카메라는 정확하지만 느리다. 노출과 리드아웃에 시간이 들고, 특징점 추출과 최적화에 다시 몇 밀리초가 든다.
빠르지만 조금씩 틀리는 손목시계와, 정확하지만 하루에 한 번만 볼 수 있는 천문대 시계를 함께 쓰는 것과 같다. 평소에는 손목시계를 보고, 천문대 시계를 볼 때마다 조용히 맞춘다. 맞추는 순간이 티 나지 않게 하는 것이 융합 알고리즘의 기술이다.
융합기에는 고유한 지연이 하나 더 있다. 카메라 결과가 도착했을 때 그 관측은 이미 과거의 것이다. 따라서 과거 시점으로 되돌아가 상태를 수정하고 현재까지 다시 적분해야 한다. 이것이 관측 지연이며, 단순한 계산 시간과는 다른 항목이다.
실용적 타협은 명확하다. 화면에 내보내는 자세는 관성센서가 주도하는 고주파 추정치를 쓴다. 카메라는 천천히 드리프트를 잡아당긴다. 그래서 헤드셋은 빠르게 돌릴 때 매끄럽지만, 가만히 있으면 물체가 아주 느리게 미끄러지는 현상을 보인다.
숫자로 보면 이 단계의 무게가 드러난다. 아주마는 1995년 시스템의 종단 지연을 통상 50에서 70밀리초로 보고했다. 그 안에서 광학식 트래커가 15에서 30밀리초를 쓰고, 예측기가 약 12밀리초, 렌더러가 16.67밀리초를 쓴다. 트래커가 30밀리초를 쓰고 총량이 70밀리초일 때 트래커의 몫은 약 43퍼센트다. 트래커가 15밀리초라면 같은 총량에서 약 21퍼센트다.
| 구간 | 지연 | 총 50~70ms에서의 몫 |
|---|---|---|
| 광학식 트래커 | 15~30ms | 21~60% |
| 예측기 계산 | 약 12ms | — |
| 렌더러 한 프레임 | 16.67ms | — |
| 통신과 동기화 대기 | 나머지 | — |
표 출처: [3] (본문 기준으로 재구성)
한 가지 단서가 필요하다. 같은 논문은 일반적인 구성에 대해서는 종단 지연이 통상 100밀리초를 넘는다고 적는다. 50에서 70밀리초는 저지연으로 최적화한 구성의 값이다. 어느 구성의 숫자인지 밝히지 않고 단일 값으로 인용하면 안 된다.
현대 헤드셋의 관성센서는 통상 초당 500에서 1000회, 추적 카메라는 초당 30에서 90회 수준으로 알려져 있다. 이것은 업계에서 통용되는 범위이며, 특정 기기의 확인된 사양이 아니다. [3]
숨은 프레임
게임 엔진은 보통 중앙처리장치가 장면을 준비하고 그래픽처리장치가 그리는 구조로 돌아간다. 둘을 겹쳐 돌리면 초당 프레임 수는 올라간다. 대가로 지연이 프레임 단위로 쌓인다. 중앙처리장치가 세 번째 프레임을 준비하는 동안 그래픽처리장치는 두 번째를 그리고, 화면은 첫 번째를 보여 준다.
공장의 컨베이어 벨트와 같다. 작업을 여러 단계로 나누면 시간당 생산량은 늘지만, 원료 하나가 완제품이 되어 나오기까지의 시간은 오히려 길어진다. 주문한 사람에게 중요한 것은 시간당 생산량이 아니라 내 물건이 언제 나오느냐다.
카맥은 2013년 글에서 여러 전략의 지연을 파이프라인 타임라인 도해로부터 산출해 정리했다. 아래 값들은 실측이 아니라 그 도해에서 뽑은 추정 예산이다. 원문의 라벨을 함께 적는다.
| 전략 | 지연 추정 |
|---|---|
| 성능 여유 있고 수직동기 사용 | 16~32ms |
| 성능 여유 있고 동기 없음(약 200fps) | 5~8ms |
| 그래픽처리장치 버퍼링 최소화 | 32~48ms |
| 이중 그래픽처리장치 교대 프레임 렌더링 | 48~64ms |
| 늦은 프레임 스케줄링 | 18~34ms |
| 뷰 바이패스 | 16~32ms |
| 타임워프 | 2~18ms |
| 연속 타임워프(센서 500Hz) | 2~3ms |
표 출처: [4] (본문 기준으로 재구성)
표에서 눈에 띄는 것은 폭이다. 같은 하드웨어에서 구조를 바꾸는 것만으로 지연이 한 자릿수에서 수십 밀리초까지 오간다. 개발자가 직접 통제할 수 있는 가장 큰 덩어리가 여기다.
더 중요한 함정은 프레임을 놓쳤을 때다. 90프레임 화면에서 프레임 하나는 약 11밀리초다. 60프레임에서는 약 16.7밀리초다. 목표 주사율을 놓치면 같은 그림이 두 번 표시되고, 두 번째 표시분은 한 프레임만큼 더 늙은 그림이 된다. 지연의 평균이 아니라 분산이 커진다. 이것이 저더의 직접적 원인이다.
그래서 마이크로소프트는 혼합현실 개발자에게 일정한 30프레임이 30과 60을 오가는 것보다 낫다고 안내한다. 같은 문서는 게임 스레드와 렌더 스레드가 록스텝으로 도는 엔진에서 30프레임으로 떨어지면 33.3밀리초의 추가 지연이 붙을 수 있다고 적는다. 조건절이 중요하다. 두 스레드가 맞물려 도는 구조라는 전제가 붙어 있다. 이 안내는 특정 세대의 기기에 한정되지 않고 광학 방식과 몰입형 헤드셋을 함께 다룬다. [4]
화면의 위와 아래는 같은 시각이 아니다
디스플레이는 이미지 전체를 한꺼번에 켜지 않는다. 대부분의 패널은 한쪽 끝에서 반대쪽 끝까지 순차적으로 화소를 갱신한다. 그런데 렌더링은 보통 한 순간의 시점으로 화면 전체를 계산한다. 화면 전체가 동일 시각의 표본이라고 가정하고 그린 그림을, 시간이 한 방향으로 번지는 장치에 내보내는 것이다.
이 불일치가 기하학적 왜곡으로 나타난다. 머리를 돌리는 동안 직선은 진행 방향으로 기울어 보인다. 정지해 있어야 할 물체는 위아래가 어긋난 채 흔들린다.
팩스로 그림을 보내는 것과 같다. 팩스는 종이를 한 줄씩 훑어 보낸다. 보내는 동안 종이를 옆으로 밀면, 받은 쪽 그림은 아래로 갈수록 옆으로 밀린 평행사변형이 된다.
숫자를 적을 때 주의할 점이 있다. 카맥의 서술은 60프레임 화면에서 마지막에 갱신되는 쪽이 처음 갱신되는 쪽보다 약 16밀리초 늦다는 것이다. 프레임 주기인 16.7밀리초가 아니다. 실제 주사 구간은 수직 소거기간을 뺀 값이기 때문이다. 같은 이유로 90프레임에서의 값도 11.1밀리초가 아니라 약 10.7밀리초다. 이 4퍼센트가 뒤의 각도 계산에 그대로 전파된다. 덧붙여 많은 헤드셋 패널은 세로가 아니라 가로 방향으로 주사되므로, 위아래라는 표현 자체가 기기에 따라 달라진다.
| 주사율 | 처음과 마지막의 시간차 | 100°/s 회전 시 전단 |
|---|---|---|
| 60Hz | 약 16ms | 약 1.6° |
| 90Hz | 약 10.7ms | 약 1.07° |
| NTSC 인터레이스 | 33ms 이상 | — |
표 출처: [5] (본문 기준으로 재구성)
마인과 비숍은 1993년에 급진적이지만 개념적으로 옳은 해법을 제안했다. 각 화소를 그 화소가 실제로 표시될 시각의 세계 상태로 계산하라는 것이다. 정지 화면으로 보면 왜곡된 그림이지만, 순차 주사 디스플레이에서 보면 오히려 왜곡이 없다. 두 사람의 계산은 이렇다. 초당 60필드, 수평 시야 60도에 600화소, 머리 회전 200도/초 조건에서 한 필드 동안 3.3도가 돌아간다. 화소로 환산하면 33화소의 정합 오차다. 같은 조건에서 주사선 단위로 다시 계산하면 0.013도, 즉 0.13화소로 떨어진다.
이 절의 교훈은 하나다. 지연은 단일 숫자가 아니라 화면 위 위치의 함수다. 평균 지연만 줄여서는 이 왜곡이 사라지지 않는다. [5]
켜 두는 시간이 곧 번짐의 길이다
화소가 명령을 받고 실제로 밝기를 바꾸는 데 걸리는 시간이 응답 시간이다. 액정은 분자를 물리적으로 회전시켜야 해서 느리다. 유기발광다이오드는 전류를 흘리면 바로 빛나므로 압도적으로 빠르다. 카맥의 기준으로 일반 액정 패널은 약 10밀리초, 게임과 입체영상용으로 최적화한 패널은 5밀리초 미만, 유기발광다이오드는 1밀리초 미만이다.
그런데 증강현실에서 더 중요한 것은 응답 시간이 아니다. 얼마나 오래 켜져 있는가, 즉 잔상 시간이다. 이유는 눈이 움직이기 때문이다. 세계에 고정된 물체를 바라보며 머리를 돌리면 눈은 반대 방향으로 회전해 시선을 그 물체에 붙여 둔다. 그런데 화면의 그림은 한 프레임 동안 패널 위의 같은 자리에 그대로 켜져 있다. 그림은 회전하는 망막 위를 미끄러지고, 켜져 있던 시간만큼 길게 번진다.
관계식은 단순하다. 번짐 각도는 망막 미끄러짐 각속도에 잔상 시간을 곱한 값이다.
어두운 방에서 손전등을 켜 둔 채 카메라 셔터를 길게 열면 빛이 선으로 찍힌다. 셔터를 아주 짧게 열면 점으로 찍힌다. 머리를 돌리는 동안 우리 눈은 움직이는 카메라이고, 화면이 켜져 있는 시간이 셔터 시간이다.
워버턴과 동료들은 2023년에 여러 헤드셋을 측정하면서, 시험한 기기들이 모두 저잔상 방식이라고 적었다. 화면은 매 프레임의 끝에서 짧은 동안만 점등된다. 논문이 제시하는 값은 개별 기기별 목록이 아니라 시험 전체에 걸친 양 끝점이다. 짧은 쪽이 0.33밀리초, 긴 쪽이 2밀리초다. 그 사이 기기들의 개별 잔상 시간은 보고되지 않았다. 또한 이 값들은 저자들이 측정한 결과가 아니라 패널의 사양 특성에 대한 서술이다. 그들이 측정한 것은 motion-to-photon 지연이다.
머리를 초당 100도로 돌리며 세계에 고정된 물체를 응시하는 조건에서 번짐을 계산하면 아래와 같다.
| 잔상 시간 | 번짐 각도 | 각분 환산 |
|---|---|---|
| 11.1ms(프레임 전체 점등) | 1.11° | 약 67각분 |
| 2ms | 0.2° | 약 12각분 |
| 0.33ms | 0.033° | 약 2각분 |
표 출처: [6] (본문 기준으로 재구성)
사람 시력의 분해 한계가 약 1각분이다. 가장 짧은 0.33밀리초에서도 번짐은 그 두 배 수준이다. 잔상은 지연 예산과 독립된 두 번째 시간 축이다. 지연을 0으로 만들어도 잔상이 길면 물체는 여전히 흐려진다.
듀티비를 단일 숫자로 말할 때는 조심해야 한다. 0.33밀리초는 고정된 점등 시간이다. 프레임 길이가 6.94밀리초인 144프레임에서는 듀티비가 약 4.8퍼센트지만, 12.5밀리초인 80프레임에서는 약 2.6퍼센트다. 같은 기기가 여러 주사율로 시험되었으므로 하나의 듀티비를 대표값으로 제시하면 오독을 부른다. [6]
사람은 언제 알아채는가
몇 밀리초부터 보이는가에 대한 답은 연구마다 크게 갈린다. 이유가 세 가지 있다.
첫째, 무엇을 묻는지가 다르다. 늦다고 느끼는가, 두 조건 중 어느 쪽이 더 늦은가, 불편한가, 수행이 나빠지는가는 서로 다른 네 개의 질문이다. 보통 이 순서대로 숫자가 커진다.
둘째, 자극이 다르다. 고대비의 선명한 모서리가 있는 장면에서 머리를 빠르게 돌리면 미세한 어긋남도 움직임으로 보인다. 흐릿하고 대비가 낮은 장면에서는 같은 지연이 숨는다.
셋째, 개인차가 크다. 훈련된 관찰자는 훨씬 낮은 역치를 보인다.
원리적으로 사람이 지연에 민감한 것은 절대 시간을 재기 때문이 아니다. 지연이 장면이 스스로 움직이는 것으로 번역되어 운동 지각 체계에 잡히기 때문이다. 그래서 역치는 사실 밀리초의 역치가 아니라 장면 운동 속도의 역치다. 머리를 빨리 돌릴수록 더 작은 지연이 보인다. 이 지점이 이 분야에서 가장 자주 오해되는 부분이다.
음악에 맞춰 손뼉을 치는 것과 같다. 혼자 조용히 치면 조금 어긋나도 모른다. 옆 사람과 맞춰 치면 훨씬 작은 어긋남도 들린다. 증강현실은 항상 옆 사람과 맞춰 치는 상황이다. 그 옆 사람이 실제 세계다.
| 보고 | 값 | 성격과 단서 |
|---|---|---|
| 카맥 2013 | 20ms 미만 권고, 50ms는 미묘하게 늦음 | 절대 지연에 대한 권고 예산 |
| 엘리스 등 1999·2004, 아델스타인 등 2003 | 17ms 이하도 탐지 가능 | 절대 탐지인지 변별인지는 리뷰 요약만으로 판별되지 않음 |
| 제럴드 2010 | 3.2ms | 한 참가자에게서 보고된 최소값, 리뷰를 통한 2차 인용 |
| 아티히 등 2017 | 100ms 이하에서 사용성 영향 없음 | 헤드셋이 아닌 일반 상호작용 환경 |
표 출처: [7] (본문 기준으로 재구성)
표의 제럴드 값은 조심해서 읽어야 한다. 원논문을 직접 확인하지 못한 2차 인용이며, 한 참가자의 최소값이다. 평균 역치는 이보다 상당히 높을 가능성이 크다. 그래도 이 값이 의미가 있는 것은, 조건이 극단으로 가면 역치가 한 자릿수 밀리초까지 내려갈 수 있음을 보여 주기 때문이다.
여기에 성격이 다른 결과 하나를 덧붙여 둔다. 데이비스와 동료들은 2015년에 사람이 500헤르츠 수준의 시각 변동, 즉 깜빡임 인공물을 검출할 수 있음을 보였다. 단위가 헤르츠이고 다루는 현상이 시간주파수 민감도이므로, 밀리초 단위의 지연 역치 목록과 섞어서는 안 된다.
20밀리초면 충분하다는 관용구는 특정 조건의 권고치일 뿐이다. 고대비 장면과 빠른 머리 회전이라는 최악 조건에서는 한 자릿수 밀리초가 요구된다. [7]
우리가 이기려는 상대
사람의 눈은 머리가 돌면 자동으로 반대 방향으로 돈다. 귓속의 반고리관이 각속도를 감지해 눈 근육으로 보내는 회로가 전정안반사다. 감각에서 근육까지 세 개의 뉴런만 거치도록 진화한 덕에 이 반사는 인체의 어떤 반응보다 빠르다.
여기에 증강현실이 처한 곤경의 본질이 있다. 우리는 한 자릿수 밀리초로 반응하는 생물학적 안정화 장치와 경쟁하고 있다. 머리가 돌면 눈은 즉시 보정되어 시선이 목표에 붙는다. 그런데 화면 속 가상 물체는 파이프라인 지연만큼 늦게 따라온다. 그 차이가 망막 위의 미끄러짐으로 나타나고, 시각계는 이것을 물체가 스스로 움직였다고 해석한다. 정지해 있어야 할 물체가 머리 움직임에 맞춰 헤엄치는 현상이 이렇게 생긴다.
손에 물컵을 들고 걸을 때 손목이 무의식적으로 컵을 수평으로 유지하는 것과 같다. 그 보정은 생각보다 훨씬 빠르다. 눈도 마찬가지다. 컴퓨터는 이 무의식의 속도를 따라잡아야 한다.
| 반응 | 잠복기 |
|---|---|
| 전정안반사 | 문헌에 따라 5~7ms 또는 7~13ms |
| 시각 추종 | 약 100ms |
| 자발적 반응(버튼 누르기) | 200ms 이상 |
표 출처: [8] (본문 기준으로 재구성)
전정안반사의 잠복기는 문헌마다 갈린다. 최근 리뷰는 아주 짧은 잠복기로 5에서 7밀리초를 적는다. 렌처와 트릴렌베르크가 2008년에 정리한 값을 인용하는 문헌은 7에서 13밀리초로 적는다. 측정 방법에 따라 달라지므로 단일 값으로 고정하기 어렵다. 어느 값을 쓰든 결론은 같다. 이 반사는 시각 추종의 시작 잠복기보다 여덟 배에서 열네 배 빠르다. 시각계 자신보다 훨씬 빠른 셈이다.
더 나쁜 것이 있다. 시각이 보고하는 움직임과 전정기관이 보고하는 움직임이 불일치하면 뇌는 이를 중독 신호로 해석한다는 감각 갈등 이론이 있다. 멀미가 단순한 불쾌가 아니라 진화적으로 설계된 경보인 이유다.
한편 머리 운동 자체의 대역폭은 좁다. 아주마의 실측 파워스펙트럼에서 신호 에너지는 거의 전부가 2헤르츠 이하에 있다. 그러나 그 안에서의 순간 각속도는 수백 도/초에 이른다. 대역이 좁다는 것과 빠르지 않다는 것은 다른 이야기다. [8]
지연을 각도로 환산한다
이 장의 모든 논의가 하나의 식으로 수렴한다. 각도 오차는 머리 각속도에 지연을 곱한 값이다.
식이 성립하는 이유는 간단하다. 시스템이 어떤 시간만큼 이전의 머리 자세로 그림을 그렸다면, 그 그림은 머리가 그 시간 동안 돈 각도만큼 틀어진 자리에 놓인다. 각속도가 일정하면 틀어진 각도는 정확히 각속도 곱하기 지연이다.
이 각도를 눈에 보이는 거리 오차로 바꾸려면 물체까지의 거리를 곱한다. 작은 각도에서 선형 오차는 거리 곱하기 라디안 각도에 가깝다. 여기서 두 가지 성질이 드러난다. 각도 오차는 거리와 무관하다. 멀리 있든 가까이 있든 똑같이 틀어진다. 반면 물리적 거리 오차는 거리에 비례한다. 멀리 있는 물체일수록 같은 지연에서 더 크게 어긋난다.
달리는 차 안에서 창밖의 표지판을 손가락으로 가리키는 것과 같다. 눈으로 본 위치를 손가락이 가리키기까지 시간이 걸리면, 그 사이 차가 지나간 만큼 손가락은 표지판 뒤를 가리킨다. 차가 빠를수록, 반응이 느릴수록 더 많이 빗나간다. 더하기가 아니라 곱하기다.
| 각속도 | 지연 | 각도 오차 | 기준 거리 | 선형 오차 |
|---|---|---|---|---|
| 50°/s | 100ms | 5.0° | 68cm | 약 59mm |
| 50°/s | 10ms | 0.5° | 68cm | 약 5.9mm |
| 50°/s | 10ms | 0.5° | 1m | 약 8.7mm |
| 100°/s | 20ms | 2.0° | 1m | 약 35mm |
| 300°/s | 20ms | 6.0° | 1m | 약 105mm |
표 출처: [9] (본문 기준으로 재구성)
표에서 둘째와 셋째 줄을 나란히 보라. 각도 오차는 같은데 밀리미터 값이 다르다. 같은 0.5도가 50센티미터에서는 약 4.4밀리미터, 68센티미터에서는 약 5.9밀리미터, 1미터에서는 약 8.7밀리미터다. 그러므로 정합 오차를 밀리미터로 말할 때는 기준 거리를 반드시 함께 적어야 한다. 거리 없이 적은 밀리미터 값은 다른 값과 비교할 수 없다.
병진 운동도 같은 방식으로 더해진다. 머리가 초속 v로 움직이면 지연 동안 v 곱하기 지연만큼 위치가 어긋난다. 이것은 거리와 무관한 절대 오차다. 홀러웨이는 두 성분을 합친 모델에서 회전 기여와 병진 기여가 대략 같은 크기임을 보였다.
여기서 나온 경험칙이 유명하다. 지연 1밀리초당 정합 오차 약 1밀리미터다. 그러나 조건을 빼면 오류가 된다. 이 값은 물체 거리 500밀리미터, 최대 머리 속도 초속 500밀리미터이자 초당 50도라는 특정 조건에서 나왔다. 그 조건에서 회전 기여가 0.44밀리미터/밀리초, 병진 기여가 0.5밀리미터/밀리초이고 합이 약 1밀리미터/밀리초다. 평균 속도인 초속 164밀리미터, 초당 20도 조건에서는 약 0.33밀리미터/밀리초로 내려간다. 물체 거리가 2미터라면 회전 기여가 네 배가 되므로 경험칙이 그대로 성립하지 않는다.
역산도 해 볼 만하다. 오차를 시력 한계인 1각분, 즉 0.0167도 이내로 묶으려면 초당 50도에서 지연이 0.33밀리초 이하여야 한다. 현실의 어떤 시스템도 도달하지 못하는 값이다. 목표를 0.5도로 완화하면 지연 10밀리초 이하가 요구된다. 이것이 20밀리초라는 관용적 목표가 왜 출발선일 뿐인지를 보여 준다.
정적 정합과 동적 정합을 섞지 않는 것도 중요하다. 아주마의 1995년 시스템은 대부분의 시점에서 정적 오차를 ±5밀리미터 이내로 유지했다. 68센티미터 팔 길이에서 0.42도에 해당하고, 그 이전 연구의 ±13밀리미터보다 작다. 그러나 이 값은 정적 정합이다. 같은 논문은 동적 오차가 쉽게 100밀리미터를 넘을 수 있다고 적는다. 68센티미터에서 약 8.3도다. 홀러웨이가 아주마의 시스템을 요약하며 온건한 머리 속도에서 4에서 5밀리미터의 동적 정합을 달성했다고 적은 문장이 널리 인용되지만, 그 표현은 제3자의 요약이다. 아주마 본인은 어디서도 동적 정합을 밀리미터로 보고하지 않는다. [9]
머리는 얼마나 빨리 도는가
지연을 오차로 환산하려면 머리가 실제로 얼마나 빨리 도는지를 알아야 한다. 이것은 추정이 아니라 측정된 값이다.
놀라운 사실은 분포가 극단적으로 비대칭이라는 점이다. 사용자는 대부분의 시간을 아주 느리게 움직이며 보낸다. 그리고 아주 짧은 순간에만 빠르게 돈다. 그런데 빠르게 도는 그 짧은 순간이 바로 지연 오차가 가장 크게 드러나는 순간이다. 평균 각속도로 설계한 시스템은 평소에는 괜찮고 결정적 순간에 무너진다.
도시의 자동차 속도 분포와 같다. 평균 시속은 20킬로미터도 안 되지만 도로는 시속 100킬로미터를 견디도록 설계해야 한다. 사고는 평균 속도에서 나지 않는다.
| 출처와 과제 | 각속도 |
|---|---|
| 아주마, 헤드셋 착용 데모, 느린 시퀀스 | 최대 70°/s |
| 아주마, 같은 데모, 빠른 시퀀스 | 최대 120°/s |
| 홀러웨이, 정밀 계획 과제 | 평균 20~26°/s |
| 홀러웨이가 채택한 보수적 상한 | 50°/s, 500mm/s |
| 리스트 1983, 비행 시뮬레이터 표적 응시 | 최대 76~240°/s |
| 스미스 1984, 시뮬레이터 | 최대 300°/s |
표 출처: [10] (본문 기준으로 재구성)
아주마의 측정에서 값의 약 절반이 초당 10도 이하였다. 빠른 시퀀스에서도 상위 10퍼센트만 초당 40에서 120도 구간에 있었다. 비대칭이 이렇게 드러난다.
표에 실리지 않은 숫자 하나를 짚어야 한다. 마인과 비숍은 전형적인 머리 운동에서 최대 초당 370도가 나온다고 적으면서 리스트의 1983년 연구를 출처로 명시한다. 그런데 아주마가 같은 리스트의 연구에서 인용한 최대치는 초당 76에서 240도다. 같은 1차 출처가 240도와 370도로 갈린다. 둘 중 하나는 반드시 틀렸고, 2차 인용 과정의 오류일 가능성이 높다. 설계 상한을 정할 때는 이 불일치를 알고 있어야 한다.
주파수 쪽 사실도 중요하다. 머리와 목은 관성이 있고 근육의 출력에는 한계가 있다. 그래서 신호 에너지의 거의 전부가 2헤르츠 이하에 있다. 이것이 예측이 원리적으로 가능한 근거다. 대역이 제한된 신호는 짧은 구간이라면 외삽할 수 있다. 동시에 이 사실은 예측의 한계도 정해 준다. 2헤르츠 신호는 몇 초 안에 여러 번 방향을 바꾸므로 긴 예측은 원리적으로 불가능하다.
최악의 경우를 무엇으로 잡느냐가 지연 예산을 통째로 바꾼다. 초당 50도로 설계한 시스템은 초당 300도 회전에서 여섯 배의 오차를 낸다. [10]
완화 1, 예측
지연을 없앨 수 없다면 미리 그리면 된다. 트래커가 읽은 현재 자세 대신, 그림이 실제로 표시될 시점의 자세를 추정해 그리는 것이다.
원리는 외삽이다. 현재의 각도와 각속도와 각가속도를 알면 일정 시간 뒤의 각도를 테일러 전개로 추정할 수 있다. 여기서 관성센서가 결정적인 이유가 드러난다. 위치 트래커만 있으면 속도와 가속도를 수치 미분해야 하는데, 미분은 잡음을 증폭한다. 자이로는 각속도를 직접 측정하므로 미분 한 번을 건너뛴다. 아주마는 이 차이가 2배에서 3배의 정확도 향상으로 나타남을 실측했다. 예측을 아예 하지 않는 경우와 비교하면 평균 5배에서 10배다.
농구에서 패스를 줄 때 동료가 지금 있는 자리가 아니라 공이 도착할 때 있을 자리로 던지는 것과 같다. 한 걸음 앞은 잘 맞히지만 열 걸음 앞은 못 맞힌다. 게다가 공이 날아가는 시간을 잘못 어림하면 아무리 잘 던져도 빗나간다.
예측에는 냉혹한 대가가 있다. 주파수 영역에서 보면 예측기는 신호를 각주파수의 제곱과 예측 구간에 비례해 증폭한다. 예측 오차는 예측 구간의 제곱에 가깝게 커진다. 그래서 예측은 짧은 구간에서만 이득이고, 어느 지점을 넘으면 예측하지 않는 것보다 나빠진다.
아주마의 그래프는 예측 구간 25밀리초에서 200밀리초까지를 측정 범위로 한다. 그 구간에서 무예측 곡선은 대체로 선형으로 증가하고 예측 곡선은 그보다 빠르게 증가한다. 본문은 여기서 곡선의 형태를 외삽해, 500밀리초 지점에서는 두 예측 방식 모두 무예측보다 부정확해질 것이라고 적는다. 500밀리초는 측정점이 아니라 외삽이다.
실효 한계로 흔히 인용되는 80밀리초도 성격을 구분해야 한다. 아주마는 문맥에 따라 예측 구간을 약 80밀리초 이하로 유지하라는 뜻으로도 쓰고, 시스템 지연을 약 80밀리초 이하로 유지하라는 뜻으로도 쓴다. 두 문장은 다른 이야기다. 인용할 때 어느 쪽인지 밝혀야 한다.
결정적 함정이 하나 더 있다. 시스템은 얼마나 앞을 예측해야 하는지, 즉 남은 지연이 얼마인지를 정확히 알아야 한다. 이 값은 프레임마다 흔들린다. 아주마는 계산에 반영되지 않은 지연 10밀리초가 초당 50도에서 0.5도의 오차를 낳고, 이것이 1미터 앞 물체에서 거의 9밀리미터의 오차가 된다고 적었다.
여기서 얼핏 역설적인 결론이 나온다. 예측이 효과를 보려면 먼저 지연이 짧고 예측 가능해야 한다. 예측은 지연을 대체하지 않는다. 지연을 줄여야 예측이 잘 듣는다. [11]
완화 2, 타임워프와 재투영
타임워프는 발상의 전환이다. 장면을 다시 그리는 대신, 이미 렌더링이 끝난 이미지를 화면에 내보내기 직전에 최신 머리 자세에 맞춰 2차원적으로 비틀어 넣는다. 회전만 보정하는 경우 이 변환은 단순한 이미지 워프이므로 계산 비용이 거의 들지 않고, 렌즈 왜곡 보정 패스와 합칠 수도 있다.
효과는 극적이다. 지연이 렌더링이 끝난 시각부터 표시 시각까지로 줄어들기 때문이다. 카맥의 예산에서 타임워프를 적용한 구성은 2에서 18밀리초, 주사선을 따라가는 연속 타임워프는 센서 초당 500회 기준으로 2에서 3밀리초다.
사진관에서 찍은 단체 사진을 인화 직전에 조금 회전시켜 액자에 맞추는 것과 같다. 다시 촬영하는 것보다 훨씬 빠르고, 회전만이라면 결과도 거의 같다. 그러나 카메라가 옆으로 움직였다면 회전만으로는 맞출 수 없고, 사진에 없던 뒤쪽 배경은 만들어 낼 수 없다.
비동기 타임워프는 이것을 별도 스레드에서 수행해, 게임이 프레임을 놓쳐도 화면은 항상 최신 자세로 갱신되게 한다. 안토노프는 2015년에 이 방식의 구현 요건을 정리했다. 90프레임에서 프레임 간격이 약 11밀리초이므로 그래픽처리장치가 메인 렌더링을 선점해야 하고, 실용적으로는 2밀리초 이하의 선점 단위가 필요하다. 당시의 하드웨어와 드라이버로는 어려운 요구였다.
또 하나의 규칙이 있다. 비동기 타임워프는 표시 주사율의 정수 분의 1로 떨어뜨려야 한다. 90에서 45로 떨어지면 안정적인 이중상이 되지만, 65와 같은 중간값에서는 망막 위 상의 개수와 위치가 계속 변해 오히려 나쁘다.
2016년의 비동기 스페이스워프는 여기서 한 걸음 더 나간다. 장면 안에서 스스로 움직이는 물체까지 외삽해 연산 부담을 거의 절반으로 줄인다. 다만 표시 주사율의 절반 미만으로는 잘 확장되지 않는다.
마이크로소프트의 혼합현실 문서는 이 계열의 기법을 하드웨어 보조 안정화, 즉 재투영이라고 설명하며 네 가지 주된 방식을 열거한다. 깊이 재투영, 평면 재투영, 자동 평면 재투영, 그리고 사용하지 않음이다. 깊이 재투영은 2세대 기기와 몰입형 헤드셋에서만 쓸 수 있다고 명시한다. 따라서 1세대 광학 방식 기기에서 선택지는 자동 평면과 평면 둘이다.
| 방식 | 보정 범위 | 남는 문제 |
|---|---|---|
| 회전 전용 2D 워프 | 머리 회전 | 병진 미반영, 가까운 물체의 이중상 |
| 깊이 기반 재투영 | 회전과 병진 | 가려졌던 영역에 데이터 없음 |
| 평면 재투영 | 지정한 평면 위의 내용 | 평면에서 벗어난 깊이는 어긋남 |
| 장면 운동 외삽 | 장면 내 움직임까지 | 절반 미만 주사율에서 확장 불량 |
표 출처: [12] (본문 기준으로 재구성)
대가를 정리하면 이렇다. 회전만 보정하면 머리의 이동이 반영되지 않아 가까운 물체에서 저더가 남는다. 깊이를 함께 써서 위치까지 보정하면 가려졌던 영역에 데이터가 없어 구멍이 생긴다. 장면 안에서 스스로 움직이는 물체는 워프된 프레임에서 시간이 얼어붙는다. 시선 방향에 의존하는 반사와 하이라이트는 틀린 값으로 남는다.
현대 기기의 체감 지연이 카탈로그상의 파이프라인 지연보다 훨씬 낮은 것은 거의 전적으로 이 기법 덕이다. 동시에 이 기법의 한계가 왜 여전히 높은 프레임률이 필요한지에 대한 답이다. 타임워프는 만능 해법이 아니라 도로의 구멍을 메우는 보험이다. [12]
완화 3, 저잔상 디스플레이
저잔상은 지연을 줄이지 않는다. 그런데도 체감 품질을 극적으로 올린다. 이유는 홀드형 번짐이다. 화면이 프레임 내내 켜져 있으면 그 시간 동안 눈이 회전하면서 상이 망막 위를 미끄러져 길게 뭉개진다. 화소를 프레임 끝에 짧게만 번쩍이면 번짐은 그 짧은 시간만큼으로 줄어든다.
달리는 기차 안에서 창밖 풍경을 보는 것과 같다. 전등을 계속 켜 두면 풍경이 길게 흘러 보인다. 스트로보를 짧게 터뜨리면 매 순간이 또렷한 정지 화면으로 보인다. 대신 스트로보가 너무 느리면 깜빡임이 거슬린다.
대가가 셋 있다.
첫째, 밝기다. 듀티비가 33분의 1로 줄면 같은 평균 휘도를 내기 위해 순간 휘도를 33배 올려야 한다. 광학 방식 장치에서는 밝은 실외 환경과 경쟁해야 하므로 이 제약이 특히 가혹하다.
둘째, 플리커다. 켜짐과 꺼짐이 반복되면 주사율이 낮을 때 깜빡임이 지각된다. 그래서 저잔상은 90프레임 이상의 높은 주사율과 짝을 이뤄야만 성립한다.
셋째, 프레임을 놓쳤을 때의 저더가 오히려 더 선명해진다. 번짐이 없으니 두 개의 상이 또렷하게 분리되어 보인다. 저잔상은 흐릿한 하나의 상을 선명한 두 개의 상으로 바꾸는 거래다. 프레임률을 지키는 것을 전제로만 이득이다.
색순차 방식에서는 또 다른 부작용이 나타난다. 1세대 광학 방식 기기는 적, 녹, 청, 녹 순서로 색 필드를 초당 60회 순환시키고, 개별 색 필드는 초당 240회로 표시된다. 이 구조 때문에 빠르게 움직이는 물체에서 색이 분리되어 무지개 테두리가 보인다. 그래서 개발자 문서는 시선으로 추적될 물체를 초당 5도 이하로 움직이도록 권고한다. 초당 5도는 대단히 느린 속도다. 이 권고 하나가 색순차 방식의 제약을 그대로 드러낸다. [13]
완화 4, 두 개의 기울어짐
증강현실 장치에는 시간이 이미지 위로 번지는 장치가 둘 있다. 카메라의 롤링 셔터와 디스플레이의 순차 주사다. 둘은 방향만 반대일 뿐 같은 문제다.
롤링 셔터 카메라는 센서의 행을 한쪽 끝에서 차례로 읽어 낸다. 읽는 동안 카메라가 돌면 첫 행과 마지막 행은 서로 다른 시각의 세계를 담는다. 직선은 기울고 사각형은 평행사변형이 된다.
달리는 차창 밖으로 카메라를 내밀고 찍은 사진에서 전봇대가 기울어 보이는 현상과 같다. 센서가 한쪽에서 반대쪽으로 훑는 동안 세상이 옆으로 흘러갔기 때문이다.
추적에 미치는 영향은 심각하다. 특징점의 위치가 왜곡되면 자세 추정 자체가 틀어진다. 그 오차는 지연 오차와 구별되지 않은 채 정합 오차로 나타난다. motion-to-photon 지연만 측정해서는 결코 발견되지 않는 오차원이다.
보정 원리는 명확하다. 각 행에 독립된 타임스탬프를 부여하고, 그 시각의 관성센서 자세를 써서 행마다 다른 변환을 적용한다. 하나의 이미지가 하나의 자세라는 가정을 버리고, 하나의 행이 하나의 자세라는 수준으로 내려가는 것이다.
| 기울어짐의 원인 | 조건 | 전단 각도 |
|---|---|---|
| 카메라 리드아웃 10ms | 100°/s | 1.0° |
| 60Hz 순차 주사, 약 16ms | 100°/s | 약 1.6° |
| 90Hz 순차 주사, 약 10.7ms | 100°/s | 약 1.07° |
| NTSC 60필드/s, 한 필드 | 200°/s | 3.3°, 600화소 시야에서 33화소 |
표 출처: [14] (본문 기준으로 재구성)
표의 마지막 줄과 대비되는 값이 마인과 비숍의 계산이다. 같은 조건에서 주사선 단위로 다시 계산하면 오차가 0.13화소로 떨어진다. 250배가 넘는 차이다.
디스플레이 쪽 해법도 대칭적이다. 주사선 단위로 타임워프를 적용하거나, 프레임 전체를 동시에 발광시키는 방식으로 문제 자체를 없앤다. 카맥의 연속 타임워프는 주사선을 추종하는 방식으로 센서 초당 500회 기준 2에서 3밀리초의 지연을 달성한다.
카메라 쪽 근본 해법은 글로벌 셔터 센서다. 모든 화소를 같은 순간에 노출하고 동시에 저장한다. 대신 화소마다 저장 소자를 두어야 하므로 감도와 해상도를 희생한다. 공짜가 아니다. [14]
두 갈래 길
광학 방식과 비디오 방식의 차이는 한 가지 질문으로 요약된다. 현실을 늦출 수 있는가.
광학 방식에서는 실제 세계의 빛이 반투명 광학계를 통해 곧바로 눈에 들어온다. 현실 쪽 지연은 사실상 0이다. 반면 가상 물체는 파이프라인 전체를 통과해 늦게 도착한다. 그래서 오차가 상대적으로 드러난다. 현실이라는 완벽한 기준선 위에서 가상만 헤엄친다. 이 오차를 줄일 방법은 하나뿐이다. 가상 쪽 지연을 실제로 줄이는 것이다.
비디오 방식에서는 현실도 카메라를 통과한다. 노출, 리드아웃, 신호 처리, 합성, 렌더링, 주사를 모두 거친다. 여기서 결정적 이점이 생긴다. 현실과 가상이 같은 파이프라인을 지나므로, 둘을 같은 시각으로 정렬하면 상대 정합은 원리적으로 완벽해질 수 있다. 홀러웨이는 1995년에 바주라와 노이만의 연구를 인용하며 이 점을 지적했다. 비디오 방식은 실제 영상을 일부러 지연시켜 가상과 맞추는 선택지를 갖는다. 광학 방식에는 없는 선택지다.
무대 위 배우와 자막의 관계로 생각하면 쉽다. 광학 방식은 배우가 실제로 무대에 서 있고 자막만 늦게 나오는 상황이라 어긋남이 즉시 보인다. 비디오 방식은 배우의 모습도 화면으로 중계하는 상황이라 자막과 완벽히 맞출 수 있다. 대신 관객이 듣는 실제 목소리보다 화면이 통째로 늦게 나온다.
비디오 방식의 대가가 여기에 있다. 세계 전체가 전정기관보다 늦는다. 시각과 전정 감각의 불일치는 정합 오차보다 근원적인 불편을 만든다. 손을 뻗어 물건을 집는 것 같은 감각운동 과제의 수행도 떨어진다.
| 항목 | 광학 방식 | 비디오 방식 |
|---|---|---|
| 현실 쪽 지연 | 사실상 0 | 카메라 파이프라인 전체 |
| 상대 정합의 이론적 한계 | 가상 쪽 지연이 그대로 오차 | 원리적으로 완벽 가능 |
| 현실을 늦추는 선택 | 불가능 | 가능 |
| 주된 고통 | 가상 물체의 헤엄침 | 세계 전체의 지각 지연 |
표 출처: [15] (본문 기준으로 재구성)
비디오 쪽 지연을 구성하는 항목은 카메라 노출이 통상 1에서 10밀리초, 롤링 방식 센서 리드아웃이 5에서 15밀리초 수준으로 알려져 있다. 이 역시 업계 통용 범위이며 특정 기기의 확인된 사양이 아니다. 실무에서는 카메라 영상 자체에도 타임워프를 적용해, 카메라의 긴 파이프라인 지연을 머리 움직임에 대한 응답 지연으로부터 분리한다.
홀러웨이의 결론은 광학 방식에 대해 단호하다. 온건한 머리 속도에서도 시스템 지연이 만드는 정합 오차가 다른 모든 오차원의 합보다 크다. 게다가 광학 왜곡을 그래픽 파이프라인에서 계산으로 보정하면, 그 계산이 유발하는 지연 오차가 원래의 왜곡 오차보다 커지는 경우가 흔하다. 보정이 문제를 키우는 것이다.
벤더 수치를 읽을 때의 주의점도 여기서 나온다. 애플은 2023년에 비전 프로의 전용 칩이 12밀리초 안에 새 이미지를 디스플레이로 스트리밍한다고 공표했다. 눈 깜빡임보다 8배 빠르다는 표현을 덧붙였다. 이 문장은 카메라에서 디스플레이까지의 스트리밍 구간을 말한다. 머리의 물리적 움직임에서 시작하는 motion-to-photon의 양 끝점과 일치하지 않는다. 깜빡임 비교도 96밀리초를 전제한 셈인데, 사람의 눈 깜빡임은 통상 100에서 400밀리초 지속된다. 검증 가능한 지연 예산으로 취급할 수 없는 숫자다.
두 방식의 구조적 차이를 모르면 어느 방식이 지연이 더 낮은가라는 잘못된 질문을 하게 된다. 두 방식의 지연은 서로 다른 것을 재는 서로 다른 숫자다. 광학 방식은 가상의 지연을 줄이는 싸움이고, 비디오 방식은 세계 전체의 지연을 줄이는 싸움이다. [15]
재는 법, 그리고 남은 문제
지연 측정의 어려움은 양 끝점이 서로 다른 물리 도메인에 있다는 데 있다. 시작점은 기계적 움직임이고 끝점은 빛이다.
표준 방법은 두 가지다. 하나는 고속 카메라로 실제 물체와 화면 속 대응물을 한 프레임에 함께 찍어 프레임 수를 세는 것이다. 단순하고 검증 가능하지만 시간 분해능이 카메라 프레임률에 묶인다. 다른 하나는 광다이오드로 화면의 밝기 변화를 재고 물리적 스위치나 가속도계와의 시간차를 재는 것이다. 시간 분해능은 훨씬 높지만 화면의 한 점만 측정한다.
측정 정확도에는 한계가 있다. 펠트스타인과 엘리스는 2020년에 단일 값에 대한 측정 불확실도를 약 ±4.2밀리초로 제시했다. 초당 240프레임 카메라의 구간 폭은 4.17밀리초이고, 이 방법은 평균적으로 약 2.1밀리초를 과대 보고한다. 20밀리초를 다투는 분야에서 ±4.2밀리초는 작은 값이 아니다.
여기서 이 장의 가장 실무적인 발견이 나온다. 지연은 단일 값이 아니며, 언제 재느냐에 따라 다섯 배 이상 달라진다.
워버턴과 동료들은 2023년에 일곱 개 구성을 초당 240프레임 카메라법으로 측정했다. 90프레임 기기 둘, 80프레임 기기 하나, 그리고 하나의 기기를 80, 90, 120, 144프레임으로 돌린 네 구성이다. 이들은 움직임이 갑자기 시작되는 순간과 움직임이 매끄럽게 진행 중인 순간을 나누어 측정했다.
| 조건 | 측정 지연 |
|---|---|
| 갑작스러운 움직임 시작 | 평균 21~42ms |
| 매끄러운 구간, 예측 작동 | 2~13ms |
| 예측이 낮은 값에 도달하는 시간 | 움직임 시작 후 25~58ms |
| 영상 간 재현성 | 표준편차 최대 1.75ms |
표 출처: [16] (본문 기준으로 재구성)
갑작스러운 시작에서는 예측 알고리즘이 무력하다. 그래서 시스템의 진짜 파이프라인 지연이 드러난다. 매끄러운 구간에서는 예측이 작동해 실효 지연이 한 자릿수로 떨어진다. 제조사가 광고하는 낮은 숫자는 대개 후자다. 사용자가 불편을 느끼는 순간은 대개 전자다. 가속이 급격한 순간, 즉 움직임의 시작과 정지와 방향 전환이 지연이 폭로되는 지점이다.
자동차의 공인 연비와 실주행 연비의 차이와 같다. 정속 주행에서 잰 숫자는 좋지만, 신호등마다 서고 출발하는 도심 주행에서는 전혀 다른 값이 나온다.
같은 연구에서 나온 반례 하나가 중요하다. 한 기기를 144프레임으로 돌렸을 때의 지연이 90프레임으로 돌아가는 다른 기기보다 컸다. 주사율이 높다고 지연이 낮은 것이 아니다. 주사율은 파이프라인 구조와 예측 품질을 대체하지 못한다.
선행 문헌의 범위도 넓다. 초기 개발자용 기기의 회전 지연이 40에서 85밀리초로 보고된 적이 있고, 일부 설정에서는 1에서 26밀리초로도 보고되었다. 어느 구성인지, 무엇을 경계로 삼았는지를 밝히지 않은 숫자는 비교에 쓸 수 없다. 스타우페르트와 동료들의 2020년 리뷰는 지연과 멀미를 다룬 연구 약 11건을 한 표로, 1991년부터 2020년까지의 측정 방식 약 25행을 다른 표로 정리한다. 측정 방식이 이렇게 많다는 사실 자체가 표준의 부재를 말해 준다.
아직 풀리지 않은 것을 정직하게 적어 둔다. 첫째는 지터다. 지연의 흔들림이 평균 지연보다 해로울 수 있다는 정성적 결론은 확인되지만, 어느 정도 크기와 빈도의 지연 스파이크가 멀미를 유발하는지에 대한 구체적 수치는 정리되어 있지 않다. 둘째는 네트워크 오프로딩이다. 렌더링을 기기 밖으로 내보내는 구조에서 지연 예산이 어떻게 재편되는지는 이 장이 다룬 문헌의 범위를 넘는다. 셋째는 개인차다. 같은 기기에서 같은 지연을 겪어도 사람마다 불편의 정도가 크게 다르다. 이 차이를 설계 변수로 다루는 방법은 아직 없다.
이 장의 모든 절이 결국 하나의 곱셈으로 돌아간다. 지연은 초로 재지만 사람이 보는 것은 각도이고, 둘을 잇는 것은 머리의 각속도다. 그러므로 증강현실에서 지연을 줄이는 일은 속도를 높이는 공학이 아니라, 각속도가 가장 클 순간을 견디도록 시간 예산을 배분하는 설계다. [16]
참고문헌
본문의 번호를 누르면 출처로 이동합니다. 절 끝의 번호는 그 절의 사실 자료를, 표 아래의 번호는 표에 사용한 자료를 가리킵니다. 비교·계산·비유와 결론은 필자의 재구성입니다. 한 번호에 함께 사용한 문헌이 둘 이상이면 묶어서 적었습니다.
서지정보와 확인 메모는 옵시디언 조사 기록을 바탕으로 복원했습니다. 원 기록의 ‘전문 확인’·‘조회’ 표기는 당시 조사 상태이며 이번 웹판에서 모두 재검증했다는 뜻은 아닙니다. 불완전한 서지사항은 임의로 채우지 않았습니다.
- [1]John Carmack, "Latency Mitigation Strategies" (2013), Oculus/AltDevBlogADay — 미러본 https://danluu.com/latency-mitigation/ ; Stauffert, Niebling & Latoschik, "Latency and Cybersickness: Impact, Causes, and Measures. A Review", Frontiers in Virtual Reality 1:582204 (2020) ↩1 ↩2
- [2]
- [3]
- [4]
- [5]
- [6]John Carmack (2013), 'Displays' 절 ; Warburton, M. et al., "Measuring motion-to-photon latency for sensorimotor experiments with virtual reality systems", Behavior Research Methods (2022), doi:10.3758/s13428-022-01983-5, Methods 절(잔상 실측값) ; 번짐 각도는 홀드형 블러 = 속도×홀드시간 관계에서 저자 계산 ↩1 ↩2
- [7]
- [8]
- [9]
- [10]
- [11]Ronald Azuma, "Predictive Tracking for Augmented Reality", UNC TR95-007 (1995) — 초록(2~3배/5~10배/80ms), §4.5 Figure 4.36(예측 구간 대 오차), §5.11(예측 구간 추정 오차 10ms → 0.5°), §6.5 ↩
- [12]
- [13]Warburton, M. et al., Behavior Research Methods (2022), doi:10.3758/s13428-022-01983-5, Methods 절 — 실측 잔상값 및 듀티 구조 ; Microsoft Learn, "Hologram stability", Color separation 절(240Hz 색필드, 5°/s 권고) ; 번짐 각도는 저자 계산 ↩
- [14]
- [15]Richard Holloway, "Registration Errors in Augmented Reality Systems", UNC TR95-016 (1995), 초록 및 §8.4(비디오 시스루의 현실 영상 지연 옵션, Bajura & Neumann 1995 인용) ; Michael Bajura & Ulrich Neumann, "Dynamic Registration Correction in Video-Based Augmented Reality Systems", IEEE Computer Graphics & Applications 15(5) (1995) ; Apple Newsroom, "Introducing Apple Vision Pro" (2023-06-05) ↩1 ↩2
- [16]Warburton, M., Mon-Williams, M., Mushtaq, F., Morehead, J.R., "Measuring motion-to-photon latency for sensorimotor experiments with virtual reality systems", Behavior Research Methods (2022), doi:10.3758/s13428-022-01983-5 (프리프린트 bioRxiv 2022.06.24.497509) — 초록, Methods, Results ; Stauffert et al., Frontiers in Virtual Reality 1:582204 (2020), Table 1·Table 2(측정 기법 25종 이상) ; Feldstein & Ellis (2020) 측정 불확실도 ↩1 ↩2
