Способ и устройство для определения способа сканирования на основании режима деления блока предсказания
Иллюстрации
Показать всеИзобретение относится к области декодирования видеоданных. Технический результат - эффективное декодирование видеоданных. Способ декодирования видеосигнала, включающий: получение пространственного вектора-кандидата перемещения по соседнему в пространстве блоку относительно текущего блока; получение временного вектора-кандидата перемещения по связанному блоку относительно текущего блока, при этом связанный блок включен в связанное изображение, выбираемое на основании опорного индекса, извлекаемого из видеосигнала; генерирование списка векторов-кандидатов перемещения, содержащего пространственный вектор-кандидат перемещения и временной вектор-кандидат перемещения; определение предсказателя вектора перемещения на основании списка векторов-кандидатов перемещения и индекса кандидата текущего блока, при этом индекс кандидата указывает один из векторов-кандидатов перемещения, содержащихся в списке векторов-кандидатов перемещения; определение вектора перемещения текущего блока с использованием предсказателя вектора перемещения и разности векторов перемещения; и получение образцов предсказания текущего блока с использованием вектора перемещения. 5 з.п. ф-лы, 8 ил., 1 табл.
Реферат
Область техники, к которой относится изобретение
Настоящее изобретение относится к кодированию и декодированию видеоданных, более конкретно, к способу и устройству для определения способа сканирования на основании режиме деления блока предсказания и его информации кодирования/декодирования.
Уровень техники
В последнее время в различных отраслях растет потребность в использовании видеоданных с большим разрешением и высоким качеством, таких как видеоданные высокого качества (HD; high-definition) и сверхвысокого качества (UHD; ultrahigh-definition). По мере повышения разрешения и качества видеоданных возрастает и объем данных по отношению к существующим в настоящее время обычным видеоданным. Соответственно, при передаче видеоданных с использованием, например, существующих в настоящее время проводных и беспроводных широкополосных линий связи или хранении видеоданных на существующих в настоящее время носителях информации возрастают затраты на передачу и хранение видеоданных. Для решения этих проблем, возникающих при увеличении разрешения и качества видеоданных, могут быть использованы высокоэффективные способы сжатия видеоданных.
Способ сжатия видеоданных содержит различные способы, такие как способ межкадрового предсказания для предсказания значений пикселей, содержащихся в текущем изображении, на основании предыдущих или последующих изображений относительно текущего изображения, способ внутрикадрового предсказания для предсказаний значений пикселей в текущем изображении с использованием информации о пикселе в текущем изображении и способ энтропийного кодирования путем присваивания короткого кода значению с высокой частотой появления и присваивания длинного кода значению с низкой частотой появления. Видеоданные могут быть эффективно сжаты и переданы или сохранены с использованием таких способов сжатия видеоданных.
Раскрытие изобретения
Целью аспекта настоящего изобретения является предложение способа определения способа сканирования на основании режима деления блока предсказания для повышения эффективности кодирования/декодирования видеоданных и кодирования/декодирования способа сканирования.
Целью еще одного аспекта настоящего изобретения является предложение устройства для определения способа сканирования на основании режима деления блока предсказания для повышения эффективности кодирования/декодирования видеоданных и кодирования/декодирования способа сканирования.
В варианте осуществления настоящего изобретения предлагается способ кодирования видеоданных. Способ включает определение способа сканирования на основании режима деления блока предсказания и кодирование информации о способе сканирования; причем способ сканирования определяют на основании оптимизации соотношения между скоростью и искажениями (rate-distortion optimization, RDO) среди возможных способов сканирования, определяемых с учетом формы деления режима деления.
При определении способа сканирования в качестве возможных способов сканирования могут определяться горизонтальное сканирование и сканирование зигзагом, если режим деления имеет вертикально ориентированную форму деления, и в качестве возможных способов сканирования могут определяться вертикальное сканирование и сканирование зигзагом, если режим деления имеет горизонтально ориентированную форму деления.
Режим деления может включать режим N×2N, режим 2N×N, режим 2N×2N, режим N×N, режим 2N×nU, режим 2N×nD, режим nL×2N и режим nR×2N на основании размера блока предсказания, для которого выполняют межкадровое предсказание.
Режим деления, имеющий вертикально ориентированную форму деления, может включать режим N×2N, режим nL×2N и режим nR×2N; причем режим деления, имеющий вертикально ориентированную форму деления, является режимом 1/2N×2N левого деления с делением меньшего размера для режима nL×2N, и режим деления, имеющий вертикально ориентированную форму деления, является режимом 1/2N×2N правого деления с делением меньшего размера для режима nR×2N.
Режим деления, имеющий горизонтально ориентированную форму деления, может включать режим 2N×N, режим 2N×nU и режим 2N×nD; причем режим деления, имеющий горизонтально ориентированную форму деления, является режимом 2N×1/2N верхнего деления с делением меньшего размера для режима 2N×nU, и режим деления, имеющий горизонтально ориентированную форму деления, является режимом 2N×1/2N нижнего деления с делением меньшего размера для режима 2N×nD.
При определении способа сканирования могут определять сканирование зигзагом в качестве способа сканирования, если режим деления является режимом 2N×2N, режимом N×N, режимом 3/2N×2N правого деления с делением большего размера в режиме nL×2N, режимом 3/2N×2N левого деления с делением большего размера в режиме nR×2N, режимом 2N×3/2N нижнего деления с делением большего размера в режиме nR×2N или режимом 2N×3/2N верхнего деления с делением большего размера в режиме 2N×nD.
Информацию о способе сканирования могут указывать с использованием флага, и флаг может указывать, используется ли сканирование зигзагом.
В еще одном варианте осуществления настоящего изобретения предлагается способ кодирования видеоданных. Способ включает определение способа сканирования на основании режима деления блока предсказания, для которого выполняют внутрикадровое предсказание на малых расстояниях (short distance intra prediction, SDIP), и кодирование информации о способе сканирования, причем способ сканирования определяют на основании RDO среди возможных способов сканирования, определяемых с учетом формы деления режима деления.
При определении способа сканирования могут определять в качестве возможных способов сканирования горизонтальное сканирование и сканирование зигзагом, если режим деления имеет вертикально ориентированную форму деления и определять в качестве возможных способов сканирования вертикальное сканирование и сканирование зигзагом, если режим деления имеет горизонтально ориентированную форму деления.
Режим деления может включать режим 1/2N×2N, режим 2N×1/2N, режим N×N и режим 2N×2N на основании размера блока предсказания, для которого выполняют SDIP.
Режим деления, имеющий вертикально ориентированную форму деления, может включать режим 1/2N×2N, а режим деления, имеющий горизонтально ориентированную форму деления, может включать режим 2N×1/2N.
При определении способа сканирования могут определять сканирование зигзагом в качестве способа сканирования, если режим деления является режимом N×N или режимом 2N×2N.
Информация о способе сканирования может быть указана с использованием флага, и флаг может указывать, используется ли сканирование зигзагом.
В еще одном варианте осуществления настоящего изобретения предлагается способ кодирования видеоданных. Способ включает определение способа сканирования на основании режима деления блока предсказания; и обратное сканирование коэффициента преобразования в соответствии со способом сканирования; причем способ сканирования определяют на основании режима деления с использованием информации, переданной устройством кодирования, при этом переданная информация является флагом, указывающим, используется ли сканирование зигзагом.
При определении способа сканирования могут декодировать флаг, указывающий, используется ли сканирование зигзагом, и определять способ сканирования на основании значения декодированного флага, если режим деления имеет вертикально ориентированную форму деления или горизонтально ориентированную форму деления, причем может быть выбрано или сканирование зигзагом, или горизонтальное сканирование на основании значения декодированного флага, если режим деления имеет вертикально ориентированную форму деления, и может быть выбрано или сканирование зигзагом, или вертикальное сканирование на основании значения декодированного флага, если режим деления имеет горизонтально ориентированную форму деления.
Режим деления может включать режим N×2N, режим 2N×N, режим 2N×2N, режим N×N, режим 2N×nU, режим 2N×nD, режим nL×2N и режим nR×2N на основании размера блока предсказания, для которого выполняют межкадровое предсказание.
Режим деления, имеющий вертикально ориентированную форму деления, включает режим N×2N, режим nL×2N и режим nR×2N; причем режим деления, имеющий вертикально ориентированную форму деления, является режимом 1/2N×2N левого деления с делением меньшего размера для режима nL×2N, и режим деления, имеющий вертикально ориентированную форму деления, является режимом 1/2N×2N правого деления с делением меньшего размера для режима nR×2N; а режим деления, имеющий горизонтально ориентированную форму деления, включает режим 2N×N, режим 2N×nU и режим 2N×nD; причем режим деления, имеющий горизонтально ориентированную форму деления, является режимом 2N×1/2N верхнего деления с делением меньшего размера для режима 2N×nU, и режим деления, имеющий горизонтально ориентированную форму деления, является режимом 2N×1/2N нижнего деления с делением меньшего размера для режима 2N×nD.
При определении способа сканирования могут определять сканирование зигзагом в качестве способа сканирования, если режим деления является режимом 2N×2N, режимом N×N, режимом 3/2N×2N правого деления с делением большего размера в режиме nL×2N, режимом 3/2N×2N левого деления с делением большего размера в режиме nR×2N, режимом 2N×3/2N нижнего деления с делением большего размера в режиме 2N×nU или режимом 2N×3/2N верхнего деления с делением большего размера в режиме 2N×nD.
Режим деления может включать режим 1/2N×2N, режим 2N×1/2N, режим N×N и режим 2N×2N на основании размера блока предсказания в SDIP, при этом режим деления, имеющий вертикально ориентированную форму деления, включает режим 1/2N×2N, а режим деления, имеющий горизонтально ориентированную форму деления, включает режим 2N×1/2N.
При определении способа сканирования могут определять сканирование зигзагом в качестве способа сканирования, если режим деления является режимом N×N или режимом 2N×2N.
Технический результат
В соответствии с настоящим изобретением способ сканирования для коэффициентов преобразования определяют с использованием режима деления блока предсказания, иными словами, выраженной анизотропией (направленностью) или конкретной текстурой блока предсказания, тем самым повышая эффективность кодирования и декодирования.
Краткое описание чертежей
На фиг. 1 показана функциональная схема устройства кодирования видеоданных в соответствии с примерным вариантом осуществления настоящего изобретения.
На фиг. 2 показана функциональная диаграмма устройства декодирования видеоданных в соответствии с примерным вариантом осуществления настоящего изобретения.
На фиг. 3 схематично показан способ сканирования коэффициентов в соответствии с настоящим изобретением.
На фиг. 4 показан способ определения и кодирования способа сканирования на основании режима деления блока предсказания в соответствии с примерным вариантом осуществления настоящего изобретения.
На фиг. 5 показан способ определения и кодирования способа сканирования в делении асимметричного перемещения (asymmetric motion partition, AMP) в соответствии с примерным вариантом осуществления настоящего изобретения.
На фиг. 6 показан способ определения и кодирования способа сканирования для внутрикадрового предсказания на малых расстояниях (short distance intra prediction, SDIP) в соответствии с примерным вариантом осуществления настоящего изобретения.
На фиг. 7 показана обобщенная схема операции кодирования видеоданных в соответствии с настоящим изобретением.
На фиг. 8 показана обобщенная схема операции декодирования видеоданных в соответствии с настоящим изобретением.
Осуществление изобретения
Настоящее изобретение может быть изменено или модифицировано различными способами и может быть проиллюстрировано со ссылкой на различные примеры вариантов осуществления, некоторые из которых будут описаны и показаны на чертежах. Однако эти варианты осуществления не предназначены для ограничения изобретения, но предполагают включение всех модификаций, аналогов и замен, соответствующих духу и объему охраны изобретения. Одинаковые обозначения позиций на чертежах относятся к одним и тем же элементам во всем документе.
Хотя могут быть использованы термины «первый», «второй» и т.д. для описания различных элементов, эти элементы не должны ограничиваться этими терминами. Эти термины использованы только для различения одного элемента от другого элемента. Например, первый элемент может быть назван вторым элементом, а второй элемент подобным образом может быть назван первым элементом без выхода за пределы сущности настоящего изобретения. Термин «и/или» включает все и любые комбинации множества соответствующих перечисленных элементов.
Следует понимать, что когда элемент описывают как «соединенный с» или «связанный с» другим элементом, такой элемент может быть напрямую соединен или связан с другим элементом или промежуточными элементами. С другой стороны, когда элемент описывают как «напрямую соединенный с» или «напрямую связанный с» другим элементом, промежуточные элементы отсутствуют.
Использованная в данном документе терминология используется только с целью описания частных вариантов осуществления и не предназначена для ограничения изобретения. Как использовано в данном документе, формы единственного числа предполагают также включение форм множественного числа кроме случаев, когда из контекста ясно следует обратное. Также ясно, что термины «содержит», «включает» и/или «имеет», использованные в данном описании, указывают на наличие указанных признаков, целых систем, шагов, операций, элементов и/или других компонентов, но не препятствуют наличию или добавлению одного или более других признаков, целых систем, шагов, операций, элементов, компонентов и/или их объединений.
В дальнейшем примерные варианты осуществления изобретения будут описаны детально со ссылкой на сопровождающие чертежи. Одинаковые ссылочные обозначения на чертежах относятся к аналогичным элементам во всем документе, и избыточные описания одинаковых элементов будут здесь опущены.
На фиг. 1 показана функциональная схема устройства кодирования видеоданных в соответствии с примерным вариантом осуществления настоящего изобретения.
Как показано на фиг. 1, устройство 100 кодирования видеоданных содержит модуль 110 деления изображения, модули 120 и 125 предсказания, модуль 130 преобразования, модуль 135 квантизации (квантования), модуль 160 переупорядочения, модуль 165 энтропийного кодирования, модуль 140 деквантизации, модуль 145 обратного преобразования, модуль 150 фильтрации и память (запоминающее устройство) 155.
Хотя с целью пояснения различных отличительных функций устройства кодирования видеоданных элементы на фиг. 1 показаны независимо, данная конфигурация не означает, что каждый элемент представляет собой отдельный аппаратный компонент или программный компонент. Иными словами, элементы показаны независимыми для удобства описания; тогда как для выполнения функций два или более элементов могут быть объединены в один элемент, или один элемент может быть разделен на несколько элементов. Варианты осуществления изобретения, в которых некоторые элементы объединены в один составной элемент и/или элемент разделен на несколько самостоятельных элементов, входят в объем охраны настоящего изобретения без выхода за пределы сущности настоящего изобретения.
Некоторые элементы не являются необходимыми для основных функций изобретения и могут быть необязательными компонентами лишь для улучшения характеристик. Изобретение может быть осуществлено включением только необходимых для варианта осуществления изобретения компонентов, за исключением компонентов, использованных лишь для улучшения характеристик. Структура, включающая в себя только необходимые компоненты, за исключением оптических компонентов, использованных лишь для улучшения характеристик, входит в объем охраны изобретения.
Модуль 110 деления изображения может разделять входное изображение на по меньшей мере один блок обработки (process unit). При этом блок обработки может быть блоком предсказания (prediction unit, PU), блоком преобразования (transform unit, TU) или блоком кодирования (coding unit, CU). Модуль 110 деления изображения может разделять одно изображение на множество комбинаций блоков CU, PU и TU и выбирать одну комбинацию CU, PU и TU на основании заранее заданного критерия (например, функции стоимости), тем самым кодируя изображение.
Например, одно изображение может быть разделено на несколько CU. Рекурсивная структура дерева, такая как структура дерева квадрантов, может быть использована для деления изображения на блоки CU. CU, для которого изображение или CU максимального размера может быть корнем, может быть разделен на подблоки кодирования с таким же количеством дочерних узлов, как и у разделяемых блоков CU. CU, который более не разделяют в соответствии с заранее заданным ограничением, является листовым (концевым) узлом. Иными словами, при условии, что CU может быть разделен только на квадранты, одиночный CU может быть разделен самое большее на четыре различных CU.
В вариантах осуществления изобретения CU может быть использован для ссылки не только на блок для кодирования, но также на блок для декодирования.
PU может быть разделен на по меньшей мере одну квадратную или прямоугольную форму с тем же размером, что у CU. Форма PU, выделенных из одного и того же CU, может отличаться друг от друга.
При генерировании PU для внутрикадрового предсказания на основании CU и при условии, что CU не является минимальным CU, CU могут подвергать внутрикадровому предсказанию без деления на несколько PU (N×N).
Модули 120 и 125 предсказания могут включать модуль 120 межкадрового предсказания для выполнения межкадрового предсказания и модуль 125 внутрикадрового предсказания для выполнения внутрикадрового предсказания. Модули 120 и 125 предсказания могут определять, какое из предсказаний, межкадровое или внутрикадровое, должно быть выполнено для PU, и могут определять характерную информацию (например, режим внутрикадрового предсказания, вектор перемещения и опорное изображение) определенного таким образом способа предсказания. При этом блок обработки, для которого выполняют предсказание, может быть отличным от блока обработки, для которого определены способ предсказания и характерная информация. Например, способ предсказания и режим предсказания могут быть определены для каждого PU, тогда как предсказание может быть выполнено для каждого TU. Разностное значение (разностный блок) между сгенерированным предсказанным блоком и оригинальным блоком может быть введено в модуль 130 преобразования. Кроме того, информация о режиме предсказания, информация о векторе перемещения и т.п., использованные для предсказания, могут быть закодированы вместе с разностным значением модулем 165 энтропийного кодирования и переданы в устройство декодирования. При использовании конкретного режима кодирования оригинальный блок может быть закодирован и передан в устройство декодирования без генерирования блока предсказания модулями 120 и 125 предсказания.
Модуль 120 межкадрового предсказания может предсказывать PU на основании информации о по меньшей мере одном изображении из числа изображения, предшествовавшего текущему изображению, и изображения, следующему за текущим изображением. Модуль 120 межкадрового предсказания может содержать модуль интерполяции опорного изображения, модуль предсказания перемещения и модуль компенсации перемещения.
Модуль интерполяции опорного изображения может получать информацию об опорном изображении из памяти 155 и генерировать информацию о пикселе менее, чем целый пиксел от опорного изображения. Для пикселов яркостного канала может быть использован 8-элементный интерполяционный фильтр с дискретным косинусным преобразованием (DCT) с переменным коэффициентом фильтра для генерирования информации о пикселе менее, чем целый пиксел в элементах 1/4 пиксела. В случае пикселов цветностного канала может быть использован 4-элементный интерполяционный фильтр с дискретным косинусным преобразованием (DCT) с переменным коэффициентом фильтра для генерирования информации о пикселе менее, чем целый пиксел в элементах 1/8 пиксела.
Модуль предсказания перемещения может выполнять предсказание перемещения (motion prediction) на основании опорного изображения, интерполированного модулем интерполяции опорного изображения. Для вычисления вектора перемещения могут быть использованы различные подходы, такие как алгоритм блочного сравнения на основе полного поиска (full search-based block matching algorithm, FBMA), алгоритм трехшагового поиска (three-step search, TSS) и новый алгоритм трехшагового поиска (new three-step search, NTS). Вектор перемещения имеет значение вектора перемещения в элементах 1/2 или 1/4 пиксела на основании интерполированного пиксела. Модуль предсказания перемещения может предсказывать текущий PU с использованием различных способов предсказания перемещения. В качестве способа предсказания перемещения могут быть использованы различные способы, такие как режим пропуска, режим слияния и улучшенное предсказание вектора перемещения (advanced motion vector prediction, AMVP) и т.д.
Модуль 125 внутрикадрового предсказания может генерировать PU на основании информации об опорном пикселе, соседнем с текущим блоком. Информация об опорном пикселе, соседнем с текущим блоком, является информацией о пикселе в текущем изображении. Если опорный пиксел является пикселом, для которого выполняется межкадровое предсказание, поскольку блок, который включает в себя опорный пиксел, соседний с текущим PU, является блоком, для которого выполняется межкадровое предсказание, информация об опорном пикселе, включенная в блок, для которого выполняется межкадровое предсказание, может быть замещена информацией об опорном пикселе в блоке, для которого выполняется внутрикадровое предсказание. Иными словами, если опорный пиксел недоступен, информация о недоступном пикселе может быть замещена информацией о по меньшей мере одном опорном пикселе из доступных опорных пикселов.
Режим предсказания для внутрикадрового предсказания включает режим направленного предсказания, в котором используется информация об опорном пикселе в соответствии с направлением предсказания и режим ненаправленного предсказания, в котором информацию о направлении не используют для выполнения предсказания. Режим для предсказания информации о яркостном канале и режим для предсказания информации о цветностном канале могут отличаться друг от друга. Кроме того, информацию о режиме внутрикадрового предсказания, использованную для получения информации о яркостном канале или информации о предсказанном сигнале яркостного канала можно использовать для предсказания информации о цветностном канале.
Если PU и TU имеют одинаковый размер при выполнении внутрикадрового предсказания, внутрикадровое предсказание для PU можно выполнить на основании левых пикселов, верхнего левого пиксела и верхних пикселов PU. С другой стороны, если PU и TU имеют различные размеры при выполнении внутрикадрового предсказания, внутрикадровое предсказание можно выполнить с использованием опорных пикселов на основании TU. Внутрикадровое предсказание с использованием деления N×N можно выполнить только для минимального CU.
В способе внутрикадрового предсказания предсказанный блок может быть сгенерирован в соответствии с режимом предсказания после применения фильтра адаптивного внутрикадрового сглаживания (adaptive intra smoothing, AIS). К опорным пикселам могут быть применены различные типы фильтров AIS. В способе внутрикадрового предсказания режим внутрикадрового предсказания текущего PU может быть предсказан по режиму внутрикадрового предсказания PU, соседнего с текущим PU. При предсказании режима предсказания для текущего PU с использованием информации о режиме, предсказанной по соседнему PU, когда текущий PU и соседний PU имеют одинаковый режим внутрикадрового предсказания, информация, указывающая на то, что текущий PU и соседний PU имеют одинаковый режим предсказания, может быть передана с использованием заранее заданной информации о флаге. Если текущий PU и соседний PU имеют различные режимы предсказания, информацию о режиме предсказания для текущего блока можно закодировать посредством энтропийного кодирования.
Может быть сгенерирован разностный блок, содержащий разностную информацию, представляющую собой разность между оригинальным блоком PU и предсказанным блоком PU, сгенерированного на основании PU, сгенерированного модулями 120 и 125 предсказания. Сгенерированный разностный блок можно передать в модуль 130 преобразования.
Модуль 130 преобразования может преобразовывать разностный блок с использованием способа преобразования, такого как дискретное косинусное преобразование (Discrete Cosine Transform, DCT) или дискретное синусное преобразование (Discrete Sine Transform, DST). Разностный блок содержит информацию о разности между PU, сгенерированном модулями 120 и 125 предсказания, и оригинальным блоком. Способ преобразования, подлежащий использованию для преобразования разностного блока, может быть выбран среди DCT и DST на основании информации о режиме внутрикадрового предсказания, примененного к PU, который использовался для генерирования разностного блока.
Модуль 135 квантизации (квантования) может квантовать значения, преобразованные в частотную область модулем 130 преобразования. Коэффициент квантования может меняться в соответствии с конкретным блоком или значимостью изображения. Значения, выгруженные из модуля 135 квантизации, могут передаваться в модуль 140 деквантизации и модуль 160 переупорядочения.
Модуль 160 переупорядочения может переупорядочивать коэффициенты в соответствии с квантованными разностными значениями.
Модуль 160 переупорядочения может менять двумерный (2D) блок коэффициентов на одномерный (1В) вектор коэффициентов путем сканирования коэффициентов. Например, модуль 125 переупорядочения может менять двумерный блок коэффициентов на одномерный вектор коэффициентов путем сканирования от коэффициентов постоянной составляющей (DC) до коэффициентов высокочастотной области с использованием сканирования зигзагом. Вместо сканирования зигзагом может быть использовано вертикальное сканирование для сканирования двумерного блока коэффициентов в вертикальном направлении и горизонтальное сканирование для сканирования двумерного блока коэффициентов в горизонтальном направлении в зависимости от размера TU и режима внутрикадрового предсказания. Иными словами, используемый способ сканирования может быть выбран на основании размера TU и режима внутрикадрового предсказания среди сканирования зигзагом, вертикального сканирования и горизонтального сканирования.
Модуль 165 энтропийного кодирования может выполнять энтропийное кодирование на основании значений, полученных модулем 160 переупорядочения. Для энтропийного кодирования могут быть использованы различные способы кодирования, такие как экспоненциальный код Голомба (exponential Golomb coding), контекстно-адаптивное кодирование переменной длины (context-adaptive variable length coding, CAVLC) или контекстно-адаптивное двоичное арифметическое кодирование (context-adaptive binary arithmetic coding, CABAC).
Модуль 165 энтропийного кодирования может кодировать разнообразную информацию, такую как информацию о разностных коэффициентах или информацию о типе блока для CU, информацию о режиме предсказания, информацию о блоке деления, информацию о PU, информацию о блоке передачи, информацию о векторе перемещения, информацию об опорном кадре, информацию о блоке интерполяции и информацию о фильтрации из модуля 160 переупорядочения и модулей 120 и 125 предсказания.
Модуль 165 энтропийного кодирования может осуществлять энтропийное кодирование коэффициентов CU, введенных из модуля 160 переупорядочения.
Модуль 140 деквантизации и модуль 145 обратного преобразования деквантуют значения, которые квантованы модулем 135 квантизации и выполняют обратное преобразование значений, преобразованных модулем 130 преобразования. Разностные значения, сгенерированные модулем 140 деквантизации и модулем 145 обратного преобразования, могут быть добавлены в предсказанный PU. Предсказанный PU может быть предсказан модулем предсказания вектора перемещения, модулем компенсации перемещения и модулем внутрикадрового предсказания модулей 120 и 125 предсказания. Реконструированный блок может быть сгенерирован путем добавления разностных значений к предсказанному PU (предсказанным значениям).
Модуль 150 фильтрации может содержать по меньшей мере один из числа фильтра подавления блочности, модуля смещения и адаптивного петлевого фильтра (adaptive loop filter, ALF).
Фильтр подавления блочности (deblocking filter) может удалять искажения блока, сгенерированные на границах между блоками в реконструированном изображении. Решение о применении фильтра подавления блочности к текущему блоку может быть принято на основании пикселов, содержащихся в нескольких строках или колонках блока. Если к блоку применяют фильтр подавления блочности, может быть применен сильный фильтр или слабый фильтр в зависимости от требуемой интенсивности фильтрации подавления блочности. При выполнении горизонтальной фильтрации и вертикальной фильтрации при использовании фильтра подавления блочности, горизонтальная фильтрация и вертикальная фильтрация могут быть выполнены параллельно.
Модуль смещения может применять смещение от оригинального изображения в единицах пиксела к изображению, для которого завершена операция подавления блочности. Область, к которой может быть применено смещение, может быть определена после деления пикселов изображения на заранее определенное количество областей. Смещение может быть применено к определенной таким образом области с учетом информации о границах каждого пиксела и способа применения смещения к определенной области.
ALF может выполнять фильтрацию на основании результата сравнения прошедшего фильтрацию реконструированного изображения и оригинального изображения. Пикселы, содержащиеся в изображении, могут быть разделены на заранее заданные группы, может быть определен фильтр, применяемый к каждой группе, и для каждой группы может быть выполнена дифференциальная фильтрация. Информация о том, следует ли применять ALF, может быть передана для каждого блока кодирования (CU), и размер и коэффициент применяемого ALF может различаться для каждого блока. ALF может быть нескольких типов, и количество коэффициентов, содержащихся в соответствующем фильтре, может различаться. Кроме того, фильтр ALF той же формы (фиксированной формы) может быть применен к блоку независимо от свойств блока.
Память (запоминающее устройство) 155 может хранить реконструированный блок или изображение, выданное модулем 150 фильтрации, и сохраненный реконструированный блок или изображение могут быть поданы в модули 120 и 125 предсказания при выполнении межкадрового предсказания.
На фиг. 2 показана функциональная схема устройства декодирования видеоданных в соответствии с примерным вариантом осуществления настоящего изобретения.
Как показано на фиг. 2, устройство 200 декодирования видеоданных может содержать модуль 210 энтропийного декодирования, модуль 215 переупорядочения, модуль 220 деквантизации (деквантования), модуль 225 обратного преобразования, модули 230 и 235 предсказания, модуль 240 фильтрации и память 245.
При поступлении битового потока видеоданных от устройства кодирования видеоданных входной битовый поток может быть декодирован в соответствии с операцией, обратной к операции кодирования видеоданных, выполняемой в устройстве кодирования видеоданных.
Модуль 210 энтропийного декодирования может выполнять энтропийное декодирование в соответствии с операцией, обратной к операции энтропийного кодирования модулем энтропийного кодирования устройства кодирования видеоданных. Например, для энтропийного кодирования могли быть использованы различные способы, такие как экспоненциальный код Голомба, CAVLC или САВАС в соответствии со способом, использованным устройством кодирования видеоданных.
Модуль 210 энтропийного декодирования может декодировать информацию, связанную с межкадровым предсказанием и внутрикадровым предсказанием, выполняемым устройством кодирования.
Модуль 215 переупорядочения может переупорядочивать битовый поток, прошедший энтропийное декодирование в модуле 210 энтропийного декодирования, на основании способа переупорядочения модуля кодирования. Модуль 215 переупорядочения может реконструировать и переупорядочивать коэффициенты в форме одномерного вектора в коэффициенты в двумерном блоке. Модуль 215 переупорядочения может получать информацию о сканировании коэффициентов, выполненном устройством кодирования, и может выполнять переупорядочение с использованием способа обратного сканирования коэффициентов на основании порядка сканирования, в котором сканирование выполнено устройством кодирования.
Модуль 220 деквантизации выполнен с возможностью выполнять деквантование на основании параметра квантования (квантизации), полученного из устройства кодирования, и переупорядоченных коэффициентов блока.
Модуль 225 обратного преобразования может выполнять обратное DCT и обратное DST результата квантования, выполненного устройством кодирования видеоданных, подвергнутого DCT и DST в модуле преобразования. Обратное преобразование можно выполнять на основании блока передачи, определенного устройством кодирования видеоданных. Модуль преобразования устройства кодирования видеоданных может выборочно выполнять DCT и DST в зависимости от множества элементов информации, таких как способ предсказания, размер текущего блока и направление предсказания и т.д., а модуль 225 обратного преобразования устройства декодирования видеоданных может выполнять обратное преобразование на основании информации о преобразовании, выполненном модулем преобразования устройства кодирования видеоданных.
Модули 230 и 235 предсказания могут генерировать блок предсказания (предсказанный блок) на основании информации о генерировании блока предсказания, полученной от модуля 210 энтропийного декодирования, и информации о декодированном ранее блоке или изображении, поступившей из памяти 245.
По аналогии с операцией устройства кодирования видеоданных, как описано выше, если PU и TU имеют одинаковый размер при выполнении внутрикадрового предсказания, внутрикадровое предсказание для PU выполняют на основании левых пикселов, верхнего левого пиксела и верхних пикселов PU. С другой стороны, если PU и TU имеют различные размеры при выполнении внутрикадрового предсказания, внутрикадровое предсказание можно выполнить с использованием опорных пикселов на основании TU. Внутрикадровое предсказание с использованием деления N×N можно использовать только для минимального CU.
Модули 230 и 235 предсказания могут содержать модуль определения PU, модуль межкадрового предсказания и модуль внутрикадрового предсказания. Модуль определения PU может принимать различную информацию, такую как информацию о PU, информацию о режиме предсказания способа внутрикадрового предсказания и информацию, относящуюся к предсказанию перемещения способа межкадрового предсказания и т.д. из модуля 210 энтропийного декодирования, и определять PU для текущего CU. Модуль определения PU может определять, выполнять ли межкадровое или внутрикадровое предсказание для PU. Модуль 230 межкадрового предсказания может выполнять межкадровое предсказание для текущего PU на основании информации о по меньшей мере одном изображении из числа предыдущего изображения и последующего изображения относительно текущего изображения, включающего текущий PU. Модуль 230 межкадрового предсказания может использовать информацию, необходимую для межкадрового предсказания для текущего PU, полученную от устройства кодирования видеоданных.
Для выполнения межкадрового предсказания на основании CU может быть определено, является ли способ предсказания перемещения для PU, содержащегося в CU, режимом пропуска, режимом слияния или режимом AMVP.
Модуль 235 внутрикадрового предсказания