Ответ на пост «Как организовать скремблинг видео?»
скремблирование — обратимое преобразование цифрового потока без изменения скорости передачи (ц) википедия.
Ардуино не вывезет, да и младшие STM... тут что-то специализированное надо.
1. Оперативная память:
Стандартная картинка PAL 704x576 пикселей и 25 кадров в секунду.
Предположим что мы начнем баловаться с черно-белой (натурально ЧБ, без полутонов и всетакое) картинкой. На каждый пиксель используем 1 бит.
Это будет 405504 бит на 1 кадр, что примерно 51кБайт на один кадр. Соответственно жмем умножить на количество кадров в секунду, и получаем уже 1.3 Мегабайта в секунду.
2. Быстродействие
Возмем операцию перемножить те же чернобелые кадры между собой.
Предположим у нас на операцию уходит один системный тик, который от кварца. Типовая частота ардуинок 8 МГц, значит на один такт 125 нс. Предположим что у нас идеальная ситуация, нам кроме как перемножентем заниматься не надо...
Процу надо: Считать очередные данные из первого массива, считать очередные данные из второго массива, перемножить данные между собой ну и положить результат куда нибудь. Итого 4 операции на которые нужно 500 нс на один байт. Производительность 2 Мфлопса. Считаем сколько времени нужно для того что бы перемножить 2 кадра: 500 нс * 51000 = 25 миллионов наносекунд ну или 25 мс = 40 Гц
Частота же кадров в видеосигнале - 25 Гц = 40 мс.
Ура, ура потянет же! Скажет ардуиншик... и тут прилетит птица обломинго. Если работать с цветной картинкой, то для шифровки цвета каждого пикселя мы будем использовать как минимум 21 бит, по 7 бит для каждого цвета (RGB). Итого: 21*405504 = 8515584 бит = 1Мегабайту. 1 кадр весит уже мегабайт.
1 мегабайт перемножить на 1 мегабайт на частоте 8 МГц = 500нс * 1000000 = 500 миллионов нано секунд = 532 миллиона наносекунд = 1.8 Гц - что эквивалентно почти 2 FPS....
ЗЫ: кажысь эти экспрессподсчеты тянут в лигу упоротых расчетов?