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

Иллюстрации

Показать все

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