ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
Приоритет настоящей заявки испрашивается в соответствии с предварительной заявкой № 60/456,030, озаглавленной «Способ и устройство для улучшения качества видеоизображения с низкой скоростью передачи битов», зарегистрированной 17 марта 2003 и назначенной правопреемником настоящей заявки и, таким образом, нарочито объединенной с настоящей заявкой посредством ссылок.
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Изобретение относится, в общем, к сжатию данных, более конкретно к основанным на блоках системам сжатия.
УРОВЕНЬ ТЕХНИКИ
Кодирование с преобразованием является общей технологией сжатия изображения, которая делит изображение на подизображения или блоки для обработки. Основанное на блоках сжатие вносит артефакты между границами блоков, так как блоки кодируются независимо. Следовательно, преобразование не принимает во внимание корреляцию между границами блоков. Следовательно, технология обычно имеет следствием изображения с низкой скоростью передачи битов, которые подвергнуты сильному сжатию, но содержат сильные артефакты сжатия, такие как кубизация, шумы и размазанное движение.
В результате были предложены несколько алгоритмов последующей обработки для блочного сглаживания, чтобы уменьшить и/или устранить артефакты сжатия. Тем не менее, многие алгоритмы включают сложные вычисления и могут иметь следствием эффект полного размывания границ выходного изображения. Другие блочные фильтры не сохраняют эффективно краевую информацию и обычно трудно реализуются в аппаратном обеспечении. Следовательно, существует необходимость более простого и/или эффективного способа блочного сглаживания.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Способ и устройство для обработки изображений, сжатых при использовании основанного на блоках сжатия, могут содержать: определение того, являются ли два блока соседними блоками; определение того, являются ли оба соседних блока подразделенными; выполнение фильтрации блочного сглаживания на одном или более краевых пикселях двух соседних блоков, если оба соседних блока не являются подразделенными. Определение того, являются ли оба соседних блока подразделенными, может содержать получение значений дисперсии для каждого из двух соседних блоков; сравнение значений дисперсии с первым пороговым значением; и определение того, являются ли оба соседних блока подразделенными, основываясь на сравнении значений дисперсии с первым пороговым значением. Альтернативно, определение того, являются ли оба соседних блока подразделенными, также может содержать получение присвоенного значения размера блока; и использование присвоенного значения размера блока, чтобы определить, являются ли два соседних значения подразделенными.
Способ и устройство могут дополнительно содержать определение того, является ли один из двух соседних блоков подразделенным, если оба соседних блока не являются подразделенными; использование первого фильтра блочного сглаживания на одном или более краевых пикселях двух соседних блоков, если один из двух соседних блоков является подразделенным; и использование второго фильтра блочного сглаживания на одном или более краевых пикселях двух соседних блоков, если ни один из двух соседних блоков не является подразделенным.
Способ и устройство могут дополнительно содержать получение одного или более значений различия для одного или более краевых пикселей двух соседних блоков, если ни один из двух соседних блоков не является подразделенным; сравнение одного или более значений различия со вторым пороговым значением; и выбор второго фильтра блочного сглаживания, основываясь на сравнении одного или более значений различия со вторым пороговым значением.
Получение одного или более значений различия может содержать получение значения различия между тремя краевыми пикселями двух соседних блоков; и выбор второго фильтра блочного сглаживания может содержать использование фильтра Гаусса, если, по меньшей мере, два из значений различия больше, чем второе пороговое значение.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Различные воплощения будут подробно описаны со ссылкой на следующие чертежи, в которых одинаковые ссылочные позиции соответствуют одинаковым элементам, причем:
Фиг.1 является одним примером компрессора изображений;
Фиг.2 является одним примером декомпрессора изображений;
Фиг.3 показывает пример способа определения того, является ли блок подразделенным;
Фиг.4A-4D показывают примеры подразделения блока;
Фиг.5 показывает пример двух соседних блоков в изображении;
Фиг.6 показывает пример способа определения того, нужно ли использовать фильтр блочного сглаживания;
Фиг.7 показывает другой пример способа определения того, нужно ли использовать фильтр блочного сглаживания;
Фиг.8A-8D показывают расстановки ABSDCT для блока 16×16;
Фиг.9A и 9B показывают примеры присвоенных данных размера блока;
Фиг.10A и 10B показывают другие примеры присвоенных данных размера блока;
Фиг.11 показывает пример способа генерации присвоенных данных размера блока для ABSDCT;
Фиг.12 является таблицей, которая показывает различные пороговые значения дисперсий;
Фиг.13 показывает некоторые изменяемые определения; и
Фиг.14 показывает пример способа определения того, нужно ли использовать фильтр блочного сглаживания в системах, использующих ABSDCT.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
В системах сжатия, использующих основанное на блоках Дискретное Косинусное Преобразование (DCT), поток данных делится на блоки пикселей и к ним применяется дискретное косинусное преобразование. Эта основанная на блоках обработка вносит блочные артефакты между границами блоков, так как преобразование не принимает во внимание корреляцию между границами блоков и так как каждый блок кодируется независимо.
Обычно в системах сжатия, использующих DCT, размер каждого блока данных является постоянным. Тем не менее, существуют технологии динамического сжатия изображения, которые могут предложить значительное сжатие, сохраняя качество сигналов изображения при использовании блоков с адаптивным размером и подблоков с закодированными при помощи DCT данными. Такие технологии будут называться DCT с изменяемым размером блока. Одним примером DCT с изменяемым размером блока является дискретное косинусное преобразование с адаптивным размером блока (ABSDCT), раскрытое в заявке США № 5021891, озаглавленной «Способ и Система Сжатия Изображения с Адаптивным Размером Блока». DCT технологии также раскрыты в заявке США № 5107345, озаглавленной «Способ и Система Сжатия Изображения с Адаптивным Размером Блока», и использование ABSDCT технологии в объединении с технологией Дискретного Преобразования Дерева Квадрантов обсуждается в заявке США № 5,452,104, озаглавленной «Способ и Система Сжатия Изображения с Адаптивным Размером Блока». Адаптивные размеры блоков выбираются, чтобы использовать избыточность информации в кадре данных изображения. ABSDCT будет описано ниже более подробно.
Воплощения, описанные ниже, уменьшают артефакты, допуская простой и эффективный способ блочного сглаживания, который может быть легко реализован в системах сжатия, использующих основанное на блоках DCT. Воплощения особенно эффективны в DCT с изменяемым размером блока.
В последующем описании даны конкретные подробности, чтобы обеспечить всестороннее понимание воплощений. Тем не менее, специалисты в данной области техники поймут, что воплощения могут быть выполнены без этих конкретных подробностей. Например, в блок-схемах могут быть показаны схемы для того, чтобы не затемнять воплощения ненужными подробностями. В других примерах хорошо известные схемы, структуры и технологии могут быть подробно показаны, чтобы не затемнять воплощения.
Также заметим, что воплощения могут быть описаны как процесс, который изображен в виде блок-схемы. Хотя блок-схема может описывать действия как последовательный процесс, многие из действий могут выполняться параллельно или одновременно. Дополнительно, порядок действий может быть переставлен. Процесс завершается, когда действия завершены. Процесс может соответствовать способу, функции, процедуре, стандартной подпрограмме, подпрограмме и т.д. Когда процесс соответствует функции, его остановка соответствует возвращению функции к вызывающей функции или главной функции.
Фиг.1 показывает пример компрессора 100 изображений, а Фиг.2 показывает пример декомпрессора 200 изображений, который симметричен компрессору 100 изображений. Компрессор 100 изображений содержит модуль 110 DCT с изменяемым размером блока (VBSDCT), модуль 120 квантования и модуль 130 кодирования с переменной длиной (VLC). Декомпрессор 200 изображений содержит модуль 210 декодирования с переменной длиной (VLD), модуль 220 обратного квантования и модуль 230 обратного VBSDCT. Декомпрессор 200 изображений дополнительно содержит модуль 240 фильтра блочного сглаживания, чтобы фильтровать края блока, если необходимо, и процессор 250, чтобы управлять модулем 240 фильтра блочного сглаживания.
Обычно, поток данных, вводимых в компрессор 100 изображений, состоит из кадров изображения. Кадр изображения может, в общем, быть разделен на кристаллы, причем кристалл может быть разделен на блоки данных, а блоки данных могут быть разделены на пиксели, которые являются наименьшими единицами изображения. Каждый кадр изображения включает целое число кристаллов, и каждый кристалл изображения представляет информацию об изображении для набора из n последовательных строк развертки, таких как 16 последовательных строк развертки. В таком случае, каждый блок данных соответствует 16×16 блоку пикселей в изображении кадра. Также, кадр может быть поделен на четное и нечетное число кристаллов, таким образом, образовывая четную половину кадра и нечетную половину кадра. Кроме того, пиксель изображения обычно может быть представлен в системе компонентов Красного, Зеленого и Голубого (RGB) цветов. Тем не менее, так как человеческий глаз более чувствителен к изменениям яркости и менее чувствителен к изменениям цветности, при сжатии видеоизображения обычно используется YCbCr цветовое пространство, чтобы представить пиксели изображения. YCbCr цветовое пространство является линейным преобразованием RGB компонент, где Y является компонентой цветности, а Cb и Cr являются компонентами цвета. Если кадр поделен на четные/нечетные кадры, кадр изображения будет состоять из трех четных половин кадра и трех нечетных половин кадра, соответствующих компонентам Y, Cb и Cr.
В вышеприведенном описании кристалл может представлять набор последовательных строк развертки, отличающихся от 16 последовательных строк развертки. Также, блок данных может являться n×m блоком, где n не равно m, если блок может быть подразделен. Кроме того, может быть использовано другое цветовое пространство с таким же или другим числом цветовых компонент, чтобы представить пиксель изображения. Тем не менее, ниже, с целью объяснения, будут использованы размер блока из 16×16 пикселей и YCbCr цветовое пространство.
Ссылаясь снова на Фиг.1: модуль 110 VBSDCT преобразует цифровую информацию об изображении из пространственной области в частотную область и генерирует DCT коэффициенты с соответствующей информацией о присвоенном размере блока (BSA). Модуль 110 VBSDCT делит и обрабатывает цифровую информацию об изображении в блоках и, если необходимо, в подблоках. Фиг.3 показывает один способ 300 определения того, является ли блок подразделенным. В способе 300 получают (310) значение дисперсии DCT блока. Дисперсию затем сравнивают с набором TBS пороговых значений для размера блока (320). Определяют, является ли блок подразделенным, основываясь на сравнении значения дисперсии с пороговым значением TBS. То есть, если значение дисперсии больше, чем TBS, тогда блок является подразделенным (330 и 340). В противном случае, блок не является подразделенным (350). Здесь аналогичный способ может быть использован для подблоков, чтобы определить, является ли подблок подразделенным. В таком случае, дисперсия сравнивается с набором пороговых значений для размера подблока.
BSA информация показывает как подразделен блок, если он является подразделенным. Например, BSA информация может показать, что 16×16 блок подразделен на четыре 8×8 блока, как на Фиг.4A, или, возможно, что 8×8 блок подразделен на четыре 4×4 блока, как на Фиг.4B. В других системах BSA информация может показать, что 16×16 блок подразделен на четыре 8×8 блока, как показано на Фиг.4C. Как показано, один из 8×8 блоков Фиг.4C подразделен на четыре 4×4 блока и дополнительно на четыре 2×2 блока, как показано также на Фиг.4C, основываясь на конфигурации системы и/или необходимости. Модуль 120 квантования затем квантует DCT коэффициенты, и VLC 130 сжимает квантованные DCT коэффициенты, используя технологию кодирования с переменной длиной.
В декомпрессоре 200 изображений модуль 210 VLD разворачивает сжатую информацию об изображении, модуль 220 квантования квантует в обратном порядке развернутую информацию об изображении и модуль 230 обратного VBSDCT преобразует квантованную информацию об изображении из пространственной области в частотную область, используя информацию о присвоенном размере блока. Процессор 250 определяет, являются ли два блока изображения соседними блоками, как показано на Фиг.5. Процессор 250 затем определяет, необходимо ли блочное сглаживание для двух соседних блоков, основываясь на количестве краевой активности блока или занятости. Если считается, что блочное сглаживание необходимо, один или более общих краевых пикселей двух соседних блоков фильтруются при помощи модуля 240 фильтра блочного сглаживания. После последующей обработки информация об изображении выводится на дисплей и/или сохраняется для представления.
Фиг.6 показывает способ 600 обработки изображений, сжатых при использовании основанного на блоках сжатия. В способе 600 определяют, являются ли оба соседних блока подразделенными (610). Здесь BSA информация может быть использована, чтобы определить, являются ли два соседних блока подразделенными. Если оба соседних блока не являются подразделенными, тогда на одном или более краевых пикселях двух соседних блоков используется фильтр блочного сглаживания (620).
Фиг.7 показывает другой способ 700 обработки изображений, сжатых при использовании основанного на блоках сжатия. В способе 700 определяют, являются ли оба соседних блока подразделенными (710). Если определено, что два соседних блока оба являются подразделенными, фильтр блочного сглаживания не используется. Тем не менее, если оба соседних блока не являются подразделенными, то есть, по меньшей мере, один из двух соседних блоков не является подразделенным, дополнительно определяют, является ли один из двух соседних блоков подразделенным (720). Если один из двух соседних блоков является подразделенным, тогда на одном или более пикселях двух соседних блоков используется фильтр блочного сглаживания (730). Здесь первый фильтр блочного сглаживания может являться двухточечным усредняющим фильтром, используемым на двух краевых пикселях двух соседних блоков. Если ни один из двух соседних блоков не является подразделенным, тогда на одном или более пикселях двух соседних блоков используется второй фильтр блочного сглаживания.
Более конкретно, получают значения различия между одним или более соответствующими краевыми пикселями двух соседних блоков (740). Значение различия представляет дисперсию вдоль границ блока, и оно может быть получено и/или выведено, используя различные технологии. Может быть получено простое различие первого порядка между двумя соответствующими соседними блоками. В других воплощениях может быть получено и использовано различие второго порядка. Одно или более значений различия сравнивают с пороговым значением TD (750). Основываясь на сравнении одного или более значений различия с пороговым значением TD, выбирают второй фильтр блочного сглаживания (760).
Пороговое значение TD обычно зависит от яркости и может быть заранее установлено для различных систем и/или различных типов изображений. В одном воплощении в качестве порогового значения может быть использовано среднее значение из средних значений двух соседних блоков. Альтернативно, пороговое значение TD может быть разностью средних значений двух соседних блоков. Пороговое значение TD может также быть оптимизировано, чтобы иметь дело с изменениями интенсивности в изображении, используя масштабный коэффициент α, который пропорционален степени контрастности следующим образом:
α = (μc - μn)/μn,
где μc является средним значением текущего блока, а μn является средним значением блока, содержащего краевые пиксели, используемые при получении значений различия.
Значение α лежит в диапазоне от 0 до 1.
Кроме того, в одном воплощении получают значения различия между тремя краевыми пикселями двух соседних блоков и сравнивают их с пороговым значением TD. Если, по меньшей мере, два из значений различия больше, чем TD, выбирается фильтр Гаусса. То есть, если три из трех значений различия больше, чем TD, используется шеститочечный фильтр Гаусса на шести краевых пикселях двух соседних блоков. Если два из трех значений различия больше, чем TD, тогда используется четырехточечный фильтр Гаусса на четырех краевых пикселях двух соседних блоков. Если одно из трех значений различия больше, чем TD, тогда используется усредняющий фильтр на двух краевых пикселях двух соседних блоков.
Ссылаясь снова на Фиг.2: процессор 250 может, следовательно, определить, необходимо ли блочное сглаживание. Как обсуждалось выше, процессор 250 может также выбрать, когда позволяет система, различные фильтры блочного сглаживания в зависимости от характеристик соседних блоков. Таким образом, модуль 240 фильтра блочного сглаживания содержит один или более типов фильтров, таких как усредняющий фильтр и/или фильтр Гаусса, но не ограничивается ими.
Кроме того, как обсуждалось выше, модуль 110 VBSDCT может быть реализован при помощи ABSDCT. Технологии сжатия, использующие ABSDCT, будут описаны ниже, используя размер блока, равный 16×16 пикселей. Обычно, каждая из компонент яркости и цветности передается на чередование блоков (не показано). В одном воплощении, как показано на Фигурах от 8A до 8D, 16×16 блок представлен для чередования блоков, которое упорядочивает образцы изображений в 16×16 блоках, чтобы создать блоки и составные подблоки данных для DCT анализа. Одно 16×16 DCT применяется для первой расстановки, четыре 8×8 DCTs применяются для второй расстановки, 16 4×4 DCTs применяются для третьей расстановки и 64 2×2 DCTs применяются для четвертой расстановки. DCT действие уменьшает пространственную избыточность, присущую источнику изображения. После выполнения DCT большая часть энергии сигнала изображения стремится к сосредоточению в нескольких DCT коэффициентах.
Для 16×16 блока и каждого подблока анализируют преобразованные коэффициенты, чтобы определить число битов, требуемых для кодирования блока или подблока. Затем выбирают блок или комбинацию подблоков, которая требует, по меньшей мере, нескольких битов для кодирования, чтобы представить сегмент изображения. Например, могут быть выбраны два 8×8 подблока, шесть 4×4 подблоков и восемь 2×2 подблоков, чтобы представить сегмент изображения. Выбранный блок или комбинация подблоков затем надлежащим образом упорядочиваются.
Преобразованные коэффициенты анализируют и выбирают блок или комбинацию подблоков, чтобы представить сегмент изображения. Таким образом, генерируют информацию о присвоенном размере блока, которая представляет присвоенный размер блока в n×n блоке. Для 16×16 блока данных ABSDCT технология генерирует данные, известные как PQR информация, которая представляет присвоенный размер блока в 16×16 блоке. PQR информация является данными с изменяемой битовой шириной, и она описывает до какой степени подразделяется 16×16 блок. R-бит PQR поля представляет, подразделен ли 16×16 блок на четыре 8×8 блока. Как показано на Фиг.9A, если R-бит равен «0», блок остается неразделенным. В этом случае дополнительная PQR информация не нужна, и PQR поле имеет только 1 бит. Если R-бит равен «1», тогда 16×16 блок подразделен на четыре 8×8 блока, как показано на Фиг.9B, и в PQR поле будут существовать, по меньшей мере, четыре дополнительных бита.
Дополнительные четыре бита называются «Q»-информация. Каждый Q-бит означает подразделение 8×8 блока на четыре 4×4 блока. Для каждого Q-бита, существуют еще четыре бита «P», чтобы указать, если любой из 4×4 блоков подразделен на 2×2. Следовательно, длина PQR данных может быть от 1 до 21 бита, в зависимости от присвоенного размера блока в 16×16 блоке. Если каждый 8×8 блок является подразделенным, тогда PQR информация будет иметь длину, равную 21 битам. Фиг.10A-В показывают некоторые примеры 16×16 блоков с соответствующими PQR данными.
Следовательно, каждый блок может быть подразделен на подблоки размеров 8×8, 4×4 и/или 2×2 в зависимости от критерия присваивания. Критерием подразделения n×n блока является дисперсия блока:
Блок пикселей размером n×n будет подразделен на 4 n/2×n/2 подблока, если дисперсия блока n×n блока превышает определенное пороговое значение. Здесь, среднее по блокам может иметь значения в диапазоне (0, 1023) для 10-битового изображения. Таким образом, изображение делится на 12 элементов, и для каждого элемента для каждой компоненты цвета используется набор пороговых значений. Также пороговые значения могут быть определены, основываясь на статистике, собранной с некоторого количества кадров изображений различных типов. Обычный набор пороговых значений показан на Фиг.12A-C.
Фиг.11 иллюстрирует примерный способ 1100 для генерации PQR информации для показанного 16×16 блока. Для каждого блока получают (1110) среднее значение и дисперсию V16. Дисперсию V16 сравнивают с подходящим пороговым значением T16 для соответствующего среднего значения (1115). Если дисперсия V16 не превышает пороговое значение T16, R значение PQR данных устанавливают на 0, и способ завершается (1120). В противном случае, R значение устанавливают на 1 (1125). Затем получают дисперсию V8(i), {i = 1...4}, для каждого из четырех 8×8 подблоков от 0 до 3, как показано на Фиг.9B, и каждую дисперсию V8(i) сравнивают с подходящим пороговым значением T16, чтобы определить Q значения для PQR данных (от 1130 до 1140). Если дисперсия V8(i) не больше, чем пороговое значение T8, соответствующее Q(i) устанавливают на 0 (1145). В противном случае, Q(i) значение устанавливают на 1 (1150). Затем получают дисперсию V4(j), {j = 1...4}, для каждого из четырех 4×4 подблоков каждого 8×8 блока, для которого Q(i) установлено на 1, и каждую дисперсию V4(j) сравнивают с подходящим пороговым значением T4, чтобы определить P значения для PQR данных (от 1155 до 1165). Если дисперсия V4(j) не больше, чем пороговое значение T4, соответствующее Q(j) устанавливают на 0 (1170). В противном случае, Q(j) значение устанавливают на 1 (1175).
Таким образом, PQR информация может быть сгенерирована и использована для блочного сглаживания изображений в декомпрессоре, таком как декомпрессор 200 изображений. PQR информация используется, чтобы определить краевое содержание изображения. Чем больше краевая информация в блоке, тем меньше размер блока и длиннее PQR код. Фиг.14 показывает примерный способ 1400 для обработки изображений, сжатых при использовании ABSDCT, а Фиг.15 показывает изменяемые определения, используемые в способе 1400.
При определении того, нужно ли использовать фильтр блочного сглаживания для двух соседних блоков, получают PQR информацию для каждого блока (1410). Если оба PQR бита больше чем 5 битов (1415), способ завершается. То есть определено, что оба блока являются подразделенными и что они содержат достаточную краевую информацию. В противном случае, если один из PQR битов больше чем 5 битов, на {x1, y1} используется двухточечный усредняющий фильтр (1420 и 1425). Если ни один из PQR битов не больше чем 5 битов, тогда получают (1430) значения d1, d2 и d3 различия. Если d1, d2 и d3 больше, чем пороговое значение TD, тогда на {x1, x2, x3, y1, y2, y3} используется шеститочечный фильтр Гаусса (1435 и 1440). Если d1 и d2 больше, чем пороговое значение TD, тогда на {x1, x2, y1, y2} используется четырехточечный фильтр Гаусса (1445 и 1450). Если d1 больше, чем пороговое значение TD, тогда на {x1, y1} используется двухточечный усредняющий фильтр (1455 и 1460).
В способе 1400 воплощение не ограничивается усредняющим фильтром и/или фильтром Гаусса. Вместо усредняющего фильтра и/или фильтра Гаусса могут использоваться другие фильтры.
Как показано, модуль фильтра блочного сглаживания может быть легко реализован в декомпрессоре. Следовательно, артефакты могут быть значительно ослаблены и может быть улучшено визуальное качество изображения. Заметим, что хотя показано, что модуль 240 фильтра блочного сглаживания реализован отдельно от модуля 230 обратного VBSDCT и от процессора 250, одна из этих компонент или комбинация модуля 240 фильтра блочного сглаживания, модуля 230 обратного VBSDCT и процессора 250 могут быть реализованы вместе.
Также, воплощения могут быть реализованы при помощи аппаратного обеспечения, программного обеспечения, программно-аппаратного обеспечения, промежуточного программного обеспечения, микрокоманд или любой их комбинации. При реализации в программном обеспечении, программно-аппаратном обеспечении, промежуточном программном обеспечении или микрокомандах, элементы воплощения являются программным кодом или сегментами кода, чтобы выполнить необходимые задачи, и могут быть сохранены в машиночитаемой среде (не показана). Сегмент кода может представлять процедуру, функцию, подпрограмму, программу, стандартную программу, стандартную подпрограмму, модуль, пакет программного обеспечения, класс или любую комбинацию команд, структур данных или оператора программы. Сегмент кода может быть объединен с другим сегментом кода или схемой аппаратного обеспечения при помощи передачи и/или приема информации, данных, аргументов, параметров или содержания памяти. Информация, аргументы, параметры, данные и т.д. могут быть переданы, направлены или отправлены через любое подходящее средство, включая совместное использование памяти, передачу сообщений, передачу маркера, сетевую передачу и т.д. Также, машиночитаемая среда может быть реализована в промышленном изделии для использования в компьютерной системе и может иметь средства в виде машиночитаемого кода, реализованные в машиночитаемой среде.
Дополнительно, хотя воплощения были описаны, используя DCT с изменяемым размером блока, технология блочного сглаживания, как описано выше, может быть также реализована в DCT с постоянным размером блока. В таких случаях, BSA информация генерируется, но не используется для действительного DCT. Вместо этого BSA информация используется в декомпрессоре изображений, чтобы определить, необходимо ли блочное сглаживание для двух соседних блоков.
Следует заметить, что вышеупомянутые воплощения являются только примерами и не должны истолковываться как ограничения изобретения. Описание воплощений предназначено для иллюстрации, и оно не ограничивает объем формулы изобретения. По существу, настоящие указания могут быть легко применены к другим типам устройств и многим альтернативам, модификациям и вариациям, которые станут очевидными для специалистов в данной области техники.
Изобретение относится к сжатию видеоизображения, более конкретно к системам сжатия блоков изображений. Техническим результатом является повышение эффективности блочного сглаживания, используя краевую информацию. Предложен способ обработки изображений, содержащий определение того, являются ли два блока соседними блоками изображений, определение того, являются ли оба соседних блока подразделенными или не подразделенными, если два блока являются соседними блоками, выполнение фильтрации блочного сглаживания на одном или более краевых пикселях двух соседних блоков, если определено, что оба соседних блока не являются подразделенными. 4 н. и 29 з.п. ф-лы, 14 ил.
определяют, являются ли два блока соседними блоками;
определяют, являются ли оба соседних блока подразделенными или не подразделенными, если определено, что два блока являются соседними блоками;
выполняют фильтрацию блочного сглаживания на одном или более краевых пикселях двух соседних блоков, если определено, что оба соседних блока не являются подразделенными.
средство для определения того, являются ли два блока соседними блоками;
средство для определения того, являются ли оба соседних блока подразделенными или не подразделенными, если определено, что два блока являются соседними блоками;
средство для фильтрации на одном или более краевых пикселях двух соседних блоков, если определено, что оба соседних блока не являются подразделенными.
программный модуль в виде машиночитаемого кода, для определения того, являются ли два блока соседними блоками;
программный модуль в виде машиночитаемого кода, для определения того, являются ли оба соседних блока подразделенными или не подразделенными, если определено, что два блока являются соседними блоками;
программный модуль в виде машиночитаемого кода, для фильтрации на одном или более краевых пикселях двух соседних блоков, если определено, что оба соседних блока не являются подразделенными.
средства в виде машиночитаемого кода, реализованные в упомянутой машиночитаемой среде, для использования шеститочечного фильтра Гаусса на шести краевых пикселях двух соседних блоков, если значения различия больше, чем второе пороговое значение.
средства в виде машиночитаемого кода, реализованные в упомянутой машиночитаемой среде, для использования четырехточечного фильтра Гаусса на четырех краевых пикселях двух соседних блоков, если два из значений различия больше, чем второе пороговое значение.
процессор, сконфигурированный с возможностью определения того, являются ли два блока соседними блоками, и определения того, являются ли два соседних блока подразделенными или не подразделенными, если определено, что два блока являются соседними блоками;
фильтр блочного сглаживания, сконфигурированный с возможностью фильтрации на одном или более краевых пикселях двух соседних блоков, если определено, что, по меньшей мере, один из двух соседних блоков не является подразделенным.
СПОСОБ И УСТРОЙСТВО ДЛЯ ЦИКЛ-ФИЛЬТРАЦИИ ДАННЫХ ИЗОБРАЖЕНИЯ | 1999 |
|
RU2154918C1 |
US 5107345 A1, 21.04.1992 | |||
US 6320905 В1, 20.11.2001 | |||
US 6529634 В1, 04.03.2003 | |||
US 2003044080 A1, 06.03.2003. |
Авторы
Даты
2008-07-20—Публикация
2004-03-17—Подача