Способ и устройство для кодирования видеоданных и способ и устройство для декодирования видеоданных

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

 

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Можно использовать 4-отводный фильтр для первого полученного разбиением элемента предсказания при вертикальной интерполяции и 6-отводный фильтр для второго полученного разбиением элемента предсказания при вертикальной интерполяции, если предсказываемый элемент 64×64 асимметрично разбит в вертикальном направлении на элементы предсказания 2N×nU или 2N×nD, где N представляет собой натуральное число, элемент предсказания 2N×nU представляет собой форму разбиения с верхним блоком меньшей площади, а элемент предсказания 2N×nD представляет собой форму разбиения с нижним блоком меньшей площади, а также можно использовать 4-отводный фильтр для первого полученного разбиением элемента предсказания при горизонтальной интерполяции и 6-отводный фильтр для второго полученного разбиением элемента предсказания при горизонтальной интерполяции, если предсказываемый элемент 64×64 асимметрично разбита в горизонтальном направлении на элементы предсказания nL×2N или nR×2N, где N представляет собой натуральное число, элемент предсказания nL×2N представляет собой форму разбиения с левым блоком меньшей площади, а элемент предсказания nR×2N представляет собой форму разбиения с правым блоком меньшей площади.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

На фиг. 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×8, 16×16, 32×32 и 64×64. CU максимального размера называют наибольшим элементом кодирования (LCU, largest coding unit), a CU минимального размера называют наименьшим элементом кодирования (SCU, smallest coding unit).

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

Как правило, внутрикадровое предсказание осуществляется по блокам 2N*2N или N*N. Здесь N представляет собой натуральное число, обозначающее количество пикселей, a 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 представляет собой натуральное число, обозначающее количество пикселей, a 2N*2N, 2N*N, N*2N или N*N может обозначать размер PU (и/или режим разбиения). Кроме того, для повышения эффективности межкадрового предсказания последнее, помимо размеров PU 2N*2N, 2N*N, N*2N или N*N, можно осуществлять в элементах PU размером 2N×nU, 2N×nD, nL×N или nR×2N. Здесь 2N×nU, 2N×nD, nL×2N или nR×2N могут обозначать размер PU (и/или режим разбиения). В режимах разбиения 2N×nU и 2N×nD PU может иметь размер 2N×(1/2)N или 2N×(3/2)N, тогда как в режимах разбиения nL×2N и nR×2N PU может иметь размер (1/2)N×2N или (3/2)N×2N.

В режиме межкадрового предсказания модуль 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).

Модуль 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×4 (т.е. указан текущий блок 310), то при интерполяции для предсказания значений пикселей текущего блока 310 должным образом используются восемь значений пикселей в направлении вправо и в направлении влево (т.е. в горизонтальном направлении) по отношению к блоку 4×4, или в направлении вверх и в направлении вниз (т.е. в вертикальном направлении) по отношению к блоку 4×4. Несмотря на то, что на фиг. 3 показано использование только 8-отводного фильтра, настоящее изобретение этим не ограничивается.

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

[Формула 1]

a0,0=(-A-3,0+4*A-2,0-10*A-1,0+57*A0,0+19*A1,0-7*А2,0+3*А3,0-A4,0)>>shift1

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

[Формула 2]

b0,0=(-A-3,0+4*A-2,0-11*A-1,0+40*A0,0+40*A1,0-11*A2,0+4*A3,0-A4,0)>>shift1

c0,0=(-A-3,0+3*A-2,0-7*A-1,0+19*A0,0+57*A1,0-10*A2,0+4*A3,0-A4,0)>>shift1

d0,0=(-A0,-3+4*A0,-2-10*A0,-1+57*A0,0+19*A0,1-7*A0,2+3*A0,3-A0,4)>>shift1

h0,0=(-A0,-3+4*A0,-2-11*A0,-1+40*A0,0+40*A0,1-11*A0,2+4*A0,3-A0,4)>>shift1

n0,0=(-A0,-3+3*A0,-2-7*A0,-1+19*A0,0+57*A0,1-10*A0,2+4*A0,3-A0,4)>>shift1

e0,0=(-a0,-3+4*a0,-2-10*a0,-1+57*a0,0+19*a0,1-7*a0,2+3*a0,3-a0,4)>>shift2

f0,0=(-a0,-3+4*a0,-2-11*a0,-1+40*a0,0+40*a0,1-11*a0,2+4*a0,3-a0,4)>>shift2

g0,0=(-a0,-3+3*a0,-2-7*a0,-1+19*a0,0+57*a0,1-10*a0,2+4*a0,3-a0,4)>>shift2

i0,0=(-b0,-3+4*b0,-2-10*b0,-1+57*b0,0+19*b0,1-7*b0,2+3*b0,3-b0,4)>>shift2

j0,0=(-b0,-3+4*b0,-2-11*b0,-1+40*b0,0+40*b0,1-11*b0,2+4*b0,3-b0,4)>>shift2

k0,0=(-b0,-3+3*b0,-2-7*b0,-1+19*b0,0+57*b0,1-10*b0,2+4*b0,3-b0,4)>>shift2

p0,0=(-с0,-3+4*c0,-2-10*c0,-1+57*c0,0+19*c0,1-7*c0,2+3*c0,3-c0,4)>>shift2

q0,0=(-c0,-3+4*c0,-2-11*c0,-1+40*c0,0+40*c0,l-11*c0,2+4*c0,3-c0,4)>>shift2

r0,0=(-c0,-3+3*c0,-2-7*c0,-1+19*c0,0+57*c0,1-10*c0,2+4*c0,3-c0,4)>>shift2

Здесь shift2=8. Как следует из формулы 2, значения пикселя для трех верхних пикселей и трех левых пикселей, отличных от верхнего левого пикселя текущего блока 310, можно предсказать путем горизонтальной или вертикальной интерполяции, используя значения пикселя для верхних левых пикселей соседних по горизонтали или вертикали блоков 4×4, а значения пикселя для остальных пикселей можно предсказать путем вертикальной или горизонтальной интерполяции с использованием значений пикселя для верхних пикселей семи соседних по горизонтали или вертикали блоков 4×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, 2N×nU, 2N×nD, nL×2N или nR×2N. 8-отводный фильтр может использоваться для интерполяции асимметрично разбитого PU, например, PU размера 2N*2N, 2N*N, N*2N и N*N.

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

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

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

Несмотря на то, что примеры вариантов осуществления, иллюстрируемые фиг. 4 и фиг. 5, описаны для блока 64×64, данные примеры осуществления могут также быть применены к блокам различных размеров или форм, отличным от блока 64×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×nU асимметрично разбит в вертикальном направлении, причем верхний блок 710 представляет полученный разбиением блок меньшей длины. Верхний блок 710, входящий в блок 2N×nU, имеет меньшую длину в вертикальном направлении в сравнении с нижним блоком 720, при этом отношение между длинами верхнего блока 710 и нижнего блока 720 может составлять 16:48. В этом случае для нижнего блока 720 большей площади может применяться фильтр с отводами большей длины, чем для верхнего блока 710 меньшей площади. Кроме того, общая длина фильтра с отводами в направлении асимметрии, то есть, общая длина вертикального фильтра с отводами верхнего блока 710 и вертикального фильтра с отводами нижнего блока 720 может быть больше длины горизонтального фильтра с отводами для верхнего блока 710 и нижнего блока 720.

Например, можно использовать 4-отводный фильтр для верхнего блока 710 при интерполяции для вертикального направления и 6-отводный фильтр для нижнего блока 720 при интерполяции для вертикального направления. Таким образом, общая длина фильтра с отводами для 4-отводного фильтра и 6-отводного фильтра составляет 10, что превышает длину горизонтального фильтра с отводами, равную 8.

Как видно из правой части фиг. 7, такой же принцип можно использовать для блока 2N×nD, в этом случае можно использовать 6-отводный фильтр для верхнего блока 730 при интерполяции для вертикального направления и 4-отводный фильтр для нижнего блока 740 при интерполяции для вертикального направления.

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

Как видно из левой части фиг. 8, блок nL×2N асимметрично разбит в горизонтальном направлении, причем левый блок 810 представляет собой полученный разбиением блок меньшей длины. Левый блок 810, входящий в блок nL×2N, имеет меньшую длину в горизонтальном направлении в сравнении с правым блоком 820, при этом отношение между длинами левого блока 810 и правого блока 820 может составлять 16:48. В этом случае для правого блока 820 большей площади может применяться фильтр с отводами большей длины, чем для левого блока 810 меньшей площади. Кроме того, общая длина фильтра с отводами в направлении асимметрии, то есть, общая длина горизонтального фильтра с отводами для левого блока 810 и горизонтального фильтра с отводами для правого блока 820, может быть больше длины вертикального фильтра с отводами для левого блока 810 и правого блока 820.

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

Как видно из правой части фиг. 8, такой же принцип можно использовать для блока nR×2N, в этом случае можно использовать 6-отводный фильтр для левого блока 830 при интерполяции для горизонтального направления и 4-отводный фильтр для правого блока 840 при интерполяции для горизонтального направления.

В таблице 1 указаны количества отводов вертикального и горизонтального интерполяционных фильтров с отводами для асимметричных блоков.

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

Как видно из фиг. 9, устройство для кодирования может определить предсказанное значение движения для текущего межкадрового PU (S910). Информация о движении для текущего PU не передается как таковая, вместо этого передается разностное значение относительно предсказанного значения, полученное по соседним во времени и пространстве блокам, что позволяет повысить эффективность сжатия. Устройство для кодирования может определять список кандидатов на слияние и список кандидатов улучшенного предсказания вектора движения (AMVP, advanced motion vector prediction) для текущего межкадрового PU, таким образом определяя предсказанное значение движения.

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

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

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

Как видно из фиг. 9, устройство для кодирования может преобразовывать разностный сигнал, то есть разностный блок (S950). Устройство для кодирования может выполнять транскодирование разностного сигнала, используя ядро преобразования, при этом ядро преобразования может иметь размер 2×2, 4×4, 8×8, 16×16, 32×32 или 64x64. В одном из примеров осуществления можно вычислить коэффициент преобразования C для блока n×n согласно следующей формуле.

[Формула 3]

C(n,n)=T(n,n)×B(n,n)×T(n,n)T

Здесь C(n,n) представляет собой матрицу коэффициентов преобразования размером n×n, T(n,n) представляет собой матрицу ядра преобразования размером n×n, а B(n,n) представляет собой матрицу для разностного блока размером n×n.

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

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

На фиг. 9 показано, что устройство для кодирования может сканировать коэффициент преобразования (S960).

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

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

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

Как видно из фиг. 10, устройство для декодирования может осуществлять энтропийное декодирование битового потока, принятого из устройства для кодирования (S1010). Например, устройство для декодирования может определять режим предсказания и разностный сигнал текущего блока на основе таблицы кодирования переменной длины (VLC, variable length coding) и/или САВАС. Устройство для декодирования может получать информацию о том, является ли принятый сигнал, соответствующий текущему блоку, разностным сигналом или коэффициентом преобразования. Также устройство для декодирования может получать разностный сигнал или одномерный (1D) вектор коэффициентов преобразования для текущего блока. Если принятый битовый поток содержит дополнительную информацию, необходимую для декодирования, то и битовый поток, и дополнительную информацию могут пройти энтропийное декодирование.

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

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

[Формула 4]

B(n,n)=T(n,n)C(n,n)T(n,n)T

После формирования разностного блока устройство для декодирования может выполнить межкадровое предсказание на основе разностного блока (S1050). Устройство для декодирования выполняет межкадровое предсказание, используя либо режим слияния, либо режим AMVP для получения информации о движении.

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

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

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

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

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

1. Способ декодирования видеосигнала, включающий:

выбор опорного изображения для блока предсказания с использованием опорного индекса блока предсказания;

определение опорного блока в опорном изображении с использованием вектора движения блока предсказания;

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

получение образцов предсказания блока предсказания путем использования интерполированного опорного блока,

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

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

2. Способ по п. 1, отличающийся тем, что дополнительно включает:

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

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

3. Способ по п. 2, отличающийся тем, что множество кандидатов на слияние включает соседний в пространстве блок относительно блока предсказания и соседний во времени блок относительно блока предсказания.

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

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



 

Похожие патенты:

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

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

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

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

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

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

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

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

Изобретение относится к области кодирования/декодирования изображений. Технический результат – обеспечение повышения эффективности кодирования.

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

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

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

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