Есть ли качество, размер файла или другие преимущества для форматов JPEG, кратных 8px или 16px?

Как будто вы пытаетесь получить доступ к объекту, который является null. Рассмотрим ниже пример:

TypeA objA;

. В это время вы только что объявили этот объект, но не инициализировали или не инициализировали. И всякий раз, когда вы пытаетесь получить доступ к каким-либо свойствам или методам в нем, он будет генерировать NullPointerException, что имеет смысл.

См. Также этот пример:

String a = null;
System.out.println(a.toString()); // NullPointerException will be thrown
8
задан Jon Seigel 25 April 2010 в 05:07
поделиться

5 ответов

8 пикселей являются сокращением. Причина состоит в том, потому что изображения JPEG являются просто массивом 8x8 блоки DCT; если разрешение изображения не является mod8 в обоих направлениях, кодер должен заполнить стороны до следующего mod8 разрешения. Это на практике не очень дорого поразрядно; что намного хуже, случаи, когда изображение имеет резкие черные линии (такие как имеющее черные полосы сверху и снизу изображение), которые не лежат на границах блока. Это особенно проблематично в видео кодировании. Причина этого являющегося проблемой состоит в том, что частота преобразовывает резкой строки, Распределение Гаусса коэффициентов - приводящий к огромному количеству битов для кодирования.

Для любопытных, наиболее распространенный метод дополнения краев в intra сжатии (таких как изображения JPEG) должен зеркально отразить строки пикселей перед краем. Например, если необходимо заполнить три строки, и строка X является краем, строка, которую X+1 равен для выравнивания X, строка, X+2 равен строке X-1 и строке, X+3 равен строке X-2. Это вполне эффективно минимизирует стоимость в коэффициентах преобразования дополнительных строк.

В предают кодирование земле, однако, дополнительные алгоритмы обычно просто копируют последнюю строку, потому что зеркальный метод не работает хорошо на, предают сжатие земле, такой как в сжатии видео.

18
ответ дан 5 December 2019 в 06:24
поделиться

JPG с размером тем, чтобы быть умножается 8, может также вращаться/зеркально отражаться без качественной потери. Например, gthumb может сделать это на Linux.

2
ответ дан 5 December 2019 в 06:24
поделиться

Какой сказанный Tometzky. Если Вы не имеете корректного несколькими, зеркальным отражением без потерь и вращаетесь, алгоритмы не работают. Поэтому дополнение на праве/нижней части, которое может быть безопасно проигнорировано теперь, заканчивается на левом/главном, где оно не может.

1
ответ дан 5 December 2019 в 06:24
поделиться

Так как размеры изображения являются кратными числами 8, или 16 не собирается влиять на размер на диске очень, но можно получить поразительные сбережения, если можно выстроить в линию визуальное содержание к 8x8 пиксельная сетка, такой, как будто существует повторяющийся шаблон или структура в изображении.

2
ответ дан 5 December 2019 в 06:24
поделиться

Иногда необходимо использовать 16 границ пикселей, а не 8 из-за подвыборки; каждый 2-й пиксель выброшен во время процесса кодирования и их 8x8 блоки DCT, начатые как 16x16, и будет декодировать назад к 16x16. Это не будет проблемой при настройках высшего качества.

3
ответ дан 5 December 2019 в 06:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: