СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ ВИДЕО
METHOD AND DEVICE FOR ENCODING AND DECODING VIDEO

Область техники, к которой относится изобретение
[1] Настоящее раскрытие относится к кодированию и декодированию видео, а конкретнее, к способу постепенного кодирования или декодирования всей области в изображении по множеству изображений, связанных с изображением.
Уровень техники
[2] Поскольку объем видеоданных больше, чем объем речевых данных или данных статического изображения, для хранения или передачи видеоданных без обработки для сжатия требуется много аппаратных ресурсов, включая запоминающее устройство. Соответственно, при хранении или передаче видеоданных видеоданные обычно сжимаются с использованием кодировщика для хранения или передачи. Затем декодер принимает сжатые видеоданные, распаковывает и воспроизводит видеоданные. Процедуры сжатия для такого видео включают H.264/AVC и высокоэффективное кодирование видео (HEVC), которое повышает эффективность кодирования по сравнению с H.264/AVC примерно на 40%.
[3] Однако размер, разрешение и частота кадров видео постепенно увеличиваются, и, соответственно, увеличивается также объем данных, которые необходимо кодировать. Следовательно, требуется новая процедура сжатия, имеющая лучшую эффективность кодирования и более высокое качество изображения, чем существующая процедура сжатия.
[4] Для сжатия видеоданных каждый из блоков изображения может кодироваться с предсказанием. Как правило, предсказание текущего блока выполняется с использованием процедуры интрапредсказания (с использованием данных из изображения, содержащего текущий блок) или процедуры интерпредсказания (с использованием данных из изображения, которое было закодировано до изображения, содержащего текущий блок). Интерпредсказание включает в себя как однонаправленное, так и двунаправленное предсказание.
[5] Первое изображение, включенное в битовый поток видео, или изображение с произвольным доступом, которое обеспечивает произвольный доступ в произвольной позиции, например изображение мгновенного обновления декодирования (IDR) или изображение чистого произвольного доступа (CRA), кодируется с использованием интрапредсказания. В общем, кодирование I- (внутреннего) изображения, в котором вся область изображения предсказывается с использованием интрапредсказания, требует большого количества битов по сравнению с Р- (предсказанным) или В- (с двунаправленным предсказанием) изображением, которое допускает интерпредсказание. Это может вызвать проблемы с контролем частоты и контролем буфера с точки зрения обслуживания. В частности, эта тенденция может возникать чаще, когда размер, разрешение и частота кадров видео постепенно увеличиваются.
Раскрытие сущности изобретения
[6] Настоящее раскрытие направлено на процедуру постепенного кодирования или декодирования всей области изображения по множеству изображений, связанных с указанным изображением.
[7] В соответствии с одним аспектом настоящего раскрытия, предлагается способ декодирования видео для декодирования последовательности изображений с использованием постепенного обновления. Способ включает в себя декодирование, из заголовка последовательности в битовом потоке, флага, указывающего, разрешено ли постепенное обновление; декодирование идентификационной информации для идентификации первого изображения, к которому применено постепенное обновление, в последовательности и определения значения счетчика порядка изображения (РОС) первого изображения; декодирование информации о размере группы для идентификации группы изображений, связанных с первым изображением, к которому применено постепенное обновление; определение значения РОС второго изображения, соответствующего последнему изображению, принадлежащему группе, на основе информации о размере группы; и определение группы изображений, связанных с первым изображением, используя значение РОС первого изображения и значение РОС второго изображения.
[8] В соответствии с другим аспектом настоящего раскрытия, предлагается устройство декодирования видео для декодирования последовательности изображений с использованием постепенного обновления. Устройство включает в себя один или более процессор, сконфигурированный для декодирования битового потока для восстановления изображений в последовательности; и одно или несколько элементов запоминающем устройстве, сконфигурированных для хранения восстановленных изображений. Один или более процессор сконфигурирован для декодирования, из заголовка последовательности в битовом потоке, флага, указывающего, разрешено ли постепенное обновление; декодирования идентификационной информации для идентификации первого изображения, к которому применено постепенное обновление, в последовательности и определения значения счетчика порядка изображения (РОС) первого изображения; декодирования информации о размере группы для идентификации группы изображений, связанных с первым изображением, к которому применено постепенное обновление; определения значения РОС второго изображения, соответствующего последнему изображению, принадлежащему группе, на основе информации о размере группы; и определения группы изображений, связанных с первым изображением, с использованием значения РОС первого изображения и значения РОС второго изображения.
Краткое описание чертежей
[9] Фиг. 1 - примерная блок-схема устройства кодирования видео, выполненного с возможностью реализации процедур настоящего раскрытия.
[10] Фиг. 2 - схема, иллюстрирующая разделение на блоки с использованием структуры QTBTTT.
[11] Фиг. 3 - схема, иллюстрирующая множество режимов интрапредсказания.
[12] Фиг. 4 - примерная блок-схема устройства декодирования видео, выполненного с возможностью реализации процедур настоящего раскрытия.
[13] Фиг. 5А-5В - примерные схемы, иллюстрирующие кодирование или декодирование видео согласно аспекту настоящего раскрытия
[14] Фиг. 6 - примерная диаграмма, иллюстрирующая способ генерации изображения путем комбинирования областей обновления, декодированных по изображениям, принадлежащим группе IR, согласно аспекту настоящего раскрытия.
[15] Фиг. 7А-7В - примерные схемы, иллюстрирующие способ хранения и управления изображениями, принадлежащими декодированной группе IR, в запоминающем устройстве согласно аспекту настоящего раскрытия.
[16] Фиг. 8А-8С - примерные схемы, иллюстрирующие другой способ хранения и управления изображениями, принадлежащими декодированной группе IR, в запоминающем устройстве согласно аспекту настоящего раскрытия.
[17] Фиг. 9 - примерная диаграмма, иллюстрирующая другой способ генерации изображения путем комбинирования областей обновления, декодированных по изображениям, принадлежащим группе IR, согласно аспекту настоящего раскрытия.
[18] Фиг. 10 - блок-схема, иллюстрирующая способ идентификации группы IR в последовательности изображений для декодирования видео с использованием постепенного обновления, согласно аспекту настоящего раскрытия.
[19] Фиг. 11 - примерная диаграмма, иллюстрирующая способ пост-обработки декодированных изображений в группе IR согласно аспекту настоящего раскрытия.
[20] Фиг. 12А-12В - примерные схемы, иллюстрирующие другой способ постобработки декодированных изображений в группе IR согласно аспекту настоящего раскрытия.
[21] Фиг. 13 - примерная блок-схема устройства управления запоминающим устройством для управления запоминающим устройством на основе мозаичных элементов или на основе группы мозаичных элементов согласно аспекту настоящего раскрытия.
[22] Фиг. 14А-14В - примерные схемы, иллюстрирующие способ управления запоминающим устройством в единицах мозаичных элементов или групп мозаичных элементов с помощью устройства управления запоминающим устройством согласно аспекту настоящего раскрытия.
[23] Фиг. 15А-15В - примерные схемы, иллюстрирующие масштабируемость, поддерживаемую способом управления запоминающим устройством, согласно аспекту настоящего раскрытия.
Осуществление изобретения
[24] Далее вариант осуществления настоящего раскрытия будет подробно описан со ссылкой на приложенные чертежи. Следует отметить, что при присвоении ссылочных позиций составляющим элементам на соответствующих чертежах одинаковые ссылочные позиции использованы для обозначения одинаковых элементов, хотя элементы показаны на различных чертежах. Кроме того, в последующем описании настоящего раскрытия подробное описание известных функций и конфигураций, включенных в него, будет опущено, чтобы избежать затруднения понимания предмета настоящего раскрытия.
[25] Фиг. 1 - примерная блок-схема устройства кодирования видео, выполненного с возможностью реализации процедур настоящего раскрытия. Далее устройство кодирования видео и элементы устройства будут описаны со ссылкой на фиг. 1.
[26] Устройство кодирования видео включает в себя разделитель 110 блоков, предиктор 120, вычитатель 130, преобразователь 140, квантователь 145, модуль 150 перегруппировки, энтропийный кодировщик 155, обратный квантователь 160, обратный преобразователь 165, сумматор 170, модуль 180 фильтрации и запоминающее устройство 190.
[27] Каждый элемент устройства кодирования видео может быть реализован в виде аппаратного или программного обеспечения или в виде сочетания аппаратного и программного обеспечения. Функции соответствующих элементов могут быть реализованы в виде программного обеспечения, и микропроцессор может быть реализован для выполнения функций программного обеспечения, соответствующих соответствующим элементам.
[28] Одно видео включает в себя множество изображений. Каждое изображение разбивается на множество областей, и для каждой области выполняется кодирование. Например, одно изображение разбивается на одну или несколько мозаичных элементов или/и фрагментов. В частности, один или несколько мозаичных элементов могут быть определены как группа мозаичных элементов. Каждый мозаичный элемент или фрагмент разделяют на одну или несколько единиц дерева кодирования (CTU). И каждую CTU разделяют на одну или несколько единиц кодирования (CU) с древовидной структурой. Информация, применяемая к каждому CU, кодируется как синтаксис CU, а информация, применяемая к CU, включенной в один общий CTU, кодируется как синтаксис CTU. Кроме того, информация, обычно применяемая ко всем блокам в одном фрагменте, кодируется как синтаксис заголовка фрагмента, а информация, применяемая ко всем блокам, составляющим одно изображение, кодируется в наборе параметров изображения (PPS) или заголовке изображения. Кроме того, информация, к которой относится множество изображений, кодируется в наборе параметров последовательности (SPS). Кроме того, информация, на которую опираются один или несколько общих SPS, кодируется в наборе параметров видео (VPS). Информация, обычно применяемая к одному мозаичному элементу или группе мозаичных элементов, может быть закодирована как синтаксис заголовка мозаичного элемента или группы мозаичных элементов.
[29] Разделитель 110 блоков конфигурирован для определения размера единицы дерева кодирования (CTU). Информация о размере единицы CTU (размер CTU) кодируется как синтаксис SPS или PPS и передается в устройство декодирования видео.
[30] Разделитель 110 блоков выполнен с возможностью разделения каждого изображения, составляющего видео, на множество CTU, имеющих заранее определенный размер, а затем рекурсивно разделять CTU с использованием древовидной структуры. В древовидной структуре листовой узел служит единицей кодирования (CU), которая является базовой единицей кодирования.
[31] Древовидная структура может быть QuadTree (QT), в которой узел (или родительский узел) разделен на четыре подузла (или дочерних узла) одинакового размера, Binary Tree (ВТ), в которой узел разделен на два подузла, TernaryTree (ТТ), в котором узел разделен на три подузла в соотношении 1:2:1, или структурой, образованной комбинацией двух или более из структуры QT, структуры ВТ и структуры ТТ. Например, может использоваться структура, включающая дерево квадрантов и двоичное дерево (QTBT), или структура, включающая дерево квадрантов и троичное дерево двоичное дерево (QTBTTT). В частности, ВТТТ может в совокупности называться деревом множественного типа (МТТ).
[32] Фиг. 2 в качестве примера показывает древовидную структуру разделения QTBTTT. Как показано на фиг. 2, CTU может быть изначально разделена в структуре QT. Разделение QT может повторяться до тех пор, пока размер блока разделения не достигнет минимального размера блока (MinQTSize) листового узла, разрешенного в QT. Первый флаг (QT split flag), указывающий, разделен ли каждый узел структуры QT на четыре узла нижнего уровня, кодируется энтропийным кодировщиком 155 и сигнализируется в устройство декодирования видеоизображений. Если листовой узел QT меньше или равен максимальному размеру блока (MaxBTSize) корневого узла, разрешенного в ВТ, он может быть дополнительно разделен на любую одну или несколько структур ВТ или структур ТТ. Структура ВТ и/или структура ТТ может иметь множество направлений разделения. Например, может быть два направления, а именно направление, в котором блок узла разделен по горизонтали, и направление, в котором блок разделяется по вертикали. Как показано на фиг. 2, когда начинается разделение МТТ, второй флаг (mtt split flag), указывающий, разделены ли узлы, флаг, указывающий направление разделения (вертикальное или горизонтальное) в случае разделения, и/или флаг, указывающий тип разделения (двоичное или троичное) кодируются энтропийным кодировщиком 155 и сигнализируются в устройство декодирования видео. В качестве альтернативы, перед кодированием первого флага (QT split flag), указывающего, разделен ли каждый узел на четыре узла нижнего уровня, может быть закодирован флаг разделения CU (split cu flag), указывающий, разделен ли этот узел или нет. Когда значение флага разделения CU (splitcuflag) указывает, что разделение не выполнено, блок узла становится листовым узлом в структуре дерева разделения и обслуживает единицу кодирования (CU), которая является базовой единицей кодирования. Когда значение флага разделения CU (split cu flag) указывает, что разделение выполнено, устройство кодирования видео конфигурируется для начала кодирования флагов способом, описанным выше, начиная с первого флага.
[33] Когда QTBT используется в качестве другого примера древовидной структуры, может быть два типа разделения, которые представляют собой тип горизонтального разделения блока на два блока одинакового размера (т.е. симметричное горизонтальное разделение) и тип вертикального разделения блока на два блока одинакового размера (т.е. симметричное вертикальное разделение). Флаг разделения (split flag), указывающий, разделен ли каждый узел структуры ВТ на блок нижнего уровня, и информация о типе разделения, указывающая тип разделения, кодируются энтропийным кодировщиком 155 и передаются в устройство декодирования видео. Возможен дополнительный тип разделения блока узла на два асимметричных блока. Тип асимметричного разделения может включать в себя тип разделения блока на два прямоугольных блока с соотношением размеров 1: 3 или тип разделения по диагонали блока узла.
[34] В частности, блоки CU могут иметь различные размеры в соответствии с разделением блока CTU на QTBT или QTBTTT. В дальнейшем блок, соответствующий CU (то есть конечному узлу QTBTTT), который должен быть закодирован или декодирован, называется «текущим блоком». Поскольку используется разделение QTBTTT, форма текущего блока может быть квадратной или прямоугольной.
[35] Предиктор 120 сконфигурирован для предсказания текущего блока для генерирования блока предсказания. Предиктор 120 включает в себя интрапредиктор 122 и интерпредиктор 124.
[36] Модуль 122 интрапредсказания сконфигурирован для предсказания пикселей в текущем блоке с использованием пикселей (опорных пикселей), расположенных вокруг текущего блока в текущем изображении, включая текущий блок. Существует множество режимов интрапредсказания согласно направлениям предсказания. Например, как показано на фиг. 3, множество режимов интрапредсказания может включать в себя два ненаправленных режима, которые включают в себя планарный режим и режим DC, и 65 направленных режимов. Соседние пиксели и используемое уравнение определяются по-разному для каждого режима предсказания.
[37] Модуль 122 интрапредсказания может быть сконфигурирован для определения режима интрапредсказания, используемого при кодировании текущего блока. В некоторых примерах модуль 122 интрапредсказания может быть сконфигурирован для кодирования текущего блока с использованием нескольких режимов интрапредсказания и выбора из протестированных режимов соответствующего режима интрапредсказания для использования. Например, блок 122 интрапредсказания может быть сконфигурирован вычислять значения искажения частоты с использованием анализа отношения частота-искажение нескольких протестированных режимов интрапредсказания и выбирать режим интрапредсказания, который имеет лучшие характеристики частота-искажения среди протестированных режимов.
[38] Модуль 122 интрапредсказания сконфигурирован для выбора одного режима интрапредсказания из множества режимов интрапредсказания и для предсказания текущего блока с использованием соседних пикселей (опорных пикселей) и уравнения, определенного в соответствии с выбранным режимом интрапредсказания. Информация о выбранном режиме интрапредсказания кодируется энтропийным кодировщиком 155 и передается в устройство декодирования видеоизображений.
[39] Модуль 124 интерпредсказания сконфигурирован для генерации модуля предсказания для текущего блока посредством компенсации движения. Модуль 124 интерпредсказания сконфигурирован для поиска блока, наиболее похожего на текущий блок в опорном изображении, который был закодирован и декодирован раньше, чем текущее изображение, и генерировать блок предсказания для текущего блока с использованием найденного блока. Затем интерпредиктор конфигурирован генерировать вектор движения, соответствующий смещению между текущим блоком в текущем изображении и блоком предсказания в опорном изображении. В общем, оценку движения выполняют для компонента яркости, а вектор движения, вычисленный на основе компонента яркости, используется как для компонента яркости, так и для компонента цветности.
[40] Информация о движении, включающая в себя информацию об опорном изображении и информацию о векторе движения, используемую для предсказания текущего блока, кодируется энтропийным кодировщиком 155 и передается в устройство декодирования видео. Интерпредиктор 124 может быть сконфигурирован выполнять интерполяцию на опорном изображении или опорном блоке, чтобы повысить точность предсказания. Другими словами, субпиксели между целыми пикселями интерполируются с использованием целых пикселей. Когда выполняется процесс поиска блока, наиболее похожего на текущий блок для интерполированного опорного изображения, вектор движения может быть выражен не с точностью до единицы целого пикселя, а с точностью до дольной единицы пикселя. Точность или разрешение вектора движения могут быть установлены по-разному для каждой единицы целевой области, которая должна быть закодирована, например, как фрагмент, мозаичный элемент, CTU или CU.
[41] Вычитатель 130 сконфигурирован для вычитания блока предсказания, сгенерированного интрапредиктором 122 или интерпредиктором 124, из текущего блока для генерации остаточного блока. Преобразователь 140 может быть конфигурирован разделять остаточный блок на один или несколько блоков преобразования и применять преобразование к одному или нескольким блокам преобразования, тем самым преобразуя остаточные значения блоков преобразования из области пикселей в область частот. В области частот преобразованные блоки называются блоками коэффициентов, содержащими одно или более значений коэффициентов преобразования. Ядро двумерного преобразования может использоваться для преобразования, а ядра одномерного преобразования могут использоваться для горизонтального преобразования и вертикального преобразования соответственно. Ядра преобразования могут быть основаны на дискретном косинусном преобразовании (DCT), дискретном синусоидальном преобразовании (DST) или другим подобным.
[42] Преобразователь 140 может быть сконфигурирован для преобразования остаточных сигналов в остаточном блоке с использованием всего размера остаточного блока в качестве единицы преобразования. В качестве альтернативы, остаточный блок может быть разделен на множество подблоков, и остаточные сигналы в подблоке могут быть преобразованы с использованием подблока в качестве единицы преобразования.
[43] Преобразователь 140 может быть выполнен с возможностью индивидуального преобразования остаточного блока в горизонтальном направлении и вертикальном направлении. Для преобразования могут использоваться различные типы функций преобразования или матриц преобразования. Например, пара функций преобразования для преобразования в горизонтальном направлении и вертикальном направлении может быть определена как набор множественных преобразований (MTS). Преобразователь 140 может быть сконфигурирован для выбора одной пары функций преобразования, имеющей наибольшую эффективность преобразования в MTS, и преобразования остаточного блока в горизонтальном и вертикальном направлениях соответственно. Информация (mts_idx) о паре функций преобразования, выбранной из MTS, кодируется энтропийным кодировщиком 155 и сигнализируется в устройство декодирования видео.
[44] Квантователь 145 выполнен с возможностью квантования коэффициентов преобразования, выводимых из преобразователя 140, и вывода квантованных коэффициентов преобразования на энтропийный кодировщик 155. Для некоторых блоков или кадров квантователь 145 может быть сконфигурирован для прямого квантования связанного остаточного блока без преобразования.
[45] Модуль 150 перегруппировки может быть сконфигурирован для реорганизации значений коэффициентов для квантованного остаточного значения. Модуль 150 перегруппировки может быть сконфигурирован для изменения 2-мерного массива коэффициентов в 1-мерную последовательность коэффициентов посредством сканирования коэффициентов. Например, модуль 150 перегруппировки может быть сконфигурирован для сканирования коэффициентов от коэффициента DC до коэффициента в высокочастотной области с использованием зигзагообразного сканирования или диагонального сканирования для вывода 1-мерной последовательности коэффициентов. В зависимости от размера единицы преобразования и режима интрапредсказания, вместо зигзагообразного сканирования может использоваться вертикальное сканирование, в котором двумерный массив коэффициентов сканируется в направлении столбцов, или горизонтальное сканирование, в котором двумерные блочные коэффициенты сканируются в направлении строк. Другими словами, используемый режим сканирования может быть определен среди зигзагообразного сканирования, диагонального сканирования, вертикального сканирования и горизонтального сканирования в соответствии с размером единицы преобразования и режимом интрапредсказания.
[46] Энтропийный кодировщик 155 сконфигурирован для кодирования одномерных квантованных коэффициентов преобразования, выводимых из модуля 150 перегруппировки, с использованием различных методов кодирования, таких как контекстно-зависимый адаптивный двоичный арифметический код (САВАС) и экспоненциальный код Голомба, для генерации битового потока.
[47] Энтропийный кодировщик 155 сконфигурирован для кодирования информации, такой как размер CTU, флаг разделения CU, флаг разделения QT, тип разделения МТТ и направление разделения МТТ, которая связана с разделением блоков, так что устройство декодирования видео может разделить блок таким же образом, как в устройстве кодирования видео. Кроме того, энтропийный кодировщик 155 сконфигурирован для кодирования информации о типе предсказания, указывающей, закодирован ли текущий блок посредством интрапредсказания или интерпредсказания, и кодирует информацию интрапредсказания (т.е. информацию о режиме интрапредсказания) или информация по интерпредсказанию (информация об индексе опорного изображения и векторе движения) согласно типу предсказания.
[48] Обратный квантователь 160 сконфигурирован для обратного квантования коэффициентов преобразования, выводимых из квантователя 145, для генерации коэффициентов преобразования. Обратный преобразователь 165 сконфигурирован для преобразования коэффициентов преобразования, выводимых из обратного квантователя 160, из частотной области в пространственную область и восстановления остаточного блока.
[49] Сумматор 170 выполнен с возможностью добавления восстановленного остаточного блока к блоку предсказания, сгенерированному модулем 120 предсказания, для восстановления текущего блока. Пиксели в восстановленном текущем блоке используются в качестве опорных пикселей при выполнении интрапредсказания следующего блока. Модуль 180 фильтрации сконфигурирован для фильтрации восстановленных пикселей для уменьшения артефактов блочности, артефактов ложного оконтуривания и артефактов размытия, генерируемых из-за предсказания на основе блоков и преобразования/квантования. Модуль 180 фильтрации может включать в себя фильтр 182 удаления блочности и фильтр 184 с адаптивным смещением пикселей (SAO).
[50] Фильтр 180 удаления блочности сконфигурирован для фильтрации границы между восстановленными блоками, чтобы удалить артефакт блочности, вызванный поблочным кодированием/декодированием, а фильтр 184 SAO выполняет дополнительную фильтрацию отфильтрованного изображения с удалением блочности. Фильтр SAO 184 - это фильтр, используемый для компенсации разницы между восстановленным пикселем и исходным пикселем, вызванной кодированием с потерями. Восстановленный блок фильтруется через фильтр 182 удаления блочности и фильтр 184 SAO и сохраняется в запоминающем устройстве 190. Когда все блоки в одном изображении восстановлены, восстановленное изображение может использоваться в качестве опорного изображения для интерпредсказания блоков в следующем изображении, подлежащим кодированию.
[51] Фиг. 4 - примерная функциональная блок-схема устройства декодированиявидео, выполненного с возможностью реализации процедур настоящего раскрытия. Далее устройство декодирования видео и элементы устройства будут описаны со ссылкой на фиг. 4. Устройство декодирования видео может включать в себя энтропийный декодер 410, модуль 415 перегруппировки, обратный квантователь 420, обратный преобразователь 430, предиктор 440, сумматор 450, модуль 460 фильтрации и запоминающее устройство 470.
[52] Подобно устройству кодирования видео с фиг. 1, каждый элемент устройства декодирования видео может быть реализован в виде аппаратного или программного обеспечения или в виде сочетания аппаратного и программного обеспечения. Кроме того, функция каждого элемента может быть реализована в виде программного обеспечения, а микропроцессор может быть реализован для выполнения функции программного обеспечения, соответствующей каждому элементу.
[53] Энтропийный декодер 410 сконфигурирован для определения текущего блока, который должен быть декодирован, путем декодирования битового потока, сгенерированного устройством кодирования видео, и извлечения информации, относящейся к разделению блока, и извлечения информации предсказания и информации об остаточном сигнале и т.п., необходимых для восстановления текущего блока.
[54] Энтропийный декодер 410 сконфигурирован для извлечения информации о размере CTU из набора параметров последовательности (SPS) или набора параметров изображения (PPS), определяет размер CTU и разбивает изображение на CTU определенного размера. Затем декодер сконфигурирован определять CTU как самый верхний уровень, то есть корневой узел древовидной структуры, и извлекать информацию разделения о CTU для разделения CTU с использованием древовидной структуры.
[55] Например, когда CTU разделяется с использованием структуры QTBTTT, первый флаг (QT_split_flag), связанный с разделением QT, извлекается для разделения каждого узла на четыре узла подуровня. Для узла, соответствующего листовому узлу QT, извлекают второй флаг (МТТ_split_flag) и информацию о направлении разделения (вертикальное/горизонтальное) и/или типе разделения (двоичное/тройное), относящееся к разделению МТТ, чтобы разделить соответствующий листовой узел в структуре МТТ. Таким образом, каждый узел ниже листового узла QT рекурсивно разделяется в структуре ВТ или ТТ.
[56] В качестве другого примера, когда CTU разделяется с использованием структуры QTBTTT, может быть извлечен флаг разделения CU (split_cu_flag), указывающий, следует ли разбивать CU. Когда соответствующий блок разделен, может быть извлечен первый флаг (QT_split_flag). В операции разделения может произойти ноль или более рекурсивных разделений МТТ для каждого узла после нуля или более рекурсивных разделений QT. Например, CTU может непосредственно подвергаться расщеплению МТТ без расщепления QT или многократно подвергаться только расщеплению QT.
[57] В качестве другого примера, когда CTU разделяется с использованием структуры QTBT, извлекается первый флаг (QT_split_flag), связанный с разбиением QT, и каждый узел разделяется на четыре узла нижнего уровня. Затем флаг разделения (split_flag), указывающий, разделяется ли дополнительно в ВТ узел, соответствующий листовому узлу QT, и извлекается информация о направлении разделения.
[58] Как только текущий блок, который должен быть декодирован, определен посредством разделения в древовидной структуре, энтропийный декодер 410 сконфигурирован извлекать информацию о типе предсказания, указывающую, предсказан ли текущий блок с использованием интрапредсказания или интерпредсказания. Когда информация о типе предсказания указывает на интрапредсказание, энтропийный декодер 410 сконфигурирован извлекать элемент синтаксиса для информации интрапредсказания (режим интрапредсказания) текущего блока. Когда информация о типе предсказания указывает на интерпредсказание, энтропийный декодер 410 сконфигурирован извлекать элемент синтаксиса для информации интерпредсказания, то есть информацию, указывающую вектор движения и опорное изображение, на которое опирается вектор движения.
[59] Энтропийный декодер 410 также сконфигурирован для извлечения информации о квантованных коэффициентах преобразования текущего блока в качестве информации об остаточном сигнале. Модуль 415 перегруппировки может быть сконфигурирован для изменения последовательности одномерных квантованных коэффициентов преобразования, энтропийно декодированных энтропийным декодером 410, на двумерный массив коэффициентов (то есть блок) в порядке, обратном сканированию коэффициентов, выполняемому устройством кодирования видео.
[60] Обратный квантователь 420 сконфигурирован для обратного квантования квантованных коэффициентов преобразования. Обратный преобразователь 430 выполнен с возможностью обратного преобразования обратно квантованных коэффициентов преобразования из частотной области в пространственную, тем самым генерируя восстановленный остаточный блок для текущего блока. Кроме того, когда применяется MTS, обратный преобразователь 430 сконфигурирован для определения функции преобразования или матрицы преобразования, которые должны применяться в горизонтальном и вертикальном направлениях, соответственно, на основе информации MTS (mts_idx), сигнализированной из устройства кодирования видео, и обратное преобразование коэффициентов преобразования в блоке преобразования в горизонтальном и вертикальном направлениях на основе определенной функции преобразования.
[61] Предиктор 440 может включать в себя интрапредиктор 442 и интерпредиктор 444. Интрапредиктор 442 активируется, когда тип предсказания текущего блока является интрапредсказанием, а интерпредиктор 444 активируется, когда тип предсказания текущего блока является интерпредсказанием. Интрапредиктор 442 сконфигурирован для определения режима интрапредсказания текущего блока среди множества режимов интрапредсказания на основе синтаксического элемента для режима интрапредсказания, извлеченного из энтропийного декодера 410, и для предсказания текущего блока с использованием опорных пикселей вокруг текущего блока в соответствии с режимом интрапредсказания.
[62] Интерпредиктор 444 сконфигурирован для определения вектора движения текущего блока и опорного изображения, на которое опирается вектор движения, с использованием элемента синтаксиса для информации интерпредсказания, извлеченной из энтропийного декодера 410, и предсказания текущего блока на основе вектора движения и опорного изображения. Сумматор 450 сконфигурирован для восстановления текущего блока путем складывания выходного сигнала остаточного блока из обратного преобразователя и блока предсказания, выводимого из интерпредиктора или интрапредиктора. Пиксели в восстановленном текущем блоке используются в качестве опорных пикселей при интрапредсказании подлежащего декодированию следующего блока.
[63] Модуль 460 фильтрации может включать в себя фильтр 462 удаления блочности и фильтр 464 SAO. Фильтр 462 удаления блочности фильтрует границу между восстановленными блоками для удаления артефактов блочности, вызванных поблочным декодированием. Фильтр 464 SAO выполняет дополнительную фильтрацию на восстановленном блоке после фильтрации удаления блочности так, чтобы компенсировать разницу между восстановленным пикселем и исходным пикселем, вызванную кодированием с потерями. Восстановленный блок фильтруется через фильтр 182 удаления блочности и фильтр 184 SAO и сохраняется в запоминающем устройстве 190. Когда все блоки в одном изображении восстановлены, восстановленное изображение используется в качестве опорного изображения для интерпредсказания блоков в следующем изображении, подлежащим кодированию.
[64] Как описано выше, устройство кодирования видео или устройство декодирования видео кодирует и декодирует одно изображение в единицах блоков. Изображения могут быть классифицированы на I (интра) изображение, в котором разрешено только внутреннее предсказание, Р (предсказывающее) изображение, в котором вместе разрешены интерпредсказание и интрапредсказание, или В (двойное предсказание) изображение, в котором разрешено двунаправленное интерпредсказание. Первое изображение в битовом потоке видео или изображение произвольного доступа, такое как изображение мгновенного обновления декодирования (IDR) или изображение чистого произвольного доступа (CRA), которое допускает произвольный доступ в произвольной позиции, является I-изображением. Обычно для кодирования I (интра) изображения требуется значительное количество битов, в котором вся область изображения предсказана посредством интрапредсказания.
[65] По мере увеличения эффективности кодирования Р- или В-изображений посредством опоры на интеризображения, т.е. интерпредсказания, вследствие развития технологии кодирования и декодирования, разница в количестве битов между I и Р или В-изображениями может увеличиваться, что может увеличивать проблемы, касающиеся управления частотой, управления буфером и т.п. с точки зрения обслуживания. Кроме того, когда ошибка возникает из-за среды транспортного канала, по которому передается поток битов, ошибка может быть сконцентрирована в I-изображении. В частности, этот эффект может возникать чаще, когда размер, разрешение и частота кадров видео постепенно увеличиваются.
[66] Следующее раскрытие представляет способ постепенного кодирования или декодирования всей области изображения по множеству изображений, связанных с изображением, для решения вышеупомянутых проблем. Устройство кодирования видео может кодировать последовательность изображений, а устройство декодирования видео может декодировать последовательность изображений, используя вышеописанный способ. Изображение (первое изображение) в последовательности может образовывать одну группу в связи с множеством изображений. Каждое изображение в группе включает в себя область обновления. По мере того, как изображения в группе декодируются, области обновления могут постепенно декодироваться. После того, как все области обновления декодированы, может быть сгенерировано полное изображение со всеми обновленными областями. Полное изображение со всеми обновленными областями может быть последним изображением (вторым изображением), принадлежащим группе. Другими словами, отдельные области постепенно обновляются по множеству изображений, принадлежащих группе, так, что все области в изображениях обновляются, когда достигается второе изображение.
[67] В дальнейшем группа из множества изображений, связанных с первым изображением, может называться группой IR (с интраобновлением) или группой постепенного произвольного доступа (GRA). Кроме того, область обновления в каждом изображении, принадлежащем группе, может называться единицей интраобновления (IRU) или единицей постепенного произвольного доступа (GRU). Кроме того, первое изображение может называться IR изображением или GRA изображением.
[68] Устройство декодирования видео может быть сконфигурировано для правильного или более точного декодирования всех изображений из последнего изображения (второго изображения) группы в порядке декодирования. Последнее изображение (второе изображение) в группе может служить опорным изображением для одного или более закодированных последующих изображений, следующих за группой в порядке декодирования. Кроме того, группа или последнее изображение в группе может служить изображением с произвольным доступом для одного или более закодированных последующих изображений, следующих за группой в порядке декодирования.
[69] Далее процедура согласно настоящему раскрытию будет подробно описана со ссылкой на чертежи.
[70] Фиг. 5А-5В - примерные схемы, иллюстрирующие процедуру согласно настоящему раскрытию.
[71] Фиг. 5А показывает последовательность изображений. Устройство кодирования видео последовательно кодирует каждое изображение для каждого блока в соответствии с порядком кодирования и передает его в устройство декодирования видео. Устройство декодирования видео декодирует каждое изображение для каждого блока в соответствии с порядком декодирования. Последовательность изображений может включать в себя изображения, принадлежащие группе (группе IR или группе GRA) изображений, к которым применяется постепенное обновление. Информация или флаг, указывающие, может ли постепенное обновление применяться к последовательности изображений, может сообщаться в заголовке последовательности, то есть в SPS. Например, когда флаг указывает первое значение (например, 1), изображения, к которым применимо постепенное обновление, могут присутствовать в последовательности. Когда флаг указывает второе значение (например, 0), в последовательности нет изображений, к которым применимо постепенное обновление.
[72] Когда флаг указывает, что постепенное обновление применимо к последовательности, сигнализируется информация для идентификации в последовательности группы IR. Например, когда интервал времени, в котором группа IR появляется в последовательности, является постоянным, а размер группы, то есть количество изображений, принадлежащих группе, является постоянным, информация об интервале между группами IR и размер групп IR может сообщаться один раз в единице последовательности.
[73] В другом примере группы IR могут нерегулярно присутствовать в последовательности. В частности, требуется информация для идентификации каждой группы IR в последовательности. Эта информация может сигнализироваться для каждого изображения, то есть как синтаксис заголовка изображения, и может включать в себя информацию, указывающую, является ли изображение IR изображением, и размер группы IR. В качестве примера, устройство декодирования видео получает идентификационную информацию, указывающую, является ли соответствующее ей изображение изображением, к которому применяется постепенное обновление, посредством декодирования информации заголовка соответствующего изображения. Когда идентификационная информация указывает, что к соответствующему изображению было применено постепенное обновление, устройство декодирования видео декодирует информацию, указывающую размер группы изображений, связанных с соответствующим изображением, то есть, группы IR. Идентификационная информация и информация, указывающая размер группы IR, могут быть включены в первое изображение, представляющее начальное изображение группы IR.
[74] В общем, битовый поток содержит информацию, указывающую счетчик порядка (РОС) изображения. Эта информация может быть включена, например, в заголовок изображения. Соответственно, устройство декодирования видео может быть сконфигурировано для определения значения РОС первого изображения, которое является начальным изображением группы IR. Кроме того, РОС второго изображения, которое соответствует последнему изображению группы IR, может быть определено с помощью информации о размере группы IR. Например, значение РОС второго изображения может быть получено путем сложения значения РОС первого изображения и значения, указанного в информации о размере группы. Устройство декодирования видео сконфигурировано для определения изображений, имеющих значение РОС, большее или равное значению РОС первого изображения и меньшее или равное значению РОС второго изображения, в качестве группы IR.
[75] Как показано на фиг. 5В, группа изображений, связанных с первым изображением, то есть изображений, принадлежащих группе IR, включает в себя область обновления и область без обновления. В частности, область обновления может быть областью, в которой данные изображения могут быть правильно и точно кодированы/декодированы, а область без обновления может быть областью, в которой не гарантируется правильное и более точное кодирование/декодирование данных изображения. Например, одно изображение, которое должно быть кодировано или декодировано, может быть разделено на множество областей и распределено на множество изображений, принадлежащих группе IR. Данные изображения, соответствующие множеству областей, постепенно кодируются или декодируются по множеству изображений. Множество изображений можно определить как группу IR. Множество областей, которые соответственно включены в изображения, принадлежащие группе IR, могут быть определены как области обновления, а другая область каждого изображения, за исключением области обновления, может быть определена как область без обновления.
[76] Изображение, принадлежащее группе IR, может быть I-изображением, Р-изображением, В-изображением или изображением с произвольным доступом, таким как IDR или CRA. Однако не все изображения в группе IR могут быть изображениями с произвольным доступом. Область обновления в каждом изображении, принадлежащем группе IR, может состоять из CU, CTU, мозаичного элемента, группы мозаичных элементов, фрагмента или группы фрагментов.
[77] Устройство декодирования видео декодирует область обновления в изображении, принадлежащем группе IR. В целом, область обновления кодируется посредством интрапредсказания, но не ограничивается этим. Устройство декодирования видео восстанавливает область обновления, декодируя режим интрапредсказания для каждой единицы (CU), включенной в область обновления, и восстанавливая каждый блок согласно режиму интрапредсказания.
[78] Область без обновления может быть восстановлена посредством интрапредсказания или интерпредсказания. Когда блок в области без обновления предсказывается с использованием интерпредсказания, блок предсказания может быть сгенерирован путем копирования предварительно определенного значения. Например, блок предсказания может быть заполнен значениями пикселей в той же позиции, что и область без обновления в ранее сгенерированном опорном изображении. В частности, ранее сгенерированное опорное изображение может быть опорным изображением, совместно используемым устройством кодирования и устройством декодирования. В качестве примера, ранее сгенерированное опорное изображение может быть изображением, имеющим РОС, наиболее близким к РОС изображения, которое должно быть декодировано в настоящий момент. В качестве другого примера это может быть изображение, дополненное значением, полученным из битовой глубины пикселя. Например, значение, соответствующее половине максимального значения, выражаемого битовой глубиной, может использоваться как заполняющее значение. Когда битовая глубина равна 8, заполняющее значение равно 128, что составляет половину от 256 - максимального значения, которое может быть выражено в 8 битах. В качестве другого примера информация об опорном изображении, на которое опирается область без обновления, может сигнализироваться из устройства кодирования видео в устройство декодирования видео.
[79] В качестве альтернативы, может быть декодирована только область обновления каждого изображения, принадлежащего группе IR, и процесс декодирования для области без обновления может быть пропущен. После завершения декодирования всех изображений, принадлежащих группе IR, от первого изображения до второго изображения, устройство декодирования видео может быть сконфигурировано генерировать одно изображение, в котором области обновления изображений объединены, как показано на фиг. 6. Изображение, состоящее только из областей обновления, используется в качестве опорного изображения для других изображений, которые должны декодироваться впоследствии после группы IR. Изображение, содержащее область без обновления, не может быть гарантированно правильно и точно закодировано/декодировано. Следовательно, может потребоваться ограничение, чтобы изображение, включающее в себя область без обновления, не использовалось в качестве опорного изображения других изображений, подлежащих декодированию после группы IR.
[80] Фиг. 7А-7В - схемы, иллюстрирующие способ хранения и управления декодированным изображением группы IR в запоминающем устройстве. После завершения декодирования областей обновления и областей без обновления изображений, принадлежащих группе IR, каждое изображение может быть сохранено в запоминающем устройстве (например, в DPB, буфере декодированных изображений) с другим присвоенным ему значением РОС, как показано на фиг. 7А. Когда второе изображение устанавливается как отображаемое изображение или изображение, на которое опираются другие изображения, подлежащие декодированию после группы IR, изображение, имеющее области обновления в группе IR, объединенные, как показано на фиг. 6, отображается или опирается на другое изображение.
[81] В качестве другого примера, как показано на фиг. 7В, область обновления изображения, которое декодируется первым среди изображений, принадлежащих группе IR, сохраняется в запоминающем устройстве таким образом, что декодированная область обновления заменяет область без обновления в той же позиции в изображении, которое будет декодировано следующим. Согласно этому способу второе изображение, сохраненное в запоминающем устройстве, становится одним изображением, состоящим только из областей обновления из каждого изображения, принадлежащего группе IR. Когда второе изображение устанавливается как отображаемое изображение или изображение, на которое опираются другие изображения, подлежащие декодированию после группы IR, второе изображение может отображаться или опираться на другие изображения.
[82] Способ хранения/управления запоминающим устройством, описанный со ссылкой на фиг. 7А-7В, может включать ограничение, что отображение других изображений в группе IR не должно быть разрешено, за исключением второго изображения, которое является последним изображением. Другими словами, изображениям, имеющие значение РОС больше или равное значению РОС первого изображения, которое является начальным изображением группы IR, и меньшим, чем у второго изображения, которое является последним изображением, не разрешают отображаться.
[83] Фиг. 8А-8С показывают другой пример способа хранения и управления декодированным изображением группы IR в запоминающем устройстве. Пример на фиг. 8А-8С может применяться в случае, когда декодируется только область обновления, принадлежащая каждому изображению в группе IR, но не ограничивается этим.
[84] В качестве примера, как показано на фиг. 8А, только области обновления в соответствующих изображениях, принадлежащих группе IR, могут иметь разные значения РОС при сохранении в запоминающем устройстве. В качестве другого примера, после того как декодирование всех областей обновления завершено, область без обновления каждого изображения, принадлежащего группе IR, может быть заполнена областью обновления в той же позиции другого изображения. В запоминающем устройстве, как показано на фиг. 8В, одни и те же изображения, составленные из областей обновления, могут храниться в запоминающем устройстве с разными РОС. В качестве другого примера, как показано на фиг. 8С, после завершения декодирования всех областей обновления, принадлежащих группе IR, в запоминающем устройстве может быть сохранено только изображение, состоящее только из областей обновления. В частности, изображение, состоящее только из областей обновления, сохраняется в запоминающем устройстве со значением РОС второго изображения.
[85] Согласно примеру с фиг. 8А-8С, изображения, принадлежащие группе IR и сохраненные в запоминающем устройстве, могут отображаться индивидуально и использоваться в качестве опорных изображений для изображений, подлежащих декодированию после группы IR.
[86] Информация положения для идентификации положений областей обновления в изображениях, принадлежащих группе IR, может сигнализироваться из устройства кодирования видео в устройство декодирования видео. Информация положения может быть индексом или координатами, идентифицирующими CTU, мозаичный элемент или группу мозаичных элементов. Как показано на фиг. 9, информация положения может быть установлена так, что, по меньшей мере, некоторые из областей обновления пространственно перекрывают друг с другом. В частности, после декодирования областей обновления, принадлежащих группе IR, устройство декодирования видео может быть сконфигурировано применять фильтрацию, такую как взвешенное усреднение, к областям, которые перекрываются друг с другом, и сохранять отфильтрованные области обновления или изображение, включающее отфильтрованные области обновления. Устройство декодирования видео может быть сконфигурировано для выполнения фильтрации с использованием фильтра, заранее определенного в связи с устройством кодирования видео. В качестве альтернативы устройство кодирования видео может сигнализировать информацию о коэффициентах фильтрации для фильтрации перекрывающихся областей в устройство декодирования видео, а устройство декодирования видео может фильтровать перекрывающиеся области на основе информации о коэффициентах фильтрации.
[87] Фиг. 10 - блок-схема, иллюстрирующая способ идентификации группы IR в последовательности изображений для декодирования видео с использованием постепенного обновления, согласно варианту осуществления настоящего раскрытия.
[88] Устройство декодирования видео сконфигурировано для приема битового потока, сгенерированного кодированием последовательности изображений, и определения первого изображения, к которому применено постепенное обновление в последовательности (S1010). Например, как описано выше, первое изображение, к которому применено постепенное обновление, может быть идентифицировано посредством декодирования, из заголовка каждого изображения в последовательности, идентификационной информации, указывающей, является ли соответствующее изображение изображением, для которого применено постепенное обновление. Затем определяется значение РОС первого изображения (S1020). Значение РОС может быть получено из информации в битовом потоке, например, информации РОС, включенной в заголовок первого изображения.
[89] После этого устройство декодирования видео конфигурировано для декодирования информации о размере группы (группы IR) изображений, связанных с первым изображением, к которому применено постепенное обновление, и определения размера группы IR (S1030). Информация о размере может быть извлечена из заголовка первого изображения. Затем значение РОС второго изображения, соответствующего последнему изображению группы IR, определяется на основе определенного размера группы (S1040). Устройство декодирования видео может быть сконфигурировано для определения значения РОС второго изображения, соответствующего последнему изображению в группе IR, путем добавления размера группы, определенного из информации о размере, к значению РОС первого изображения. Группа IR может быть определена как изображения, имеющие значение РОС, большее или равное значению РОС первого изображения и меньшее или равное значению РОС второго изображения (S1050). Изображения в группе IR декодируют и сохраняют в запоминающем устройстве вышеописанным способом. Поскольку эта операция подробно описана выше, дальнейшее описание будет опущено.
[90] Далее описан способ постобработки декодированных областей обновления после декодирования областей обновления изображений, принадлежащих группе IR. Фиг. 11 - примерная диаграмма, иллюстрирующая способ постобработки декодированных изображений группы IR согласно варианту осуществления, описанному в настоящем раскрытии.
[91] Как показано на фиг. 11, устройство декодирования видео может расширять каждую из областей обновления, дополняя определенный диапазон за пределами границы области обновления восстановленными пикселями рядом с границей в декодированной области обновления. Когда области обновления объединяют для формирования одного опорного изображения, области обновления перекрывают друг друга за счет заполненных областей. Соответственно, как описано со ссылкой на фиг. 9, после фильтрации областей, которые перекрывают друг друга, устройство декодирования видео может быть сконфигурировано для хранения отфильтрованных областей обновления или изображения, включающего в себя отфильтрованные области обновления, в запоминающем устройстве. Размер заполненной области может быть размером, совместно используемым устройством кодирования видео и устройством декодирования видео, или может сигнализироваться из устройства кодирования видео в устройство декодирования видео. Этот способ постобработки может использоваться для уменьшения артефактов, возникающих на границе области обновления во время комбинирования областей обновления.
[92] Фиг. 12А-12В - примерные схемы, иллюстрирующие способ постобработки для декодированных изображений группы IR согласно другому варианту осуществления, описанному в настоящем раскрытии. Как показано на фиг. 12А, изображения в группе IR или изображение, сгенерированное путем объединения областей обновления изображений, принадлежащих группе IR, могут использоваться в качестве опорного изображения для интерпредсказания других изображений, которые должны быть декодированы после группы IR.
[93] Изображения, состоящие из областей обновления, могут иметь артефакты на границе между областями обновления. Таким образом, как показано на фиг. 12В, когда изображение, состоящее из областей обновления, используется в качестве опорного изображения для интерпредсказания блока в другом изображении, которое должно быть декодировано после группы IR, артефакты могут снизить точность предсказания, снизить эффективность кодирования и ухудшить субъективное качество изображение отображаемого изображения. Следовательно, в некоторых вариантах осуществления настоящего раскрытия, при сохранении декодированных изображений группы IR в запоминающем устройстве, отображении изображения, объединяющем области обновления изображений, принадлежащих группе IR, или использовании изображений, принадлежащих группе IR, или изображений, объединяющих области обновления в качестве опорного изображения, устройство декодирования видео может выполнять фильтрацию на границе между областями обновления.
[94] Устройство кодирования видео может сигнализировать информацию или флаг, указывающий, разрешена ли фильтрация на границах областей обновления, устройству декодирования видео через синтаксис высокого уровня, например SPS, заголовок изображения группы IR или заголовок области обновления на изображении группы IR. Устройство декодирования видео может быть сконфигурировано для определения, применять ли фильтрацию к границе области обновления в соответствии с сигнализированной информацией.
[95] В качестве альтернативы, то, разрешена ли фильтрация на границах областей обновления, может быть адаптивно определено на основе по меньшей мере одного из фильтрации яркости, применяемого к области обновления, информации о размере или параметре квантования (QP), связанной с опорным блоком, на который опираются в области обновления, режима интрапредсказания опорного сигнала, типа функции преобразования, применяемой к опорному сигналу, точности разности векторов движения или вектора движения блока, предназначенный для кодирования/декодирования в настоящее время. Например, когда к соседним областям обновления не применяется фильтр яркости, когда применяемые фильтры яркости одинаковы или похожи, или когда разница в параметре квантования между двумя блоками области обновления рядом с границы между соседними областями обновления меньше или равна предварительно установленному порогу, фильтрация может не выполняться. Устройство декодирования видео может быть сконфигурировано для получения вышеописанной информации для определения, разрешать ли фильтрацию из ранее восстановленной информации. Соответственно, устройство декодирования видео может быть сконфигурировано для определения, разрешена ли фильтрация, без приема дополнительной информации от устройства кодирования видео. Другими словами, не требуется сигнализирование для дополнительной информации, указывающей, разрешать ли фильтрацию.
[96] Фильтрационная информация для фильтрации границы между областями обновления может быть явно сигнализирована из устройства кодирования видео в устройство декодирования видео. Фильтрационная информация может быть включена в заголовок по меньшей мере одного из целевого изображения, предназначенное для кодирования/декодирования в настоящий момент, фрагмента или мозаичного элемента или CTU, предназначенных для кодирования/декодирования в настоящий момент в целевом изображении, изображения, на которое опирается в группе IR целевое изображение, или области обновления изображения в группе IR. Например, фильтрационная информация может сигнализироваться из устройства кодирования видео в устройство декодирования видео в качестве синтаксиса последнего изображения (второго изображения на фиг. 5А) в группе IR. В качестве альтернативы фильтрационная информация может сигнализироваться в качестве синтаксиса изображения, декодированного после группы IR и опирающегося на изображение в группе IR (например, изображение, составленное из областей обновления соответствующих изображений в группе IR).
[97] Фильтрационная информация может быть информацией коэффициента фильтрации или информацией для выбора одного из множества фильтров. Когда используется множество фильтров, множество фильтров может быть заранее определено между устройством кодирования видео и устройством декодирования видео. В качестве альтернативы устройство кодирования видео может быть сконфигурировано для выбора одного набора фильтров из наборов фильтров, каждый из которых состоит из одного или нескольких фильтров, и информации сигнала, указывающей на выбранный набор фильтров, для устройства декодирования видео.
[98] Фильтрационная информация может не сигнализироваться, но может быть получена с использованием различных частей предварительно декодированной информации. Например, она может быть получен с помощью по меньшей мере одного из фильтрации яркости области обновления, размера опорного блока, информации QP о каждом сигнале, на который опираются в области обновления, режима внутреннего предсказания опорного сигнала, типа функции преобразования, применяемой к опорному сигналу, опорного режима, точности разности векторов движения, точности вектора движения, размера блока предсказания, типа компонента цветности или диапазон компонента яркости.
[99] В качестве примера устройство кодирования видео и устройство декодирования видео могут адаптивно определять коэффициент фильтрации или длину фильтра, используя значение фильтрации яркости, примененного к области обновления, в качестве веса. В качестве альтернативы, значение коэффициента фильтрации или длины фильтрации может быть определено адаптивно в соответствии с типом функции преобразования, применяемой к опорному сигналу. В качестве альтернативы, интенсивность фильтрации может быть определена адаптивно в соответствии с одним или несколькими из размера опорного блока или информации QP о каждом опорном сигнале, формы опорного блока или точности разности векторов движения или вектора движения блока, который должен быть декодирован в данный момент, и определять коэффициент фильтрации или длину фильтрации в соответствии с интенсивностью.
[100] Кроме того, когда опорный сигнал в IR изображении декодируется посредством интрапредсказания, направление фильтрации может определяться согласно направлению интра-предсказания. В качестве альтернативы, фильтрационная информация может быть получена из соседнего блока в соответствии с опорным режимом (однонаправленное предсказание, двунаправленное предсказание и т.д.) текущего блока или взаимосвязью между опорными режимами текущего блока и соседнего блока. Например, может использоваться тот же фильтр, что и для соседнего блока. В качестве альтернативы, индекс фильтрации для выбора одного из множества фильтров может быть получен на основе точности разности векторов движения, точности вектора движения, размера блока предсказания, типа компонента цветности, диапазона компонент яркости и т.п.
[101] Таким образом, фильтрационная информация, такая как коэффициент фильтра, длина фильтра, интенсивность фильтрации и направление фильтрации, может быть получена с использованием комбинации одной или нескольких частей информации, описанных выше в качестве примера. В качестве альтернативы фильтрационная информация, полученная с помощью вышеописанного способа, может использоваться в качестве информации предсказания для фильтра, который будет фактически применяться. В частности, дифференциальная фильтрационная информация сигнализируется от устройства кодирования видео к устройству декодирования видео. Устройство декодирования видео может быть сконфигурировано для получения фильтрационной информации, которая должна быть фактически применена, на основе полученной фильтрационной информации (информации предсказания) и дифференциальной фильтрационной информации.
[102] Согласно некоторым вариантам осуществления настоящего раскрытия, к каждой из областей обновления может применяться различная фильтрация. В частности, фильтрационная информация, такая как коэффициент фильтрации или индекс, указывающий на один из множества фильтров, сигнализируется для каждой области обновления, составляющей группу IR. В качестве альтернативы, может сигнализироваться информация о присвоении между областью обновления (или блоком в области обновления) и индексом фильтра. Устройство декодирования видео может быть сконфигурировано для определения фильтра, который должен применяться к каждой области обновления, на основе индекса фильтра, присвоенного каждой области обновления.
[103] В другом варианте осуществления одна и та же фильтрационная информация может совместно использоваться всеми областями обновления в группе IR. Устройство декодирования видео может быть сконфигурировано для выполнения фильтрации путем применения одной и той же фильтрационной информации ко всем областям обновления в группе IR. Совместно используемая фильтрационная информация может быть заранее определена между устройством кодирования видео и устройством декодирования.
[104] В другом варианте осуществления флаг, указывающий, является ли информация фильтрации совместно используемой между всеми областями обновления в группе IR, может сигнализироваться устройством кодирования видео. Когда фильтрационная информация совместно используется, совместно используемая фильтрационная информация (например, индекс для указания на один из множества фильтров, информация для вывода индекса или информация о коэффициенте в отношении совместно используемого фильтра) может сигнализироваться. Устройство декодирования видео может быть сконфигурировано для выполнения фильтрации путем применения одной и той же фильтрационной информации ко всем областям обновления на основе совместно используемой фильтрационной информации. Когда фильтрационная информация не используется совместно, устройство декодирования видео может быть сконфигурировано для декодирования фильтрационной информации для каждой области обновления и применения различной фильтрации к каждой области обновления, как описано выше.
[105] Операции фильтрации могут выполняться для изображения, принадлежащего группе IR, последовательно или одновременно как внутри области обновления, так и на границе области обновления. Когда фильтрация выполняется последовательно, устройство декодирования видео сначала фильтрует внутреннюю часть области обновления, когда каждая область обновления декодируется. Например, фильтрация удаления блочности или SAO-фильтрация, описанные выше, могут применяться к внутренней части области обновления. Фильтрация на границе области обновления может выполняться, когда декодирование всех областей обновления завершено, то есть когда декодируются области обновления, включенные в последнее изображение группы IR. Когда фильтрация выполняется одновременно, фильтрация согласно настоящему раскрытию может выполняться внутри области обновления и на границе области обновления в то время, когда декодируется область обновления, включенная в последнее изображение группы IR.
[106] Устройство кодирования видео может быть сконфигурировано сигнализировать информацию, указывающую, используется ли фильтрация согласно настоящему раскрытию для опоры интеризображения для интерпредсказания или для отображения. Устройство декодирования видео может быть сконфигурировано для применения фильтрации согласно настоящему раскрытию при выполнении одной или нескольких опор интеризображений и отображения в соответствии с информацией. Например, когда фильтрация используется как для опирания, так и для отображения, устройство декодирования видео сконфигурировано для хранения отфильтрованного изображения как в запоминающем устройстве для опоры, так и в запоминающем устройстве для отображения. Когда фильтрация используется для опоры и не используется на последующем этапе отображения, отфильтрованное изображение сохраняется в запоминающем устройстве для опоры, а не в запоминающем устройстве для отображения. В качестве альтернативы устройство декодирования видео может быть сконфигурировано для хранения нефильтрованного изображения. Фильтрация может выполняться, когда сохраненное изображение отображается в будущем или используется в качестве опорного изображения.
[107] В другом варианте осуществления устройство кодирования видео может быть сконфигурировано сигнализировать, через заголовок начального изображения (первого изображения на фиг. 5А) или заголовок области обновления, включенной в начальное изображение, информацию положения об изображении, из которого декодирование начинается с опорой на отфильтрованное изображение группы IR. Устройство декодирования видео сконфигурировано для декодирования изображений перед изображением, указанным посредством информации положения, среди изображений, декодированных после декодирования группы IR, с опорой на нефильтрованное изображение в группе IR. Затем декодирование изображения, указанного в информации положения, и последующих изображений выполняется с опорной на отфильтрованные изображения группы IR.
[108] Выше было описано, что устройство декодирования видео выполняет фильтрацию на основе информации, передаваемой устройством кодирования видео. Однако очевидно, что устройство кодирования видео также должно выполнять фильтрацию таким же образом, как устройство декодирования видео, чтобы гарантировать совместимость между устройством кодирования видео и устройством декодирования видео.
[109] Далее описан способ управления запоминающим устройством на основе мозаичного элемента или на основе группы мозаичных элементов. Как описано выше, области обновления могут состоять из одного или более мозаичных элементов. Следовательно, нижеописанный способ управления запоминающим устройством естественно связан с хранением и управлением изображениями группы IR, описанными выше.
[110] Фиг. 13 - примерная блок-схема устройства управления запоминающим устройством для управления запоминающим устройством на основе мозаичных элементов или на основе группы мозаичных элементов согласно варианту осуществления настоящего раскрытия. Когда устройство управления запоминающим устройством реализовано в устройстве кодирования видео и устройстве декодирования видео, описанных выше, его можно использовать для управления DPB в устройствах. Каждый компонент устройства управления запоминающим устройством может быть реализован как аппаратное обеспечение, программное обеспечение или комбинация аппаратного и программного обеспечения. Кроме того, функция каждого компонента может быть реализована как программное обеспечение, и микропроцессор может быть реализован для выполнения функции программного обеспечения, соответствующей каждому компоненту.
[111] Модуль 1310 запоминающего устройства может включать в себя множество запоминающих устройств для хранения восстановленного сигнала. Диспетчер 1320 запоминающего устройства сконфигурирован для хранения и управления восстановленными изображениями в модуле 1310 запоминающего устройства с использованием изображения или группы мозаичных элементов, состоящей из одного или нескольких мозаичных элементов, в качестве единицы хранения. Например, как показано на фиг. 14А, диспетчер 1310 запоминающего устройства может быть сконфигурирован для разделения восстановленного изображения на группы или мозаичные элементы и сохранения разделенных групп или мозаичных элементов в модуле 1310 запоминающего устройства или объединения восстановленных сигналов в единицах групп или мозаичных элементов в одно изображение, и сохранения объединенного изображения в модуле 1310 запоминающего устройства.
[112] Диспетчер 1320 запоминающего устройства может быть сконфигурирован для определения позиции хранения в зависимости от того, является ли целевая группа мозаичных элементов которая должна быть сохранена, МСТ (наборами мозаичных элементов с ограничением движения), которые не позволяют опираться между мозаичными элементами в различных положениях. Например, когда целевая группа мозаичных элементов не является МСТ, опирание между смежными группами мозаичных элементов может быть разрешена. Соответственно, целевая группа мозаичных элементов сохраняется в том же запоминающем устройстве, что и соседние МСТ, для облегчения опирания между группами мозаичных элементов. Когда целевая группа мозаичных элементов представляет собой МСТ, целевой группе мозаичных элементов разрешается только опираться на группу совместно размещенных мозаичных элементов в ранее декодированном изображении. Соответственно, целевая группа мозаичных элементов сохраняется в том же запоминающем устройстве, что и группа совместно размещенных мозаичных элементов в ранее декодированном изображении.
[113] Диспетчер 1320 запоминающего устройства также может быть сконфигурирован для хранения восстановленного сигнала в запоминающем устройстве для каждого изображения. В частности, диспетчер 1320 запоминающего устройства может быть сконфигурирован для хранения восстановленных изображений в том же запоминающем устройстве на основе временного слоя, порядка декодирования или порядка вывода.
[114] Кроме того, когда восстановленный сигнал сохраняется в запоминающем устройстве для каждого изображения, диспетчер 1320 запоминающего устройства может быть сконфигурирован непрерывно сохранять все отсчеты в изображении в запоминающем устройстве или сохранять все отсчеты в изображении с интервалом в один или более отсчетов между группами мозаичных элементов, включенными в изображение. Когда восстановленный сигнал сохраняется в запоминающем устройстве на основе каждой группы мозаичных элементов, диспетчер 1320 запоминающего устройства может быть сконфигурирован непрерывно сохранять группы мозаичных элементов в запоминающем устройстве или сохранять группы мозаичных элементов с интервалом в один или несколько отсчетов между группами мозаичных элементов. В частности, предварительно определенное значение может сохраняться в пространстве памяти, соответствующем интервалу отсчетов между группами мозаичных элементов. Например, можно использовать такое значение, как 128. Определенное значение определяется битовой глубиной пикселя. Например, предварительно определенное значение может быть установлено равным значению, соответствующему половине максимального значения, выраженного битовой глубиной. Когда битовая глубина равна 8, предварительно заданное значение равно 128, что составляет половину от 256 - максимального значения, которое может быть выражено в 8 битах.
[115] Диспетчер 1320 запоминающего устройства может быть сконфигурирован для удаления сохраненных восстановленных сигналов из запоминающего устройства на основе каждого изображения или на основе группы мозаичных элементов, как показано на фиг. 14 В. Диспетчер 1320 запоминающего устройства может быть сконфигурирован для изменения места хранения восстановленного отсчета на основе опорной информации, принятой от устройства кодирования видео. Например, когда на множество групп мозаичных элементов опираются для генерации отсчетов предсказания целевого блока, который должен быть закодирован или декодирован, диспетчер 1320 запоминающего устройства может быть сконфигурирован для идентификации нескольких групп мозаичных элементов из индексной информации в нескольких группах мозаичных элементов, полученных из устройства кодирования видео, и сохранения идентифицированных групп мозаичных элементов в том же запоминающем устройстве. В качестве альтернативы, он может идентифицировать несколько групп мозаичных элементов из позиции опорного блока в опорном изображении, указанной в информации движения (индекс опорного изображения и вектор движения) о целевом блоке, и сохранять идентифицированные группы мозаичных элементов в одной и том же запоминающем устройстве.
[116] Модуль 1330 реконфигурации видео может быть сконфигурирован для приема восстановленных сигналов, хранящихся в запоминающем устройстве, в качестве входных данных и реконфигурации изображения, предназначенное для вывода модулем 1340 вывода видео. Например, когда восстановленные сигналы вводятся из запоминающего устройства на основе каждой группы мозаичных элементов, восстановленные сигналы могут выводиться для каждой группы мозаичных элементов, или входные группы мозаичных элементов могут быть реконфигурированы в одно изображение для вывода на основе каждого изображения. Способ управления запоминающим устройством согласно настоящему раскрытию может поддерживать временную масштабируемость и пространственную масштабируемость для каждой группы мозаичных элементов в одном изображении.
[117] Фиг. 15А-15В - примерные схемы, иллюстрирующие масштабируемость, поддерживаемую способом управления запоминающим устройством, согласно настоящему раскрытию. Как показано на фиг. 15А, которая иллюстрирует временную масштабируемость, группы мозаичных элементов могут кодироваться и декодироваться с разными частотами кадров. Мозаичные элементы, декодируемые с одинаковой частотой кадров, могут храниться в одной и том же запоминающем устройстве. Например, группа 2 мозаичных элементов, закодированная со скоростью 30 кадров в секунду, может храниться в запоминающем устройстве 1, а группы 1 и 3 мозаичных элементов, закодированные со скоростью 15 кадров в секунду, могут храниться в запоминающем устройстве 2. Модуль 1330 реконфигурации видео может быть сконфигурирован реконфигурировать группу 1 мозаичных элементов, хранящуюся в запоминающем устройстве 2, в группу мозаичных элементов, имеющую частоту кадров 30 кадров в секунду, посредством интерполяции с использованием групп совместно размещенных мозаичных элементов, временно смежных с группой 1 мозаичных элементов. Точно так же группа 3 мозаичных элементов может быть переконфигурирована в группу мозаичных элементов, имеющую кадровую частоту в 30 кадров в секунду. После этого модуль реконфигурации видео может объединить группы 1-3 мозаичных элементов для вывода видео с кадровой частотой 30 кадров в секунду.
[118] Как показано на фиг. 15В, который иллюстрирует пространственную масштабируемость, группы мозаичных элементов могут кодироваться и декодироваться с различными пространственными разрешениями. Группа 2 мозаичных элементов может быть декодирована с первым разрешением и сохранена в запоминающем устройстве 1, а группы 1 и 3 мозаичных элементов могут быть декодированы с разрешением, равным половине первого разрешения, и сохранены в запоминающем устройстве 2. Модуль 1330 реконфигурации видео может быть сконфигурирован для реконфигурирования групп мозаичных элементов, хранящихся в запоминающем устройстве 2, в группы мозаичных элементов, имеющих первое разрешение, посредством интерполяции между пикселями. После этого группы 13 мозаичных элементов, имеющие одинаковое разрешение, могут быть объединены для вывода видео, имеющего первое разрешение.
[119] Кроме того, МСТ не позволяют опираться между группами мозаичных элементов в разных положениях. Следовательно, только интерпредсказание, относящееся к группе совместно размещенных мозаичных элементов в опорном изображении, разрешено для целевого блока, который должен быть закодирован или декодирован в МСТ. В настоящем раскрытии предлагается способ обработки, используемый, когда опорный блок, указанный вектором движения целевого блока в МСТ, находится вне группы совместно размещенных мозаичных элементов в опорном изображении.
[120] В варианте осуществления, когда по меньшей мере часть опорного блока, указанного вектором движения целевого блока в МСТ, находится вне группы совмещенных мозаичных элементов, пиксели или отсчеты во внешней области могут быть дополнены одним или несколькими отсчетами внутри совмещенного мозаичного элемента. Например, они могут быть дополнены значениями отсчетов, смежными с границей внутри группы мозаичных элементов.
[121] В качестве альтернативы они могут быть дополнены предварительно определенным значением, например 128. Предварительно определенное значение может быть получено из битовой глубины отсчета, как описано выше. Использование предварительно определенного значения заполнения в качестве значения прогнозирования может быть легко реализовано с помощью вышеописанного способа управления запоминающим устройством. Например, как описано выше, множество групп мозаичных элементов, составляющих одно изображение, может быть сохранено с интервалом в несколько отсчетов, размещенных между группами мозаичных элементов. Предварительно определенное значение, такое как 128, сохраняется в пространстве памяти между группами мозаичных элементов. Соответственно, когда по меньшей мере часть опорного блока, указанного вектором движения целевого блока в МСТ, находится вне группы совместно размещенных мозаичных элементов, значения отсчетов во внешней области автоматически устанавливаются на 128.
[122] В другом варианте осуществления, когда по меньшей мере часть опорного блока, указанная вектором движения целевого блока в МСТ, находится вне области группы совместно размещенных мозаичных элементов, вектор движения целевого блока может быть отрегулирован так, что опорный блок полностью помещается в группу совмещенных мозаичных элементов. Например, вектор движения целевого блока может масштабироваться так, чтобы опорный блок располагался внутри группы совместно размещенных мозаичных элементов.
[123] Следует понимать, что описанные выше примерные варианты осуществления могут быть реализованы множеством различных способов. Функции, описанные в одном или нескольких примерах, могут быть реализованы при помощи аппаратного обеспечения, программного обеспечения, встроенного программного обеспечения или любой их комбинации. Следует понимать, что описанные здесь функциональные компоненты описаны как «модули», чтобы еще больше подчеркнуть их независимость от реализации.
[124] Различные функции или способы, описанные в настоящем раскрытии, могут быть реализованы с помощью инструкций, хранящихся на невременном носителе записи, которые могут быть прочитаны и выполнены одним или несколькими процессорами. Невременный носитель записи включает в себя, например, все типы записывающих устройств, в которых данные хранятся в форме, читаемой компьютерной системой. Например, невременные носители записи включают в себя носители, такие как стираемая программируемая постоянная память (EPROM), флэш-накопители, оптические приводы, магнитные жесткие диски и твердотельные накопители (SSD).
[125] Хотя примерные варианты осуществления были описаны в иллюстративных целях, специалисты в данной области техники поймут, что возможны различные модификации и изменения, не выходящие за рамки концепции и объема вариантов осуществления. Примерные варианты осуществления были описаны для краткости и ясности. Соответственно, специалист поймет, что объем вариантов осуществления не ограничивается вариантами осуществления, явно описанными выше, но включает пункты формулы изобретения и их эквиваленты.
Перекрестная ссылка на родственную заявку
Эта заявка испрашивает приоритет патентной заявки №10-2019-0028371, поданной 12 марта 2019 г. в Корее, патентной заявки №10-2019-0030334, поданной 18 марта 2019 г. в Корее, и патентной заявки №10-.2019-0056985, поданной 15 мая 2019 г. в Корее, полное содержание которой включено в настоящий документ посредством ссылки.