O que é transcodificação e para que serve? Transcodificação (conversão) O que é transcodificação.

Se nos últimos anos as notícias tecnológicas domésticas mais interessantes estavam relacionadas principalmente ao software, em 2019 muitas coisas interessantes aconteceram no campo do hardware. Além disso, o estado assumiu resolutamente a substituição de importações, e não apenas software.

As agências governamentais em 2019 realmente arruinaram as plataformas T: a empresa está em agonia, “80% dos funcionários se demitem”, o site está desativado

Ao fluxo inesgotável de problemas da empresa "T-Platforms", cujo fundador e CEO está sob custódia, foi adicionada uma demissão em massa. A organização não tem dinheiro suficiente não apenas para os salários, mas, talvez, até mesmo para o suporte do site corporativo, escreve CNews.

Rostec quer criar chips russos para Bluetooth, Wi-Fi, NFC e Internet das Coisas

A Rostec propõe desenvolver chips para tecnologias sem fio Bluetooth, Wi-Fi, ZigBee, NFC, LPWAN, NB-IoT e Thread na Rússia. Sistemas próprios em um chip para a Internet das Coisas e estações base LPWAN também devem aparecer. O investimento total no desenvolvimento da Internet das coisas na Rússia até 2030 será de mais de 200 bilhões de rublos.

Kaspersky está trabalhando no primeiro chip na Rússia para acelerar a inteligência artificial

A Kaspersky Lab assinou um acordo de cooperação estratégica com o desenvolvedor do primeiro processador neuromórfico da Rússia para aceleração de hardware de sistemas de inteligência artificial. O chip permitirá o processamento local de grandes quantidades de dados e permitirá que as redes neurais sejam treinadas novamente no processo.

A Rússia precisa do “Mir”, de preferência todos: na Rússia, eles serão obrigados a pré-instalar o Mir Pay nos smartphones em vez do Apple Pay e do Google Pay

O Izvestia informa que o Serviço Federal Antimonopólio (FAS) está considerando tornar o serviço Mir Pay um aplicativo obrigatório para pré-instalação em eletrônicos vendidos na Rússia. A julgar pelas tendências do ano passado, tal iniciativa deve ser aprovada pelas autoridades do país.

O fracasso em lançar quase metade dos satélites em Roscosmos foi explicado por sanções a microcircuitos resistentes à radiação e a indisponibilidade do OneWeb

A Roskosmos não completou 45 lançamentos, principalmente devido à indisponibilidade da OneWeb e da espaçonave do Ministério da Defesa, disse Dmitry Rogozin, CEO da corporação russa, comentando a declaração do vice-primeiro-ministro Yuri Borisov de que este ano os programas de lançamentos espaciais da Rússia foram concluídos "um pouco mais de 50 por cento." É relatado por TASS.

Transcodificação adaptativa: o que é?


Esse termo é chamado de mediação linguística individual, que é realizada por um especialista de uma agência de tradução. Com a transcodificação adaptativa, a informação é traduzida de um idioma para outro com transformação simultânea de acordo com as leis da interação interlinguística.
Normalmente, a transcodificação adaptativa requer atenção para qual grupo linguístico ou forma particular de mudança informativa está presente no contexto. Portanto, a transcodificação adaptativa permite selecionar uma opção de tradução que corresponda ao conteúdo do texto original. Ao mesmo tempo, o texto traduzido não pode ser usado para substituir 100% do texto original.
A tradução sempre esteve no centro da mediação linguística. Os textos de origem e destino devem ser equivalentes e idênticos em significado. Tal semelhança de textos é necessária para alcançar o entendimento mútuo, determinado pelas características linguísticas da comunicação.
A transcodificação adaptativa é paratradutora por natureza e permite a transformação complexa do texto, que inclui não apenas a tradução comum, mas também a adaptação do texto. A essência da transcodificação adaptativa é o método de composição de textos de várias formas, com foco no estilo aceitável e na natureza da informação e no volume necessário. As principais informações contidas nos textos são cuidadosamente selecionadas e reagrupadas.
Esses formatos de texto comunicativo diferem em seu próprio volume permitido e em certas regras de apresentação do material. Realizar uma tradução de acordo com eles facilita a percepção do texto.

Necessidade de transcodificação de vídeo

Hoje, as tecnologias de compressão de vídeo digital são importantes em quase todos os tipos de aplicativos de vídeo. A importância de parâmetros como compressão e compatibilidade de dados é ainda mais importante devido à crescente tendência de convergência dos meios de comunicação.
Algumas das aplicações de vídeo digital mais conhecidas incluem DVD, televisão de alta definição (HDTV), videotelefonia/teleconferência e, mais recentemente, vigilância por vídeo. Cada uma dessas tecnologias tem seu próprio histórico de desenvolvimento, respectivamente, cada uma delas possui seus próprios algoritmos de compressão.
A transcodificação desempenha dois papéis importantes. Primeiro, ele fornece comunicações entre dispositivos existentes e novos. Por exemplo, muitos sistemas de videoconferência existentes são baseados no padrão de codificação de vídeo H.263. Os sistemas de videoconferência mais recentes usam o perfil H.264/AVC básico. Assim, a transcodificação de vídeo em tempo real é necessária para permitir a comunicação entre esses sistemas. Em segundo lugar, as redes de informação, especialmente a Internet, têm uma largura de banda limitada para transmissão de vídeo. Por exemplo, a maioria dos vídeos está atualmente armazenada em discos DVD no formato MPEG2. As limitações de largura de banda em vídeo sob demanda e streaming de vídeo em redes IP exigem que esses dados de vídeo sejam convertidos em um formato mais compactado. Isto é conseguido transcodificando o vídeo em tempo real antes da transmissão. Em geral, como resultado da transcodificação, até 50% da largura de banda da rede é liberada sem perda de qualidade de vídeo.
Transcodificação em videoconferências

Assim, uma das aplicações da transcodificação são os sistemas de videoconferência. Considere um esquema de transcodificação típico usado em tais sistemas (Fig. 1). Um processador de sinal (DSP2) decodifica o fluxo de vídeo de entrada e gera um quadro de vídeo reconstruído que é enviado para outro processador de sinal digital (DSP1 neste exemplo) através da interface serial RapidIO (sRIO). O DSP1 codifica o quadro de vídeo reconstruído no formato desejado. Normalmente, um lado de uma videoconferência usa equipamentos baseados em H.263, enquanto o outro lado usa equipamentos baseados em H.264.
O processador host que gerencia o tráfego de rede se comunica com vários DSPs (quatro neste caso) por meio de uma conexão de barramento PCI.
A principal característica da interação dos processadores neste exemplo é sua conexão através da interface sRIO. Como os dados transferidos entre os DSPs são vídeos não compactados, normalmente a 30 fps, os requisitos de largura de banda para o link de comunicação entre os dispositivos são muito altos.
Se gravarmos vídeo em resolução padrão NTSC (720 por 480 pixels) YUV 4:2:0, o tamanho de cada quadro será 720x480x1,5 = 518400 bytes. Assim, a uma frequência de 30 quadros por segundo, a taxa de transferência da linha deve ser de aproximadamente 124 Mbps.
A escolha da interface sRIO é ditada pelos requisitos de taxa de transferência de dados de vídeo e suporte para uma estrutura de comutação flexível. O sRIO suporta três taxas de dados: 1,24 Gbps, 2,5 Gbps e 3,125 Gbps. Essa interface usa a tecnologia SerDes para restaurar a sincronização do relógio no fluxo de dados e usa a codificação 8-b/10-b. Esta especificação de interface serial suporta portas de linha única (1X) e quatro linhas (4X). A camada física da interface sRIO define o mecanismo de handshaking que é utilizado no estabelecimento da comunicação entre os dispositivos, bem como a ordem de detecção de erros baseada no código de redundância cíclica. A camada física da interface também define a prioridade do pacote usado no roteamento dentro da malha de comutação.
Para aproveitar ao máximo a largura de banda do sRIO, os processadores devem ter essas interfaces. Esses processadores são oferecidos pela Texas Instruments. Por exemplo, o processador de sinal TMS320C6455 possui uma interface sRIO integrada que fornece quatro conexões simultâneas e tem uma taxa de transferência de dados de pico de 20 Gbps em ambas as direções.
Processador TMS320C6455

Além da interface sRIO, o C6455 possui um conjunto adicional de recursos importantes que o tornam ideal para transcodificação. Esses recursos funcionais podem ser combinados em quatro blocos principais.
Disponibilidade de um grande número de interfaces de entrada-saída de alta velocidade. Os projetistas de sistemas usam soluções diferentes, portanto, um processador de sinal digital para aplicativos de processamento de vídeo deve fornecer portas de E/S para conectar os módulos do sistema no nível da placa. Como mencionado anteriormente, o C6455 possui uma porta sRIO integrada para comunicação entre dispositivos.
Outras opções de E/S no C6455 são um controlador de acesso de mídia Ethernet de 1 Gb/s (EMAC), um controlador de memória de taxa de dados dupla de 32 bits (DDR2-500) e barramento de 66 MHz para conectar dispositivos periféricos (PCI). A interface ATM integrada (UTOPIA 2) permite que o processador C6455 seja usado na infraestrutura de telecomunicações.
Movimento eficiente de dados dentro do chip. A arquitetura de chip único para movimentação eficiente de dados é uma das principais vantagens do processador C6455 em relação aos seus antecessores. Em aplicativos de processamento de vídeo, os DSPs funcionam como escravos do processador host. Portanto, alta taxa de transferência, baixa latência e a possibilidade de transferência paralela de dados entre dispositivos mestre e escravo são importantes para eles. Esses requisitos determinaram a arquitetura do dispositivo: os dispositivos periféricos, a memória interna e o núcleo do processador interagem entre si por meio de um switch eficiente (switched central resource - SCR) do processador C6455.
Também importante é a organização ideal do fluxo de dados. Foi aprimorado usando barramentos de memória de 256 bits e acesso direto à memória interna (IDMA). O IDMA fornece movimentação de dados em segundo plano entre dois níveis de memória interna, bem como de e para o barramento periférico.
Grande quantidade de memória no chip. A SRAM no chip é muito mais rápida que a SDRAM dinâmica externa e é muito menor devido ao alto custo de fabricação. Para aplicativos de vídeo típicos, a memória no chip serve principalmente a dois propósitos: 1) armazena código e dados usados ​​com frequência, 2) carrega/envia dados temporários antes e depois do processamento. Geralmente, quanto mais memória disponível no chip, melhor o desempenho do aplicativo. O C6455 DSP tem dois megabytes de RAM estática.
Compatibilidade de Software (SW). A compatibilidade com versões anteriores do software é importante porque muitos aplicativos de vídeo foram desenvolvidos muito antes da transcodificação ser amplamente utilizada. Para usar o software existente em novos processadores, é aconselhável melhorar o desempenho do DSP não alterando seu conjunto de instruções, mas pela arquitetura do núcleo do processador. O processador C6455 possui duas inovações arquitetônicas. A primeira está relacionada à introdução de um buffer circular, potencialmente aumentando a eficiência do processamento de código em pipeline de software com ciclos curtos. A segunda é o uso de versões de 16 bits de instruções nativas de 32 bits, o que reduz significativamente o tamanho do código do programa e, assim, reduz a taxa de "falta" ao acessar a memória cache.
Sistema de transcodificação protótipo

A transcodificação também é necessária para transferir dados de DVDs por uma rede IP, como em um sistema de treinamento de empresa, aplicativos de vídeo sob demanda e transmissão de vídeo. Nesse caso, o formato de vídeo de origem é MPEG2 e o formato de destino é principalmente WMV9. Observe que a programabilidade dos DSPs facilita o suporte a praticamente qualquer combinação de formato de vídeo de origem/destino.
Para transcodificar dados de vídeo, é necessário resolver muitos problemas técnicos, como conversão de formato, redução da taxa de bits do fluxo de vídeo e sua resolução temporal e espacial. Portanto, vários esquemas de transcodificação de dados de vídeo inteligentes foram desenvolvidos. Seu princípio principal é a reutilização máxima possível das informações contidas no fluxo de vídeo de entrada.
Esta seção discute um protótipo de sistema de transcodificação de vídeo que é adequado para qualquer esquema de transcodificação devido ao uso de uma arquitetura baseada em uma infraestrutura flexível de hardware/software. Para satisfazer vários cenários alvo de transcodificação de vídeo, foi escolhido o esquema de transcodificação mais simples, no qual o fluxo de vídeo é completamente decodificado e depois recodificado de acordo com novas restrições.
O fluxo de dados no sistema começa no lado esquerdo do diagrama (Figura 2), com um arquivo de vídeo compactado em MPEG2 armazenado no disco rígido, e termina em uma tela plana onde o vídeo é reproduzido pelo Windows Media Player. Nesta demonstração, o vídeo está em resolução NTSC padrão (720 por 480 pixels) e é transcodificado a 30 quadros por segundo.
O módulo coletor de fluxo, executado em DSP1, armazena em buffer o fluxo MPEG2 e organiza a entrada para o módulo decodificador MPEG2. A operação de recebimento é controlada usando a biblioteca NDK (Network Development Kit) da TI, que é essencialmente uma pilha TCP/IP. O módulo empacotador ASF, executado no processador DSP2, gera pacotes ASF a partir dos dados compactados no módulo WMV9. O DSP2 também possui um servidor http baseado em NDK que trata de solicitações de streaming do Windows Media Player e passa pacotes ASF para ele. O Windows Media Player decodifica os pacotes ASF e exibe o vídeo na tela.
Um dos aspectos mais interessantes e complexos do streaming de dados é a interação de dois processadores de sinal digital através da interface sRIO. À medida que cada quadro de vídeo é transmitido, ocorre o seguinte. Depois que o DSP1 conclui a transmissão de um quadro de vídeo, ele envia um pacote de dados, que é chamado de DOORBELL na especificação do protocolo sRIO. O pacote DOORBELL gera uma interrupção do sistema no processador DSP2, notificando a presença de um quadro. Em resposta, o DSP2 inicia o processo de codificação para o formato WMV9. Quando o quadro foi codificado, o DSP2 envia um pacote DOORBELL para o DSP1. Isso gera uma interrupção no DSP1 para indicar que o DSP1 está pronto para continuar transmitindo o próximo quadro. Na prática, um esquema de buffer ping-pong é usado para que as operações de codificação/decodificação e transmissão de dados sejam realizadas em paralelo.
O bloco Graphical User Interface (GUI) fornece funções de controle e monitoramento incorporadas ao sistema. A atividade do link sRIO e do link Gigabit MAC (GMAC) é exibida em tempo real. Ao transmitir um fluxo de dados MPEG-2 em um link de dados, a taxa de bits média é de 8 Mbps, o que é típico para codificação de definição padrão a 30 quadros por segundo. Ao transmitir pacotes ASF pelo link, a taxa de transmissão média é de 4 Mbps. Isso mostra que o formato WMV9 é capaz de liberar aproximadamente 50% da largura de banda enquanto fornece qualidade de vídeo semelhante. Para um canal de comunicação com interface sRIO, a taxa média de dados é de 124 Mbps.

Assim, as capacidades do processador de sinal digital TI C6455 em combinação com a interface sRIO, bem como a demonstração do protótipo de sistema de transcodificação descrito baseado em processadores C6455, indicam que a complexa tarefa de transmissão de vídeo em redes IP pode ser resolvida com sucesso tanto agora e no futuro. .

A partir do satélite, o vídeo é transmitido no codec MPEG-2 ou em H.264 (também conhecido como AVC ou MPEG-4 part10). Como regra, por simplicidade, MPEG-4 parte 10 é encurtado para MPEG-4, mas aqui é importante não confundir com MPEG-4 parte 2, que é completamente incompatível e não se parece com H.264 e foi usado em câmeras IP antigas.

O áudio é transmitido na camada de áudio MPEG 2 (abreviado como mp2) ou em ac3 (a/52).

Além disso, é importante entender que hoje o H264 é geralmente comprimido com atualização interna, ou seja, não há quadros-chave (IDR ou quadro-chave) no fluxo de vídeo. Esse método de compactação permite suavizar os saltos de taxa de bits.

Como resultado, nenhuma das opções de áudio ou vídeo transmitidas do satélite é reproduzida no iPhone. Apenas H264 é reproduzido no navegador.

Ao transmitir pela Internet, como regra, você pode compactar com segurança o vídeo de mpeg2 para h264 com uma diminuição de três vezes no tráfego.

Ao transmitir canais HD pela Internet hoje, você precisa compactar o fluxo em várias qualidades diferentes: de HD com qualidade máxima a SD padrão para compensar canais sobrecarregados.

Como resultado, o vídeo do satélite deve ser transcodificado em outros codecs e qualidades para fornecer um serviço OTT de alta qualidade.

É importante não confundir transcodificação com reembalagem. A transcodificação é uma operação extremamente intensiva em recursos, que inclui:

  • descompactando o fluxo para vídeo/áudio codificado
  • decodificação para vídeo/áudio bruto
  • redimensionamento e outros parâmetros
  • codificação de volta
  • embalagem em transporte para fluxo

Embalar e desempacotar é uma operação relativamente fácil, o servidor de streaming pode lidar com até 1000 canais em um computador. Você pode transcodificar em um computador de 1 a 30 canais, dependendo do tamanho e da potência do computador.

Para transcodificação, você pode usar dispositivos dedicados especializados, um processador central ou uma placa de vídeo: externa ou integrada ao processador.

Não consideraremos dispositivos especializados, porque na maioria das vezes é um computador com algum tipo de programa, ou um equipamento extremamente caro e muito especializado, ou simplesmente um dispositivo excessivamente caro, vendido apenas através dos esforços de marketing da empresa fabricante e não permitindo alcançar resultados tanto ou significativos.

H.264

Existem vários programas diferentes para processamento de vídeo na CPU, mas em geral existem apenas duas bibliotecas que fazem sentido usar para compactar para o codec H.264 na CPU: esta é a libx264 gratuita e a paga MainConcept. Todo o resto é pior ou muito pior, tanto em termos do resultado final quanto do uso de recursos.

A prática de trabalhar com MainConcept não será considerada neste artigo, apenas a libx264 será mencionada

O codec H.264 é o padrão de fato para vídeo hoje, porque é compatível com todos os dispositivos modernos, com exceção de alguns dispositivos do Google.

Praticamente não há alternativas para isso. Hoje, o H.265 surgiu e está se desenvolvendo, já tem muito suporte, mas por enquanto, trabalhar com ele é um investimento no futuro.

Codecs do Google: VP8 e VP9 são mais o desejo do Google de puxar o cobertor sobre si mesmo do que algo realmente útil. A qualidade resultante é pior, não há suporte para decodificação de hardware e, portanto, o preço do dispositivo aumenta.

Ao codificar o vídeo, você precisa entender que precisa equilibrar os seguintes parâmetros:

  • atraso dentro do codificador em quadros
  • Uso da CPU (quantos milissegundos são necessários para compactar um quadro)
  • qualidade da imagem de saída (como pixelizada e quais cores)
  • taxa de bits de saída

Para todos os tipos de éter, o uso da CPU é absolutamente crítico. Se as configurações do codificador exigirem uso total da CPU ou mais, o vídeo não terá tempo para ser codificado em tempo real e, portanto, o streaming de vídeo será perdido.

Para VOD, não há limite rígido, e um filme de uma hora pode ser codificado por três horas se você quiser diminuir a taxa de bits. Ao mesmo tempo, para vídeo no ar, eles geralmente ainda tentam usar não toda a potência do processador para processar não 4 canais, mas 10 em um computador.

Quanto ao atraso dentro do codificador, é crítico para videoconferência, mas completamente acrítico para IPTV. Mesmo 5 segundos de atraso na transmissão de televisão não alteram a qualidade do serviço.

A conexão entre taxa de bits e qualidade é bastante clara: quanto mais informações sobre a imagem que transmitimos, melhor ela será exibida. Como regra, você pode melhorar a qualidade da imagem diminuindo a taxa de bits escolhendo ferramentas de compactação mais eficientes que exigem mais atraso e mais ciclos de clock.

Compreender essa complexa relação é necessário para entender melhor as afirmações de que "nosso codificador é o melhor codificador do mundo". Você precisa comparar pelo menos 4 parâmetros, mas no final tudo se resume a isso: quanto dinheiro custa uma vez e por mês para transcodificar um canal com a qualidade desejada e a taxa de bits de saída.

Flussonic Media Server para transcodificação

Um pacote separado para Flussonic Media Server vem com um transcodificador.

Flussonic Media Server pode decodificar vídeo de fontes UDP/HTTP MPEG-TS, RTMP e codificá-lo em várias qualidades e tamanhos.

Esse recurso se torna necessário quando é necessário exibir vídeo não apenas em decodificadores, mas também em tablets: lá a escolha de codecs disponíveis é muito menor do que em um decodificador.

É importante notar que para que o vídeo seja reproduzido em um iPhone, você precisa até mesmo transcodificar o H264 do satélite, pois como regra, o modo de codificação intra-refresh é usado no satélite para uma taxa de bits suave, o que cria um vídeo que não é reproduzido no iPhone.

O Flussonic Media Server é mais conveniente que o VLC ou outras opções para organizar a transcodificação, pois é controlado por um único arquivo de configuração e monitora automaticamente o status da transcodificação. O VLC, por outro lado, requer a gravação de um grande número de scripts de monitoramento para rastrear o status da transcodificação.

O próximo recurso importante do Flussonic Media Server para transcodificação é o rebalanceamento automático de fluxos quando um dos servidores trava. Se um dos 20 transcodificadores quebrar à noite, os transcodificadores restantes poderão ser configurados para capturar automaticamente os fluxos para transcodificação, e o streamer pegará os fluxos dos transcodificadores de backup.



Diferentes fabricantes de câmeras IP as dotam de diferentes processos de compressão de vídeo suportados. Normalmente, esses processos apenas se sobrepõem aos requisitos dos projetos de CFTV. Quando os usuários migram para dados de vídeo, eles começam a experimentar deficiências em termos de funcionalidade, flexibilidade e conforto. As únicas exceções são os processos de compressão que foram especialmente modificados para o sistema CCTV.

As configurações dos recursos de compactação de vídeo integrados da câmera não afetam a transcodificação, portanto, ela pode ser usada para converter os formatos de compactação da câmera para outros formatos que melhor atendam às suas necessidades. Exemplos de formatos modificados incluem codecs especiais que não são apenas otimizados para usuários de CFTV, mas também atendem a padrões bem conhecidos.

Os argumentos para o uso da tecnologia de transcodificação incluem:

  • na hora de combinar câmeras de diferentes fabricantes homogeneização funcional do sistema de CFTV. Apesar das diferenças nos fabricantes de câmeras, todas as funções do transcodificador estarão disponíveis;
  • a possibilidade de integração processamento de imagem no transcodificador;
  • uso da função, por exemplo, fluxo dinâmico de dados em tempo real (DLS), com correspondência automática da resolução do fluxo com o tamanho da janela do monitor do operador. Graças a isso, é possível reduzir significativamente a largura de banda usada em tempo real para transmissão de dados multicanal.


Resumo

Enquanto mais e mais soluções de informação lógica aparecem na configuração de câmeras IP, o desenvolvimento da tecnologia de transcodificação está indo em uma direção completamente diferente. Ao mesmo tempo, a câmera é considerada hoje como uma fonte de imagens de alta qualidade. A cada ano, os recursos lógicos e informativos são cada vez menos necessários na câmera, sua integração é simplificada e a funcionalidade torna-se homogênea. Ao lidar com um grande número de problemas comuns de CFTV, a abordagem de visualização centralizada no campo da transcodificação tem mais vantagens do que a abordagem de visualização descentralizada, que é impulsionada pelas características de câmeras individuais. Este ponto é especialmente importante no caso de grandes sistemas dotados de centenas de canais.

A transcodificação não é uma panacéia. Com base nos requisitos especiais do sistema, é possível determinar sua forma e viabilidade, vantagens funcionais e a economia de custos necessária. A tecnologia de transcodificação permite que você resolva alguns problemas com mais eficiência do que os recursos da própria câmera permitem. Outros problemas, pelo contrário, são mais fáceis de resolver usando os recursos da câmera, o que indica a eficácia dos recursos de informação lógica descentralizada. Na verdade, não há conflito entre as capacidades de informação lógica centralizada e descentralizada, e cada uma delas é eficaz em seu próprio campo.