클라우드에서 원격으로 비디오 게임을 플레이하는 클라우드 게임은 코로나19 팬데믹이 한창일 때 게임 하드웨어가 폐쇄되고 부족해지는 상황에서 전례 없는 성장을 보였습니다. 오늘날 이 번성하는 산업에는 60억 달러 규모의 글로벌 시장과 전 세계 2,300만 명 이상의 플레이어가 포함됩니다.
그러나 클라우드 게임과 광범위한 네트워킹 분야에서는 장치 간 동기화가 여전히 지속적인 문제로 남아 있습니다. 클라우드 게임에서는 비디오, 오디오 및 햅틱 피드백이 단일 중앙 소스에서 일반적으로 별도의 네트워크에서 실행되는 플레이어의 화면 및 콘솔과 같은 여러 장치로 스트리밍됩니다. 이러한 네트워크는 동기화되지 않으므로 두 개의 개별 스트림 간에 지연이 발생합니다. 플레이어는 화면에서 무슨 일이 일어나는지 본 다음 0.5초 후에 콘솔에서 이를 들을 수 있습니다.
이 문제에서 영감을 받아 MIT와 Microsoft Research의 과학자들은 두 장치에 전송되는 스트림을 동기화하는 독특한 접근 방식을 취했습니다. Ekho라는 시스템은 클라우드 서버에서 스트리밍되는 게임 오디오에 들리지 않는 백색 소음 시퀀스를 추가합니다. 그런 다음 플레이어 콘솔에서 녹음한 오디오의 해당 시퀀스를 듣습니다.
Ekho는 이러한 노이즈 시퀀스 간의 불일치를 사용하여 스트림 간의 지연을 지속적으로 측정하고 보상합니다.
그리고 실제 클라우드 게임 세션에서 연구원들은 Ekho가 매우 안정적이라는 것을 보여주었습니다. 시스템은 대부분의 경우 스트림을 서로 10ms 미만의 간격으로 동기화할 수 있습니다. 다른 동기화 방법에서는 50ms 이상의 지속적인 지연이 발생했습니다.
Ekho는 클라우드 게임용으로 설계되었지만 이 기술은 여러 증강 현실 또는 가상 현실 헤드셋을 사용하는 훈련 상황과 같이 다양한 장치로 이동하는 미디어 스트림을 동기화하는 데 더 광범위하게 사용될 수 있습니다.
대학원생인 Pouya Hamedanian은 “때때로 좋은 해결책을 찾는 데 필요한 것은 이미 설정된 것에서 벗어나 생각하는 것입니다. 전체 커뮤니티는 네트워크를 통해 동기화하여 이 문제를 해결하는 방법을 고민해 왔습니다.”라고 말합니다. 전기 공학 및 컴퓨터 과학 분야(EECS) 및 Ekho를 설명하는 논문의 수석 저자: “방에서 오디오를 듣고 두 트랙을 동기화하는 것은 미친 소리처럼 들리지만 매우 좋은 솔루션임이 밝혀졌습니다.”
Hamedanian은 Microsoft의 소프트웨어 개발자인 Doug Gallatin이 이 논문에 합류했습니다. Mohammad Alizadeh, 전기 공학 및 컴퓨터 과학 부교수이자 컴퓨터 과학 및 인공 지능 연구소(CSAIL) 회원; 수석 저자인 Krishna Chintalabudhi, Microsoft Research의 수석 연구원입니다. 이 논문은 ACM SIGCOMM 컨퍼런스에서 발표될 예정입니다.
항상
클라우드 게임에서 브로드캐스트 간 지연의 핵심은 클럭 동기화라고 알려진 근본적인 네트워킹 문제입니다.
“컨트롤러와 모니터가 시계를 보고 동시에 동일한 것을 볼 수 있다면 모든 것을 시계에 동기화할 수 있습니다. 그러나 시계 동기화에 관한 많은 이론적 작업은 결코 극복할 수 없는 특정 한계가 있음을 보여줍니다. “라고 Hamedanian은 말합니다.
많은 방법에서는 핑퐁 메시징을 통해 시계를 동기화하려고 시도합니다. 여기서 장치는 핑퐁 메시지를 서버에 보내고 서버는 핑퐁 메시지를 다시 보냅니다. 장치는 메시지가 반환되는 데 걸리는 시간을 계산하고 네트워크 지연을 고려하여 이 값을 절반으로 줄입니다.
그러나 네트워크를 통한 경로는 비대칭일 가능성이 높으므로 반환 메시지보다 메시지가 서버에 도달하는 데 시간이 더 오래 걸릴 수 있습니다. 따라서 이 방법은 신뢰할 수 없으며 수백 밀리초의 오류가 발생할 수 있습니다. 인간은 일반적으로 스트림 간의 지연이 10ms에 도달하자마자 인식할 수 있습니다.
Hamedanian은 “그래서 화면에서 어떤 일이 발생하면 콘솔에서도 10밀리초 이내에 발생하기를 원합니다.”라고 설명합니다.
그와 그의 협력자들은 이러한 개별 스트림을 동기화하기 위해 게임 오디오를 듣는 실험을 하기로 결정했습니다.
클라우드 게임에서 플레이어 콘솔의 마이크는 화면의 스피커에서 재생되는 게임 오디오를 포함하여 실내의 오디오를 녹음하여 서버로 다시 보냅니다. 그러나 이를 사용하여 동기화하는 것은 실내 오디오에 배경 소음이 포함되어 있기 때문에 신뢰할 수 없습니다.
그래서 그들은 게임 오디오가 플레이어 화면에 방송되기 전에 유사 잡음으로 알려진 매우 낮은 볼륨의 백색 잡음의 동일한 시퀀스를 추가하도록 Ekho를 설계했습니다. 동기화를 위해 이러한 유사 잡음 세그먼트를 사용합니다.
Ekho가 구축되기 전에 연구원들은 플레이어가 게임 오디오에서 잘못된 소음을 들을 수 없다는 것을 증명하기 위해 사용자 연구를 수행했습니다. 이러한 노이즈 시퀀스는 또한 압축 유연성이 있으며, 이는 콘솔에서 전송된 오디오가 데이터 전송 속도를 높이기 위해 고도로 압축되기 때문에 중요합니다.
거짓 과대광고, 진짜 성공
Ekho-Estimator 모듈은 게임 오디오에 잘못된 노이즈 시퀀스를 추가합니다. 콘솔에서 녹음된 게임 오디오를 수신하면 해당 태그를 수신하고 스트림 정렬을 시도합니다. 이를 통해 스트림 간의 지연을 정확하게 계산할 수 있습니다.
Ekho-Estimator는 이 정보를 Ekho-Compensator로 보냅니다. Ekho-Compensator는 몇 밀리초의 오디오를 건너뛰거나 서버에서 보낸 게임 오디오에 몇 밀리초의 무음을 추가하여 스트림을 동기화합니다.
그들은 실제 클라우드 방송 세션에서 Ekho를 테스트한 결과, 마이크 품질이 좋지 않거나 녹음으로 배경 소음이 캡처되는 경우에도 다른 동기화 방법보다 우수하다는 사실을 발견했습니다.
Ekho는 스트림 중 거의 87%의 시간 동안 스트림 간 지연을 10ms 미만으로 제한했습니다. 팀이 테스트한 다른 어떤 방법도 이 지연을 50밀리초 미만으로 줄일 수 없었습니다.
“기본 네트워크를 사용하여 동기화 오류를 측정하려고 시도하는 전통적인 방법은 오류가 훨씬 더 큽니다. 이 프로젝트를 시작했을 때 우리는 그것을 할 수 있을지 확신하지 못했습니다. 하지만 우리가 얻을 수 있는 정확성은 다음과 같습니다. Ekho는 더 낮은 수준에 있습니다.”라고 Chintalabudi는 말합니다. 이전에는 들어본 적이 없는 밀리초입니다.”
이러한 결과에 깊은 인상을 받은 연구원들은 5개의 컨트롤러를 동일한 모니터 장치와 동기화하는 등 더 복잡한 상황에서 Ekho가 얼마나 잘 작동하는지 확인하고 싶었습니다. 또한 Ekho는 클라우드 게임을 타겟으로 했기 때문에 그 범위가 제한되어 있습니다. 향후 작업에서는 콘서트 홀과 같은 매우 큰 공간의 양쪽 끝에서 장치를 동기화할 수 있도록 Ekho를 개선할 수 있습니다.
“들리지 않는 백색 소음을 일종의 ‘시간 측정’으로 사용하는 것은 고정관념에서 벗어난 사고가 어떻게 예상치 못한 결과로 이어질 수 있는지 보여주는 훌륭한 예입니다.”라고 Alizadeh는 말합니다. “이 기술은 클라우드 게임뿐만 아니라 잠재적으로 모든 다중 장치 스트리밍 시나리오에서 사용자 경험을 향상시킬 수 있습니다.”