Estudos/Pesquisa

Um sistema para manter os jogadores baseados na nuvem sincronizados

.

Os jogos em nuvem, que envolvem jogar videogame remotamente a partir da nuvem, testemunharam um crescimento sem precedentes durante os bloqueios e a escassez de hardware de jogos que ocorreram durante o auge da pandemia de Covid-19. Hoje, a indústria florescente abrange um mercado global de US$ 6 bilhões e mais de 23 milhões de players em todo o mundo.

No entanto, a sincronização entre dispositivos continua sendo um problema persistente nos jogos em nuvem e no campo mais amplo das redes. Nos jogos em nuvem, o vídeo, o áudio e o feedback tátil são transmitidos de uma fonte central para vários dispositivos, como a tela e o controlador do jogador, que normalmente operam em redes separadas. Estas redes não estão sincronizadas, levando a um atraso entre estes dois fluxos separados. Um jogador pode ver algo acontecer na tela e ouvi-lo em seu controle meio segundo depois.

Inspirados por este problema, cientistas do MIT e da Microsoft Research adotaram uma abordagem única para sincronizar fluxos transmitidos para dois dispositivos. Seu sistema, chamado Ekho, adiciona sequências de ruído branco inaudíveis ao áudio do jogo transmitido do servidor em nuvem. Em seguida, ele escuta essas sequências no áudio gravado pelo controlador do player.

Ekho usa a incompatibilidade entre essas sequências de ruído para medir e compensar continuamente o atraso entre fluxos.

Em sessões reais de jogos na nuvem, os pesquisadores mostraram que o Ekho é altamente confiável. O sistema pode manter os fluxos sincronizados com menos de 10 milissegundos um do outro, na maioria das vezes. Outros métodos de sincronização resultaram em atrasos consistentes de mais de 50 milissegundos.

E embora o Ekho tenha sido projetado para jogos em nuvem, essa técnica poderia ser usada de forma mais ampla para sincronizar fluxos de mídia que viajam para diferentes dispositivos, como em situações de treinamento que utilizam vários headsets de realidade aumentada ou virtual.

“Às vezes, basta pensar fora do que foi definido para você para que uma boa solução surja. Toda a comunidade já está decidida sobre como resolver esse problema sincronizando pela rede. Sincronizando dois streams ouvindo o áudio na sala parecia loucura, mas acabou sendo uma solução muito boa”, diz Pouya Hamadanian, estudante de graduação em engenharia elétrica e ciência da computação (EECS) e autor principal de um artigo que descreve o Ekho.

Hamadanian é acompanhado por Doug Gallatin, desenvolvedor de software da Microsoft; Mohammad Alizadeh, professor associado de engenharia elétrica e ciência da computação e membro do Laboratório de Ciência da Computação e Inteligência Artificial (CSAIL); e o autor sênior Krishna Chintalapudi, pesquisador principal da Microsoft Research. O artigo será apresentado na conferência ACM SIGCOMM.

Fora do horário

No centro do atraso entre fluxos em jogos em nuvem está um problema fundamental na rede conhecido como sincronização de relógio.

“Se o controlador e a tela pudessem olhar para seus relógios e ao mesmo tempo ver a mesma coisa, poderíamos sincronizar tudo com o relógio. Mas muitos trabalhos teóricos sobre sincronização de relógio mostram que há certos limites que você nunca poderá superar “, diz Hamadanian.

Muitas abordagens tentam sincronizar o relógio por meio de mensagens de pingue-pongue, onde um dispositivo envia uma mensagem de ping ao servidor, que envia de volta uma mensagem de pong. O dispositivo conta quanto tempo leva para a mensagem retornar e corta esse valor pela metade para calcular o atraso da rede.

Mas o caminho pela rede é provavelmente assimétrico, por isso pode levar mais tempo para a mensagem chegar ao servidor do que para a mensagem de retorno. Portanto, esse método não é confiável e pode introduzir centenas de milissegundos de erro. Os humanos normalmente podem perceber o atraso entre fluxos quando atinge 10 milissegundos.

“Portanto, se algo acontecer na tela, queremos que aconteça também no controlador em 10 milissegundos”, explica Hamadanian.

Ele e seus colaboradores decidiram tentar ouvir o áudio do jogo para sincronizar essas transmissões separadas.

Nos jogos na nuvem, o microfone do controlador do jogador grava o áudio da sala, incluindo o áudio do jogo reproduzido pelos alto-falantes na tela, que é enviado de volta ao servidor. Mas usar isso para sincronização não é confiável porque o áudio da sala contém ruído de fundo.

Então, eles projetaram o Ekho para adicionar sequências idênticas de ruído branco de volume extremamente baixo, conhecido como pseudo ruído, ao áudio do jogo antes de ser transmitido para a tela do jogador. Ele usa esses segmentos de pseudo-ruído para sincronização.

Antes de construir o Ekho, os pesquisadores realizaram um estudo com usuários para provar que os jogadores não conseguiam ouvir o pseudo ruído no áudio do jogo. Essas sequências de ruído também são resistentes à compactação, o que é importante porque o áudio enviado pelo controlador é altamente compactado para acelerar a transferência de dados.

Pseudo ruído, verdadeiro sucesso

O módulo Ekho-Estimator adiciona sequências de pseudo-ruído ao áudio do jogo. Ao receber o áudio do jogo gravado do controlador, ele escuta esses marcadores e tenta alinhar os streams. Isso permite calcular com precisão o atraso entre fluxos.

O Ekho-Estimator envia essas informações para o módulo Ekho-Compensator, que pula alguns milissegundos de som ou adiciona alguns milissegundos de silêncio ao áudio do jogo enviado pelo servidor, que sincroniza os streams.

Eles testaram o Ekho em sessões reais de streaming na nuvem e descobriram que ele era superior a outros métodos de sincronização, mesmo quando a qualidade do microfone era ruim ou o ruído de fundo era captado pela gravação.

Ekho limitou o atraso entre transmissões a menos de 10 milissegundos em quase 87% do tempo durante as transmissões. Nenhum outro método testado pela equipe foi capaz de reduzir esse atraso para menos de 50 milissegundos.

“A maneira tradicional de fazer isso, que envolve tentar medir o erro de sincronização usando a rede subjacente, os erros são significativamente maiores. Quando iniciamos este projeto, não tínhamos certeza se isso poderia ser feito. Mas a precisão que podemos chegar ao Ekho, em níveis inferiores a um milissegundo, é algo inédito”, diz Chintalapudi.

Impressionados com esses resultados, os pesquisadores querem ver o desempenho do Ekho em situações mais complexas, como sincronizar cinco controladores no mesmo dispositivo de tela. Além disso, como o Ekho foi direcionado para jogos em nuvem, ele tem limitações de alcance. Trabalhos futuros poderiam buscar aprimorar o Ekho para que ele possa sincronizar dispositivos em qualquer extremidade de uma sala muito grande, como uma sala de concertos.

“Usar ruído branco inaudível como uma espécie de ‘cronometrista’ é um ótimo exemplo de como o pensamento inovador pode produzir resultados inesperados”, diz Alizadeh. “A técnica pode melhorar a experiência do usuário, não apenas em jogos na nuvem, mas potencialmente em qualquer cenário de streaming multidispositivo”.

.

Mostrar mais

Artigos relacionados

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Botão Voltar ao topo