;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

Som e imagem juntinhos: saiba como funcionam os cabos HDMI

Para que servem os cabos HDMI e o que eles possibilitam fazer? Saiba como essa tecnologia funciona - Arte UOL
Para que servem os cabos HDMI e o que eles possibilitam fazer? Saiba como essa tecnologia funciona Imagem: Arte UOL

Rodrigo Lara

Colaboração para Tilt, em São Paulo

02/09/2021 04h00Atualizada em 15/12/2022 10h29

Quem teve a oportunidade de acompanhar a evolução das TVs e computadores nos últimos 25 anos viu, por tabela, que a forma como conectamos áudio e vídeo nesses aparelhos mudou consideravelmente. Saíram de cena as conexões por vídeo composto ou componente (no caso das TVs) e VGA (no caso dos PCs) e entraram os cabos HDMI.

Uma das grandes vantagens do formato é a velocidade de transmissão de dados, o que, em paralelo, possibilita a reprodução de conteúdos em resoluções maiores. Mas você sabe como isso acontece?

Para que servem os cabos HDMI e o que eles possibilitam fazer? Saiba como essa tecnologia funciona - Guilherme Zamarioli/Arte UOL - Guilherme Zamarioli/Arte UOL
Imagem: Guilherme Zamarioli/Arte UOL

A sigla HDMI significa High-Definition Multimedia Interface (ou Interface Multimídia de Alta Definição). Isso, por si só, já define o que é esse tipo de conexão: uma forma de transmitir vídeo e som em alta qualidade.

Para isso, em vez de transmitir os sinais por via analógica — como acontecia com as conexões antigas —, o HDMI faz isso por via digital, realizando a representação dos sinais por uma série de bits enviados sequencialmente.

Outra vantagem é que a fonte do sinal o codifica, prevenindo que a informação se degrade até chegar ao seu destino. Há ainda um sistema de redundância: além do sinal original, o cabo transmite uma cópia invertida.

Uma vez que o sinal original e sua cópia chegam ao aparelho receptor, o decodificador compara possíveis diferenças entre esses sinais e usa o resultado dessa comparação para compensar possíveis perdas.

Outra vantagem do HDMI é que as informações am por ele sem qualquer tipo de compressão. Isso evita perda de qualidade e permite que tanto imagem quanto som cheguem ao destino sem quaisquer alterações.

Confira modelos

Cabo HDMI 2.0 (3 m) - ELG

Preço: R$ 23,90

Cabo HDMI 2.0 (2 m) - Pix

Preço: R$ 16,01

Cabo HDMI 2.0 (3 m) - Vinik

Preço: R$ 20

Cabo HDMI 2.0 (5 m) - Pix

Preço: R$ 26,99

Existem tipos diferentes de HDMI?

Sim. O mais comum é o A, igual ao que usamos para conectar dispositivos ao televisor. Ele tem um pino macho composto de 19 pinos.

O tipo B é uma versão aprimorada do tipo A, sendo composto por 29 pinos para maior largura de banda de transmissão de dados. O tipo C é a versão mini. Possui 19 pinos como o tipo A, só que eles são organizados de forma diferente, para que o tamanho do conector possa ser menor.

Os cabos do tipo C costumam ser usados em câmeras fotográficas e placas de vídeo.

Os do tipo D são ainda menores que os cabos do tipo C e são chamados de Micro, sendo apropriados para dispositivos mais compactos, como algumas câmeras.

Há seis versões diferentes do HDMI, sendo que as mais antigas (HDMI 1.1, 1.2 e 1.3) não são capazes de transmitir conteúdo em 4K. Isso só é viável a partir da 1.4. Atualmente, já existem as versões 2.0 e 2.1.

Considerando esta última, ela tem taxa de transmissão de dados de 48 Gbps, é capaz de transmitir vídeo em resolução 10K a até 120 Hz e tem 32 canais de áudio, com resolução de 1.536 KHz.

Cabos do tipo só transmitem imagem e som?

Apesar de ser o tipo mais comum de uso, a interface HDMI traz algumas outras funcionalidades, como o padrão CEC (Consumer Electronics Control, em inglês), que possibilita o controle de outros dispositivos conectados e uso do mesmo controle remoto para mais de um aparelho.

O padrão HDMI permite usar a tecnologia HD (High-bandwidth Digital Copy Protection ou proteção de banda larga para cópias digitais), um protocolo de autenticação que pode ser usado para bloquear conteúdo pirata.

Por que conexões do tipo não podem ser feitas via USB?

De forma geral, cabos HDMI têm maiores taxas de transmissão de dados do que os USB, mesmo que conexões USB 3.0 e até mesmo USB 2.0 possam ser usadas para a transmissão de áudio e vídeo. O padrão USB 4.0 permitirá taxas de transmissão de até 40 Gbps, mas no momento, o HDMI acaba sendo uma opção mais interessante.

Existem limitações nas conexões HDMI?

Uma das limitações das conexões HDMI é a distância: uma vez que a transmissão do sinal depende da capacidade energética da fonte, dependendo do aparelho de origem e da extensão do cabo, o sinal pode se degradar. A boa notícia é que isso tende a ocorrer apenas em distâncias realmente longas, próximas dos dez metros.

Para aplicações que exigem qualidade de imagem extrema, o HDMI perde para outro tipo de interface: a DisplayPort, que pode prover conectividade a múltiplos dispositivos conectados a uma única fonte de vídeo.

O DisplayPort, em sua versão 2.0, é capaz de lidar com resolução de 16K a taxas de atualização de 60 Hz e prover largura de banda de aproximadamente 77 Gbps. Quando usado para conectar múltiplos monitores à mesma fonte de vídeo, permite até três monitores operando na resolução de 4K com taxa de atualização de 90 Hz.

Fontes:

Murilo Zanini de Carvalho, professor de engenharia da computação do Instituto Mauá de Tecnologia (IMT)
Rodrigo Izidoro, professor de ciências da computação no Centro Universitário FEI

A gente escolhe cada produto criteriosamente, de forma independente, e checa os preços na data da publicação (ou seja, podem variar!). Ao comprar pelo nosso link, ganhamos uma comissão, mas você não paga a mais por isso.

Uma dica: costuma fazer compras online? Ao o Amazon Prime, você pode ter entrega grátis e rápida para diversas compras em qualquer lugar do Brasil por R$ 14,90 (o primeiro mês de teste é grátis).