Видеокодирование коэффициентов фильтра на основе горизонтальной и вертикальной симметрии

Иллюстрации

Показать все

Изобретение относится к поблочному видеокодированию, используемому для сжатия видеоданных, и, в частности, к кодированию коэффициентов фильтра, связанных с фильтрацией видеоблоков. Техническим результатом является уменьшение объема данных для кодирования и переноса информации фильтра от устройства кодирования на устройство декодирования. Указанный технический результат достигается тем, что первое множество коэффициентов фильтра используются для предиктивного кодирования второго множества коэффициентов фильтра, тем самым эксплуатируя любую симметрию между коэффициентами фильтра. Поскольку некоторые из коэффициентов фильтра, заданных на кодере, могут обладать симметрией относительно других коэффициентов фильтра, то вместо того чтобы передавать все коэффициенты фильтра на устройство декодирования, устройство кодирования может передавать первое множество коэффициентов фильтра и разностные значения, связанные со вторым множеством коэффициентов фильтра. Используя эту информацию, декодер получает возможность реконструировать все коэффициенты фильтра. В ряде случаев, если установлена строгая симметрия, необходимость в передаче разностных значений можно исключить, что позволяет декодеру выводить второе множество коэффициентов фильтра из первого множества коэффициентов фильтра. 14 н. и 50 з.п. ф-лы, 9 ил.

Реферат

Данная заявка притязает на приоритет предварительной патентной заявки США №61/019831, поданной 8 января 2008 г., которая в полном объеме включена сюда в порядке ссылки.

Область техники

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

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

Возможности цифрового видео можно внедрить в широкий круг устройств, включая цифровые телевизоры, системы прямого цифрового вещания, устройства беспроводной связи, например радиотелефоны, системы беспроводного вещания, карманные персональные компьютеры (КПК), переносные или настольные компьютеры, цифровые камеры, устройства цифровой записи, устройства для видеоигр, телевизионные игровые приставки и т.п. В цифровых видеоустройствах реализованы методы сжатия видеосигнала, например, MPEG-2, MPEG-4 или ITU-T H.264/MPEG-4, Part 10, Advanced Video Coding (AVC), для более эффективного осуществления передачи и приема цифрового видеосигнала. Методы сжатия видеосигнала предусматривают пространственное и временное прогнозирование для уменьшения или удаления избыточности, свойственной видеопоследовательностям.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Фиг.1 - иллюстративная блок-схема системы кодирования и декодирования видеосигнала.

Фиг.2 - блок-схема иллюстративного видеокодера, отвечающего настоящему изобретению.

Фиг.3 - блок-схема иллюстративного видеодекодера, отвечающего настоящему изобретению.

Фиг.4-6 - векторные диаграммы, демонстрирующие иллюстративные коэффициенты фильтра, которые могут обладать горизонтальной и/или вертикальной симметрией относительно других коэффициентов фильтра.

Фиг.7 и 8 - логические блок-схемы иллюстративных способов кодирования и декодирования, отвечающих настоящему изобретению.

Фиг.9 - другая логическая блок-схема иллюстративного способа декодирования, отвечающего настоящему изобретению.

Подробное описание

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

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

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

На фиг.1 показана блок-схема иллюстративной системы кодирования и декодирования видеосигнала 10, в которой можно реализовать техники, отвечающие настоящему изобретению. Согласно фиг.1, система 10 включает в себя исходное устройство 12, которое передает кодированный видеосигнал на устройство назначения 16 по каналу связи 15. Исходное устройство 12 и устройство назначения 16 могут содержать любое из широкого круга устройств. В ряде случаев, исходное устройство 12 и устройство назначения 16 могут содержать беспроводные телефоны, например так называемые сотовые или спутниковые радиотелефоны. Однако техники, отвечающие настоящему изобретению, которые применяются, в общем случае, к фильтрации видеоблоков, не ограничиваются беспроводными приложениями или установками и могут применяться к устройствам, не относящимся к беспроводной связи, в том числе к функциям кодирования и/или декодирования видеосигнала.

В примере, показанном на фиг.1, исходное устройство 12 может включать в себя источник 20 видеосигнала, видеокодер 22, модулятор/демодулятор (модем) 23 и передатчик 24. Устройство назначения 16 может включать в себя приемник 26, модем 27, видеодекодер 28 и устройство отображения 30. Согласно настоящему изобретению, видеокодер 22 исходного устройства 12 может быть настроен на выбор коэффициентов фильтра для процесса фильтрации видеоблоков с последующим предиктивном кодировании некоторых коэффициентов фильтра на основе других коэффициентов фильтра. Видеодекодер 28 устройства назначения 16 может быть настроен на декодирование коэффициентов фильтра, например, путем реконструкции предиктивно-кодированных коэффициентов фильтра.

В частности, видеокодер 22 исходного устройства 12 может выбирать коэффициенты фильтра, применять такие коэффициенты фильтра в процессе кодирования и затем кодировать коэффициенты фильтра для передачи на видеодекодер 28 устройства назначения 16. При условии сходства между разными коэффициентами фильтра, второе множество коэффициентов фильтра можно предиктивно кодировать как разностные значения относительно первого множества коэффициентов фильтра. Например, коэффициенты фильтра во втором множестве могут иметь величины, близкие к величинам коэффициентов фильтра в первом множестве. Знаки коэффициентов фильтра во втором множестве (например, положительный или отрицательный) могут отличаться от знаков коэффициентов фильтра в первом множестве. Соответственно, разностные значения могут идентифицировать такие различия в знаке, а также любые различия по абсолютной величине. Таким образом, можно уменьшить объем информации, необходимый для переноса коэффициентов фильтра. В общем случае, в этом изобретении, выражение “разностные значения” могут означать различия по абсолютной величине, различия в знаке или различия по величине и знаку.

Система 10, показанная на фиг.1, является исключительно иллюстративной. Методы фильтрации, отвечающие настоящему изобретению, могут применяться любым устройством кодирования или декодирования. Исходное устройство 12 и устройство назначения 16 являются лишь примерами устройств кодирования, которые могут применять такие методы.

Видеокодер 22 исходного устройства 12 может кодировать видеоданные, принятые от источника видеосигнала 20, с использованием техник, отвечающих настоящему изобретению. Источник видеосигнала 20 может содержать устройство видеосъемки, например видеокамеру, видеоархив, содержащий ранее отснятые видеоматериалы или видеоматериалы, поступающие от поставщика видео-контента. В порядке дополнительной альтернативы, источник видеосигнала 20 может генерировать данные на основе компьютерной графики в качестве исходного видео, или комбинацию «живого» видео, архивного видео и видео, созданного на компьютере. В ряде случаев, если источником видеосигнала 20 является видеокамера, исходное устройство 12 и устройство назначения 16 могут образовывать так называемые камерофоны или видеотелефоны. В любом случае, отснятое, заранее отснятое или компьютерно-создаваемое видео может кодироваться видеокодером 22.

После кодирования видеоданных видеокодером 22, кодированная видеоинформация может модулироваться модемом 23 согласно стандарту связи, например множественного доступа с кодовым разделением (CDMA) или другому стандарту или методу связи, и передаваться на устройство назначения 16 посредством передатчика 24. Модем 23 может включать в себя различные смесители, фильтры, усилители или другие компоненты, предназначенные для модуляции сигнала. Передатчик 24 может включать в себя схемы, предназначенные для передачи данных, включая усилители, фильтры и одну или несколько антенн.

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

Видеодекодер 28 декодирует видеоблоки, генерирует второе множество коэффициентов фильтра на основе первого множества коэффициентов фильтра и разностных значений и фильтрует декодированные видеоблоки на основе первого и второго множеств коэффициентов фильтра. Декодированные и фильтрованные видеоблоки можно собирать в видеокадры для формирования декодированного видео. Устройство отображения 28 отображает декодированные видеоданные пользователю и может содержать любое из разнообразных устройств отображения, например электронно-лучевую трубку (ЭЛТ), жидкокристаллический дисплей (ЖКД), плазменный дисплей, дисплей на основе органических светодиодов (ОСИД) или устройство отображения другого типа.

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

Видеокодер 22 и видеодекодер 28 могут действовать согласно стандарту сжатия видео, например стандарту ITU-T H.264, альтернативно именуемому MPEG-4, Part 10, Advanced Video Coding (AVC). Однако техники, отвечающие настоящему изобретению, можно легко применять к любым из различных других стандартов видеокодирования. В частности, любой стандарт, который позволяет осуществлять фильтрацию на кодере и декодере, может использовать принципы этого изобретения путем сокращения объема данных, необходимого для передачи информации фильтра с кодера на декодер.

Хотя это не показано на фиг.1, в некоторых аспектах, видеокодер 22 и видеодекодер 28 могут быть объединены с аудиокодером и декодером, и могут включать в себя соответствующие модули мультиплексирования/демультиплексирования, или другое оборудование и программное обеспечение, для обработки кодирования аудио- и видеосигналов в общем потоке данных или в раздельных потоках данных. Если применимо, модули мультиплексирования/демультиплексирования могут соответствовать протоколу мультиплексирования ITU H.223 или другим протоколам, например протоколу пользовательских дейтаграмм (UDP).

Видеокодер 22 и видеодекодер 28 можно реализовать в виде одного или нескольких микропроцессоров, цифровых сигнальных процессоров (DSP), специализированных интегральных схем (ASIC), вентильных матриц, программируемых пользователем (FPGA), дискретной логики, программного обеспечения, оборудования, программно-аппаратного обеспечения или любой их комбинации. Видеокодер 22 и видеодекодер 28 могут входить в состав одного или нескольких кодеров или декодеров, любой из которых можно интегрировать как часть объединенного кодера/декодера (кодека) в соответствующее мобильное устройство, абонентское устройство, широковещательное устройство, сервер и т.п.

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

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

Макроблоки обычно составляют 16×16 блоков данных. Стандарт ITU-T H.264 поддерживает интрапрогнозирование в различных размерах блоков, например 16×16, 8×8 или 4×4 для яркостных компонентов, и 8×8 для цветностных компонентов, а также интерпрогнозирование в различных размерах блоков, например 16×16, 16×8, 8×16, 8×8, 8×4, 4×8 и 4×4 для яркостных компонентов и соответствующим образом масштабированных размеров для цветностных компонентов. В этом изобретении, термин “видеоблоки” относится к любому размеру видеоблока. Кроме того, видеоблоки могут означать блоки видеоданных в пиксельном измерении или блоки данных в измерении преобразования, например в измерении дискретного косинусного преобразования (ДКП), в измерении, аналогичном ДКП, в вейвлетном измерении и т.д.

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

После преобразования и квантования, энтропийное кодирование может осуществляться на квантованных и преобразованных остаточных видеоблоках. Синтаксические элементы, например информация фильтра и векторы прогнозирования, задаваемые в ходе кодирования, также можно включать в энтропийно-кодированный битовый поток. В общем случае, энтропийное кодирование содержит один или несколько процессов, которые совместно сжимают последовательность квантованных коэффициентов преобразования и/или другую синтаксическую информацию. Методы сканирования, например методы зигзагообразного сканирования, осуществляются над квантованными коэффициентами преобразования для задания одного или нескольких последовательных одномерных векторов коэффициентов из двухмерных видеоблоков. Затем сканированные коэффициенты подвергаются энтропийному кодированию совместно с любой синтаксической информацией, например, посредством content adaptive variable length coding (контентно-адаптивного кодирования с переменной длиной) (CAVLC), context adaptive binary arithmetic coding (контекстно-адаптивного двоично-арифметического кодирования) (CABAC), или другого процесса энтропийного кодирования.

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

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

На фиг.2 показана блок-схема видеокодера 50, отвечающего настоящему изобретению. Видеокодер 50 может соо