Способ декодирования видеосигнала

Иллюстрации

Показать все

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

Реферат

Настоящая заявка выделена из заявки № 2014119544 на выдачу патента РФ на изобретение, поданной 02.11.2012, с испрашиванием приоритета по дате подачи первых заявок KR 10-2011-0116130 и KR 10-2012-0123519, поданных в патентное ведомство Кореи 08.11.2011 и 02.11.2012, соответственно.

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

Настоящее изобретение относится к обработке изображений, в частности к способу декодирования видеосигнала.

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

В последнее время возрастает потребность в видеоданных высокого качества, в том числе видеоданных высокого разрешения (HD) и сверхвысокого разрешения (UHD).

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

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

Раскрытие изобретения

Задачи изобретения

Одним из аспектов настоящего изобретения является предоставление способа декодирования видеосигнала, способного повысить эффективность декодирования видеосигнала.

Техническое решение

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

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

Множество кандидатов на слияние может включать соседний в пространстве блок относительно текущего блока и соседний во времени блок относительно текущего блока.

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

Технический результат

Согласно способу декодирования видеосигнала можно повысить эффективность декодирования видеосигнала.

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

На фиг. 1 приведена блок-схема устройства для кодирования видеоданных согласно примеру осуществления настоящего изобретения.

На фиг. 2 приведена блок-схема устройства для декодирования видеоданных согласно примеру осуществления настоящего изобретения.

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

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

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

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

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

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

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

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

Осуществление изобретения

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

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

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

Если в отношении элемента сказано, что он "соединен" или "связан" с другим элементом, то следует понимать это так, что данный элемент можно непосредственно соединить или связать с другим элементом или промежуточными элементами. Напротив, если в отношении элемента сказано, что он "непосредственно соединен" или "непосредственно связан" с другим элементом, то между ними не имеется никаких промежуточных элементов.

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

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

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

На фиг. 1 приведена блок-схема устройства для кодирования видеоданных согласно примеру осуществления настоящего изобретения. Показанное на фиг. 1 устройство для кодирования видеоданных может содержать модуль 110 разбиения изображения, модуль 120 межкадрового предсказания, модуль 125 внутрикадрового предсказания, модуль 130 преобразования, модуль 135 квантизации, модуль 140 деквантизации, модуль 145 обратного преобразования, модуль 150 фильтрации, память 155, модуль 160 переупорядочения и модуль 165 энтропийного кодирования.

Модуль 110 разбиения изображения может разделять входное изображение на один или более элементов кодирования. Элемент кодирования (CU, coding unit) представляет собой элемент для кодирования, выполняемого в устройстве для кодирования видеоданных, и может быть рекурсивно подразделен, при этом информация о глубине основывается на структуре дерева квадрантов. CU может иметь различные размеры, в том числе 8 x 8, 16 x 16, 32 x 32 и 64 x 64. CU максимального размера называют наибольшим элементом кодирования (LCU, largest coding unit), а CU минимального размера называют наименьшим элементом кодирования (SCU, smallest coding unit).

Модуль 110 разбиения изображения может выполнять разбиение CU для формирования элемента предсказания (PU, prediction unit) и элемента преобразования (TU, transform unit). PU может иметь размер, меньший или равный размеру CU, и необязательно должен быть квадратным блоком, а может быть и прямоугольным блоком.

Как правило, внутрикадровое предсказание осуществляется по блокам 2N*2N или N*N. Здесь N представляет собой натуральное число, обозначающее количество пикселей, а 2N*2N или N*N может обозначать размер PU (и/или режим разбиения). Однако при внутрикадровом предсказании на малых расстояниях (SDIP, short distance intra prediction) для повышения эффективности внутрикадрового предсказания можно использовать не только PU размером 2N*2N, но и еще более мелкие полученные разбиением PU размером hN*2N/2N*hN (где h=1/2). Использование размеров hN*2N или 2N*hN PU позволяет эффективно отражать направленность границы в блоке и соответственно уменьшать энергию сигнала ошибки предсказания для сокращения необходимого для кодирования числа битов, таким образом повышая эффективность кодирования.

Межкадровое предсказание можно осуществлять по блокам 2N*2N, 2N*N, N*2N или N*N. Здесь N представляет собой натуральное число, обозначающее количество пикселей, а 2N*2N, 2N*N, N*2N или N*N может обозначать размер PU (и/или режим разбиения). Кроме того, для повышения эффективности межкадрового предсказания последнее, помимо размеров PU 2N*2N, 2N*N, N*2N или N*N, можно осуществлять в элементах PU размером 2NxnU, 2NxnD, nLx2N или nRx2N. Здесь 2NxnU, 2NxnD, nLx2N или nRx2N могут обозначать размер PU (и/или режим разбиения). В режимах разбиения 2NxnU и 2NxnD PU может иметь размер 2Nx(1/2)N или 2Nx(3/2)N, тогда как в режимах разбиения nLx2N и nRx2N PU может иметь размер (1/2)Nx2N или (3/2)Nx2N.

В режиме межкадрового предсказания модуль 120 межкадрового предсказания может выполнять предсказание движения (ME, motion estimation) и компенсацию движения (MC, motion compensation). Модуль 120 межкадрового предсказания может формировать блок предсказания на основе информации о по меньшей мере одном изображении из числа предыдущего или последующего относительно текущего изображения.

Модуль 120 межкадрового предсказания может выполнять предсказание движения на основе подвергнутого разбиению целевого блока предсказания и по меньшей мере одного опорного блока, хранящегося в памяти 155. Модуль 120 межкадрового предсказания может формировать информацию о движении, включающую вектор движения (MV, motion vector), индекс опорного блока, режим предсказания и т.д. в качестве результата предсказания движения.

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

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

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

Модуль 130 преобразования может преобразовывать разностный блок по каждому TU для формирования коэффициента преобразования. TU может иметь древовидную структуру с размерами от максимального до минимального. С помощью флага можно указать, разделяется ли текущий блок на подблоки по каждому TU. Модуль 130 преобразования может выполнять преобразование с использованием дискретного косинусного преобразования (ДКП, DCT) или дискретного синусного преобразования (ДСП, DST).

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

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

Модуль 165 энтропийного кодирования может выполнять энтропийное кодирование значений, полученных в модуле 160 переупорядочения. При энтропийном кодировании более часто встречающимся значениям синтаксических элементов можно назначать кодовое слово с меньшим числом битов, а менее часто встречающимся значениям синтаксических элементов можно назначать кодовое слово с большим числом битов. Таким образом размер битовой строки для кодируемых символов можно сократить, повысив тем самым эффективность сжатия при кодировании видеоданных. Для энтропийного кодирования можно применять различные способы кодирования, например экспоненциальный код Голомба (exponential Golomb coding), контекстно-адаптивное кодирование переменной длины (context-adaptive variable length coding, CAVLC) или контекстно-адаптивное двоичное арифметическое кодирование (context-adaptive binary arithmetic coding, CABAC). Кодированную информацию можно организовать в виде сжатого битового потока и передавать через абстрактный уровень сети (NAL, network abstraction layer).

Mодуль 140 деквантизации может выполнять деквантизацию коэффициентов преобразования, прошедших квантизацию в модуле 135 квантизации, а модуль 145 обратного преобразования может осуществлять обратное преобразование деквантизированных коэффициентов преобразования для формирования воссозданного разностного блока. Воссозданный разностный блок можно добавить к блоку предсказания, сформированному в модуле 120 межкадрового предсказания или модуле 125 внутрикадрового предсказания, для формирования воссозданного блока. Воссозданный блок может быть подан в модуль 125 внутрикадрового предсказания и модуль 150 фильтрации.

Модуль 150 фильтрации может выполнять фильтрацию воссозданного разностного блока с помощью деблокирующего фильтра, адаптивного нелинейного фильтра SAO (sample adaptive offset) и/или адаптивного петлевого фильтра (ALF, adaptive loop filter). Кроме того, деблокирующий фильтр может осуществлять фильтрацию воссозданного блока для устранения искажений на границах между блоками, возникающих при кодировании и декодировании. SAO представляет собой процесс фильтрации с обратной связью, выполняемый в отношении блока, для которого был выполнен процесс деблокирующей фильтрации, с целью сокращения разницы с исходным изображением на пиксель. В качестве SAO можно использовать диапазонное смещение и краевое смещение. При диапазонном смещении пиксели разделяют на 32 диапазона согласно интенсивности, и применяют смещения к двум полученным делением группам из 16 диапазонов в краевой области и 16 диапазонов в центральной области. Фильтрация ALF позволяет минимизировать ошибку между целевым блоком предсказания и результирующим воссозданным блоком. ALF может выполнять фильтрацию на основе значения, полученного путем сравнения воссозданного блока, прошедшего фильтрацию с помощью деблокирующего фильтра, с текущим целевым блоком предсказания, при этом информацию о коэффициентах фильтрации ALF можно передавать из устройства для кодирования в устройство для декодирования в заголовке слайса (slice header).

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

На фиг. 2 приведена блок-схема устройства для декодирования видеоданных согласно примеру осуществления настоящего изобретения. Показанное на фиг. 2 устройство для декодирования видеоданных может содержать модуль 210 энтропийного декодирования, модуль 215 переупорядочения, модуль 220 деквантизации, модуль 225 обратного преобразования, модуль 230 межкадрового предсказания, модуль 235 внутрикадрового предсказания, модуль 240 фильтрации и память 245.

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

Полученный в результате энтропийного декодирования коэффициент преобразования или разностный сигнал можно подать в модуль 215 переупорядочения. Модуль 215 переупорядочения может выполнять обратное сканирование декодированного коэффициента преобразования или разностного сигнала для формирования двумерного (2D) блока коэффициентов преобразования.

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

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

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

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

Ниже под блоком может пониматься элемент кодирования и декодирования видеоданных. Таким образом, в настоящем описании под блоком может пониматься CU, PU или TU. Кроме того, под целевым блоком кодирования/декодирования может пониматься в совокупности также целевой блок преобразования/обратного преобразования, если выполняется преобразование/обратное преобразование, и целевой блок предсказания, если выполняется предсказание.

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

Как показано на фиг. 3, интерполяция осуществляется для каждой позиции в горизонтальном направлении или вертикальном направлении для предсказания значения пикселя (включая значения яркости и цветности). Как было раскрыто выше, применение 8-отводного интерполяционного фильтра означает, что если PU представляет собой заранее определенный блок 4 x 4 (т.е. указан текущий блок 310), то при интерполяции для предсказания значений пикселей текущего блока 310 должным образом используются восемь значений пикселей в направлении вправо и в направлении влево (т.е. в горизонтальном направлении) по отношению к блоку 4 x 4, или в направлении вверх и в направлении вниз (т.е. в вертикальном направлении) по отношению к блоку 4 x 4. Несмотря на то, что на фиг. 3 показано использование только 8-отводного фильтра, настоящее изобретение этим не ограничивается.

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

[Формула 1]

Здесь shift1=BitDepthY (битовая глубина компонента Y) – 8. Таким образом с помощью интерполяции можно предсказать значения пикселя для других пикселей текущего блока 310, что выражается приведенной ниже формулой.

[Формула 2]

Здесь shift2=8. Как следует из формулы 2, значения пикселя для трех верхних пикселей и трех левых пикселей, отличных от верхнего левого пикселя текущего блока 310, можно предсказать путем горизонтальной или вертикальной интерполяции, используя значения пикселя для верхних левых пикселей соседних по горизонтали или вертикали блоков 4 x 4, а значения пикселя для остальных пикселей можно предсказать путем вертикальной или горизонтальной интерполяции с использованием значений пикселя для верхних пикселей семи соседних по горизонтали или вертикали блоков 4 x 4. Используя формулу 1 или формулу 2, можно определить значения пикселей PU, предсказываемого в текущий момент, и сформировать сигнал предсказания, соответствующий этому PU.

Фиг. 4 схематически иллюстрирует применение интерполяционного фильтра с отводами при использовании асимметричного разбиения по движению (AMP, asymmetric motion partitioning) при асимметрии в вертикальном направлении в устройстве для кодирования видеоданных согласно примеру осуществления настоящего изобретения.

Согласно фиг. 4, если PU подвергается разбиению с AMP, и применяется фильтр с отводами большой длины, например 8-отводный фильтр, для более короткого направления асимметричного разделения, то пиксели другого разделения также участвуют в интерполяции. В этом случае пиксели имеют слабую корреляцию в случае, если они принадлежат к различным разделениям, и поэтому эффективность интерполяции может быть снижена Таким образом, если блок 412 и блок 414 интерполируются вместе, эффективность интерполяции снижается ввиду слабой корреляции между блоком 412 и блоком 414. Такой же результат будет получен для блока 422 и блока 424.

Согласно настоящему варианту осуществления, если PU подвергается разбиению с AMP, то для интерполяции в направлении асимметрии асимметрично разбитого PU меньшей длины применяется фильтр с отводами меньшей длины, чем традиционный фильтр с отводами. Например, для выполнения интерполяции асимметрично разбитого PU с меньшей длиной можно использовать фильтр с отводами меньшей длины, чем 8-отводный фильтр. В режиме межкадрового предсказания PU может иметь формат 2N*2N, 2N*N, N*2N, N*N, 2NxnU, 2NxnD, nLx2N или nRx2N. 8-отводный фильтр может использоваться для интерполяции асимметрично разбитого PU, например PU размера 2N*2N, 2N*N, N*2N и N*N.

Как видно из левой части фиг. 4, если разбиение PU осуществляется для формы блока 410 2N x nU, который делится асимметрично в вертикальном направлении, то верхний блок 412 представляет собой полученный разбиением блок меньшей длины. Блок 410 может включать верхний блок 412 и нижний блок 414, при этом отношение между длинами верхнего блока 412 и нижнего блока 414 в вертикальном направлении может составлять 16:48. Как видно из правой части фиг. 4, если разбиение PU осуществляется для формы блока 420 2N x nD, который делится асимметрично в вертикальном направлении, то нижний блок 424 представляет собой полученный разбиением блок меньшей длины. Блок 420 может включать верхний блок 422 и нижний блок 424, при этом отношение между длинами верхнего блока 422 и нижнего блока 424 в вертикальном направлении может составлять 48:16. При асимметричном разбиении в вертикальном направлении верхний блок 412, входящий в блок 410 2N x nU, и нижний блок 424, входящий в блок 420 размера 2N x nD, можно интерполировать с использованием меньшего числа отводов в вертикальном направлении в сравнении с горизонтальным направлением. Например, при использовании в горизонтальном направлении 8-отводного фильтра в вертикальном направлении можно использовать фильтр с отводами меньшей длины, чем 8-отводный фильтр.

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

Как видно из левой части фиг. 5, если разбиение PU осуществляется для формы блока 510 nL x 2N, который делится асимметрично в горизонтальном направлении, то левый блок 512 представляет собой полученный разбиением блок меньшей длины. Блок 510 может включать левый блок 512 и правый блок 514, причем длины левого блока 512 и правого блока 514 в вертикальном направлении могут быть одинаковыми, т.е. 64, а отношение между их длинами в горизонтальном направлении может составлять 16:48. Как видно из правой части фиг. 5, если разбиение PU осуществляется для формы блока 520 nR x 2N, который делится асимметрично в горизонтальном направлении, то правый блок 524 представляет собой полученный разбиением блок меньшей длины. Блок 520 может включать левый блок 522 и правый блок 524, при этом отношение между длинами левого блока 522 и правого блока 524 в горизонтальном направлении может составлять 48:16. При асимметричном разбиении в горизонтальном направлении левый блок 512, входящий в блок 510 nL x 2N, и правый блок 524, входящий в блок 520 nR x 2N, можно интерполировать с использованием фильтра с отводами меньшей длины в вертикальном направлении в сравнении с горизонтальным направлением. Например, в горизонтальном направлении можно использовать фильтр с отводами меньшей длины, чем 8-отводный фильтр.

Несмотря на то, что примеры вариантов осуществления, иллюстрируемые фиг. 4 и фиг. 5, описаны для блока 64 x 64, данные примеры осуществления могут также быть применены к блокам различных размеров или форм, отличным от блока 64 x 64.

На фиг. 6 показана диаграмма, схематически иллюстрирующая процесс выполнения межкадрового предсказания для асимметрично разбитого PU в устройстве для кодирования видеоданных согласно примеру осуществления настоящего изобретения. Согласно фиг. 6, процесс межкадрового предсказания может включать получение информации о разбиении (S610), определение длины в направлении асимметрии (S620), определение длины фильтра в отводах (S630) и выполнение интерполяции (S640).

Как показано на фиг. 6, на этапе получения информации о разбиении (S610) определяется информация о разбиении, относящаяся к асимметрично разбитому блоку. В процессе кодирования информацию о разбиении можно включить в информацию о движении по текущему PU посредством предсказания движения. Информация о движении может содержать информацию о векторе движения PU, индекс опорного изображения, индекс направления предсказания, режим предсказания и информацию о форме PU.

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

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

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

На этапе интерполяции (S640) устройство для кодирования (и/или устройство для декодирования) выполняет интерполяцию на основе длины фильтра с отводами, определенной на этапе определения длины фильтра (S630).

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

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

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

Как видно из левой части фиг. 7, блок 2N x nU асимметрично разбит в вертикальном направлении, причем верхний блок 710 представляет полученный разбиением блок меньшей длины. Верхний блок 710, входящий в блок 2N x nU, имеет меньшую длину в вертикальном направлении в сравнении с нижним блоком 720, при этом отношение между длинами верхнего блока 710 и нижнего блока 720 может составлять 16:48. В этом случае для нижнего блока 720 большей площади может применяться фильтр с отводами большей длины, чем для верхнего блока 710 меньшей площади. Кроме того, общая длина фильтра с отводами в направлении асимметрии, то есть общая длина вертикального фильтра с отводами верхнего блока 710 и вертикального фильтра с отводами нижнего блока 720 может быть больше длины горизонтального фильтра с отводами для верхнего блока 710 и нижнего блока 720.

Например, можно использовать 4-отводный фильтр для верхнего блока 710 при интерполяции для вертикального направления и 6-отводный фильтр для нижнего бло