Здесь нам снова поможет пример с волной, но для простоты мы возьмем только два центральных сокселя (рис. 2.10). (Чуть позже от них мы перейдем к пикселям.) Напомню, что соксель – это отсчет для кривой, изображающей аналоговый звук, а ее высота над нулевой линией обозначает его громкость. Таким образом, высота сокселя представляет собой громкость звуковой волны только в той точке, где сделан этот отсчет. Соксель справа будет менее громким, чем тот, что слева.
Рис. 2.9
Сначала мы разберемся с левым сокселем при помощи «разбрасывателя», изображенного на рисунке 2.1. Напомню, что его колебания той же частоты, что и у волны Фурье с самой высокой частотой исходного фрагмента. Его максимальная амплитуда на центральном выступе соответствует максимальной громкости. Для выполнения операции «разбрасывания» заменим левый соксель копией разбрасывателя (рис. 2.11). Я люблю говорить, что это «разбрасывание» превращает соксель из отсутствия формы (ничего) в показанную на рисунке форму (нечто). Его самая высокая точка – вершина центрального горба – имеет ту же громкость, что и соксель, который он заменяет. Два сокселя показаны пунктиром. В частности, из рисунка видно, что высота разбрасывателя – его максимальная громкость – соответствует высоте левого сокселя. В нашем примере она составляет 80 % от полной громкости. Представьте, что у вас есть переключатель для ее регулирования.
Теперь поместите еще одну копию разбрасывателя над правым сокселем (рис. 2.12) и поворачивайте переключатель, пока его максимальная громкость не совпадет с громкостью этого сокселя, в нашем случае 50 % от полной громкости, – таким образом будет «разбросан» второй соксель.
А вот результат (рис. 2.13) сложения двух «разбросанных» сокселей. В каждой горизонтальной позиции возьмите высоты расположенных там сокселей (светло-серые), измеренные от линии нулевой громкости, и сложите их вместе, чтобы получить точку на жирной кривой.
Рис. 2.10
Я до сих пор обходил стороной физическую реальность. Описанный в этой главе разбрасыватель не существует в реальном мире. Он бесконечно широк. Его колебания уходят влево и вправо до бесконечности. Очевидно, в действительности такое невозможно, поэтому реальные разбрасыватели лишь приближенно соответствуют идеальному.
Особенно часто используется кубический разбрасыватель, отличающийся практичностью и удивительной точностью (рис. 2.14). Обратите внимание, насколько он похож на среднюю часть идеального разбрасывателя, включая наличие двух отрицательных лепестков (ниже линии нулевой громкости). Кубический разбрасыватель равен нулю везде, кроме двух отсчетов слева и двух справа от центрального отсчета – того, который «разбрасывается» им самим. Другими словами, он имеет конечную ширину, поэтому может существовать в реальном мире.
Рис. 2.11
Рис. 2.12
Рис. 2.13
До сих пор я описывал одномерное разбрасывание. Амплитуда звуковых волн изменяется только в одном измерении (во времени), поэтому приведенные выше иллюстрации подходят для сокселей, но не для пикселей. Разбрасыватель для пикселей должен работать в двух измерениях, поскольку изображения простираются (в пространстве) в двух измерениях – горизонтальном и вертикальном. Разбрасыватель пикселей должен «разбросать» каждый гвоздь (пиксель) из нашей воображаемой доски с гвоздями так, чтобы каждый «разбросанный» пиксель внес свой вклад в двумерную поверхность, которую мы увидим. Можете считать предыдущие иллюстрации точными чертежами поперечного сечения разбрасывателя пикселей в горизонтальном измерении, а в вертикальном измерении оно будет точно таким же. Но можно сделать нагляднее.