Пиксель. История одной точки
Шрифт:
Самому слову «пиксель» пришлось побороться за право на существование. Пиксели поначалу назывались по-разному: например, точки, массивы точек, растровые элементы, точки изображения и элементы изображения. Последний вариант победил, но затем разгорелась битва за более короткий термин. В течение многих лет IBM и AT&T пытались сокращать «элемент изображения» (picture element) до pel. Но энергичное молодое сообщество середины 1960-х, занимавшееся обработкой изображений, одержало победу над усилиями гигантских корпораций, настояв на сокращении pixel. На самом деле для молодых гиков, работающих с компьютерной графикой, вроде меня, достигших совершеннолетия в те бурные годы, было делом чести обеспечить победу контркультуры «пикселя», свергнув «пел» Голубого Гиганта и Матушки
2
Голубой Гигант (Big Blue) – прозвище компании IBM. Матушка Белл (Ma Bell) – прозвище компании Bell Labs. – Прим. ред.
В 1970-х годах было выдано много патентов, содержащих как пиксель, так и пел, причем в количественном отношении преобладали патенты с использованием первого термина. Неудивительно, что большинство патентов той эпохи с термином «пел» принадлежали IBM или Bell Labs компании AT&T. Если бы Найквист или Шеннон использовали некий термин для обозначения пикселя – чего они не делали, – их выбор наверняка пал бы на pel, термин, принадлежащий Матушке Белл.
Пиксель напрямую связан с теоремой отсчетов; выборки и пиксели объединены еще с рождения. Как ни странно, в теории цифрового звука нет специального слова, такого как «пиксель», для обозначения элемента выборки, или «семпла», хотя цифровой звук существует благодаря все тому же трюку с использованием отсчетов Котельникова. К сожалению, применительно к аудио слово «семплирование» имеет другое значение. В хип-хопе, например, так называют заимствование фрагментов чужой музыки длительностью в несколько секунд, их соединение или смешение. Чтобы не возникало путаницы, для обозначения звукового отсчета я буду использовать специальное слово «соксель» (soxel), сокращение от sonic element (звуковой элемент).
Игры в имена
Весьма проблематично, что приоритет в открытии теоремы отсчетов в сегодняшних Соединенных Штатах приписывается Шеннону. Если оставить в стороне весь остальной мир, легко понять почему. Клод Шеннон – громкое имя в Америке. Теорему отсчетов он сформулировал в статье 1948 года «Математическая теория связи». В очень знаменитой классической статье 1949 года «Связь при наличии шума» он сформулировал и доказал теорему выборки в том виде, который сейчас используется во всем цифровом мире, а особенно применительно к Цифровому Свету. Его авторитет рос по мере того, как он получал различные престижные награды – например, национальную научную медаль США и медаль почета Института инженеров электротехники и электроники (IEEE). Он стал первым лауреатом премии, присуждаемой Группой теории информации IEEE и впоследствии названной в его честь. Он получил широкую известность на международном уровне и стал первым лауреатом премии Киото в области математики – награды не менее престижной, чем Нобелевская премия.
Рис. 2.8
Клод Элвуд Шеннон родился 30 апреля 1916 года в Петоски, штат Мичиган. Вырос он в соседнем городе Гейлорд, где, если верить слухам, из проволочной изгороди соорудил телеграфную линию между своим домом и домом друга. Еще он любил жонглировать, придумывать секретные коды и играть в шахматы. Он прослыл жизнерадостным гением со множеством интересов, выходивших далеко за пределы профессиональной деятельности. Он разъезжал на одноколесном велосипеде по залам Массачусетского технологического института, где получил докторскую степень по математике, а позднее и по коридорам Bell Labs, где разработал теорию информации. Еще он изобрел удивительную машину в коробке: если повернуть выключатель на боковой панели, из-под крышки появлялась механическая рука, которая возвращала его в исходное положение. [3]
3
Это устройство описано в книге фантаста Артура Кларка «Голос через океан». Писатель неоднократно бывал в гостях у Шеннона и искренне восхищался изобретением. См.: Кларк А. Голос через океан. М.: Связь, 1964. С. 172. – Прим. пер.
Шеннон преуспел и в области криптографии. В 1945 году он написал засекреченный доклад «Математическая теория криптографии». Во время Второй мировой войны он проанализировал работу системы X-system, которая использовалась для безопасной голосовой радиосвязи между Франклином Д. Рузвельтом и Уинстоном Черчиллем. Шеннон математически доказал, что такую схему шифрования невозможно взломать. Шеннон также играл ключевую роль в изучении передачи данных в условиях помех, как, собственно, и называлась его статья 1949 года. Он показал, как отправлять цифровые сообщения по всей Солнечной системе, чтобы избежать искажений от воздействия космического шума. Именно благодаря идее Шеннона на вашем ноутбуке можно посмотреть видео, переданное с марсохода Curiosity. На фоне столь впечатляющего списка заслуг кажется вполне естественным, что имя Шеннона связано с теоремой отсчетов. Однако сама идея ему не принадлежала, о чем Шеннон не раз упоминал [4] .
4
После снятия грифа секретности доклад был переработан в статью, опубликованную в 1949 году под названием «Теория связи в секретных системах» в Bell System Technical Journal. – Прим. пер.
«Это общеизвестный в теории связи факт, – писал он в статье 1949 года. – Теорема была первоначально дана в других формах математиками, но, несмотря на ее очевидную важность, не приводилась в литературе по теории связи».
Но «в литературе по теории связи» теорема выборки приводилась – в нужной форме и с полным доказательством – задолго до публикации статьи Шеннона. Котельников сделал это еще в 1933 году, более чем на десять лет раньше. Почему Шеннон не упомянул его? Возможно, дело в том, что статья Котельникова вышла в малотиражном издании материалов российской конференции и Шеннон просто не знал о ней. Но, как мы увидим дальше, реальную причину определить почти невозможно. Он мог узнать о теореме Котельникова в контексте секретных разработок, результатами которых СССР и Соединенные Штаты обменивались во время Второй мировой войны. Но последующие ожесточенные разногласия между сверхдержавами, скорее всего, помешали бы Шеннону обнародовать такое знание или получить к нему доступ.
Шеннон и Котельников (рис. 2.9) были лидерами в сфере цифровой связи в своих странах, особенно если дело касалось преодоления помех или шифрования. Оба удостоились высших государственных и научных наград. И оба сформулировали и доказали теорему выборки в том виде, в каком она используется сегодня.
Нельзя не задаться вопросом, оказал ли один влияние на другого. Любопытно, что Шеннон, младший из них, с отставанием на несколько лет повторял интеллектуальные достижения Котельникова, но я не нашел никаких доказательств, что Шеннон знал о засекреченных работах Котельникова. В любом случае не удивительно, что русские называют эту великую идею теоремой отсчетов Котельникова. А разве американцы не должны?
Разбрасывай и складывай
Вторая половина идеи Котельникова – великой теоремы отсчетов – объясняет, как из дискретных пикселей восстановить непрерывную картинку, причем с абсолютной точностью. Самое удивительное, что, похоже, в цифровом изображении почти нет информации – находящаяся между каждой парой пикселей бесконечность аналоговых точек просто отброшена. То же самое с цифровым звуком и каждой парой сокселей. Вторая часть теоремы отсчетов сообщает нам, где найти недостающие бесконечности.
Вот как аналоговое восстанавливается из цифрового. Распределите каждый пиксель в пространстве с помощью «разбрасывателя», ключевой формы этой главы. Сложите результаты. Вот и все. Теорема отсчетов утверждает, что этот процесс «разбрасывания» и сложения полученных результатов точно воспроизводит недостающие бесконечности между пикселями! Как и в случае с другими великими математическими теоремами, такие выводы вовсе не очевидны. Мы должны верить математике.
Здесь нам снова поможет пример с волной, но для простоты мы возьмем только два центральных сокселя (рис. 2.10). (Чуть позже от них мы перейдем к пикселям.) Напомню, что соксель – это отсчет для кривой, изображающей аналоговый звук, а ее высота над нулевой линией обозначает его громкость. Таким образом, высота сокселя представляет собой громкость звуковой волны только в той точке, где сделан этот отсчет. Соксель справа будет менее громким, чем тот, что слева.