Relatório Descritivo da Patente de Invenção para "PROCESSO DE DIFUSÃO DE SEQÜÊNCIAS DE DADOS DE ÁUDIO E VÍDEO POR UM SERVIDOR".
A presente invenção refere-se a um processo de difusão de se5 quências de dados de áudio e vídeo por um servidor. A multiplicidade das mídias no mesmo meio das sedes abre numerosas possibilidades. A presença de uma rede oferece a possibilidade de conectar entre si diferentes elementos de mídia de uma mesma sede. Essa rede se apresenta sob a forma de um dispositivo servidor, ou servidor, geralmente um computador, e 10 de dispositivos clientes, ou clientes, por exemplo, dos decodificadores de vídeo, ligados entre si por uma rede, quer seja sob a forma HDMI, de WIFI, eternet até mesmo por corrente portadora.
Essa configuração permite criar um escritório. Esse escritório comporta uma apresentação sobre uma tela, tipicamente aquela do cliente, 15 de um menu que permite a um usuário do cliente efetuar um comando. Esse escritório é gerado pelo servidor, mas comandado à distância pelo cliente via a rede. Essa configuração permite também a utilização de uma central de mídia à distância nessas mesmas condições.
Uma central de mídia é um dispositivo que comporta, por um 20 lado, um elemento de comando e, por outro lado, um elemento de ação para considerar o comando. Tipicamente, o elemento de comando pode comportar uma afixação sobre uma tela, por exemplo, aquela do escritório, de botões de controle. Esse elemento de comando comporta um dispositivo, por exemplo, um telecomando, para acionar os botões de controle afixados. O 25 elemento de ação da central de mídia gera as ações geradas pelo acionamento dos botões afixados, por exemplo, o fato de montar o som ou ainda de passar de uma seqüência de vídeo para uma outra.
Esse escritório ou central de mídia pode, por exemplo, ser afixado pelo cliente sobre uma tela de televisão de salão ou outro meio de afixação, formando uma interface de usuário. Um software da interface de usuário permite uma afixação de dados. O usuário pode interagir com os dados afixados com o auxílio de um dispositivo de comando, tal como um telecomando, por exemplo. Tipicamente, o elemento de comando de uma central de mídia, tal como definido acima faz também parte da interface de usuário.
A gestão de uma central de mídia por um usuário é feita a nível do cliente. Uma interface de usuário pode se definir como uma árvore de 5 comandos possíveis para o usuário. Assim, o usuário interage com essa interface de usuário, dando ordens de execução, com o auxílio de um telecomando, por exemplo, dentre escolhas possíveis afixadas pela interface de usuário. Essas ordens são recebidas pelo cliente e acarretam a criação de interações de usuários pelo cliente.
Em conseqüência da criação de uma interação de usuário, o
cliente envia uma mensagem de busca ao servidor, a fim de fazer tratar essa interação de usuário. É o servidor que, tratando a mensagem de busca enviada pelo cliente, trata a ordem do usuário. Uma vez essa mensagem de busca tratada, o servidor envia uma resposta a essa mensagem de busca ao 15 cliente. A resposta do servidor é produzida pelo tratamento da interação de usuário e notadamente por uma codificação de dados de vídeo e áudio a difundir pelo cliente, em conseqüência dessa interação de usuário. Essa resposta é recebida e é decodificada pelo cliente que afixa o resultado do tratamento sobre a interface de usuário.
Nesse sistema, o servidor codifica, isto é, comprime, o que di
funde antes de enviá-lo ao cliente. Se o servidor tivesse de afixar sobre uma tela que Ihe é própria as imagens que ele difunde, não Ihe seria necessário comprimi-las. Os elementos de transferência na barra interna da máquina de servidor suportam uma vazão elevada. Para comprimir tipicamente, o servi25 dor efetua uma captura de sua própria afixação, a codifica e a envia via a rede ao cliente, por exemplo, a um endereço IP do cliente para uma rede eternet. A codificação é, portanto, feita a partir de uma imagem definida seqüencialmente ponto por ponto, dita no formato bitmap. Essa imagem definida seqüencialmente ponto por ponto é bem-adaptada a uma afixação sobre 30 um monitor.
A codificação feita pelo servidor é do tipo espaço-temporal, isto é, os dados comprimidos comportam dados de vídeo, áudio e sinalizações, a fim de difundir esses dados corretamente. Essa codificação pode, por exemplo, ser feita segundo a norma H264. Essa codificação por compressão permite transmitir dados de elevado débito sobre uma ligação simplificada, por exemplo, HDMI. O protocolo H264 permite codificar fluxos de vídeo com 5 uma vazão inferior a duas vezes menos que aquela obtida pela norma MPEG2 pela mesma qualidade. A norma H264 dispõe de um modo de compressão em perda. Quando da codificação, uma imagem é desacoplada em macroblocos unitários. Cada macrobloco é codificado.
Em recebimento, o cliente deve decodificar os dados de áudio/vídeo enviados pelo servidor. A decodificação desses dados pelo cliente é geralmente feita por um circuito eletrônico dedicado de um cartão gráfico/seu do cliente. Uma vez os dados decodificados, o cliente os difunde via seus meios de difusão sobre sua própria tela.
Todavia, a codificação dos dados pelo servidor demanda uma 15 potência importante ou a codificação pelo servidor demanda um tempo de realização que não permite uma codificação dos dados em tempo real. Na prática, a codificação demanda ao servidor cinco vezes mais potência do que demanda a decodificação ao cliente. Os servidores clássicos, domésticos, não são capazes da codificação em tempo real.
As centrais de mídia atuais contêm um grande número de ani
mações. Essas animações são, por exemplo, uma animação sobre um botão ou um ícone, um fundo de tela em movimento recorrente ou ainda o desenrolar de um menu que se desenrola. Essas animações são pequenas seqüências de vídeo. Para transmiti-las ao cliente que as demanda, o servidor 25 deve codificá-las e transmiti-las, a fim de serem difundidas via a interface de usuário. Essas seqüências de vídeo são definidas por uma seqüência de imagens difundidas a uma velocidade suficiente para se conseguir uma boa fluidez do vídeo. Um grande número dessas animações ocorre na seqüência de interações de usuários. Todavia, em conseqüência dessas interações de 30 usuários, só uma parte do que é afixado sobre a tela do cliente sofre modificações. Com efeito, por exemplo, para um menu que se desenrola em conseqüência de um clique do usuário sobre um botão do menu afixado, só a parte na qual o menu que se desenrola muda, o resto da imagem permanecendo fixo.
Atualmente, os protocolos de áudio/vídeo codificam apenas imagens plenas. Assim, a codificação é feita sobre as partes da imagem que 5 mudaram em conseqüência de uma interação de usuário, assim como sobre as partes da imagem que não mudaram. Essa codificação global diminui muito o tempo de codificação dos dados de áudio/vídeo a transferir.
Quando de teste, concludentes quanto à função principal de afixação e de gestão à distância, o tempo de afixação dos dados de áu10 dio/vídeo pelo cliente se mostrou excessivamente longo. Esse tempo de afixação era da ordem de alguns segundos para uma única imagem. Esse tempo de afixação não permite, portanto, a utilização dessa função no estado.
O tempo de afixação excessivamente longo se explica por dois 15 fatores: em primeiro lugar, o tempo de transmissão sobre a ligação IP e, em segundo lugar, a duração do tratamento das mensagens de busca. A invenção visa a reduzir os dois tempos. A codificação e a decodificação dos dados de áudio/vídeo são tantos mais longas do que os dados são comprimidos e, portanto, complexas. Atualmente, para fazer decodificação gráfica 20 com esse gênero de aplicações, o decodificador deve integrar uma livraria gráfica, que permite a descompressão dos dados de áudio/vídeo comprimidos.
Uma solução conhecida do técnico para resolver os problemas ligados ao tempo de transmissão dos dados, via uma rede, consiste em re25 duzir o volume dos dados que transitam pela rede. Assim, comprimindo o máximo possível os dados, segundo normas de compressão conhecidas, os dados de áudio/vídeo obtidos são menos volumosos. Essas informações comprimidas transitam, portanto, mais rapidamente via a rede. Todavia, essa solução torna a compressão dos dados de áudio/vídeo mais complexa ainda. 30 Essa complexidade aumenta o tempo de codificação pelo servidor. Essa complexidade aumenta também o tempo necessário ao cliente para decodificar os dados recebidos. Além disso, essa solução é dependente da integração de uma livraria correspondente ao formato de compressão utilizado no cliente. Essa solução fornece, portanto, a vantagem de reduzir o tempo de transferência dos dados pela rede, mas aumenta consideravelmente o tempo de tratamento dos dados de áudio/vídeo pelo servidor e pelo cliente.
Combinando a aplicação TightVNC com o protocolo H264 para
uma captura de tela, por exemplo, o problema de uma codificação completa das imagens plenas pode ser resolvido. Assim, todas as funções de detecção de movimento, de cálculo das imagens etc. são calculadas pela biblioteca H264. Uma imagem plena da tela no vídeo é, então, enviada, comportan10 do unicamente as modificações. Essa imagem tendo uma taxa de compressão elevada. Por outro lado, a duração de codificação de uma imagem varia pouco.
Todavia, com esse método, é necessário retomar totalmente a arquitetura do código de tightVNC servidor. Por outro lado, a duração de co15 dificação pelo servidor corre o risco de ser relativamente longa. Com um servidor que tem um processador binuclear com 2,8 GHz, a codificação, com as opções no mínimo, dura mais de um décimo de segundos por imagem em resolução 352 por 288 para um bitrato a 30,0 Hz de 150 quilo octetos por segundos. Esse método receberia, portanto, ordem do segundo para codifi20 car uma imagem que tem uma resolução de 1280 por 720.
Nenhuma dessas soluções parece resolver, portanto, eficazmente o problema de gestão da transferência dos dados de áudio/vídeo a uma velocidade aceitável em uma rede.
Para resolver esse problema, a invenção prevê reduzir a carga 25 de codificação do servidor de várias maneiras. Por outro lado, a invenção prevê conservar um nível de compressão dos dados elevado. Em uma central de mídia ou em uma afixação de menu, as interações de usuário são frequentemente repetitivas. As animações geradas por essas interações de usuário, portanto, de grandes chances de sobrevirem várias vezes durante 30 uma utilização de uma central de mídia ou de um menu. A fim de reduzir sensivelmente a tarefa de codificação do servidor, a invenção prevê utilizar a memória do servidor, a fim de conservar as seqüências de áudio/vídeo que já foram decodificadas anteriormente. Mais particularmente, a invenção prevê uma etapa durante a qual o servidor pesquisa se a mensagem de busca enviada pelo cliente já foi tratada anteriormente. Se a mensagem enviada pelo cliente jamais tiver sido tratada pelo passado, o servidor enviará uma 5 resposta rápida ao cliente e tratará completamente a mensagem de busca em paralelo. Uma vez, a mensagem de busca completamente tratada, o resultado desse tratamento é salvaguardado na memória pelo servidor. Esse tratamento poderá ser reutilizado na seqüência, se o cliente enviar novamente a mesma mensagem de busca. Se a mensagem já tiver sido tratada pelo 10 servidor anteriormente, o servidor enviará ao cliente o resultado registrado em sua memória do tratamento dessa mensagem de busca.
A invenção prevê também reduzir o esforço de codificação do servidor só efetuando a codificação sobre os dados de áudio/vídeo que sofreu mudanças em conseqüência de uma interação de usuário. Para isso, a 15 invenção calcula as partes fixas da imagem e codifica unicamente os dados que representam animações ou seqüências de vídeo correspondentes às interações de usuários.
Além disso, a invenção trata os dados a nível das imagens brutas, tais como tratadas. A invenção não é, portanto, dependente de um tipo de compressão definida. A invenção pode, portanto, fazer ganhar tempo a nível da codificação, independentemente do tipo de codificação escolhido para comprimir os dados de áudio/vídeo.
A invenção tem, portanto, por objeto um processo de difusão de seqüências de dados de áudio e vídeo, por um servidor que libera sequên25 cias de dados de áudio e vídeo, no qual as seqüências de dados de áudio/vídeo sendo de tipo definido seqüencialmente ponto por ponto circulam via uma rede entre o servidor e um cliente, as seqüências de dados de áudio/vídeo recebidos pelo cliente são difundidas pelo cliente de maneira interativa, um usuário do cliente dá uma ordem de difusão de uma seqüência via 30 uma interface de usuário do cliente, essa ordem gerando a produção e a emissão de pelo menos uma mensagem de busca pelo cliente para o servidor, a mensagem de busca transmitida ao servidor pelo cliente é tratada pelo servidor sob a forma de uma codificação de imagens, segundo um formato comprimido, caracterizado pelo fato de o tratamento da mensagem de busca pelo servidor comportar pelo menos as seguintes etapas:
- uma etapa durante a qual o servidor busca em uma memória, se o tratamento dessa busca já ocorreu e se os dados comprimidos dessa
seqüência de dados estão disponíveis para serem liberados para o cliente;
- se o tratamento dessa mensagem não tiver ocorrido anteriormente:
- o servidor envia uma resposta rápida ao cliente, essa mensagem de resposta rápida comporta uma seqüência de áudio/vídeo que comporta a primeira e a última imagem da seqüência de dados comprimidos;
- o servidor trata essa busca de maneira completa e armazena na memória o resultado do tratamento completo dessa busca, tornando-se assim apto a liberar a resposta posteriormente;
- se o tratamento dessa busca tiver sido realizado anteriormente,
o servidor enviará diretamente os dados da seqüência contida na memória ao cliente.
A invenção será melhor compreendida com a leitura da descrição que se segue e com o exame das figuras que a acompanham. Estas só são apresentadas a título indicativo e de modo nenhum Iimitativo da invenção. As figuras mostram:
- figura 1: uma instalação de um dispositivo de rede, de acordo com a invenção;
- figura 2: um esquema de realização do processo, de acordo com a invenção.
A figura 1 representa uma instalação de um dispositivo de rede, de acordo com a invenção. Essa instalação comporta um servidor 1 ligado via uma rede 2 a um cliente 3. A rede 2 permite fazer circular entre o servidor 1, por exemplo, um computador 1 e o cliente 3, por exemplo, um decodi30 ficador, dados de áudio/vídeo. Um meio 4 de difusão de uma interface 5 de usuário é ligado ao cliente 3. Esse meio 4 de difusão pode, por exemplo, ser um televisor 4 de sala de visitas. O servidor 1 comporta seu próprio meio 6 de difusão, por exemplo, um monitor 6 de computador. Por outro lado, o servidor 1 comporta sua própria memória 7. O servidor 1 pode integrar um protocolo de codificação, tal como o protocolo H264, e uma aplicação do tipo VNC servidor. O usuário pode interagir com a interface 5 de usuário por in5 termédio, por exemplo, de um telecomando 8. Essas interações 11 são recebidas pelo cliente 3 que transmite ao servidor 1 a ordem gerada por essas interações 11 de usuário. O servidor 1 trata a ordem gerada por essas interações 11 de usuário e envia ao cliente 3 os dados de áudio/vídeo correspondentes à execução da ordem dada em conseqüência a essas interações 10 11 de usuário.
Os dados de áudio/vídeo recebidos pelo cliente 3 são restituídos pelo cliente 3 de maneira casual. Isto é, o cliente 3 permite ao usuário interagir sobre os dados. Tipicamente, uma interface 5 de usuário permite ao usuário navegar segundo uma árvore de interações 11 possível. Por exempio, a interface 5 de usuário pode se apresentar sob a forma de um menu 9, no qual o usuário navega acionando botões 10 do menu 9 com o auxílio de um telecomando 8. O acionamento desses botões 10 pode se apresentar sob a forma de uma pequena animação correspondente a uma seqüência de vídeo. Essas animações podem estar, por exemplo, presentes, quando da ativação de um botão 10, a passagem sobre um botão 10, ou ainda sobre um fundo de tela animado. Essas animações são seqüências de vídeo afixadas em função das interações 11 de usuários. Todavia, essas animações só modificam, em geral, apenas uma pequena parte da imagem 12 afixada pela interface 5 de usuário, o resto da imagem 12 não sofre nenhuma modificação.
A figura 12 representa um esquema de realização do processo, de acordo com a invenção. As interações 11 de usuários geram a criação de uma mensagem 13 de busca a nível do cliente 3. Desde que a mensagem de pesquisa tenha sido criada pelo cliente 3, o cliente 3 envia essa mensa30 gem de busca ao servidor 1. Essas mensagens 13 de pesquisa circulam via a rede 2 entre o cliente 3 e o servidor 1. No estado da técnica, o servidor 1 analisa a pesquisa do cliente 3 e codifica a resposta 22, antes de enviar essa resposta 22 ao cliente 3. O cliente 3 decodifica, então, a resposta 22 recebida, antes de difundir as mudanças geradas por essa mensagem de busca via a interface 5 de usuário.
As mensagens 13 de busca enviadas pelo cliente 3 comportam diferentes informações. Essas informações permitem ao servidor 1 tratar os dados contidos nessas mensagens 13 e enviar uma mensagem 22 de resposta ao cliente 3. Essa mensagem 22 de resposta permite uma difusão, por esse cliente 3, via a interface 5 de usuário, dados de áudio/vídeo correspondentes à interação 11 gerada pelo usuário. Uma mensagem 13 de busca comporta, portanto, o endereço 23 ao qual o servidor 1 deve responder, tipicamente o endereço IP 23 do cliente 3, uma ordem 24 a executar em conseqüência de uma interação 11 de usuário e um estado 25 correspondente à afixação atual difundida pelo cliente 3 via a interface 5 de usuário. Esse estado 25 atual permite ao servidor 1 tratar a ordem 24 dada em função da afixação atual da interface 5 de usuário, isto é, codificar a seqüência de dados de áudio/vídeo a afixar via a interface 5 de usuário pelo cliente 3 a partir da afixação atual em conseqüência dessa interação 11 de usuário.
De acordo com a invenção, quando de uma interação 11 de usuário acarretando uma animação, o servidor 1 codifica separadamente a 20 animação e a máscara. Denomina-se máscara o fundo da imagem que permanece fixa durante a animação. Combinando, por exemplo, a aplicação TightVNC com o protocolo H264 a nível da função de envio, o servidor 1 envia unicamente as partes que foram trocadas em conseqüência de uma interação 11 de usuário, assim como a posição na qual é preciso colocar essa 25 seqüência. Essa separação da codificação permite não ter de codificar a integralidade da imagem a afixar, quando de uma animação. O servidor 1 codifica, então, apenas a animação sozinha, sem recodificar, para cada imagem de uma afixação que comporta uma animação, a totalidade da imagem a cada afixação.
Além disso, a invenção prevê que o servidor 1 mantenha na
memória 7 as seqüências 2 de dados comprimidos da seqüência de áudio/vídeo codificada correspondente a essa animação. Se a interação 11 de usuário que acionou essa animação, a partir da mesma máscara, viesse a se reproduzir na seqüência, o servidor 1 não codificaria de novo a animação, mas enviaria diretamente a seqüência 26 de dados já codificada correspondente e já colocada na memória 7. Essa utilização da memória 7 permite 5 alijar o trabalho do servidor 1 e isto qualquer que seja o tipo de codificação escolhido.
Todavia, é necessário, para encontrar a seqüência 26 de dados codificada, correspondente a uma máscara e a uma interação 11 de usuário determinada, poder ir buscar a boa seqüência 26 de dados, para isto um
sistema de indexação das seqüências 26 de dados comprimidos é necessário. De acordo com a invenção, essa indexação 27 é feita sobre a primeira imagem 28 de uma seqüência 26 de áudio/vídeo. Essa indexação 27 que trabalha sobre uma imagem 28 sozinha não é dependente de um tipo de compressão determinado e pode, portanto, ser aplicada com qualquer tipo 15 de codificação de áudio/vídeo.
Para realizar essas etapas, uma mensagem 13 de busca comporta, portanto, a ordem 24 correspondente à interação 11 de usuário, a máscara 29, um índice 30 da máscara e as informações 23 relativas à rede
2. O tratamento das mensagens 13 de busca comporta uma fase de pesqui20 sa e, segundo a necessidade, uma fase de codificação dos dados de áudio/vídeo. Essa codificação pode, por exemplo, ser realizada segundo a norma H264. As seqüências 26 de dados de áudio/vídeo codificadas são as imagens normalmente afixadas pelo servidor 1, isto é, que essas imagens são capturas de tela do servidor 1. Essas imagens são, portanto, de tipo de25 finido seqüencialmente ponto por ponto.
Um estado 25 é definido como comportando uma máscara 29 e um índice 30 da máscara. De acordo com a invenção, os estados 25 são de acesso direto pelos índices 30, a fim de saber rapidamente se, sendo dada uma imagem indexada, ela corresponde a um estado 25 já conhecido ou 30 não. Se o estado 25 já for conhecido, o servidor 1 pesquisa se existe uma transição a partir da máscara 29 correspondente a esse estado 25. Uma máscara 29 é um recorte da imagem que comporta apenas as partes fixadas da imagem. Tipicamente, em uma máscara 29 se acha a imagem afixada, sem as partes animadas, tais como os menus animados ou botões animados da imagem afixada.
Uma transição comporta as interações 11 de usuários, assim 5 como as seqüências 26 vídeo correspondentes a essa interação de usuário. Assim, em conseqüência de uma interação 11 de usuário que acarreta a passagem de um estado um a um estado dois, passa-se por uma transição que comporta uma seqüência de áudio/vídeo que permite passar do estado um ao estado dois. As transições são indexadas sobre a primeira imagem 28 10 da seqüência 26 de dados de áudio/vídeo que elas comportam. Essa indexação 27 permitirá ter um acesso direto a essa seqüência 26, se a interação
11 de usuário e a máscara 29 correspondente ao estado 25 inicial já tiver ocorrido, as máscaras 29 e as transições sendo complementares para formar uma imagem completa.
Quando do primeiro acionamento, o servidor 1 executa várias
etapas. Durante uma primeira etapa, o servidor 1 codifica a integralidade da seqüência de acionamento a afixar e envia diretamente ao cliente 3 essa seqüência de acionamento. Durante uma segunda etapa, o servidor 1 determina a primeira máscara e o primeiro índice correspondente ao estado de 20 acionamento. Enfim, quando de uma terceira etapa, o servidor 1 associa o estado que tem esse índice e a máscara correspondente. Na seqüência, quando de uma mudança de estado em conseqüência de uma interação 11 de usuário, a mensagem de busca 13 conterá o índice do estado associado à afixação atual da interface 5 de usuário. Para isto, o servidor 1 memoriza, 25 por exemplo, em sua memória oculta, o estado e seu índice.
Após o acionamento da instalação, a invenção comporta várias etapas. O servidor 1 já registrou na memória 7 um ou vários estados 25 produzido(s). Quando de uma interação 11 de usuário que gera uma mudança de estado 25, o cliente 3 envia uma mensagem 13 de busca tal como descri30 to mais acima ao servidor 1. O servidor 1 trata, então, imediatamente essa mensagem 13 de busca. Em um primeiro tempo 14, o servidor 1 pesquisará, em sua memória 7, se existe uma transação indexada pela interação 11 de usuário, a partir do estado 25 indexado enviado pelo cliente 3 em sua mensagem 13 de busca.
No caso 15, onde existe na memória 7 essa transição indexada,
0 servidor 1 envia diretamente a seqüência 26 de dados de áudio/vídeo que 5 já foi codificada correspondente. A ausência de obrigação de codificação
permite um ganho de tempo importante para o servidor 1. O servidor 1 que não codificou a seqüência 26 de dados de .áudio/vídeo, o servidor 1 continua disponível para efetuar outras tarefas.
No caso 16, em que não existes na memória 7 de transição inde
xada, o servidor 1 codifica 17 a seqüência de áudio/vídeo. O servidor 1 indexa, em seguida, essa seqüência de áudio/vícíeio e a associa a uma transição. Todavia, para não bloquear o usuário o tempo que o servidor 1 efetua a codificação 17, o servidor 1 efetua uma tareia 18 suplementar em paralelo da codificação 17. Essa tarefa 18 suplementar consiste no envio ao cliente 3 de 15 uma mensagem 31 de resposta rápida. Para fazer com que o servidor 1 ganhe tempo, sem bloquear o usuário, o servidor 1 envia em resposta ao cliente 3 uma seqüência 32 de áudio/vídeo que comporta apenas duas imagens. As duas imagens dessa seqüência 32 de áudio/vídeo são a primeira e a última imagem da seqüência 26 de dados de áudio/vídeo completa. A última 20 imagem de uma seqüência de dados de áudio/vídeo é aquela normalmente afixada diretamente a nível do servidor 1. Esta imagem é, portanto, diretamente acessível para o envio da resposta 31 rápida. Uma vez a codificação 17 da seqüência 26 de dados de áudio/vídeo completa acabada, o servidor 1 mantém na memória 7 a transição correspondente a essa seqüência 26 de 25 dados de áudio/vídeo e essa interação 11 de usuário.
O envio dessa resposta 31 rápida não permite a difusão da seqüência 26 de dados de áudio/vídeo correspondente à interação 11 de usuário, quando da primeira ocorrência dessa interação 11 de usuário. Essa resposta 31 rápida só permite afixar a primeira e a última imagem dessa se30 quência de dados de áudio/vídeo. Todavia, essa resposta 31 rápida do servidor 1 evita ao usuário permanecer bloqueado no tempo em que o servidor
1 efetua a codificação 17 dessa seqüência 2>6 completa. Uma vez a seqüência, ou a resposta 31 rápida emitida pelo servidor 1, conforme o caso, enviada ao cliente 3, o servidor calcula a máscara
19 e o índice 20 da imagem final obtida. Esses elementos permitem criar o novo estado correspondente a essa imagem final. No caso em que nenhuma 5 transição indexada correspondente à interação 11 de usuário não existe a partir do primeiro estado 25, essa transição é indexada por sua primeira imagem 28 e é colocada na memória 7. No caso em que uma transição indexada pela mesma interação 11 de usuário, partindo do primeiro estado 25, já existe e o estado final obtido pela interação 11 de usuário é diferente daque10 Ie em memória 7 obtido por essa transição indexada, a transição já na memória 7 é substituída 21 pela nova transição codificada.
Tipicamente, a máscara e as mudanças são calculadas a cada vez. A cada interação 11 de usuário, a diferença entre a imagem afixada e a última imagem da película armazenada na memória 7 é calculada. Se essas 15 imagens forem diferentes, a transição é recodificada durante a afixação da antiga transição. Em seguida, a imagem correta, isto é, a imagem atual, é afixada, após a difusão da antiga seqüência de áudio/vídeo. Uma interação
11 de usuário só pode gerar uma única seqüência 26 de vídeo indexada para uma imagem de partida da seqüência de áudio/vídeo e uma interação 11 de usuário dados.
Esse processo apresenta a vantagem de ganhar em tempo de execução com uma central de mídia qualquer, considerando-se que esse processo não utiliza tipo de codificação particular. Esse processo de difusão de seqüências de dados de áudio e vídeo por um servidor 1 é, particular25 mente, adaptado para as interfaces 5 de usuário, tais como os menus que se pode encontrar sobre DVD ou outros menus 9 que têm para animações mudanças precisas sobre as quais os usuários só podem passar de um botão 10 para um outro que tem deslocamentos de cursores predefinidos.