Un código QR en un anuncio de vídeo necesita un tercio de la pantalla. Le dan una esquina

por el equipo de KoloQRInvestigación

Un televisor colgado en la pared de un salón que reproduce un anuncio deportivo: a la derecha una fotografía de futbolistas abrazados bajo los focos del estadio, y a la izquierda el titular "Join a Team. Be Part of Something Greater." sobre la línea "Scan to find teams" y un código QR redondo en amarillo y negro.

Un móvil que lee un código QR en un televisor no está mirando tu diseño. Está mirando unas pocas decenas de píxeles de un fotograma de cámara, y cuántos consigue lo decide una sola cosa: el ángulo que el código ocupa visto desde el sofá. Hemos montado un banco de pruebas que recorre toda la cadena - máster a 1080p, compresión, una cámara en mano y ligeramente girada a una distancia de visionado real, arrastre por movimiento - y hemos medido dónde se desploma la tasa de lectura. A una distancia normal de salón, un código que ocupa un quinto de la altura de la pantalla se descodificó en el 6 % de los intentos. Uno que ocupa un cuarto, en el 95 %. La esquina que usan todos los anuncios de vídeo midió cero, y no hay tiempo en pantalla, corrección de errores ni creatividad que lo arregle, porque el fallo ocurre antes de que se lea el primer fotograma.

Puntos clave

  • Hemos medido un suelo de lectura de 2,5 píxeles por módulo con la imagen quieta, comprimida y ligeramente girada, con los primeros aciertos esporádicos en 2,0 y la mayoría ya en 2,25. La propia documentación de ML Kit de Google pide al menos 2 píxeles por módulo, así que el banco de pruebas y el fabricante coinciden con un cuarto de píxel de diferencia.
  • El tamaño de la pantalla se cancela. Como la gente se sienta más lejos de los televisores grandes, la respuesta es una fracción de la altura de la pantalla y no una medida en centímetros, y es la misma fracción en un televisor de 43 pulgadas, en uno de 77 y en un portátil.
  • A una distancia normal de salón - un televisor de 55 pulgadas a unos 2,7 m - un código al 20 % de la altura de la pantalla se leyó el 6 % de las veces, uno al 25 % el 95 % de las veces, y uno al 30 % todas las veces. Por debajo del 15 % no se leyó nada a ninguna distancia de las que probamos.
  • La compresión apenas importa y el movimiento importa muchísimo. Comprimir el máster a calidad JPEG 40 cambió la tasa de lectura en uno o dos puntos; un arrastre de medio píxel de cámara durante una sola exposición llevó a cero un código que se leía el 99 % de las veces.
  • Las dos cosas que los anuncios le hacen a su propio código sin darse cuenta son añadir parámetros UTM y subir la corrección de errores. Ambas añaden módulos al mismo tamaño físico. Una cadena de seguimiento completa llevó un código del 100 % al 48 %; el nivel de corrección H llevó ese mismo código del 99 % al 74 %.

El código en la esquina falla antes de que nadie coja el móvil

La colocación estándar es la esquina inferior derecha del cierre, dimensionada para caber educadamente junto al logotipo y la línea legal - entre un ocho y un doce por ciento de la altura de la pantalla, en pantalla los tres a cinco segundos que dura el cierre. Se trata como una decisión de maquetación, se discute en términos de saturación y jerarquía de marca, y la aprueban personas que han escaneado el código con éxito en el monitor de la sala de montaje.

No es una decisión de maquetación. Es una decisión de resolución, y la aritmética que hay detrás está cerrada antes de que nadie en la sala tenga una opinión. Un móvil que fotografía un televisor captura toda la habitación; el televisor es una fracción de ese fotograma, el código es una fracción del televisor, y la retícula del código se divide después en entre 25 y 53 cuadrados de lado. Lo que sobrevive al final son un puñado de píxeles por cuadrado, y por debajo de cierto puñado no se descodifica nada - ni despacio, ni a veces, ni con una aplicación mejor.

La razón por la que esto se sigue pasando por alto es que todas las comprobaciones que se hacen durante la producción se hacen a la distancia equivocada. El código se escanea en el monitor de montaje a un brazo de distancia, en el enlace de revisión en un portátil a 60 cm, y en un móvil sostenido a 30 cm de otro móvil. Geométricamente, esas tres situaciones no se parecen en nada a un sofá, y las tres pasan la prueba. La única condición en la que se verá de verdad el anuncio es la que nadie prueba, porque probarla significa plantarse en un salón.

Así que este artículo hace la aritmética y luego la mide. La pregunta no es si los códigos QR pintan algo en publicidad en vídeo - eso es cuestión de gustos, y la respuesta probablemente dependa de la marca. La pregunta es qué tamaño tiene que tener un código para que la discusión sobre gustos merezca la pena siquiera.

Qué hemos medido, y qué no puede decirte

El banco de pruebas recorre toda la cadena por software. Un código se dibuja a 12 píxeles por módulo con la zona de silencio de cuatro módulos que especifica ISO/IEC 18004, se reescala dentro de un máster a 1080p al tamaño que ocuparía en el anuncio terminado, se comprime, se rellena, se gira ligeramente, se remuestrea al número de píxeles que una cámara de móvil recogería de él a una distancia de visionado dada, se emborrona para simular el movimiento durante la exposición y se le entrega a un descodificador. Cada cifra de abajo es la proporción de intentos que se descodificaron.

Cada celda son 216 intentos: doce cargas útiles distintas, seis ángulos de entre uno y once grados fuera de escuadra, y tres variaciones de un píxel en el tamaño capturado. Ese recuento existe por un error que vale la pena reconocer. La primera versión del banco de pruebas le pasaba al descodificador una imagen perfectamente cuadrada y alineada con la retícula, y descodificaba tan campante un código a un píxel por módulo - un resultado que es aritmética real y a la vez un completo disparate, porque mide una coincidencia de muestreo que una mano sosteniendo un móvil no va a reproducir jamás. El giro es lo que sitúa cada módulo en una fase subpíxel arbitraria, y movió el suelo en más del doble.

El descodificador es el flojo, a propósito

El descodificador es jsQR, el port a JavaScript del núcleo de ZXing: la misma familia de descodificadores cuyo binarizador leímos en el código fuente para las mediciones de contraste. El framework Vision de Apple y ML Kit de Google son los que leen de verdad la mayoría de los códigos, los dos son cerrados, y una cifra sacada de cualquiera de ellos es una cifra que ningún lector puede comprobar. jsQR es además, casi con toda seguridad, el menos capaz de los tres: no tiene etapa de aprendizaje automático, ni acumulación de varios fotogramas, ni superresolución.

Eso hace que merezca la pena señalar una calibración. Nuestro suelo con imagen limpia salió en 2,5 píxeles por módulo, y la documentación de escaneo de códigos de ML Kit pide un código cuya "unidad significativa más pequeña" tenga "al menos 2 píxeles de ancho y, en los códigos bidimensionales, 2 píxeles de alto". Que un descodificador más débil se quede un cuarto de píxel por encima del mínimo publicado por el fabricante es prácticamente el mejor acuerdo al que puede aspirar este tipo de montaje, y es la razón por la que la tabla de tamaños de más abajo debe leerse como aproximadamente correcta y no como pesimista por un factor.

Qué deja fuera el banco de pruebas

  • Móviles reales. Para esto no se apuntó ningún iPhone ni ningún Android a un televisor. La estabilización óptica, la fusión de varios fotogramas y los dos descodificadores cerrados juegan a favor del lector, y ninguno está modelado.
  • La codificación de vídeo entre fotogramas. Aquí la compresión es JPEG sobre un solo fotograma, que hace las veces de fotograma intracodificado. Un código quieto sobre un plano quieto no le cuesta casi nada a un codificador real después del primer fotograma; un código incrustado sobre imagen en movimiento se recodifica constantemente. Como la compresión resultó ser casi irrelevante en ambos casos, esto importa menos de lo que parece.
  • El panel y el sensor batiendo entre sí. Una cámara que fotografía una pantalla puede producir muaré, y un máster a 24p convertido a un panel de 60 Hz y muestreado por un obturador rodante puede producir bandas. Las dos cosas son reales, las dos perjudican y ninguna está simulada.
  • Reflejos, luz ambiente y visionado descentrado. Los tres restan, y los tres son materia del trabajo sobre contraste y no de este.
  • Las personas. Cuánto tarda alguien en ver un código, encontrar el móvil y apuntarlo no es algo que un banco de pruebas pueda medir. Esa sección de más abajo está marcada como estimación.

Todas esas omisiones van en la misma dirección salvo la primera: el banco de pruebas es más duro con el código que una fotografía quieta, y más blando que un salón. El resumen honesto es que estas cifras localizan el precipicio, y el protocolo de diez minutos del final de este artículo es la forma de averiguar de qué lado cae tu campaña.

El suelo está en dos píxeles y medio por módulo

Los píxeles por módulo son los píxeles de cámara que caen sobre un cuadrado de la retícula de un código QR, y son la cantidad de la que se paga cualquier otra variable de un escaneo. El contraste, el desenfoque, la compresión, la ganancia de tinta y el ruido de la cámara reducen todos, al final, lo mismo: la confianza con la que un descodificador puede decir de qué lado de la frontera entre negro y blanco cayó un cuadrado. Por debajo de cierta densidad de muestreo no queda confianza que gastar.

Píxeles por móduloLimpioComprimido (JPEG q40)
1,500 %0 %
1,750 %0 %
2,008 %7 %
2,2569 %68 %
2,5099 %100 %
2,75100 %100 %
3,00100 %100 %
Tasa de lectura sobre 216 intentos por celda, de uno a once grados fuera de escuadra. El precipicio mide menos de medio píxel: 2,0 píxeles por módulo es un fracaso y 2,5 es una certeza.

Dos cosas de esa tabla valen más que el propio suelo. La primera es lo estrecha que es la transición. No hay una larga cola de códigos marginales que se escanean si el usuario tiene paciencia: entre 2,0 y 2,5 píxeles por módulo la tasa de lectura pasa del 8 % al 99 %, lo que significa que un código tiene la densidad de muestreo o no la tiene, y la diferencia entre esos dos estados es un cuarto de píxel por módulo.

La segunda es la segunda columna. Comprimir el máster a calidad JPEG 40 - visiblemente degradado, muy por debajo de lo que entregaría una cadena de televisión o una plataforma - cambió el resultado en uno o dos puntos en cualquier dirección y no movió el precipicio en ningún momento. Vale la pena decirlo con claridad porque "la compresión de vídeo se come los códigos QR" es la explicación estándar de por qué fallan en televisión, y en esta medición sencillamente no es cierta. La compresión no es lo que está matando a estos códigos. Es el muestreo.

El corolario es que todo el problema se reduce a una pregunta: ¿cuántos píxeles de cámara recibe el código? Eso no es una propiedad del diseño, del formato de archivo ni del codificador. Es una propiedad del ángulo que el código ocupa en el ojo del espectador, que es geometría, y la geometría tiene la decencia de ser predecible.

El tamaño de la pantalla se cancela y solo sobrevive el ángulo

La cámara de un móvil es una proyección rectilínea, lo que significa que una distancia transversal a un alcance conocido se convierte en píxeles mediante una única constante. Para un campo de visión horizontal de 70 grados - un objetivo equivalente a 26 mm son 69,4 grados, y las cámaras principales de los móviles llevan años saliendo con menos de un grado de diferencia respecto a eso - la constante es de 1.371 píxeles por radián en un fotograma de 1920 píxeles de ancho. Así que toda la cadena se reduce a una línea de aritmética:

píxeles por módulo = 1371 × f ÷ (k × N), donde f es la altura del código como fracción de la altura de la pantalla, k es la distancia de visionado expresada en alturas de pantalla, y N es el número de módulos de lado que tiene el código incluida su zona de silencio de cuatro módulos.

Lo interesante de esa expresión es lo que le falta. No hay ningún tamaño de pantalla en ella ni ninguna distancia en metros, solo su proporción. Eso no es una simplificación, es la física real: un televisor de 77 pulgadas ocupa el mismo ángulo desde el fondo de una habitación grande que uno de 43 desde una pequeña, y la cámara no sabe ni le importa cuál de los dos está mirando. La respuesta a "cómo de grande tiene que ser el código" es, por tanto, un porcentaje de la pantalla, y el mismo porcentaje sirve en todas partes.

También significa que k puede fijarse a partir de recomendaciones publicadas de ángulo de visión en lugar de adivinarse. THX recomienda un ángulo de visión horizontal de unos 40 grados, que para una pantalla 16:9 da una distancia de 2,4 alturas de pantalla. La recomendación de SMPTE de 30 grados da 3,3 alturas de pantalla. Las dos son recomendaciones para gente a la que le importa la calidad de imagen; los salones normales están más lejos que cualquiera de ellas, y por eso las tablas de abajo llegan hasta cuatro alturas de pantalla - un televisor de 55 pulgadas a unos 2,7 m.

El 1920 de esa constante merece una advertencia propia, porque es la suposición favorable. El flujo de análisis es el búfer de vídeo de resolución reducida sobre el que trabaja realmente el detector de códigos de un móvil, que no es la fotografía a resolución completa que la cámara es capaz de tomar. La documentación de ML Kit de Google recomienda alimentarlo con "1280x720 o 1920x1080", y señala que bajar de ahí solo es viable "exigiendo que el código ocupe la mayor parte de la imagen de entrada". Todo lo de abajo asume la mejor de esas dos. A 1280 x 720, cada cifra de la tabla siguiente empeora un tercio.

Cómo de grande tiene que ser el código en realidad

Con la aritmética resuelta, la medición. Cada fila es una altura de código como porcentaje de la altura de la pantalla; cada par de columnas es una distancia de visionado en alturas de pantalla, con la densidad de muestreo resultante y la tasa de lectura que salió del banco de pruebas. La carga útil es una URL de 25 caracteres con corrección de errores M, que es la versión 3 - 29 módulos, o 37 de lado con la zona de silencio. Todo está quieto, comprimido y entre uno y once grados fuera de escuadra.

Altura del código (% de la pantalla)En el máster a 1080pk = 2 px/módulok = 2 tasak = 3 px/módulok = 3 tasak = 4 px/módulok = 4 tasa
8 %86 px1,490 %1,000 %0,730 %
10 %108 px1,862 %1,240 %0,920 %
12,5 %135 px2,3282 %1,540 %1,160 %
15 %162 px2,78100 %1,864 %1,380 %
17,5 %189 px3,24100 %2,1670 %1,620 %
20 %216 px3,70100 %2,4691 %1,866 %
25 %270 px4,62100 %3,0899 %2,3295 %
30 %324 px5,57100 %3,70100 %2,78100 %
35 %378 px6,49100 %4,32100 %3,24100 %
216 intentos de lectura por celda. k es la distancia de visionado en alturas de pantalla: k = 2,4 es la recomendación de THX, k = 3,3 la de SMPTE, y k = 4 un salón corriente - un televisor de 55 pulgadas a 2,7 m. La columna del medio es el tamaño del código en el máster a 1080p, que nunca es la restricción determinante.

Lee la columna k = 4, porque es donde está sentada la mayoría de la gente. Un código a un quinto de la altura de la pantalla se leyó seis veces de cada cien. Un código a un cuarto de la altura de la pantalla se leyó noventa y cinco veces de cada cien. Todo el rango útil de esta decisión de diseño está entre el 20 % y el 30 % de la altura de la pantalla, y la colocación convencional en la esquina no está simplemente en la parte baja de ese rango: se sale de la tabla por un factor de dos a tres.

Fíjate también en lo que está haciendo la columna del máster, que es nada. Un código al 20 % de la altura de la pantalla mide 216 píxeles de lado en el archivo a 1080p, holgadamente por encima del suelo; el código no se está destruyendo en el montaje, en el etalonaje ni en la codificación. Lo está destruyendo la distancia entre un sofá y un televisor, que es una cantidad que ningún proceso de posproducción puede mejorar. Este es el mismo argumento que dimensionar un código impreso para su distancia de escaneo plantea sobre el papel, y aquí es más estricto porque el espectador no puede acercarse a la pantalla.

El corolario de la columna k = 2 también vale la pena, porque explica con precisión el espejismo de la sala de montaje. A dos alturas de pantalla - un televisor de 55 pulgadas a 1,4 m, que ocupa más o menos lo que un monitor de escritorio a un brazo de distancia - un código al 12,5 % de la altura de la pantalla se lee el 82 % de las veces. Esa es la comprobación que hace todo el mundo, y la pasa. La densidad de muestreo cae en proporción directa a la distancia, y el sofá está uno o dos metros más allá de donde se hizo la prueba.

El movimiento lo remata antes que el tamaño

La compresión resultó no importar y el tamaño resultó importar muchísimo. El movimiento es peor que los dos. El banco de pruebas aplica un arrastre lineal en el sensor - una convolución de caja en la dirección del desplazamiento, que es lo que el movimiento durante una exposición le hace realmente a un fotograma, en lugar del desenfoque gaussiano simétrico que aplicaría una función de blur - y mide cuánto puede desplazarse el código sobre el sensor durante una exposición antes de que la tasa de lectura se derrumbe.

Altura del código (% de la pantalla)Píxeles por móduloQuieto0,25 px0,5 px0,75 px1,0 px1,5 px
25 %3,0899 %86 %0 %0 %0 %0 %
30 %3,70100 %97 %0 %0 %0 %0 %
40 %4,95100 %100 %100 %0 %0 %0 %
60 %7,41100 %100 %100 %100 %1 %0 %
A k = 3, comprimido. El encabezado de columna es cuánto se desliza el código sobre el sensor de la cámara durante una sola exposición. En las cuatro filas el derrumbe cae en el mismo punto medido en las unidades del propio código - alrededor de un octavo de módulo - y por eso un código más grande compra tolerancia real y no la ilusión de tolerancia.

La tolerancia es de alrededor de un octavo de módulo, y en píxeles de cámara eso está entre un cuarto de píxel y un píxel según lo grande que sea el código. Vale la pena convertirlo en algo sobre lo que un director pueda actuar. Un píxel de cámara son 0,042 grados de arco. A una exposición de 1/60 s - un móvil en una habitación poco iluminada, midiendo la luz de una pantalla brillante - un cuarto de píxel es una velocidad angular de unos 0,6 grados por segundo. Eso es una mano sostenida razonablemente quieta, y no es una mano estirándose desde un sofá.

Aplicada al movimiento del propio código en pantalla, la misma aritmética es brutal. A tres alturas de pantalla, una altura de pantalla equivale a 457 píxeles de cámara, así que un código que se desplaza por la pantalla con una exposición de 1/60 s tiene un presupuesto de aproximadamente una treintava parte de la altura de la pantalla por segundo. Un código que entra deslizándose con elegancia durante dos segundos, un travelling lento sobre el cierre, una cámara en mano detrás de un código incrustado, un rebote, un giro, un escalado: todos están uno o dos órdenes de magnitud fuera de ese presupuesto durante todo el movimiento. El código es decorativo hasta que se para.

Por qué las tasas de lectura son probabilidades y la tabla de tamaños no

Hay una distinción escondida en estas dos tablas que importa más que cualquiera de ellas. Un código demasiado pequeño falla de forma determinista: cada fotograma es el mismo fotograma, treinta veces por segundo, y ninguno se descodifica. Un código lo bastante grande pero en movimiento falla de forma aleatoria: la mayoría de los fotogramas están arrastrados, algunos no, y el escaneo funciona en el instante en que llega un fotograma limpio.

Así que el tiempo en pantalla no es un arreglo de propósito general, es el arreglo de exactamente un modo de fallo. Tres segundos más en pantalla compran noventa intentos más contra un problema de movimiento y no compran absolutamente nada contra un problema de muestreo. Esto es lo más útil de todo el artículo para cualquiera que esté redactando un briefing de producción: si el código es lo bastante grande y está quieto, se leerá casi de inmediato; si es demasiado pequeño, no se leerá aunque lo dejes puesto toda la pausa publicitaria.

Dos formas en que un anuncio encoge su propio código sin darse cuenta

Todo lo anterior ha dado por supuesta una URL de 25 caracteres con corrección de errores M. Las dos suposiciones se rompen habitualmente, y las rompe gente que intenta ayudar, y las dos se rompen igual: añaden módulos, el código mantiene el mismo tamaño físico en pantalla, y cada módulo se hace más pequeño.

La cadena de seguimiento

La URL de campaña llega de la agencia de medios con sus parámetros de medición pegados, porque así se atribuye la campaña. Nadie mira lo que eso le hace a la retícula.

La URLCaracteresVersiónMódulosPíxeles por móduloTasa de lectura
Una redirección corta en un dominio tuyo122254,15100 %
Una URL corta con el esquema escrito273293,70100 %
Una URL de campaña legible464333,3493 %
La misma con parámetros UTM936412,8077 %
La misma con una cadena de seguimiento completa1579532,2548 %
Las cinco al 30 % de la altura de la pantalla, k = 3, quietas y comprimidas: un código de tamaño generoso que supera todos los umbrales de este artículo. Lo único que cambia es la carga útil. 60 intentos por fila.

Una cadena de seguimiento completa reduce a la mitad la tasa de lectura de un código que por lo demás está bien dimensionado. Y lo hace justo en el momento en que el equipo de marketing más se está esforzando por medir la campaña, lo que la convierte en una buena candidata al patrón más contraproducente de todo el asunto. El arreglo no es renunciar a la atribución: es poner una ruta corta en un dominio propio delante de los parámetros y engancharlos en la redirección, donde no cuestan nada. Lo que cuesta de verdad una redirección alquilada a lo largo de la vida de una campaña es otro argumento, y desemboca en la misma recomendación.

Subir la corrección de errores

El otro reflejo es subir el nivel de corrección de errores, con la teoría de que una situación más difícil de leer pide más redundancia. Es la palanca equivocada y además es dañina, por la misma razón que lo es con el contraste bajo: añade redundancia añadiendo módulos, y los módulos son lo que escasea.

Corrección de erroresVersiónMódulosTasa al 25 % de la pantallaTasa al 30 % de la pantalla
L225100 %100 %
M32999 %100 %
Q32999 %100 %
H43374 %92 %
La misma carga útil en cada nivel, a k = 3, quieta y comprimida. L y M no cuestan nada y H cuesta 25 puntos al tamaño que usaría la mayoría de los anuncios, porque gasta una versión entera en una redundancia que la pantalla nunca iba a necesitar.

H existe para códigos que se ensucian, se rompen, se imprimen encima o quedan parcialmente tapados por un logotipo. Un código en un televisor no es nada de eso: se entrega perfecto píxel a píxel y luego se submuestrea, y el submuestreo no es un daño que los bloques de corrección de errores puedan reparar, porque impide que los módulos se lean siquiera. Usa L o M en pantalla y gasta los módulos que has ahorrado en hacer cada uno más grande. El compromiso completo entre capacidad de recuperación y tamaño de módulo se aplica aquí sin cambios; las pantallas simplemente están en el extremo de esa balanza donde la redundancia vale menos.

El tiempo es el presupuesto que nadie apunta

Esta sección es una estimación y no una medición, y conviene decirlo antes de las cifras y no después. Nada en el banco de pruebas puede medir cuánto tarda una persona en reaccionar ante un televisor, y no hemos hecho ese estudio.

La secuencia que un espectador tiene que completar no es corta. Ver el código y decidir que merece la pena actuar lleva un segundo o dos. Coger y desbloquear el móvil, entre dos y cuatro. Llegar a la cámara, otro uno a tres, más si el móvil se abre en lo último que tuviera delante. Encuadrar el televisor, dejar que el enfoque automático se asiente y quedarse quieto, entre dos y cuatro más. Eso son de seis a trece segundos partiendo de cero, frente a un cierre que suele estar en pantalla de tres a cinco.

Hay una mitigación real y merece reconocimiento: buena parte de la televisión la ve gente que ya tiene el móvil en la mano, lo que elimina el paso de cogerlo y casi todo el de desbloquearlo. Presumiblemente esa es la razón entera por la que alguien pensó que los códigos QR funcionarían en televisión. Es un buen argumento para que el formato exista, y no es un argumento a favor de tres segundos, porque los dos últimos pasos - llegar a la cámara y luego apuntar y sostener - son los que un móvil que ya está en la mano no acorta.

Nuestra recomendación, dicha como la opinión que es: ocho segundos de un código quieto y bien dimensionado es el mínimo que merece la pena poner en un briefing, y si la creatividad no puede ceder ocho segundos, entonces la creatividad ha decidido que el código es decorativo. Es una decisión legítima. Solo que no debería tomarse por accidente y medirse después como tasa de escaneo.

El anuncio que todo el mundo recuerda obedeció a la aritmética

Hay un contraejemplo famoso a todo esto, y es famoso precisamente porque hizo absolutamente todo lo que este artículo recomienda. En febrero de 2022 Coinbase emitió un anuncio de sesenta segundos en la Super Bowl que no era más que un código QR que cambiaba de color rebotando por una pantalla negra. Lo cubrieron en su momento Variety y CNN, y esta última contó la parte que todo el mundo recuerda: la página de destino recibió tanto tráfico que la aplicación se cayó.

Alinéalo con las tablas de arriba. El código era grande, porque tenía el fotograma entero. Estaba solo, así que nada competía por la atención del espectador ni por los bits del codificador. Estuvo en pantalla sesenta segundos en lugar de cuatro, que son unos 1.800 fotogramas de cámara en los que un descodificador puede encontrar uno limpio. Y se desplazaba despacio en lugar de cortar o escalar, lo que mantiene un código en movimiento dentro del presupuesto de arrastre por exposición donde un movimiento rápido no cabe.

Lo único que hizo y que este artículo desaconsejaría es el cambio de color, y hasta eso es menos temerario de lo que parece: la paleta se mantuvo oscuro sobre claro o claro sobre oscuro en todo momento, en vez de emparejar dos tonos medios, que es la distinción que decide de verdad si un código en color sobrevive a una cámara. Lo que no hizo fue poner un código pequeño en una esquina durante cuatro segundos.

La conclusión no es que todas las marcas deban comprar sesenta segundos de la Super Bowl. Es que el anuncio que siempre se cita como prueba de que los códigos QR funcionan en televisión es un anuncio que gastó todo su presupuesto creativo en satisfacer la física. Citado como precedente para un código en la esquina de un cierre, demuestra lo contrario de lo que suele usarse para demostrar.

Ponlo en tu propio televisor en diez minutos

Todas las cifras de arriba son cifras de una cámara simulada y de un descodificador más débil que los que la gente lleva en el bolsillo. La cifra que importa para una campaña concreta es la que produce el archivo terminado de esa campaña, en una pantalla real y desde un sofá real, y se consigue en diez minutos.

  1. Reproduce el archivo entregado, no el máster. Pon el entregable real en el televisor real: cástalo, cárgalo desde un pincho o súbelo como vídeo no listado a la plataforma a la que va. Revisar un máster ProRes en un monitor calibrado es la prueba que ya ha pasado y no te ha dicho nada.
  2. Siéntate donde se sienta la gente y apunta la proporción. Mide la distancia de la pantalla al sofá, mide la altura de la pantalla y divide. Esa proporción es la k de todas las tablas de arriba, y es el número que te permite comparar tu resultado con ellas. Cualquier cosa entre tres y cuatro y medio es una habitación corriente.
  3. Escanea con dos cámaras nativas. Un iOS y un Android, usando la cámara integrada y no una aplicación de escaneo. Las aplicaciones de escaneo son más tolerantes que las nativas y darán por buenos códigos que tu público no puede leer. Dale a cada móvil cinco segundos, que es lo que le da el cierre.
  4. Hazlo a lo bruto. Con una mano, repantingado, sin apoyar el codo en nada. El resultado cuidadoso no es el resultado: un cuarto de píxel de cámara de movimiento durante una exposición es todo el presupuesto de movimiento, y apoyarse vale más que eso.
  5. Haz el control antes de concluir nada. Acércate y escanea ese mismo fotograma congelado desde un metro. Si eso falla, el problema es de contraste, de zona de silencio o de la carga útil, y no de tamaño, y agrandar el código no lo va a arreglar.
  6. Sube de cinco en cinco por ciento hasta que pase dos veces, y luego añade un paso más. Vuelve a exportar con el código un cinco por ciento más grande respecto a la altura de la pantalla y repite hasta que los dos móviles lo escaneen dos veces seguidas desde el sofá. Después añade un paso más. Ese último paso es el margen para los móviles, las habitaciones y las vistas que la prueba no incluyó.

Si la respuesta que sale es que el código tiene que ocupar un tercio de la pantalla, esa es la respuesta real, y es mejor tenerla antes del rodaje que después del informe de campaña.

Qué poner en el anuncio en su lugar

La recomendación con la que termina este artículo es más estrecha que su título. Los códigos QR en publicidad en vídeo no son inútiles: son caros, en superficie de pantalla y en segundos, y casi todos los anuncios que usan uno se niegan a pagar cualquiera de los dos precios y luego le echan la culpa al formato.

  • Si vas a usar un código, dale entre un cuarto y un tercio de la altura de la pantalla y ocho segundos quieto. En la práctica eso significa que el código es el cierre y no un adorno encima del cierre. Esta es la recomendación entera; todo lo demás aquí es una consecuencia de ella.
  • Mantén la carga útil por debajo de unos 25 caracteres. Una ruta corta en un dominio tuyo, con los parámetros de seguimiento enganchados en la redirección en vez de metidos en el código. Esto vale más que cualquier otro cambio, porque recupera módulos sin coste para nada.
  • Usa corrección de errores L o M, no H. En una pantalla el código se entrega intacto y luego se submuestrea, y la redundancia no ayuda contra el submuestreo.
  • No lo muevas, no lo escales, no lo gires y no lo hagas entrar deslizándose. El movimiento tiene un presupuesto muy por debajo de un píxel de cámara por exposición, y cualquier animación está órdenes de magnitud fuera de él. Anima todo lo demás del cierre.
  • Si el anuncio se va a ver sobre todo en el móvil, no uses un código. La pantalla que reproduce el anuncio es la pantalla que tendría que leerlo, y no hay un segundo dispositivo. Usa el formato pulsable que ofrezca la plataforma.
  • Plantéate una URL corta dicha y escrita en su lugar. Un dominio memorable leído en voz alta y mostrado como texto no tiene tamaño angular mínimo, sobrevive al movimiento, funciona en la pantalla de un móvil y no obliga al espectador a sostener nada quieto. Convierte peor por impresión y falla de forma menos absoluta, y para un cierre de cuatro segundos ese intercambio suele salir a cuenta.
  • El cine es la excepción que conviene conocer. La misma aritmética que descarta la esquina de un televisor es generosa en una sala, donde la pantalla ocupa un ángulo mucho mayor desde cualquier butaca. Un código que en casa sería inviable puede ser modesto en una pantalla de cine.

Una nota honesta sobre nuestra propia herramienta, ya que este artículo acaba de recomendar algo que no hace. KoloQR, un generador de códigos QR gratuito con códigos QR circulares y de formas personalizadas, fija la corrección de errores en el nivel H, porque despeja un hueco en mitad de la retícula para un logotipo y H es lo que paga ese hueco. Es el valor por defecto correcto para un código impreso con una marca en el centro y el equivocado para una pantalla, así que un código exportado desde el generador para un anuncio de vídeo lleva una versión más de la que necesita. A un tercio de la altura de la pantalla eso no cuesta nada medible; a un quinto es parte de por qué un quinto no funciona.

El límite de todo lo anterior es el que se enuncia arriba: hemos medido una cadena de software, no un salón. Para esto no se apuntó ningún móvil a un televisor, y el descodificador que usamos es más débil que los que leerán de verdad tu anuncio, lo que significa que el precipicio real está por debajo de las cifras de estas tablas y no por encima. Para lo que sirven las tablas es para decirte de qué lado cae un código en la esquina, y no es un caso ajustado.

Crea tu código QR

Gratis, sin cuenta y sin marca de agua. Elige una forma, añade un logo, comprueba el contraste y exporta SVG, PDF, EPS o PNG: un código estático sin ninguna suscripción detrás.

Generar código QR

Questions? Answered

Entre un cuarto y un tercio de la altura de la pantalla. En nuestras mediciones, un código al 25 % de la altura de la pantalla se leyó el 95 % de las veces desde una distancia normal de salón y uno al 30 % se leyó siempre, mientras que uno al 20 % se leyó el 6 % de las veces y cualquiera más pequeño no se leyó nunca. La respuesta es una fracción y no una medida en centímetros porque la gente se sienta más lejos de los televisores grandes, así que el mismo porcentaje sirve en cualquier pantalla.

Porque la cámara no está recibiendo suficientes píxeles sobre cada cuadrado de la retícula del código. Un descodificador necesita unos dos píxeles y medio de cámara por módulo, y un código de tamaño de esquina en un televisor visto desde tres metros entrega alrededor de uno. Este fallo no es gradual - la transición de funcionar a imposible ocupa un cuarto de píxel por módulo - así que el código se lee de inmediato o no se lee nunca, por mucho rato que le apuntes con el móvil.

Mucho menos de lo que la gente supone. Comprimimos el máster a calidad JPEG 40, muy por debajo de lo que entregaría una cadena o una plataforma de streaming, y la tasa de lectura se movió uno o dos puntos sin que el umbral de fallo se desplazara lo más mínimo. Lo que está destruyendo los códigos QR en televisión no es el codificador, es la distancia entre la pantalla y el espectador, y eso no lo arregla ningún bitrate.

Al menos ocho segundos, como opinión y no como medición. Un espectador tiene que ver el código, encontrar un móvil, desbloquearlo, llegar a la cámara, encuadrar el televisor y quedarse quieto, lo que son de seis a trece segundos partiendo de cero frente a un cierre que suele durar de tres a cinco. El tiempo extra solo ayuda si el código ya es lo bastante grande: el tiempo en pantalla compra más intentos contra un problema de movimiento y no compra nada contra un problema de tamaño.

Solo muy despacio. El presupuesto de movimiento es de alrededor de un octavo de módulo de arrastre durante una sola exposición de cámara, lo que para un código de tamaño típico está entre un cuarto de píxel y un píxel de cámara: aproximadamente una treintava parte de la altura de la pantalla por segundo de desplazamiento. Los deslizamientos, los travellings, los escalados y los giros están uno o dos órdenes de magnitud fuera de eso, así que un código es decorativo durante toda la animación y solo se vuelve escaneable cuando se para.

No: bájalo. La corrección de errores añade redundancia añadiendo módulos, y a un tamaño fijo en pantalla más módulos significa menos píxeles de cámara sobre cada uno. En nuestras mediciones, la misma carga útil en nivel H se leyó el 74 % de las veces donde los niveles L y M se leyeron el 100 %, porque H gastó una versión entera en reparar daños que una pantalla nunca inflige. El submuestreo no es un daño que la corrección de errores pueda reparar, porque impide que los módulos se lean siquiera.

Bastante, a los tamaños que usan los anuncios de vídeo. Una URL de campaña de 46 caracteres es un código de 33 módulos; la misma URL con una cadena de seguimiento completa son 157 caracteres y 53 módulos, y a un tamaño fijo en pantalla eso llevó la tasa de lectura del 93 % al 48 % en nuestra prueba. Pon en el código una ruta corta en un dominio tuyo y engancha los parámetros en la redirección, donde son gratis.

Rara vez, y por un motivo que no tiene nada que ver con el tamaño. La mayor parte del vídeo social se ve en el móvil, y la pantalla que reproduce el anuncio es la misma que tendría que escanear el código: no hay un segundo dispositivo al que apuntar. Donde la plataforma ofrece un enlace pulsable, eso es estrictamente mejor; un código solo tiene sentido para vídeo social que de verdad se esté viendo en un televisor o en una pantalla de escritorio.

El cine es el caso amable. La aritmética depende solo del ángulo que ocupa la pantalla vista por el espectador, y una pantalla de cine ocupa un ángulo mucho mayor desde cualquier butaca que un televisor desde un sofá, así que un código modesto funciona bien. Las vallas varían enormemente y hay que calcularlas una a una: un código en una pantalla grande a cincuenta metros de la acera puede ocupar un ángulo menor que un código del tamaño de un móvil sostenido con el brazo estirado.

Reproduce el archivo entregado en un televisor real, siéntate donde se vaya a sentar el público y escanéalo con la cámara integrada de un móvil iOS y uno Android, sujetos con una mano y sin cuidado. Dale a cada móvil los mismos segundos que le da el cierre a un espectador. Cualquier prueba hecha en un monitor de montaje o en un portátil pasa, porque esas distancias son dos o tres veces más cortas que un sofá, que es exactamente por lo que el problema sobrevive a la producción.

¿Por qué KoloQR?

  • Crea códigos QR para sitios web, menús, Wi-Fi, PDF y tarjetas de visita
  • Personaliza colores, logotipos y formas únicas
  • Descarga archivos PNG y SVG de alta calidad
  • Pensado tanto para impresión como para digital
Generar código QR
Un código QR negro sencillo junto al mismo código rediseñado como un círculo con los colores de la marca