FMUSER Wirless Transmit Video and Audio Máis fácil!
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikaans
sq.fmuser.org -> Albanés
ar.fmuser.org -> árabe
hy.fmuser.org -> Armenian
az.fmuser.org -> azerí
eu.fmuser.org -> éuscaro
be.fmuser.org -> bielorruso
bg.fmuser.org -> Búlgaro
ca.fmuser.org -> catalán
zh-CN.fmuser.org -> chinés (simplificado)
zh-TW.fmuser.org -> Chinés (tradicional)
hr.fmuser.org -> croata
cs.fmuser.org -> Checo
da.fmuser.org -> danés
nl.fmuser.org -> Holandés
et.fmuser.org -> estoniano
tl.fmuser.org -> filipino
fi.fmuser.org -> finés
fr.fmuser.org -> Francés
gl.fmuser.org -> galego
ka.fmuser.org -> xeorxiano
de.fmuser.org -> alemán
el.fmuser.org -> Grego
ht.fmuser.org -> crioulo haitiano
iw.fmuser.org -> Hebreo
hi.fmuser.org -> hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> islandés
id.fmuser.org -> indonesio
ga.fmuser.org -> irlandés
it.fmuser.org -> Italiano
ja.fmuser.org -> xaponés
ko.fmuser.org -> coreano
lv.fmuser.org -> letón
lt.fmuser.org -> Lituano
mk.fmuser.org -> macedonio
ms.fmuser.org -> malaio
mt.fmuser.org -> maltés
no.fmuser.org -> Norwegian
fa.fmuser.org -> persa
pl.fmuser.org -> polaco
pt.fmuser.org -> Portugués
ro.fmuser.org -> Romanés
ru.fmuser.org -> ruso
sr.fmuser.org -> serbio
sk.fmuser.org -> Eslovaco
sl.fmuser.org -> Esloveno
es.fmuser.org -> castelán
sw.fmuser.org -> Suahili
sv.fmuser.org -> Sueco
th.fmuser.org -> Thai
tr.fmuser.org -> turco
uk.fmuser.org -> ucraíno
ur.fmuser.org -> urdú
vi.fmuser.org -> Vietnamita
cy.fmuser.org -> galés
yi.fmuser.org -> Yiddish
Cando empregamos ferramentas como Skype e QQ para realizar conversas de voz e vídeo sen problemas cos amigos, ¿preguntámonos algunha vez que tecnoloxías poderosas hai detrás? Este artigo dará unha breve introdución ás tecnoloxías empregadas nas chamadas de voz en rede, que se poden considerar como unha ollada ao leopardo.
1. Modelo conceptual
As chamadas de voz por Internet adoitan ser bidireccionais, o que é simétrico a nivel de modelo. Por motivos de simplicidade, podemos discutir a canle nunha dirección. Unha das partes fala e a outra escoita a voz. Parece sinxelo e rápido, pero o proceso detrás é bastante complicado.
Este é o modelo máis básico composto por cinco enlaces importantes: adquisición, codificación, transmisión, decodificación e reprodución.
(1) Colección de voz
A recollida de voz refírese á recollida de datos de audio dun micrófono, é dicir, a conversión de mostras de son en sinais dixitais. Implica varios parámetros importantes: frecuencia de mostraxe, número de bits de mostraxe e número de canles.
En poucas palabras: a frecuencia de mostraxe é o número de accións de adquisición en 1 segundo; o número de bits de mostraxe é a lonxitude dos datos obtidos para cada acción de adquisición.
O tamaño dun marco de audio é igual a: (frecuencia de mostraxe × número de bits de mostraxe × número de canles × tempo)
Normalmente, a duración dun marco de mostraxe é de 10 ms, é dicir, cada 10 ms de datos constitúe un marco de audio. Supoñendo: a taxa de mostraxe é de 16 k, o número de bits de mostraxe é de 16 bits e o número de canles é 1, entón o tamaño dun marco de audio de 10 ms é: (16000 * 16 * 1 * 0.01) / 8 = 320 bytes. Na fórmula de cálculo, 0.01 é un segundo, é dicir, 10 ms.
(2) Codificación
Supoñendo que enviamos o marco de audio recollido directamente sen codificación, podemos calcular o requisito de ancho de banda requirido. Aínda así o exemplo anterior: 320 * 100 = 32KBytes / s, se se converte en bits / s, é de 256kb / s. Este é un bo uso de ancho de banda. Coas ferramentas de control de tráfico de rede, podemos descubrir que cando as chamadas de voz se realizan con software de mensaxería instantánea como QQ, o tráfico é de 3-5 KB / s, que é unha orde de magnitude menor que o tráfico orixinal. Isto débese principalmente á tecnoloxía de codificación de audio. Polo tanto, na aplicación de chamada de voz real, esta ligazón de codificación é indispensable. Hai moitas tecnoloxías de codificación de voz de uso común, como G.729, iLBC, AAC, SPEEX, etc.
(3) Transmisión de rede
Cando se codifica un marco de audio, pódese enviar ao interlocutor a través da rede. Para aplicacións en tempo real como conversas de voz, a baixa latencia e estabilidade son moi importantes, o que require que a nosa rede transmita de forma moi fluída.
(4) Descodificación
Cando a outra parte reciba o cadro codificado, descodificalo para restauralo en datos que a tarxeta de son pode reproducir directamente.
(5) Reprodución de voz
Despois de completar a descodificación, o cadro de audio obtido pode enviarse á tarxeta de son para a súa reprodución. Anexo: pode consultar a introdución e o código fonte de demostración e a descarga do SDK de MPlayer, un compoñente de reprodución de voz
2. Dificultades e solucións en aplicacións prácticas
Se só confiar na tecnoloxía mencionada pode realizar un sistema de diálogo sólido aplicado á rede de área ampla, non hai moita necesidade de escribir este artigo. É precisamente que moitos factores realistas introduciron moitos desafíos para o modelo conceptual mencionado, o que fai que a realización do sistema de voz en rede non sexa tan sinxela, o que implica moitas tecnoloxías profesionais. Por suposto, a maioría destes retos xa teñen solucións maduras. Primeiro de todo, necesitamos definir un sistema de diálogo de voz de "bo efecto". Creo que debería acadar os seguintes puntos:
(1) Baixa latencia. Só cunha baixa latencia as dúas partes na chamada poden ter unha forte sensación de tempo real. Por suposto, isto depende principalmente da velocidade da rede e da distancia entre as localizacións físicas das dúas partes na chamada. Desde a perspectiva do software puro, a posibilidade de optimización é moi pequena.
(2) Baixo ruído de fondo.
(3) O son é suave, sen a sensación de atascado ou pausa.
(4) Non hai resposta.
A continuación falaremos das tecnoloxías adicionais empregadas no sistema de diálogo de voz de rede real unha por unha.
1. Cancelación de eco AEC Case todos están afeitos a usar directamente a función de reprodución de voz do PC ou do portátil durante o chat de voz. Como todo o mundo sabe, este pequeno hábito supuxo un gran desafío para a tecnoloxía de voz. Cando se usa a función de altofalante, o son reproducido polo altofalante será recollido polo micrófono de novo e transmitido de volta á outra parte, para que a outra parte poida escoitar o seu propio eco. Polo tanto, nas aplicacións prácticas, é necesaria a función de cancelación do eco. Despois de obter o marco de audio recollido, este espazo antes da codificación é o momento para que funcione o módulo de cancelación de eco. O principio é simplemente que o módulo de cancelación de eco realiza algunhas operacións similares á cancelación no cadro de audio recollido segundo o cadro de son que acaba de reproducirse, para eliminar o eco do cadro recollido. Este proceso é bastante complicado e tamén está relacionado co tamaño da habitación na que estás cando conversas e coa túa situación na habitación, porque esta información determina a lonxitude da reflexión da onda sonora. O módulo de cancelación de eco intelixente pode axustar dinámicamente os parámetros internos para adaptarse mellor ao ambiente actual.
2. Supresión de ruído DENOISE A supresión de ruído, tamén coñecido como procesamento de redución de ruído, baséase nas características dos datos de voz para identificar a parte do ruído de fondo e filtrala dos cadros de audio. Moitos codificadores incorporan esta función.
3. JitterBuffer O búfer de jitter úsase para resolver o problema do jitter de rede. O chamado jitter de rede significa que o atraso da rede será cada vez maior. Neste caso, aínda que o remitente envíe paquetes de datos regularmente (por exemplo, envíase un paquete cada 100 ms), o receptor non pode recibir o mesmo tempo. Ás veces non se pode recibir ningún paquete nun ciclo e ás veces recíbense varios paquetes nun ciclo. Deste xeito, o son que escoita o receptor é unha tarxeta unha tarxeta. JitterBuffer funciona despois do descodificador e antes da reprodución de voz. É dicir, despois de completar a descodificación de voz, o cadro descodificado colócase no JitterBuffer e, cando chega a devolución de chamada da tarxeta de son, o cadro máis antigo recupérase do JitterBuffer para a súa reprodución. A profundidade do búfer de JitterBuffer depende do grao de jitter da rede. Canto maior sexa a fluctuación da rede, maior será a profundidade do búfer e maior será o atraso na reprodución de audio. Polo tanto, JitterBuffer usa un atraso maior a cambio dunha reprodución de son suave, porque en comparación co son unha tarxeta unha tarxeta, un atraso lixeiramente maior pero un efecto máis suave, a súa experiencia subxectiva é mellor. Por suposto, a profundidade do búfer de JitterBuffer non é constante, senón que se axusta dinámicamente segundo os cambios no grao de jitter da rede. Cando se restaure a rede para que sexa moi suave e sen obstáculos, a profundidade do búfer será moi pequena, polo que o aumento do atraso de reprodución debido a JitterBuffer será insignificante.
4. Detección de silencio VAD Nunha conversa de voz, se unha parte non fala, non se xerará tráfico. A detección de silencio utilízase para este propósito. A detección de silencio normalmente tamén está integrada no módulo de codificación. O algoritmo de detección silenciosa combinado co algoritmo anterior de supresión de ruído pode identificar se hai entrada de voz actualmente. Se non hai entrada de voz, pode codificar e emitir un marco codificado especial (por exemplo, a lonxitude é 0). Especialmente nunha videoconferencia de varias persoas, normalmente só unha persoa fala. Neste caso, o uso da tecnoloxía de detección silenciosa para aforrar ancho de banda aínda é moi considerable.
5. Algoritmo de mestura Nun chat de voz de varias persoas, necesitamos reproducir datos de voz de varias persoas ao mesmo tempo e a tarxeta de son só reproduce un búfer. Polo tanto, necesitamos mesturar varias voces nunha soa. Isto é o que fai o algoritmo de mestura. Mesmo se pode atopar un xeito de evitar a mestura e deixar reproducir varios sons ao mesmo tempo, co propósito de cancelar o eco, debe mesturarse nunha soa reprodución, se non, a cancelación do eco só pode eliminar algúns dos sons múltiples en a maioría. Todo o camiño. A mestura pódese facer no lado do cliente ou do servidor (o que pode aforrar ancho de banda descendente). Se se usan canles P2P, a mestura só se pode facer no lado do cliente. Se se mestura no cliente, normalmente, a mestura é o último elo antes de xogar. Este artigo é un resumo da nosa experiencia na implementación da parte de voz de OMCS. Aquí acabamos de facer unha sinxela descrición de cada ligazón da figura e calquera delas pode escribirse nun longo papel ou incluso nun libro. Polo tanto, este artigo é só para fornecer un mapa introdutorio para aqueles que son novos no desenvolvemento de sistemas de voz en rede e dar algunhas pistas.
|
Introduce o correo electrónico para obter unha sorpresa
es.fmuser.org
it.fmuser.org
fr.fmuser.org
de.fmuser.org
af.fmuser.org -> afrikaans
sq.fmuser.org -> Albanés
ar.fmuser.org -> árabe
hy.fmuser.org -> Armenian
az.fmuser.org -> azerí
eu.fmuser.org -> éuscaro
be.fmuser.org -> bielorruso
bg.fmuser.org -> Búlgaro
ca.fmuser.org -> catalán
zh-CN.fmuser.org -> chinés (simplificado)
zh-TW.fmuser.org -> Chinés (tradicional)
hr.fmuser.org -> croata
cs.fmuser.org -> Checo
da.fmuser.org -> danés
nl.fmuser.org -> Holandés
et.fmuser.org -> estoniano
tl.fmuser.org -> filipino
fi.fmuser.org -> finés
fr.fmuser.org -> Francés
gl.fmuser.org -> galego
ka.fmuser.org -> xeorxiano
de.fmuser.org -> alemán
el.fmuser.org -> Grego
ht.fmuser.org -> crioulo haitiano
iw.fmuser.org -> Hebreo
hi.fmuser.org -> hindi
hu.fmuser.org -> Hungarian
is.fmuser.org -> islandés
id.fmuser.org -> indonesio
ga.fmuser.org -> irlandés
it.fmuser.org -> Italiano
ja.fmuser.org -> xaponés
ko.fmuser.org -> coreano
lv.fmuser.org -> letón
lt.fmuser.org -> Lituano
mk.fmuser.org -> macedonio
ms.fmuser.org -> malaio
mt.fmuser.org -> maltés
no.fmuser.org -> Norwegian
fa.fmuser.org -> persa
pl.fmuser.org -> polaco
pt.fmuser.org -> Portugués
ro.fmuser.org -> Romanés
ru.fmuser.org -> ruso
sr.fmuser.org -> serbio
sk.fmuser.org -> Eslovaco
sl.fmuser.org -> Esloveno
es.fmuser.org -> castelán
sw.fmuser.org -> Suahili
sv.fmuser.org -> Sueco
th.fmuser.org -> Thai
tr.fmuser.org -> turco
uk.fmuser.org -> ucraíno
ur.fmuser.org -> urdú
vi.fmuser.org -> Vietnamita
cy.fmuser.org -> galés
yi.fmuser.org -> Yiddish
FMUSER Wirless Transmit Video and Audio Máis fácil!
contacto
dirección:
No.305 Sala HuiLan Building No.273 Huanpu Road Guangzhou China 510620
categorías
boletín informativo