Нет, такой способ нелегален. Легально — это когда первый человек ревер-инжинирит код Windows, пересказывает второму человеку алгоритмы, и второй реализует эти алгоритмы по своему разумению.
Под матрицей я имел в виду матрицу коэффициентов дискретного косинусного преобразования.
Предлагаю рассмотреть такой вариант работы: вместо замены битов обнулим те же самые биты, JPEG точно так же изменится ненамного, всего 50% битов-«контейнеров» будут обнулены, но взамен данные будут лучше сжиматься за счёт более низкой энтропии, файл уменьшится, и освободившееся место можно будет использовать для своей информации. На мой взгляд, это места займёт столько же, но не нужно будет ничего упаковывать-распаковывать.
Можно снизить качество JPEG и уменьшить размер файла, работая непосредственно с матрицей, не обязательно распаковывать в растр и начинать всё с начала, я такой подход имел в виду. И если делать так, то преимуществ в запрятывании информации в этих коэффициентах не видно совсем.
А вот это утверждение неплохо бы обосновать. Качество снижается в обоих случаях, в одном за счёт уменьшения количества информации в картинке и добавления хранимых данных в отдельный файл, в другом за счёт замены информации в картинке с оставлением примерно такого же количества оригинальной информации об изображении, как и в первом случае. Раз количество информации после применения каждого из методов одинаково, то и размеры файлов будут примерно одинаковыми.
Если уж снижать качество картинки в JPEG, то проще пережать с меньшим коэффициентом качества и использовать освободившееся за счёт уменьшения размера файла место.
Возможно, наоборот. Человек, не понимающий отличия добра от зла, сознательно скрупулёзно следует писаным правилам, чтобы ненароком не пересечь границу. И по обстоятельствам пересекать её для своей выгоды.
Ещё дополню: операцию возведения в квадрат можно сделать быстрее, чем умножение числа на само себя (три умножения вместо четырёх), а операцию деления можно сделать точнее за счёт более точного вычисления выражения (i*DIGITS)/b.x (по указанной в статье формуле 1 / 3 будет вычислено равным нулю).
Интуитивно кажется, что лучше операцию умножения всегда выполнять по ветке с защитой от переполнения, чем при каждом умножении делать дополнительное деление с возможным пересчётом результата.
Симбиоз, как в принципе очевидно из названия, это совместное существование. Паразитизм тоже является разновидностью симбиоза. Симбиоз может быть как взаимовыгодным (тогда называется мутуализм), так и выгодным только одному из участников, а второму невыгодным (паразитизм), но могут быть и иные вариации: безразлично одному, но плохо другому; хорошо одному, но безразлично другому и т.п.
Корень суеверия в том, что, например, «последний полёт» окажется последним вообще, следующий или не совершится, или будет катастрофичным. В этом свете применение к аварии слова «последняя» смотрится не так и плохо.
Такое возможно только если конструкция установлена не вертикально, либо находится между южным и северным тропиками.
Предлагаю рассмотреть такой вариант работы: вместо замены битов обнулим те же самые биты, JPEG точно так же изменится ненамного, всего 50% битов-«контейнеров» будут обнулены, но взамен данные будут лучше сжиматься за счёт более низкой энтропии, файл уменьшится, и освободившееся место можно будет использовать для своей информации. На мой взгляд, это места займёт столько же, но не нужно будет ничего упаковывать-распаковывать.