Мне всегда нравились видео. В частности, меня часто привлекает магия сжатия.

Насколько это эффективно? Размышляя над этим (и многими другими вещами), я считаю полезным начать с конечного результата и работать в обратном направлении.

В самом конце конвейера изображения ваш телефон / компьютер / телевизор / другой дисплей создает изображения, комбинируя красный, зеленый и синий свет. Есть разные способы сделать это (LCD, OLED, Plasma, CRT и т. Д.), Но в конце концов мы имеем дело с красным, зеленым и синим - отсюда «RGB».

В начале конвейера мы также используем RGB для захвата изображений с помощью датчиков камеры (и используем RGB для визуализации CGI). Следовательно, начало и конец конвейера изображения обычно RGB. Однако в этом мире без сжатия RGB довольно велик.

Насколько он большой?

К счастью, это довольно легко вычислить. В качестве простого примера мы будем использовать так называемое «8-битное видео». УДЕРЖИВАЙТЕСЬ, не теряйте надежды при первых признаках техно-болтовни. Пропустите ниже, если не хотите заниматься математикой.

Мы называем это «8-битным видео», потому что каждый из компонентов RGB каждой точки на вашем дисплее (пиксель) представлен в цифровом виде с 8 битами. Иногда мы используем 10, 12 или даже 16 бит на компонент, но пока мы не будем этого делать.

8 битов означают, что каждое значение может быть от 0 до 255 (поскольку 2⁸ равно 256 и компьютеры начинают отсчет с 0, поэтому:

Красный = 0… 255
Зеленый = 0… 255
Синий = 0… 255

Если все 3 значения равны 0, ваш пиксель черный. Если все 3 значения равны 255, ваш пиксель будет чисто-белым. Если R, G, B = 255,0,0, у вас чистый красный пиксель. Если R, G, B = 0,255,0, у вас чистый зеленый пиксель и так далее.

При 8 битах на компонент нам нужно 24 бита на каждый пиксель. Теперь мы чего-то добиваемся.

Типичное видеоизображение высокой четкости «1080p» (также известное как кадр) составляет 1920x1080 пикселей или 2 073 600 пикселей. Умножьте это на 24 бита, и мы получим 49 746 400 бит для одного изображения.

Нам нравится движение изображений, поэтому мы обычно показываем их со скоростью 24 кадра в секунду. Умножьте последнее число на 24, и мы увидим, что это очень страшное число 1 194 393 600 бит в секунду. Вот это да. О, вы можете сделать это ЧЕТВЕРКАМИ ДЛЯ 4K.

Добро пожаловать назад. Для тех из вас, кто снова присоединяется к нам, мы подсчитали, что для HD-фильма в RGB без сжатия требуется около 1194 мегабит в секунду (Мбит / с).

Это довольно большая пропускная способность. Совершенно нормально для кабеля HDMI между Xbox и телевизором, но это НАМНОГО больше, чем может выдержать ваше интернет-соединение. Средняя скорость широкополосного подключения в США составляет примерно 10–25 Мбит / с. В гипотетическом мире нам потребуется 1194 Мбит / с для воспроизведения несжатого видео через Интернет.

Очевидно, что мы должны сжать это видео довольно сильно - может быть, около 100x! К счастью, многие действительно умные люди думали над подобными проблемами в течение довольно долгого времени.

Будьте на связи!