Как рассчитать размер видео на основе данных о цветности? - PullRequest
0 голосов
/ 15 июня 2019

Меня спросили в тесте, какой будет размер видео 10 секунд, отображаемого при 25 кадрах в секунду, при условии, что каждая выборка цветности занимает 4 бита, компонент яркости занимает 8 битов, и в объекте изображения используется выборка цветности 4: 2: 032x32 пикселей?

Это было мое решение: 10 x 25 x (8 x 2) x (8 x 4) x 32 x 32

Было ли мое решение правильным?Если нет, то как это можно исправить?

1 Ответ

1 голос
/ 16 июня 2019

Извините, но ваш ответ неверный!

Формат YUV420 означает, что каждые 2x2 пикселя имеют 2 компонента цветности (один U и один V) и 4 компонента яркости.

Список компонентов размером 2x2 пикселей (4 пикселя):
4 Y Элементы
1 U Элемент
1 V Элемент

Рисунок можетпоможет вам подсчитать:

Y     Y
  U,V  
Y     Y

Размер Y (lumma) размера данных в битах:
10 x 25 x 32 x 32 x 8 = 2048000 битов

Размер размера данных цветности U в битахэто:
(10 x 25 x 32 x 32 x 4)/4 = 256000 бит (нам нужно разделить на 4, потому что каждые 4 пикселя имеют только один U элемент).

Размер данных V цветности в битах одинаков и равен U: 256000 битов

Общий размер в битах:
10 x 25 x 32 x 32 x 8 + 2 x (10 x 25 x 32 x 32 x 4)/4 = 2560000 бит.

Большая часть времени измеряется в байтах (не в битах).
Размер в байтах составляет 2560000 / 8 = 320000 байтов.


Другой способ взглянуть на проблему - вычислить средние биты на пиксель:
Каждый пиксель имеет элемент Y (8 бит).

Каждые 4 пикселя имеют 1 U (4 бита) и 1 В (4 бита)
8 бит на 4 пикселя, что в среднем составляет 2 бита на пиксель для цветности.

Среднее: 10 бит на пиксель .

Общий размер в битах: 10 x 25 x 32 x 32 x 10 = 2560000 бит = 320000 Байт.

...