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

Иллюстрации

Показать все

Изобретение относится к обработке информации изображений. Техническим результатом является уменьшение искажений изображения. Операции обработки включают в себя масштабирование, создание композитных изображений, альфа-сопряжение, выделение краев и т.д. В более конкретной реализации описываются стратегии для обработки информации изображений, которая: а) является линейной; b) находится в цветовом пространстве RGB; с) имеет высокую точность (к примеру, обеспечиваемую посредством представления с плавающей запятой); d) является построчной и е) является полноканальной. Другие усовершенствования предоставляют стратегии для: а) обработки информации изображений в псевдолинейном пространстве, чтобы повысить скорость обработки; b) реализации улучшенной методики дисперсии ошибок; с) динамического вычисления и применения ядер фильтрации; d) оптимизации генерирования конвейерного кода и е) реализации различных задач обработки с помощью новых методик пиксельного шейдера. 3 н. и 17 з.п. ф-лы, 21 ил.

Реферат

Перекрестная ссылка на родственные заявки

Данная заявка является частичным продолжением находящейся одновременно на рассмотрении заявки на патент США серийный номер 10/902325 (Заявки '325), зарегистрированной 29 июля 2004 года и озаглавленной "Strategies for Processing Image Information Using a Color Information Data Structure", авторов изобретения Glenn F. Evans и Stephen J. Estrop. Заявка '325, в свою очередь, притязает на приоритет Предварительной заявки на патент США номер 60/492029 (Заявки '029), поданной 1 августа 2003 года. Заявки '325 и '029 полностью включены в настоящий документ по ссылке.

Область техники, к которой относится изобретение

Предмет данной заявки связан со стратегиями обработки информации изображений, а в более конкретной реализации со стратегиями обработки информации видеоизображений с помощью конвейера видеообработки.

Уровень техники

Примерные проблемы, связанные с обработкой видео

Используемую сегодня технологию обработки видео можно пояснить посредством отслеживания эволюции этой технологии с течением времени. Отдельные признаки добавлялись на различных стадиях эволюции, чтобы разрешать проблемы, с которыми отрасль сталкивалась в тот момент. Чтобы поддерживать совместимость и согласованность, новые технологии, возможно, сохранили часть этих признаков, даже если проблемы, для разрешения которых разрабатывались признаки, с тех пор отпали. Как результат современная технология может рассматриваться как накопление подобных появлявшихся последовательно признаков, отражающих систему предшествующих проблем, с которыми сталкивалась в различное время отрасль, соглашения между группами стандартизации, изменения технологических ограничений и возможности и т.д.

Одно следствие вышеописанной природы технологии обработки видео заключается в том, что специалисты в данной области техники создали укоренившиеся стереотипы мышления, касающиеся определенных аспектов технологии обработки видео. Существуют устоявшиеся представления, касающиеся того, как следует интерпретировать видеоинформацию, и устоявшиеся представления, касающиеся того, как "корректно" обрабатывать эту видеоинформацию. Авторы данного изобретения считают, что многие из этих установившихся норм не являются обоснованными и должны быть пересмотрены.

Главным из этих устоявшихся представлений является то, что видеоинформация, как правило, должна обрабатываться в форме, в которой она принимается из источника широковещательной передачи, носителя хранения (к примеру, DVD-диска) или другого носителя. Тем не менее, многие видеостандарты разрабатывались без учета того, что видеоинформация должна обрабатываться до отображения. Например, традиционные телевизионные приемники до сих пор не применяют функциональность сложной обработки; эти устройства просто принимают и отображают видеоинформацию. По сути, форма, в которой принимается видеоинформация, может не предоставлять возможности простой и эффективной обработки этой информации.

Как результат прямое применение стандартных алгоритмов обработки ко многим общепринятым формам видеоинформации создает различные искажения изображения. Специалисты в данной области техники в некоторых случаях обращали внимание на эти искажения. Тем не менее, вместо исследования основных предпосылок используемых методик профессионалы зачастую прибегали к локальным исправлениям, чтобы устранять проблемы. Эти решения могут скрывать проблемы в определенных конкретных для варианта применения ситуациях, но не решают проблемы в общем.

Например, видеоинформация часто принимается посредством конвейера видеообработки в форме, которая является нелинейной, чересстрочной, субдискретизированной по цветности, и выражается в определенном варианте связанного с яркостью цветового пространства (к примеру, информация Y'U'V). (Термин "нелинейная" означает здесь, что существует нелинейное отношение между входящим сигналом и результирующей выходной яркостью, генерируемой из этого сигнала; другие термины в предыдущем предложении полностью истолковываются ниже). Специалисты могут попытаться применить различные алгоритмы обработки линейного типа к этой информации, чтобы модифицировать ее заранее заданным способом, например посредством изменения размера видеоинформации, объединения видеоинформации с другой информацией (к примеру, создания составных изображений) и т.д. Авторы данного изобретения считают, что многие из этих алгоритмов не предоставляют оптимальные и даже корректные результаты при обработке видеоинформации такого характера. Работа только с чересстрочной, субдискретизированной по цветности информацией 4:2:2 или 4:2:0 (которая описана ниже) приводит к негативным результатам. Например, обработка информации в 4:2:2 или 4:2:0 может привести к распространению ошибок через различные стадии конвейера видеообработки.

Изъяны обработанных результатов выражаются в различных помехах, которые могут быть очевидны (или нет) невооруженному глазу. Кроме того, специалисты в данной области техники, вероятно, замечали некачественные результаты, но не идентифицировали причины. В некоторых случаях это может быть обусловлено неспособностью специалистов полностью понимать сложную природу многих стандартов кодирования видео. В других случаях специалисты могут не знать о том, что они используют линейные алгоритмы для того, чтобы обрабатывать нелинейную информацию; фактически в некоторых случаях специалисты могут ошибочно полагать, что они имеют дело с линейной информацией. Помимо этого общий базис области техники видеообработки нацелен на генерирование информации изображений, а не обязательно промежуточную обработку и корректировку этой информации.

Применение линейных алгоритмов к нелинейной информации - это только один пример вышеописанного укоренившегося стереотипа мышления в области техники обработки видео. Как описано ниже, стали стандартными многие другие методики, которые не генерируют оптимальных результатов, как, например, в случае сглаживания.

Например, специалисты могут попытаться устранить помехи, вызываемые некоторыми алгоритмами квантования со сглаживанием, посредством добавления небольшой величины случайного шума в информацию входного изображения и последующего квантования результирующего изображения с шумами. Эти методики оценивают ошибку квантования посредством последующего вычисления разности между изображением с шумами и квантованным результатом. Это может иметь эффект устранения помех сглаживания, но ценой того, что выходное изображение имеет большее содержание шумов относительно величины случайного шума, добавленного в информацию исходного изображения.

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

Область техники обработки видео обладает богатой терминологией. И излагается краткое введение в определенные разделы области техники обработки видео для помощи читателям. Например, некоторые термины, уже использованные выше (линейный, чересстрочный, яркость, субдискретизированный по цветности и т.д.), определяются ниже. В качестве общего предмета терминологии термин "информация изображения" используется в данном документе, чтобы представлять широкий класс информации, которая может подготавливаться к просмотру в качестве любого типа визуального вывода, в том числе, но не только, информации видеоизображений.

Понятие текущего уровня техники

- Цветовое пространство и связанные вопросы

Цвета могут быть задаваемы с помощью трех компонентов. Поток изображений, который основан на передаче цветового содержимого с помощью дискретных цветовых компонент, упоминается как компонентный видеосигнал. Одна стандартная спецификация задает цвет с помощью красной, зеленой и голубой (RGB) компонент. Более формально, RGB-компоненты описывают пропорциональную интенсивность эталонных ламп, которые создают воспринимаемо эквивалентный цвет для данного спектра. В общем, цветовое пространство RGB может быть задано посредством цветовых значений, ассоциативно связанных с составными цвета и белой точкой. Белая точка означает цветность, ассоциативно связанную с опорным белым цветом.

Электронные устройства, которые воспроизводят цветные изображения, дополняют трехцветный характер человеческого зрения посредством предоставления трех типов источников света. Три типа источников света генерируют различные спектральные характеристики, которые воспринимаются как различные цвета человеком. Например, электронно-лучевая трубка (ЭЛТ) предоставляет красный, зеленый и голубой люминофоры, чтобы создавать различные цвета, таким образом составляя определенный вариант цветового пространства RGB, описанного выше. Другие технологии не используют люминофоры, а иным способом воспроизводят цвет с помощью источников света, которые излучают, по меньшей мере, три вида света.

Тем не менее, модель кодирования RGB не является эффективным вариантом для передачи информации изображений и не полностью соответствует некоторым устаревшим стандартам. Следовательно, информация изображений, как правило, передается целевому устройству с помощью какой-либо модели кодирования, отличной от RGB. После приема информация изображений может быть внутренне преобразована дисплейным устройством в RGB-связанное цветовое пространство для представления. Как описывается далее в разделе "Вопросы, связанные с показателем гамма", данные каждой компоненты R, G и В могут быть выражены в отношении пре-гамма-скорректированной формы, упоминаемой как значения R', G' и В'.

(В общем, в соответствии с условными обозначениями апостроф означает нелинейную информацию в данном изобретении.)

Общей тактикой в этом отношении является задание цвета посредством ссылки на связанную с яркостью компоненту (Y) и связанные с цветностью компоненты. Яркость, в общем, означает воспринимаемую интенсивность (освещенность) света. Яркость может быть выражена в пре-гамма-скорректированной форме (способом, описанным в разделе "Вопросы, связанные с показателем гамма"), чтобы получить ее нелинейный эквивалент, упоминаемый как "сигнал яркости" (Y'). Компоненты цветности задают цветовое содержимое информации изображений относительно сигнала яркости. Например, в цифровой области символ Cb соответствует n-битному целому масштабированному представлению разности B'-Y' (типично в диапазоне - 127…128 в 8-битных значениях), а символ Сr соответствует n-битному целому масштабированному представлению разности R'-Y'. Символ Рb означает аналоговый эквивалент Cb, a символ Рr означает аналоговый эквивалент Сr. Символы Рb и Рr также могут означать цифровую нормализованную форму Сb и Сr в номинальном диапазоне [-0,5…0,5]. Информация изображений компонент, задаваемая посредством СbСr и РbРr, может быть формально снабжена апострофом (к примеру, Cb'Cr' и Pb'Pr'), если они представляют нелинейную информацию. Тем не менее, поскольку Рb, Рr, Сb и Сr всегда означают нелинейные данные, обозначение с апострофом частот опускается для удобства и единообразия (к примеру, используется обозначение Y'PbPr вместо Y'Pb'Pr').

Цветовое содержимое также может передаваться как композитный видеосигнал (вместо вышеописанного компонентного видеосигнала). Композитные сигналы объединяют информацию яркости и цветности в одном сигнале. Например, в системе кодирования Y'UV U представляет масштабированную версию B-Y, а V представляет масштабированную версию R-Y. Эти компоненты сигнала яркости и цветности затем обрабатываются, чтобы предоставить один сигнал. Система кодирования Y'IQ задает другую систему композитного кодирования, сформированную посредством преобразования компонент U и V вышеописанным способом. Одна причина того, что в отрасли исторически продвигалось применение Y-связанных цветовых пространств (Y'CbCr, Y'PbPr, YUV, YIQ и т.д.), состоит в том, что уменьшение информации цветных изображений в этих цветовых пространствах может осуществляться проще в сравнении с информацией изображений, выражаемой в цветовом пространстве RGB. Эти цветовые пространства также являются обратно совместимыми с более старыми стандартами, разработанными для информации черно-белых изображений. Термин "связанная с сигналом яркости информация", в общем, означает любое цветовое пространство, которое имеет связанную с яркостью компоненту и связанные с цветностью компоненты, и включает в себя, по меньшей мере, все вышеупомянутые цветовые пространства.

В общем, можно преобразовывать цветовое содержимое из одного цветового пространства в другое цветовое пространство с помощью одного или более матричных аффинных преобразований. Более формально, свойство метамерии дает возможность выражать один набор коэффициентов цветового пространства в отношении другого набора функций соответствия (при этом "метамерные возбуждения" означают два спектра, которые соответствуют одному набору коэффициентов цветового пространства, и, следовательно, считаются воспринимаемо идентичными, т.е. выглядят как один цвет).

- Вопросы, связанные с показателем гамма

Электронно-лучевые трубки (ЭЛТ) не имеют функции преобразования линейной характеристики. Другими словами, отношение напряжения, применяемого к ЭЛТ, и результирующая яркость, генерируемая ЭЛТ, не задают линейной функции. Более конкретно, прогнозируемая теоретическая характеристика ЭЛТ имеет характеристику, пропорциональную степенному закону 5/2; т.е. для данного входного напряжения V результирующая яркость ЭЛТ L может быть вычислена как L=V2,5. Функция преобразования также упоминается как "функция гамма-характеристики", а экспонента сигнала напряжения упоминается как "гамма".

С другой стороны, когда информация видеоизображений захватывается камерой или генерируется системой трехмерной подготовки к просмотру, информация изображений выражается в линейном цветовом пространстве RGB, что означает, что существует линейное отношение между входящим сигналом и выходной яркостью. Чтобы разрешить несоответствие между линейностью камеры и нелинейностью дисплея, камеры традиционно выполняют предварительную корректировку сигнала, который они сгенерировали, посредством применения инверсии гаммы. Другими словами, функция преобразования камеры (иногда упоминаемая как кодирующая функция преобразования) - это приблизительно обратная функция характеристики яркости ЭЛТ. Результат применения кодирующей функции преобразования (или обратной гаммы) заключается в том, чтобы сгенерировать "гамма-скорректированную" информацию изображений, которая имеет нелинейную форму. Когда нелинейный сигнал передается посредством дисплейного устройства, генерируется близкая к линейной яркость. Кроме того, согласно вышеописанному обозначению, нелинейная (или предварительно скорректированная) информация изображений обозначается посредством добавления апострофа к компонентам, к примеру, R'G'B' или Y'CbCr (где апострофы для компонент Сb и Сr подразумеваются).

Таким образом, стало общераспространенной и стандартной практикой сохранять информацию изображений в нелинейной (скорректированной) форме яркость-цветность. Чтобы сохранить совместимость, любой источник, генерирующий сигнал, который должен отображаться на ЭЛТ, также должен сначала применить обратную функцию к сигналу.

Особо отметим, что кодирование информации изображений с помощью функции преобразования, как правило, применяет специальную функцию аппроксимации к части низкого напряжения функции. Т.е. методики кодирования, как правило, предоставляют линейный сегмент в этой части, чтобы ослабить эффект шума в датчике формирования изображений. Этот сегмент упоминается как "линейный хвост", имеющий заданный "закругленный наклон". Этот сегмент повышает качество информации изображений, представляемых на фактических ЭЛТ, поскольку эти устройства имеют линейные характеристики яркости-напряжения около 0 вследствие физической структуры этих устройств.

- Дискретизация и синхронизация информации цветности относительно информации яркости

Человеческое зрение больше реагирует на изменения интенсивности света, чем на хроматические компоненты света. Системы кодирования используют преимущество этого, чтобы уменьшать объем информации цветности (СbСr), которая кодируется относительно объема информации яркости (Y'). Эта методика упоминается как субдискретизация цветности. Числовое обозначение, представляемое, как правило, как L:M:N, может быть использовано для того, чтобы выразить эту стратегию дискретизации, где L представляет опорный коэффициент дискретизации компонента яркости (V), а М и N означают дискретизацию цветности (к примеру, Сb и Сr соответственно) относительно дискретизации яркости (V). Например, обозначение 4:4:4 может обозначать данные Y'CbCr, в которых предусмотрена одна выборка цветности для каждой выборки яркости. Обозначение 4:2:2 может обозначать данные Y'CbCr, в которых предусмотрена одна выборка цветности для каждых двух выборок яркости (горизонтально). Обозначение 4:2:0 может обозначать данные Y'CbCr, в которых предусмотрена одна выборка цветности для каждого кластера "два-на-два" выборок яркости. Обозначение 4:1:1 может обозначать данные Y'CbCr, в которых предусмотрена одна выборка цветности для четырех выборок яркости (горизонтально).

В тех случаях, когда стратегия кодирования предусматривает больше информации яркости, чем информации цветности, декодер может восстановить "отсутствующую" информацию цветности посредством выполнения интерполяции на основе информации цветности, которая предоставляется. Обобщая, понижающая дискретизация означает любую методику, которая генерирует меньшее число выборок изображений в сравнении с первоначальным набором выборок изображений. Повышающая дискретизация означает любую методику, которая генерирует большее число выборок изображений в сравнении с первоначальным набором выборок изображений. Таким образом, вышеописанная интерполяция задает тип повышающей дискретизации.

Стратегии кодирования также задают способ, которым выборки цветности пространственно синхронизируются с выборками яркости. Стратегии кодирования различаются в этом отношении. Выборки цветности синхронизируются с выборками яркости таким образом, чтобы выборки цветности размещались непосредственно "над" выборками яркости. Это упоминается как пространственное совмещение. Другие стратегии размещают выборки цветности в пустотах между выборками в двухмерной решетке выборок цветности.

- Вопросы, связанные с квантованием

Квантование относится к методологии, посредством которой дискретные числовые значения назначаются амплитудам сигнала цветовых компонент (или черно-белой информации). В цифровой области числовые значения охватывают заранее заданный диапазон (гамму цветов) значений цветового пространства за заранее заданное число этапов. Часто используют, например, 255 этапов для описания каждого значения компоненты, так чтобы каждая компонента могла допускать значение от 0 до 255. Часто выражают каждое цветовое значения с помощью 8 бит.

Преобразование из числа высокой точности к числу меньшей точности иногда может генерировать различные искажения изображения. Разработаны различные алгоритмы дисперсии ошибок, чтобы разрешать эту проблему, такие как алгоритм Флойда-Стайнберга. Алгоритмы дисперсии ошибок позволяют распределять ошибки, генерированные округлением при квантовании, на соседние пиксельные точки. Дополнительная исходная информация, касающаяся алгоритма Флойда-Стайнберга, представлена в подробном описании далее.

- Вопросы, связанные со сравнением чересстрочного и построчного представления

Первоначально телевизионные приемники отображали только информацию черно-белых изображений в построчной развертке сверху вниз. Сегодня традиционные телевизионные сигналы развертываются в чересстрочном режиме. При чересстрочной развертке захватывается первое поле видеокадра, а затем через короткий промежуток времени - второе поле видеокадра (к примеру, через 1/50 или 1/60 секунды). Второе поле вертикально немного смещено относительно первого поля, так чтобы второе поле захватывало информацию в пустотах между строками развертки первого поля. Видеоинформация представляется посредством быстрого отображения первого и второго полей друг за другом, так чтобы видеоинформация в большинстве случаев воспринималась человеком как один непрерывный поток информации.

Тем не менее, мониторы вычислительных машин и другое оборудование представления отображают информацию изображений построчно, а не чересстрочно. Таким образом, для того чтобы устройство представляло чересстрочную информацию на мониторе вычислительной машины, оно должно отображать прогрессивные кадры на скорости нечетного поля посредством интерполирования данных для противоположного поля (процесс упоминается как "расперемежение"). Например, чтобы отобразить нечетное поле, необходимо интерполировать "отсутствующие" данные для пространственной позиции между строками посредством анализа полей на другой стороне. Термин "построчный формат", в общем, относится ко всем форматам изображений с прогрессивной разверткой.

Информация изображений (к примеру, от видеокамеры) типично сохраняется в чересстрочной форме, к примеру, когда первое поле сохранено отдельно (семантически) от второго поля. Если информация изображений должна быть просто отображена на телевизионном дисплее с чересстрочной разверткой, его чересстрочная информация Y'UV может передаваться непосредственно в ЭЛТ. ЭЛТ внутренне преобразует информацию в информацию R'G'B' и управляет выходными пушками с помощью этого сигнала.

Чересстрочная развертка является более выгодной, поскольку она удваивает фактическое вертикальное разрешение информации изображений. Тем не менее, чересстрочная развертка также приводит к искажениям изображения. Это обусловлено тем, что объекты могут перемещаться при 60 Гц, но при чересстрочном представлении только половина изображения показывается каждые 30 Гц. Результирующее искажение, генерируемое вследствие этого явления, иногда упоминается как "растяжка". Искажение изображения обнаруживается в значительной степени при отображении быстроменяющихся видеоизображений, когда кажется, что объекты распадаются на четные и нечетные строки.

Дополнительную информацию, касающуюся каждой из вышеуказанных тем, можно найти во многих вступительных публикациях, к примеру, в широко известном материале "Digital Video and HDTV (Morgan Kaufmann Publishers, 2003)" автора Charles Poyton.

Сущность изобретения

Описываются стратегии обработки информации изображений в линейной форме, чтобы уменьшить количество искажений изображения (по сравнению с обработкой данных в нелинейной форме). Примерные типы операций обработки могут включать в себя масштабирование, создание композитных изображений, альфа-сопряжение, выделение краев и т.д. В более конкретной реализации описываются стратегии для обработки информации изображений, которая: а) является линейной; b) находится в цветовом пространстве RGB; с) имеет высокую точность (к примеру, обеспечиваемую посредством представления с плавающей запятой); d) является построчной и е) является полноканальной. Другие усовершенствования предоставляют стратегии для: а) обработки информации изображений в псевдолинейном пространстве, чтобы повысить скорость обработки; b) реализации улучшенной методики дисперсии ошибок; с) динамического вычисления и применения ядер фильтра; d) оптимизации генерирования конвейерного кода и е) реализации различных задач обработки с помощью новых методик пиксельного шейдера.

Краткое описание чертежей

Фиг.1 показывает примерный конвейер обработки изображений, включающий в себя обработку информации изображений в линейном формате.

Фиг.2 показывает примерную процедуру обработки информации изображений в линейном формате с помощью конвейера обработки изображений по фиг.1.

Фиг.3 показывает выборку информации изображений 4:2:0 в качестве предмета обсуждения некоторых трудностей при обработке этой информации без внесения искажений в изображения.

Фиг.4 показывает примерный модуль конвейера обработки изображений, который касается обработки информации изображений в псевдолинейном формате.

Фиг.5 показывает примерную процедуру обработки информации изображений в псевдолинейном формате с помощью модуля конвейера обработки изображений, показанного фиг.4.

Фиг.6 и 7 совместно поясняют известные подходы к выполнению сглаживания и дисперсии ошибок.

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

Фиг.9 показывает примерную процедуру осуществления сглаживания и дисперсии ошибок с помощью системы на фиг.8.

Фиг.10 показывает примерную систему предоставления фильтрации при выполнении масштабирования, включающего в себя динамическое вычисление ядер фильтра.

Фиг.11 показывает примерную процедуру осуществления фильтрации с помощью системы на фиг.10.

Фиг.12 показывает примерный конвейер обработки изображений, который может содержать все описанные в данном документе усовершенствования.

Фиг.13 показывает примерную систему генерирования эффективного кода, используемого для того, чтобы реализовать конвейер обработки изображений по фиг.12, к примеру, посредством исключения модулей кода, которые не требуются для конкретного приложения обработки изображений.

Фиг.14 показывает примерную процедуру применения системы оптимизации кода, показанной на фиг.13.

Фиг.15 показывает примерную систему для реализации конвейера обработки изображений по фиг.12 посредством использования графического процессора (GPU), содержащего функциональность пиксельного шейдера.

Фиг.16 показывает известную структуру пиксельного шейдера.

Фиг.17 показывает общие принципы, связанные с применением информации текстуры к полигонам в контексте типичных графических вариантов применения.

Фиг.18 показывает примерную реализацию 4-отводного фильтра, использующего пиксельный шейдер.

Фиг.19 показывает примерную процедуру, которая описывает работу фильтра по фиг.19.

Фиг.20 показывает более общую реализацию аспектов конвейера обработки изображений по фиг.1 с помощью пиксельного шейдера.

Фиг.21 показывает примерное вычислительное окружение для реализации аспектов различных признаков, показанных на вышеописанных чертежах.

Одинаковые номера используются в данном описании и на чертежах, чтобы ссылаться на аналогичные компоненты или признаки. Номера последовательности 100 означают признаки, первоначально заложенные на фиг.1, номера последовательности 200 означают признаки, первоначально заложенные на фиг.2, номера последовательности 300 означают признаки, первоначально заложенные на фиг.3, и т.д.

Подробное описание предпочтительного варианта осуществления

Последующее описание излагает различные стратегии усовершенствования конвейера обработки изображений. Стратегии предлагают новые способы обработки информации изображений на основе пересмотра укоренившихся представлений в данной области техники. Первый класс усовершенствований (описанный в разделе А) может абстрактно применяться ко всем конвейерам обработки изображений. Второй класс усовершенствований (описанный в разделе В) применяется в большей степени к определенным конкретным для технологии или конкретным для реализации вариантам применения конвейеров обработки изображений.

Согласно одной примерной стратегии информация изображений, принимаемая посредством конвейера обработки изображений, преобразуется в линейную форму и затем обрабатывается в этой форме. В одной примерной реализации, например, принимаемая связанная с яркостью информация изображений (к примеру, Y'CbCr) преобразуется в линейную форму RGB и обрабатывается в этой форме. Примерные задачи обработки могут включать в себя расперемежение, изменение размера (масштабирование), составление композитных изображений, альфа-сопряжение, выделение краев, увеличение резкости и т.п. Обработка информации изображений в линейном пространстве (в отличие от нелинейного пространства) имеет явные преимущества, поскольку она, как правило, генерирует выходные результаты, имеющие меньше искажений изображения.

Согласно другой примерной стратегии информация изображений преобразуется в полноканальный (4:4:4) формат высокой точности и обрабатывается в этом формате, после чего выполняется квантование информации до меньшей точности. Информация более высокой точности может быть выражена в формате с плавающей запятой. Обработка полноканальной информации высокой точности является выгодной, поскольку она генерирует выходные результаты, имеющие меньше искажений изображений, и позволяет снижать падение разрешения цветности по мере того, как информация обрабатывается в конвейере.

Согласно другой примерной стратегии специальные меры предусмотрены для обработки информации чересстрочных изображений 4:2:0. Эти специальные меры обеспечивают способы интегрирования операции повышающей дискретизации с операцией расперемежения. Эта стратегия обладает преимуществами по ряду причин. Например, эта стратегия обеспечивает, что информация 4:2:0 будет обработана корректно, к примеру, без генерирования так называемого искажения обработки "дефект цветности".

Согласно другой примерной стратегии специальные функции преобразования могут быть применены для преобразования информации в псевдолинейное пространство вместо теоретической корректировки линейного пространства. После этого следует выполнение обработки информации изображений в этом псевдолинейном пространстве с помощью алгоритмов линейного типа (без необходимости модифицировать эти алгоритмы, чтобы учитывать их применение к нелинейным сигналам). Эта стратегия обладает преимуществами, поскольку она влечет за собой математические операции, которые могут выполняться быстрее с помощью доступных аппаратных средств обработки. Эта стратегия также устраняет необходимость изменять алгоритмы обработки посредством включения механизмов коррекции ошибок в эти алгоритмы. Целью алгоритмов коррекции ошибок являлась минимизация негативных эффектов при использовании линейных алгоритмов для того, чтобы работать с нелинейными данными. Тем не менее, исполнение и применение этих механизмов коррекции ошибок зачастую становилось более сложным, чем исходные алгоритмы обработки.

Согласно другой примерной стратегии применяется уникальный алгоритм дисперсии ошибок. Для каждого пиксела в информации исходных изображений алгоритм квантует сумму, задаваемую посредством исходного изображения, информации о шуме и вектора ошибок. Это имеет результатом квантованное значение для этого конкретного пиксела. После этого алгоритм вычисляет вектор ошибок для последующего пиксела, который должен быть обработан, посредством вычисления разности между квантованным значением и исходным значением. Эта стратегия превосходит известные в данной области техники стратегии, которые, по сути, добавляют шум в информацию исходных изображений и затем квантуют информацию изображений с шумами. Эти известные методики далее вычисляют вектор ошибок со ссылкой на информацию изображений с шумами вместо информации исходных изображений. Таким образом, в отличие от стратегии, раскрытой в данном документе, известные методики ухудшают информацию исходных изображений пропорционально информации о шумах, добавляемых в нее. В качестве дополнительного усовершенствования стратегии, описанные в данном документе, используют генератор шумов, имеющий относительный период повторения и достаточно похожие на шумы псевдослучайные характеристики, так чтобы сам генератор шумов не создавал искажений в информации целевых изображений.

Согласно другой стратегии вариант фильтра Катмулла-Рома используется для того, чтобы выполнять операции масштабирования. Стратегия включает в себя вычисление числа ядер фильтра, требуемых для того, чтобы изменить размер информации изображений, и числа отводов, требуемых каждым ядром, и последующее предварительное вычисление ядер фильтра. Далее эти ядра фильтра применяются к информации изображений. Более конкретно, ядра могут быть циклически применены к строкам и столбцам информации изображений. Эта стратегия обладает преимуществами по ряду причин. Например, применение динамически рассчитываемых ядер фильтра уменьшает некоторые искажения изображений, известные в используемых вариантах применения. Предварительное вычисление ядер фильтра имеет преимущества, поскольку оно ускоряет фактическое применение фильтра. Разумное использование минимального набора циклически применяемых ядер имеет дополнительные преимущества в плане эффективности.

Согласно другой стратегии описана функциональность генерирования кода для реализации конвейера обработки изображений. Функциональность принимает требования, которые задают то, какие типы операций предположительно должен выполнять конвейер, а затем выборочно ассемблирует модули кода из библиотеки таких модулей, чтобы реализовать эти функции. Функциональность не содержит модулей из библиотеки, которые не требуются. Эта стратегия обладает преимуществами по многим причинам. Например, она помогает генерировать код, который является более эффективным и, таким образом, потенциально выполняется быстрее.

Наконец, другая стратегия использует графический процессор (GPU) для того, чтобы реализовывать определенные аспекты конвейера обработки изображений или все функции в конвейере обработки изображений. Конкретные реализации применяют пиксельный шейдер (процессор цифровых сигналов (DSP) в GPU), чтобы осуществлять фильтрацию изображений. В одном случае одна или более единиц текстуры пиксельного шейдера могут быть назначены весам ядер фильтра, и одна или более других единиц текстуры пиксельного шейдера могут быть назначены другим дельта-смещенным версиям той же информации входных изображений (ассоциативно связанной с отводами ядра). Эта стратегия обладает преимуществами, поскольку она потенциально предоставляет большую скорость обработки и пропускную способность обработки в сравнении с реализацией в ЦП благодаря возможностям векторной обработки пиксельных шейдеров.

Дополнительные признаки и сопутствующие преимущества стратегий излагаются в этом описании.

Что касается терминологии, термин "информация изображения" служит для того, чтобы содержать в себя все типы информации, которые могут быть потребляемы пользователем в любой визуальной форме. Информация изображений, может представлять информацию, выраженную в любом формате, например аналоговом формате, цифровом формате или любом сочетании аналогового и цифрового форматов. Информация изображений может представлять информацию статических изображений (к примеру, цифровые фотографии) и/или информацию движущихся изображений (к примеру, информацию видеоизображений). Дополнительные вариации допускаются при использовании термина "информация изображений".

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

Термин "линеаризация" означает преобразование информации изображений из нелинейной предварительно скорректированной формы в линейную форму. Термин "нелинеаризация" означает операцию, обратную линеаризации.

Термин "связанная с яркостью информация изображений" означает информацию изображений, имеющую связанную с яркостью компоненту (к примеру, Y') и компоненты цветности. Термин "связанное с яркостью цветовое пространство" означает любой из нескольких стандартов для формирования связанной с яркостью инфор