Мультиметрическая фильтрация
Иллюстрации
Показать всеИзобретение относится к технологиям кодирования/декодирования видеоданных. Техническим результатом является сокращение количества битов, необходимых для сигнализации коэффициентов фильтра. Предложен способ декодирования данных видео. Способ включает в себя этап, на котором определяют первую метрику для группы пикселей внутри блока пикселей, при этом первая метрика определяется на основе сравнения пиксельных значений группы пикселей с пиксельными значениями упомянутого блока пикселей. Далее, согласно способу, определяют вторую метрику для группы пикселей, при этом определение второй метрики содержит определение направления группы пикселей из набора направлений, при этом набор направлений включает в себя горизонтальное направление, вертикальное направление, направление 45 градусов и направление 135 градусов. 4 н. и 39 з.п. ф-лы, 19 ил., 2 табл.
Реферат
[0001] По настоящей заявке испрашивается приоритет:
предварительной заявки на патент США № 61/445,967, поданной 23 февраля 2011 года;
предварительной заявки на патент США № 61/448,771, поданной 3 марта 2011 года;
предварительной заявки на патент США № 61/473,713, поданной 8 апреля 2011 года;
предварительной заявки на патент США № 61/476,260, поданной 16 апреля 2011 года;
предварительной заявки на патент США № 61/478,287, поданной 22 апреля 2011 года;
предварительной заявки на патент США № 61/503,426, поданной 30 июня 2011 года;
предварительной заявки на патент США № 61/503,434, поданной 30 июня 2011 года;
предварительной заявки на патент США № 61/503,440, поданной 30 июня 2011 года;
предварительной заявки на патент США № 61/527,463, поданной 25 августа 2011 года;
предварительной заявки на патент США № 61/531,571, поданной 6 сентября 2011 года;
полное содержание которых включено сюда в полном объеме посредством ссылки.
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
[0002] Данное раскрытие относятся к цифровому кодированию видео на основе блоков, используемому для сжатия видеоданных, в частности - к методикам фильтрации видеоблоков.
УРОВЕНЬ ТЕХНИКИ
[0003] Возможности цифрового видео могут внедряться для широкого диапазона устройств, включая цифровое телевидение, системы цифрового прямого вещания, устройства беспроводной связи, такие как радиотелефонные гарнитуры, беспроводные системы вещания, персональные цифровые помощники (PDA), портативные компьютеры, стационарные компьютеры, планшетные компьютеры, цифровые камеры, цифровые записывающие устройства, устройства для видеоигр, игровые видеоприставки, и т.п. Цифровые видеоустройства реализуют методики сжатия видео, такие как MPEG-2, MPEG-4, ITU-T H.264/MPEG-4, Часть 10, усовершенствованное кодирование видео (AVC), чтобы более эффективно передавать и принимать цифровое видео. Методики сжатия видео осуществляют пространственное и временное предсказание, чтобы уменьшить избыточность, присущую видеопоследовательностям. Новые видеостандарты, такие как стандарт высокоэффективного кодирования видео (HEVC), разрабатываемый «Совместной объединенной командой кодирования видео» (JCTVC), что является совместной работой MPEG и ITU-T, продолжают появляться и развиваться. Этот новый стандарт HEVC также иногда именуется H.265.
[0004] Методики сжатия видео на основе блоков могут осуществлять пространственное предсказание и/или временное предсказание. Внутреннее (intra-) кодирование опирается на пространственное предсказание, чтобы уменьшить или устранить пространственную избыточность между видеоблоками внутри заданного элемента кодированного видео, который может содержать видеокадр, вырезку видеокадра и т.п. В отличие от этого, внешнее (inter-) кодирование опирается на временное предсказание, чтобы уменьшить или устранить временную избыточность между видеоблоками последовательных элементов кодирования видеопоследовательности. Для внутреннего кодирования видеокодер осуществляет пространственное предсказание, чтобы сжать данные на основе других данных в пределах одного и того же элемента кодированного видео. Для внешнего кодирования видеокодер осуществляет оценку движения и компенсацию движения, чтобы отследить движение соответствующих видеоблоков двух или более соседних элементов кодированного видео.
[0005] Кодированный видеоблок может быть представлен информацией предсказания, которая может использоваться для создания или идентификации блока предсказания и остаточного блока данных, показывающего различия между блоком, подвергаемым кодированию, и предсказанным блоком. В случае внешнего кодирования один или более векторов движения используются для идентификации блока предсказания данных из предыдущего или последующего элемента кодирования, тогда как в случае внутреннего кодирования режим предсказания может использоваться для генерирования блока предсказания на основе данных в пределах CU, связанного с кодируемым видеоблоком. И внутреннее кодирование и внешнее кодирование могут определять несколько различных режимов предсказания, которые могут определять различные размеры блоков и/или методики предсказания, используемые при кодировании. Дополнительные типы синтаксических компонентов также могут быть включены как часть кодированных видеоданных с целью управлять методиками кодирования или параметрами, используемыми в процессе кодирования, или определять их.
[0006] После кодирования с предсказанием на основе блоков видеокодер может осуществлять преобразование, квантование и энтропийное кодирование, чтобы дополнительно уменьшить скорость передачи битов, относящуюся к сообщению остаточного блока. Методики преобразования могут содержать дискретные косинусные преобразования (DCT) или концептуально сходные процессы, такие как вейвлетные преобразования, целочисленные преобразования или другие типы преобразований. В процессе дискретного косинусного преобразования, в качестве примера, процесс преобразования преобразует набор значений разности пикселей в коэффициенты преобразования, которые могут представлять энергию значений пикселей в частотной области. Квантование применяется в отношении коэффициентов преобразования и в общем включает в себя процесс, который ограничивает количество битов, связанных с любым заданным коэффициентом преобразования. Энтропийное кодирование содержит один или более процессов, которые совместно сжимают последовательность квантованных коэффициентов преобразования.
[0007] Фильтрация видеоблоков может выполняться как часть циклов кодирования и декодирования или как часть постфильтрационного процесса в отношении реконструированных видеоблоков. Фильтрация обычно используется, например, чтобы уменьшить блочность или другие артефакты, распространенные при кодировании видео на основе блоков. Коэффициенты фильтра (иногда именуемые отводами фильтра) могут определяться или выбираться с целью поддерживать желаемые уровни фильтрации видеоблока, которые могут уменьшить блочность и/или улучшить качество видеоизображения другими способами. Набор коэффициентов фильтра, например, может определять, как фильтрация выполняется по границам видеоблоков или в других точках в пределах видеоблоков. Различные коэффициенты фильтра могут вызывать достижение разных уровней фильтрации по отношению к различным пикселям видеоблоков. Фильтрация, например, может сглаживать или заострять различия в интенсивности значений соседних пикселей, чтобы помочь избежать нежелательных артефактов.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0008] Данное раскрытие описывает методики, связанные с фильтрацией видеоданных в процессе кодирования и/или декодирования видео. В соответствии с этим раскрытием фильтрация осуществляется в кодере, и информация фильтрации кодируется в битовом потоке, чтобы позволить декодеру идентифицировать фильтрацию, которая выполнялась в кодере. Декодер принимает кодированные видеоданные, которые включают в себя информацию фильтрации, декодирует видеоданные и осуществляет фильтрацию на основе информации фильтрации. Таким образом, декодер осуществляет ту же фильтрацию, которая применялась в кодере. В соответствии с методиками данного раскрытия на покадровой, на основе вырезка за вырезкой или на основе LCU за LCU кодер может выбирать один или более наборов фильтров и на основе кодированный элемент за кодированным элементом кодер может определять, осуществлять ли фильтрацию. Для кодированных элементов (CU), которые подлежат фильтрации, кодер может осуществлять фильтрацию на попиксельной основе или на основе группа за группой, где группа может, например, быть блоком пикселей 2х2 или блоком пикселей 4х4.
[0009] В одном примере способ кодирования видео включает в себя определение первой метрики для группы пикселей в блоке пикселей, определения второй метрики для группы пикселей; на основе первой метрики и второй метрики, определение фильтра; и генерирование отфильтрованного изображения путем применения фильтра в отношении группы пикселей.
[0010] В другом примере устройство кодирования видео включает в себя модуль фильтра, выполненный с возможностью определять первую метрику для группы пикселей в блоке пикселей, определять вторую метрику для группы пикселей, определять фильтр на основе первой метрики и второй метрики и генерировать отфильтрованное изображение путем применения фильтра в отношении группы пикселей; и запоминающее устройство, выполненное с возможностью хранить отфильтрованный результат модуля фильтра.
[0011] В другом примере аппарат включает в себя средство для определения первой метрики для группы пикселей в блоке пикселей средство для определения второй метрики для группы пикселей, средство для определения фильтра на основе первой метрики и второй метрики и средство для генерирования отфильтрованного изображения путем применения фильтра в отношении группы пикселей.
[0012] В другом примере машиночитаемый носитель данных хранит команды, которые при выполнении заставляют одни или более процессоров определять первую метрику для группы пикселей в блоке пикселей, определять вторую метрику для группы пикселей, определять фильтр на основе первой метрики и второй метрики и генерировать отфильтрованное изображение путем применения фильтра в отношении группы пикселей.
[0013] Детали одного или более примеров изложены ниже в прилагаемых чертежах и описании. Другие признаки, цели и преимущества будут понятны из описания и чертежей, а также из формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0014] Фиг. 1 представляет собой блок-схему, иллюстрирующую примерную систему кодирования и декодирования видео.
[0015] Фиг. 2А и фиг. 2В представляют собой концептуальные схемы, иллюстрирующие пример разделения квадродерева, применяемого в отношении самого большого элемента кодирования (LCU).
[0016] Фиг. 2C и фиг. 2D представляют собой концептуальные схемы, иллюстрирующие пример схемы фильтра для серии видеоблоков, соответствующей примерному разделению квадродерева с фиг. 2А и фиг. 2В.
[0017] Фиг. 3 представляет собой блок-схему, иллюстрирующую примерный видеокодер, совместимый с данным раскрытием.
[0018] Фиг. 4А представляет собой концептуальную схему, иллюстрирующую приведение в соответствие диапазонов для двух метрик и фильтров.
[0019] Фиг. 4В представляет собой концептуальную схему, иллюстрирующую приведение в соответствие диапазонов для метрики активности и метрики направления для фильтров.
[0020] Фиг. 5 представляет собой блок-схему, иллюстрирующую примерный видеодекодер в соответствии с данным раскрытием.
[0021] Фиг. 6А, фиг. 6В и фиг. 6С демонстрируют концептуальные схемы блока пикселей 4х4.
[0022] Фиг. 7 представляет собой блок-схему последовательности операций, иллюстрирующую методики кодирования в соответствии с данным раскрытием.
[0023] Фиг. 8А и фиг. 8В представляют собой блок-схемы последовательности операций, иллюстрирующие методики кодирования в соответствии с данным раскрытием.
[0024] Фиг. 9А и фиг. 9В представляют собой блок-схемы последовательности операций, иллюстрирующие методики кодирования в соответствии с данным раскрытием.
[0025] Фиг. 10 представляет собой блок-схему последовательности операций, иллюстрирующую методики кодирования в соответствии с данным раскрытием.
[0026] Фиг. 11 представляет собой блок-схему последовательности операций, иллюстрирующую методики кодирования в соответствии с данным раскрытием.
ПОДРОБНОЕ ОПИСАНИЕ
[0027] Данное раскрытие описывает методики, связанные с фильтрацией видеоданных в процессе кодирования и/или декодирования видео. В соответствии с этим раскрытием фильтрация осуществляется в кодере, и информация фильтрации кодируется в битовом потоке, чтобы позволить декодеру идентифицировать фильтрацию, которая выполнялась в кодере. Декодер принимает кодированные видеоданные, которые включают в себя информацию фильтрации, декодирует видеоданные и осуществляет фильтрацию на основе информации фильтрации. Таким образом, декодер осуществляет ту же фильтрацию, которая применялась в кодере. В соответствии с методиками данного раскрытия на покадровой основе, на основе вырезка за вырезкой или на основе LCU за LCU кодер может выбирать один или более наборов фильтров и на основе кодированный элемент за кодированным элементом кодер может определять, осуществлять ли фильтрацию. Для кодированных элементов (CU), которые подлежат фильтрации, кодер может осуществлять фильтрацию на попиксельной или погрупповой основе, где группа может, например быть блоком пикселей 2х2 или блоком пикселей 4х4.
[0028] В соответствии с методиками этого раскрытия видеоданные могут кодироваться в элементах, именуемых кодированными элементами (CU). CU могут разделяться на меньшие CU или подэлементы с использованием схемы разделения квадродерева. Синтаксис, идентифицирующий схему разделения квадродерева, для конкретного CU может передаваться от кодера к декодеру. Множественные вводы, связанные с каждым подэлементом заданного CU, могут фильтроваться во время процесса декодирования и реконструкции кодированных видеоданных. В соответствии с методиками этого раскрытия синтаксис описания фильтра может описывать набор фильтров, как то - сколько фильтров в наборе или какую форму принимают фильтры. Дополнительный синтаксис в битовом потоке, принимаемом декодером, может идентифицировать фильтры (то есть коэффициенты фильтров), используемые в кодере для конкретного подэлемента. Фильтр, используемый для конкретного ввода, может быть выбран на основе двух или более метрик, где некоторые комбинации значений для двух или более метрик индексируются для конкретных фильтров в пределах набора фильтров. В других примерах две или более метрик могут объединяться для формирования единственной метрики. Соответствие метрик фильтрам может также сигнализироваться в битовом потоке.
[0029] Различные типы фильтрации могут применяться в отношении пикселей или блоков пикселей на основе двух или более метрик, определенных для видеоданных. Фильтр, используемый для конкретного пикселя, может быть выбран на основе двух или более метрик, таких как некоторая комбинация метрики активности и метрики направления. Метрика активности, например, может определять количественно активность, связанную с одним или более блоками пикселей в видеоданных. Метрика активности может содержать метрику дисперсии, показывающую дисперсию пикселя в пределах набора пикселей. Метрика активности может быть как специфичной для направления, так и не специфичной для направления. Например, метрика активности, не специфичная для направления, может включать в себя значение Лапласиана с измененной суммой, как объясняется ниже более подробно.
[0030] Примеры метрик активности, специфичных для направления, включают в себя метрику горизонтальной активности, метрику вертикальной активности, метрику 45-градусной активности и метрику 135-градусной активности. Метрика направления может определять количественно для блока пикселей любую из горизонтальной активности, вертикальной активности или диагональной активности пикселя или группы пикселей или, метрика направления может включать в себя сравнение горизонтальной активности, вертикальной активности и/или диагональной активности, где горизонтальная активность в общем относится к изменениям пиксельных значений в горизонтальном направлении, вертикальная активность в общем относится к изменениям пиксельных значений в вертикальном направлении, а диагональная активность в общем относится к изменениям пиксельных значений в диагональном направлении.
[0031] В соответствии с методиками этого раскрытия при определении фильтра для блока пикселей поднабор пикселей в пределах блока может использоваться, чтобы уменьшить сложность кодирования и декодирования. Например, при определении фильтра для блока пикселей 4х4 может быть необязательно использовать все шестнадцать пикселей из блока 4х4. Кроме того, в соответствии с методиками этого раскрытия поднабор пикселей в пределах текущего кодируемого блока может быть выбран так, что метрики вычисляются с использованием только пиксельных значений текущего блока, но не пиксельных значений соседних блоков. К примеру, метрика для оцениваемого пикселя может вычисляться на основе сравнения пикселя с расположенными поблизости пикселями. В некоторых случаях один или более пикселей, расположенных поблизости от оцениваемого пикселя, могут быть в блоке, отличном от того, в котором оцениваемый пиксель. В других случаях, однако, один или более пикселей, расположенных поблизости от упомянутого пикселя, могут быть в том же блоке, что и упомянутый пиксель. В соответствии с методиками этого раскрытия поднабор пикселей может выбираться так, чтобы включать в себя пиксели, у которых нет расположенных поблизости пикселей в соседних блоках. Дополнительно или в качестве альтернативы поднабор пикселей может включать в себя пиксели, у которых есть расположенные поблизости пиксели в соседних блоках, но эти расположенные поблизости пиксели в соседних блоках могут не использоваться при определении метрики. Путем базирования определения конкретной метрики на пикселях в пределах текущего блока, но не на пикселях из соседних блоков, потребность в буферах в кодере и/или декодере может, в некоторых случаях, быть уменьшена или вовсе устранена.
[0032] В некоторых случаях, в соответствии с методиками этого раскрытия, поднабор пикселей из текущего кодируемого блока может быть выбран так, что метрики вычисляются с использованием только значений пикселей текущего блока и левых и правых соседних блоков, но не значений пикселей из верхних соседних блоков или нижних соседних блоков. В результате порядка растрового сканирования, используемого при кодировании видеоблоков, линейные буферы для верхних и нижних соседних блоков стремятся к сохранению гораздо большего количества пиксельных значений, нежели линейные буферы для хранения пиксельных значений левых и правых соседних блоков.
[0033] В соответствии с методиками этого раскрытия элемент фильтра, такой как адаптивный внутриконтурный фильтр, может быть сконфигурирован с возможностью использовать несколько фильтров, основываясь на мультиметрическом соответствии фильтров. Несколько фильтров могут использоваться вместе с единственным вводом или множественными вводами. Как будет описано более подробно ниже, множественные вводы, описанные в данном раскрытии, в общем относятся к промежуточным данным видеоблока или данным изображения, которые производятся во время процессов кодирования и декодирования. Множественные вводы, связанные с заданным видеоблоком, могут включать в себя, например, реконструированный блок или изображение (RI), предварительно деблокированный реконструированный блок или изображение (pRI), блок или изображение предсказания (PI) и/или квантованное изображение ошибки предсказания (EI). В схеме единичного ввода фильтр может применяться только в отношении одного из представленных выше вводов, такого как RI. Также, как будет более подробно объяснено ниже, методики фильтрации могут применяться в отношении CU различных размеров с использованием схемы разделения квадродерева. При использовании нескольких фильтров с мультиметрическим соответствием фильтров для CU, разделенного с применением схемы разделения квадродерева, производительность кодирования видео, как измерено посредством одним или обоими из коэффициента сжатия и качества восстановленного видео, может быть улучшено.
[0034] Для реализации методик мультиметрической фильтрации, описанных выше, кодер поддерживает определение соответствия комбинаций диапазонов и фильтров путем генерирования, обновления, сохранения и другими способами. В качестве одного примера комбинация первого диапазона для первой метрики и первого диапазона для второй метрики может приводиться в соответствие первому фильтру. Комбинация первого диапазона для первой метрики и второго диапазона для второй метрики может также приводиться в соответствие первому фильтру или же может приводиться в соответствие второму фильтру. Если первая метрика имеет восемь диапазонов и вторая метрика имеет четыре диапазона, например, тогда первая и вторая метрики могут иметь тридцать две комбинации диапазонов, и каждая из тридцати двух комбинаций может приводиться в соответствие фильтру. Каждая комбинация, однако, не обязательно приводится в соответствие единственному фильтру. Так, тридцать две комбинации могут приводиться в соответствие четырем фильтрам, восьми фильтрам, десяти фильтрам или некоторому другому количеству фильтров. С целью применить те же фильтры, что и кодер, декодер может также поддерживать те же соответствия комбинаций диапазонов фильтрам.
[0035] Раскрытие описывает методики для сигнализации от кодера к декодеру в кодированном битовом потоке соответствия комбинаций диапазонов фильтрам. Приведение в соответствие может, например, связывать каждую комбинацию диапазонов с идентификацией фильтра (ID). Один простой способ сигнализировать об этом соответствии - использовать одно кодовое слово для каждого ID фильтра и затем для каждой комбинации диапазонов отправить кодовое слово соответствующего ID фильтра. Эта методика, однако, обычно неэффективна. Методики по настоящему раскрытию могут использовать корреляции в пределах соответствия путем использования способов разностного кодирования. Комбинации диапазонов, которые совместно используют общий диапазон, иногда используют один и тот же фильтр. В качестве одного примера комбинация первого диапазона для первой метрики и первого диапазона для второй метрики и комбинация первого диапазона для первой метрики и второго диапазона для второй метрики совместно используют общий диапазон (первый диапазон первой метрики). Так, эти две комбинации могут в некоторых случаях соответствовать одному и тому же ID фильтра. Используя эту корреляцию, методики данного раскрытия могут уменьшать количество битов, необходимое для сигнализирования соответствия комбинаций диапазонов разным ID фильтров от кодера к декодеру.
[0036] В дополнение к сигнализации соответствия комбинаций диапазонов на множество ID фильтров это раскрытие также описывает методики для сигнализации в кодированном битовом потоке коэффициентов фильтра для фильтров. Методики настоящего раскрытия включают в себя использование способов разностного кодирования для сигнализации коэффициентов фильтра от кодера к декодеру. Таким образом, коэффициенты фильтра для второго фильтра могут быть сообщены декодеру как информация разности, где информация разности описывает, как модифицировать коэффициенты фильтра первого фильтра способом, который создает коэффициенты фильтра второго фильтра. Методики разностного кодирования могут быть более эффективными (то есть могут способствовать большему сохранению битов), когда коэффициенты фильтра первого и второго фильтра более сходны, по сравнению со случаем когда коэффициенты фильтра первого и второго фильтра менее сходны. Методики этого раскрытия включают в себя определение порядка последовательности, в котором необходимо сигнализировать коэффициенты фильтра для фильтра. Очередности, определенные с использованием методик, описанных в этом раскрытии, могут давать в результате улучшенное разностное кодирование коэффициентов фильтра и, таким образом, могут в некоторых случаях давать в результате экономию битов при сигнализации коэффициентов фильтра.
[0037] Хотя методики этого раскрытия иногда могут описываться в связи с внутриконтурной фильтрацией, они могут применяться к внутриконтурной фильтрации, постконтурной фильтрации и другим схемам фильтрации, таким как переключаемая фильтрация. Внутриконтурная фильтрация в общем относится к фильтрации, при которой отфильтрованные данные являются частью контуров кодирования и декодирования так, что отфильтрованные данные используются для внутреннего или внешнего кодирования с предсказанием. Постконтурная фильтрация относится к фильтрации, которая применяется в отношении реконструированных видеоданных после контура кодирования. При постконтурной фильтрации неотфильтрованные данные, в противоположность отфильтрованным данным, используются для внутреннего или внешнего кодирования с предсказанием. В некоторых вариантах осуществления тип фильтрации может переключаться между постконтурной фильтрацией и внутриконтурной фильтрацией на, к примеру, покадровой основе, основе вырезка за вырезкой или другой такой основе, и решение о том, использовать ли постконтурную фильтрацию или внутриконтурную фильтрацию, может сигнализироваться от кодера к декодеру для каждого кадра, вырезки и т.д. Методики этого раскрытия не ограничиваются внутриконтурной фильтрацией или постфильтрацией и могут задействовать широкий диапазон фильтрации, применяемой во время кодирования видео.
[0038] В этом раскрытии термин «кодирование» относится к кодированию или декодированию. Подобным образом, термин «кодер» в общем относится к любому видеокодеру, видеодекодеру или комбинированному кодеру/декодеру (кодеку). Соответственно, термин «кодер» используется здесь в отношении специального компьютерного устройства или аппарата, который осуществляет кодирование видео или декодирование видео.
[0039] Дополнительно в этом раскрытии термин «фильтр» в общем относится к набору коэффициентов фильтра. Например, фильтр 3х3 может определяться набором из 9 коэффициентов фильтра, фильтр 5х5 может определяться набором из 25 коэффициентов фильтра, фильтр 9х5 определяться набором из 45 коэффициентов фильтра и так далее. Термин «набор фильтров» в общем относится к набору из более чем одного фильтра. Например, набор из двух фильтров 3х3 может включать в себя первый набор из 9 коэффициентов фильтра и второй набор из 9 коэффициентов фильтра. В соответствии с методиками этого раскрытия, для серии видеоблоков, таких как кадр, вырезка или самый большой элемент кодирования (LCU), информация, идентифицирующая наборы фильтров, сигнализируется от кодера к декодеру в заголовке серии видеоблоков. Термин «форма», иногда называемый «поддержкой фильтра», в общем относится к количеству строк коэффициентов фильтра и количеству столбцов коэффициентов фильтра для конкретного фильтра. Например, 9х9 представляет собой пример первой формы, 9х5 - это пример второй формы, а 5х9 - пример третьей формы. В некоторых случаях фильтры могут принимать непрямоугольные формы, включая ромбические формы, ромбоподобные формы, круглые формы, подобные круглым формы, шестиугольные формы, восьмиугольные формы, крестообразные формы, Х-образные формы, Т-образные формы, другие геометрические формы или многочисленные другие формы или конфигурации.
[0040] Фиг. 1 представляет собой блок-схему, иллюстрирующую примерную систему 110 кодирования и декодирования видео, которая может реализовывать методики этого раскрытия. Как показано на фиг. 1, система 110 включает в себя устройство-источник 112, которое передает кодированные видеоданные к устройству-адресату 116 посредством канала 115 связи. Устройство-источник 112 и устройство-адресат 116 могут содержать любое из широкого диапазона устройств. В некоторых случаях устройство-источник 112 и устройство-адресат 116 могут содержать беспроводные портативные устройства связи, такие как так называемые сотовые или спутниковые радиотелефоны. Методики этого раскрытия, однако, которые в общем больше применяются к фильтрации видеоданных, не обязательно ограничиваются беспроводными приложениями и установками и могут применяться к небеспроводным устройствам, включающим в себя возможности кодирования и/или декодирования видео.
[0041] В примере с фиг. 1 устройство-источник 112 включает в себя видеоисточник 120, видеокодер 122, модулятор/демодулятор (модем) 123 и передатчик 124. Устройство-адресат 116 включает в себя приемник 126, модем 127, видеодекодер 128 и устройство 130 отображения. В соответствии с этим раскрытием видеокодер 122 устройства-источника 112 может быть выполнен с возможностью выбирать один или более наборов коэффициентов фильтра для множественных вводов в процессе фильтрации видеоблока и затем кодировать выбранный один или более наборов коэффициентов фильтра. Конкретные фильтры из одного или более наборов коэффициентов фильтра могут быть выбраны на основе одной или более метрик для одного или более вводов, и коэффициенты фильтра могут использоваться для фильтрации одного или более вводов. Методики фильтрации этого раскрытия в общем совместимы с любыми методиками кодирования или сигнализации коэффициентов фильтра в кодированном битовом потоке.
[0042] В соответствии с методиками этого раскрытия устройство, включающее в себя видеокодер 122, может сигнализировать устройству, включающему в себя видеодекодер 128, один или более наборов коэффициентов фильтра для серии видеоблоков, как то кадр или вырезка. Для серии видеоблоков видеокодер 122 может, например, сигнализировать один набор фильтров, подлежащих использованию со всеми вводами, или может сигнализировать несколько наборов фильтров, подлежащих использованию с множественными вводами (один набор на каждый ввод, например). Каждый видеоблок или CU в пределах серии видеоблоков затем может содержать дополнительный синтаксис, чтобы идентифицировать, какой фильтр или фильтры из набора фильтров подлежат использованию для каждого ввода этого видеоблока, или в соответствии с методиками этого раскрытия, то, какой фильтр или фильтры из набора фильтров подлежат использованию, может быть определено на основе двух или более метрик, связанных с одним или более вводами.
[0043] Точнее, видеокодер 122 устройства-источника 112 может выбирать один или более наборов фильтров для серии видеоблоков, применять фильтры из набора (наборов) к пикселям или группам пикселей из вводов, связанных с CU серии видеоблоков, во время процесса кодирования и затем кодировать наборы фильтров (то есть наборы коэффициентов фильтра) для связи с видеодекодером 128 устройства-адресата 116. Видеокодер 122 может определять одну или более метрик, связанных со вводами CU, кодированных с целью выбрать, какой фильтр (какие фильтры) из набора (наборов) фильтров использовать с пикселями или группами пикселей для того конкретного CU. Видеокодер 122 может также сигнализировать видеодекодеру 128, как часть кодированного битового потока, соответствие комбинаций диапазонов фильтрам в наборе фильтров.
[0044] На стороне декодера, видеодекодер 128 может определять коэффициенты фильтра на основе информации фильтра, принятой в синтаксисе битового потока. Видеодекодер 128 может декодировать коэффициенты фильтра на основе прямого декодирования или декодирования с предсказанием в зависимости от того, как были кодированы коэффициенты фильтра, что может быть сигнализировано как часть синтаксиса битового потока. Дополнительно битовый поток может включать в себя информацию синтаксиса описания фильтра, чтобы описать фильтры для набора фильтров. На основе синтаксиса описания фильтра декодер 128 может реконструировать коэффициенты фильтра, основываясь на дополнительной информации, принятой от кодера 122. Проиллюстрированная система 110 с фиг. 1 - только примерная. Методики фильтрации этого раскрытия могут реализовываться любыми устройствами кодирования или декодирования. Устройство-источник 112 и устройство-адресат 116 - это только примеры устройств кодирования, которые могут поддерживать подобные методики. Видеодекодер 128 также может определять соответствие комбинаций диапазонов фильтрам на основе информации фильтра, принятой в синтаксисе битового потока.
[0045] Видеокодер 122 устройства-источника 112 может кодировать видеоданные, принятые от видеоисточника 120, используя методики этого раскрытия. Видеоисточник 120 может содержать устройство захвата видео, такое как видеокамера, видеоархив, содержащий прежде захваченное видеоизображение, или видеосигнал поданный от провайдера видеоконтента. В качестве дополнительной альтернативы видеоисточник 120 может генерировать данные на основе компьютерной графики как исходное видео или в комбинации с «живым» видео, архивированным видео и сгенерированным компьютером видео. В некоторых случаях, если видеоисточник 120 является видеокамерой, устройство-источник 112 и устройство-адресат 116 могут формировать так называемые камерофоны или видеофоны. В каждом случае, захваченное, предварительно захваченное или сгенерированное компьютером видеоизображение может быть кодировано видеокодером 122.
[0046] Когда видеоданные кодированы видеокодером 122, информация кодированного видео затем может модулироваться модемом 123 в соответствии со стандартом связи, например, таким как множественный доступ с кодовым разделением каналов (CDMA), множественный доступ с частотным разделением каналов (FDMA), мультиплексирование с ортогональным частотным разделением каналов (OFDM), или любым другим стандартом или методикой связи и передаваться к устройству-адресату 116 посредством передатчика 124. Модем 123 может включать в себя различные блоки смешивания, фильтры, усилители и другие компоненты, созданные для модуляции сигнала. Передатчик 124 может включать в себя схемы, созданные для передачи данных, включая усилители, фильтры и одну или более антенн.
[0047] Приемник 126 устройства-адресата 116 принимает информацию по каналу 115, и модем 127 демодулирует эту информацию. Процесс декодирования видео, выполняемый видеодекодером 128, может включать в себя фильтрацию, например, как часть внутриконтурного декодирования или как этап постфильтрации, следующий за контуром декодирования. Так или иначе, набор фильтров, применяемый видеодекодером 128 для конкретной вырезки или кадра, может быть декодирован с использованием методик этого раскрытия. Информация декодированного фильтра может включать в себя идентификацию синтаксиса описания фильтра в кодированном битовом потоке. Если, например, кодирование с предсказанием используется для коэффициентов фильтра, сходства между различными коэффициентами фильтра могут использоваться, чтобы сократить количество информации, переносимой по каналу 115. В частности, фильтр (то есть набор коэффициентов фильтра) может подвергаться кодированию с предсказанием как значения разности относительно другого набора коэффициентов фильтра, связанного с другим фильтром. Другой фильтр может, например, быть связанным с другими вырезкой или кадром. В таком случае видеодекодер 128 может принимать кодированный битовый поток, содержащий видеоблоки и информацию фильтра, которая идентифицирует другой кадр или вырезка, с которым связан другой фильтр. Информация фильтра также включает в себя значения разности, которые определяют текущий фильтр относительно фильтра другого CU. В частности, значения разности могут содержать значения разности коэффициентов фильтра, которые определяют коэффициенты фильтра для текущего фильтра относительно коэффициентов фильтра другого фильтра, используемого для другого CU.
[0048] Видеодекодер 128 декодирует видеоблоки, генерирует коэффициенты фильтра и фильтрует декодированные видеоблоки на основе сгенерированных коэффициентов фильтра. Видеодекодер 128 может генерировать коэффициенты фильтра на основе синтаксиса описания фильтра, извлеченного из битового потока. Декодированные и отфильтрованные видеоблоки могут быть собраны в видеокадры, чтобы сформировать декодированные видеоданные. Устройство 128 отображения отображает декодированные видеоданные пользователю и может содержать любое из многообразия устройств отображения, таких как электронно-лучевая трубка (CRT), жидкокристаллический дисплей (LCD), плазменный дисплей, дисплей на органических светодиодах (OLED), или устройство отображения другого типа.
[0049] Канал 115 связи может содержать любое беспроводное или проводное средство связи, такое как радиочастотный (RF) спектр или одна или более физических линией передачи или любую комбинацию беспроводных и проводных средств. Канал 115 связи может формировать часть пакетной сети, такой как локальная сеть, глобальная сеть, такая как Интернет. Канал 115 связи в общем представляет собой любую подходящую среду связи или совокупность