Ответ 1
Я понимаю, что Закон восьми - это просто юмористическая ссылка на то, что алгоритм Baseline JPEG предписывал 8x8 как единственный размер блока.
P.S. Другими словами, "Закон восьмерки" - это способ объяснить, почему "все DCT других размеров масштабируются по отношению к 8x8 DCT", внося историческую перспективу - отсутствие поддержки любого другого размера в исходном стандарте и его реализациях defacto.
Следующий вопрос: почему Восемь? (Отметьте, что, несмотря на то, что это правильный вопрос, это не является предметом настоящего обсуждения, которое все равно будет актуальным, даже если другое значение было выбрано исторически, например "Закон десяти" или "Закон тридцати двух".) Ответ на этот вопрос таков: поскольку вычислительная сложность проблемы возрастает как O(N^2)
(если не использовать алгоритмы класса FCT, которые медленнее растут как O(N log N)
, но сложнее реализовать на примитивном оборудовании встроенных платформ, следовательно, ограниченные возможности применения) поэтому большие размеры блоков быстро становятся непрактичными. Именно поэтому был выбран 8x8, настолько мал, чтобы быть практичным на широком спектре платформ, но достаточно большой, чтобы допускать не слишком грубый контроль уровней квантования для разных частот.
Поскольку стандарт явно поцарапал зуд, вокруг него быстро обострилась целая экосфера, , включая реализации, оптимизированные для 8x8, в качестве единственного поддерживаемого размера блока. Как только экосфера была на месте, стало невозможно изменить размер блока без нарушения существующих реализаций. Поскольку это было крайне нежелательно, любые настройки параметров DCT/квантования должны были оставаться совместимыми с 8x8-единственными декодерами. Я считаю, что это соображение должно быть тем, что называется "Законом восьми".
Не будучи экспертом, я не вижу, как могут помочь большие размеры блоков. Во-первых, динамический диапазон значений в одном блоке будет увеличиваться в среднем, требуя больше бит для их представления. Во-вторых, относительное квантование частот в диапазоне от "все" (представленное блоком) до "пикселя" должно оставаться неизменным (оно продиктовано смещением восприятия человека в конце концов), квантование будет немного более гладко, что все и для того же уровня сжатия потенциальное повышение качества, вероятно, будет незаметным.