Facebook ha introducido una nueva unidad de tiempo, el Flick

N+1

El proyecto estadounidense Facebook Open Source ha desarrollado una biblioteca para el lenguaje de programación C++, con el que se puede agregar una nueva unidad de medida de tiempo, flick, al código. La biblioteca y la descripción de la nueva unidad están disponibles en la página del proyecto en GitHub. Los desarrolladores argumentan que la nueva unidad de tiempo permite sincronizar perfectamente video y audio, a excepción del estándar fallido NTSC.

En la mayoría de los lenguajes de programación actuales, el tiempo se cuenta en milisegundos (una milésima de segundo). En C++, para trabajar con video y audio y sincronizarlos, los programadores tienen que operar con fracciones decimales de segundo, calculando dichos intervalos que vincularían un lugar determinado de la grabación de audio a un fotograma determinado.

Debido a que el video y el audio usan diferentes velocidades de intercambio de datos, no siempre es posible lograr una sincronización perfecta del sonido y la imagen. Por esta razón Facebook Open Source sugirió usar una nueva unidad de tiempo en C++, que en octubre de 2016 inventó Christopher Horvath, un desarrollador del proyecto.

La nueva unidad de tiempo en C++ se llama flick, que se forma a partir de dos palabras: frame y tick. La palabra flick se puede traducir del inglés como película. Un flick es igual a 1/705600000 segundos, o 1.417 nanosegundos. Precisamente, esta unidad de tiempo, aseguran en Facebook, permite sincronizar perfectamente cualquier frecuencia existente de video y audio.

Por ejemplo, en las frecuencias habituales de 24 y 25 fotogramas, la duración de cada fotograma se puede redondear a enteros de 29400000 y 28224000 flicks. Para imágenes de rápido movimiento con una frecuencia de 192,000 fotogramas por segundo, la duración de un fotograma será de 3,675 flicks. Estos flicks se pueden sincronizar con precisión con flicks calculados para los "fotogramas" de audio de frecuencias populares de 8 a 192 kilohercios.

En comparación, cuando se utilizan los métodos comunes para la división de tiempo al sincronizar audio y video en C++, la duración de la muestra de un fotograma a una frecuencia de 24 fotogramas por segundo sería de 41,666666 milisegundos. Realizar cálculos matemáticos con estos números no es cómodo, y los intentos de redondearlos con una duración prolongada del video provocarán una desincronización cada vez mayor con el audio.

 

María Cervantes


Esta noticia ha sido publicada originalmente en N+1, tecnología que suma

Sobre N+1: Es la primera revista online de divulgación científica y tecnológica que permite la reproducción total o parcial de sus contenidos por medios de comunicación, bloggers e influencers, realizando la mención del texto y el enlace a la web: “Esta noticia ha sido publicada originalmente en la revista N+1, tecnología que suma”.

Suscríbete

Déjanos tu mail para recibir nuestro boletín de noticias

La confirmación ha sido enviada a tu correo.