Способ и устройство для кодирования видео посредством выполнения внутриконтурной фильтрации на основе блока данных древовидной структуры, и способ и устройство для декодирования видео посредством выполнения того же
Иллюстрации
Показать всеИзобретение относится к вычислительной технике. Технический результат заключается в увеличении скорости сжатия видео. Способ кодирования видео посредством выполнения внутриконтурной фильтрации на основе блоков кодирования осуществляет разделение снимка на максимальный блок кодирования, который является блоком данных, при этом максимальный блок кодирования имеет максимальный размер; отдельное определение блоков кодирования, чтобы выводить результаты кодирования согласно кодированной глубине для более глубоких блоков кодирования, которые иерархически структурированы согласно глубинам, указывающим сколько раз блоки кодирования пространственно разделяют из максимального блока кодирования; определение блока фильтрации, чтобы выполнять внутриконтурную фильтрацию так, чтобы минимизировать ошибку между максимальным блоком кодирования и исходным снимком, на основе блоков кодирования, соответствующих древовидной структуре максимального блока кодирования; и выполнение внутриконтурной фильтрации на основе определенного блока фильтрации. 6 н. и 9 з.п. ф-лы, 24 ил., 2 табл.
Реферат
ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ
Устройства и способы, связанные с иллюстративными вариантами осуществления, относятся к кодированию и декодированию видео.
УРОВЕНЬ ТЕХНИКИ
По мере того, как разрабатывается и предоставляется аппаратное обеспечение для воспроизведения и хранения видеоконтента высокого разрешения или высокого качества, имеется возрастающая необходимость в видеокодеке для эффективного кодирования или декодирования видеоконтента высокого разрешения или высокого качества. В видеокодеке предшествующего уровня техники видео кодируется согласно ограниченному способу кодирования на основе макроблока, имеющего предварительно определенный размер.
Изображение, восстановленное в течение кодирования или декодирования видео, локально может иметь дефектные пиксели. Операция фильтрации по отношению к локально дефектным пикселям может ухудшаться, и скорость сжатия видео вследствие дефектных пикселей может уменьшаться. Таким образом, видеокодек выполняет контурную фильтрацию так, чтобы увеличивать скорость сжатия видео и чтобы улучшать качество восстановленного изображения посредством уменьшения ошибки между исходным изображением и восстановленным изображением.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
Техническая проблема
Устройства и способы, связанные с иллюстративными вариантами осуществления, относятся к кодированию и декодированию видео посредством выполнения внутриконтурной фильтрации.
Решение проблемы
Согласно одному аспекту одного иллюстративного варианта осуществления, обеспечивается способ кодирования видео посредством выполнения внутриконтурной фильтрации на основе блоков кодирования, при этом способ включает в себя: разделение снимка на максимальный блок кодирования, который является блоком данных, при этом максимальный блок кодирования имеет максимальный размер; отдельное определение блоков кодирования для вывода результатов кодирования согласно кодированной глубине для более глубоких блоков кодирования, которые иерархически структурированы согласно глубинам, указывающим количество того, сколько раз блоки кодирования пространственно разделяют из максимального блока кодирования, при этом блоки кодирования находятся в соответствии с древовидной структурой, при этом блоки кодирования являются иерархическими согласно глубинам в одной и той же области в максимальном блоке кодирования и являются независимыми согласно кодированной глубине в других областях; определение блока фильтрации для выполнения внутриконтурной фильтрации так, чтобы минимизировать ошибку между максимальным блоком кодирования и исходным снимком (картинкой), на основе блоков кодирования, соответствующих древовидной структуре максимального блока кодирования; и выполнение внутриконтурной фильтрации на основе определенного блока фильтрации.
ПРЕДПОЧТИТЕЛЬНЫЕ ЭФФЕКТЫ ИЗОБРЕТЕНИЯ
В кодировании и декодировании видео посредством выполнения внутриконтурной фильтрации на основе блоков кодирования, соответствующих древовидной структуре, согласно другому иллюстративному варианту осуществления, используется опорный снимок, подвергнутый внутриконтурной фильтрации, так что может выполняться кодирование с предсказанием при уменьшении ошибки между предсказанным снимком и исходным снимком. Также, определяется блок фильтрации для внутриконтурной фильтрации, на основе определенных блоков кодирования, так что количество бит, используемое, чтобы передавать дополнительную информацию для внутриконтурной фильтрации, может уменьшаться.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 является блок-схемой устройства для кодирования видео посредством выполнения внутриконтурной фильтрации на основе блоков кодирования, соответствующих древовидной структуре, согласно одному иллюстративному варианту осуществления;
Фиг.2 является блок-схемой устройства для декодирования видео посредством выполнения внутриконтурной фильтрации на основе блоков кодирования, соответствующих древовидной структуре, согласно другому иллюстративному варианту осуществления;
Фиг.3 является диаграммой для описания концепции блоков кодирования, соответствующих древовидной структуре, согласно одному иллюстративному варианту осуществления;
Фиг.4 является блок-схемой кодера изображений на основе блоков кодирования, соответствующих древовидной структуре, согласно одному иллюстративному варианту осуществления;
Фиг.5 является блок-схемой декодера изображений на основе блоков кодирования, согласно древовидной структуре согласно одному иллюстративному варианту осуществления;
Фиг.6 является диаграммой, иллюстрирующей более глубокие блоки кодирования, соответствующие глубинам, и фрагменты, согласно одному иллюстративному варианту осуществления;
Фиг.7 является диаграммой для описания отношения между блоком кодирования и блоками преобразования, согласно одному иллюстративному варианту осуществления;
Фиг.8 является диаграммой для описания информации кодирования блоков кодирования, соответствующих кодированной глубине, согласно одному иллюстративному варианту осуществления;
Фиг.9 является диаграммой более глубоких блоков кодирования, соответствующих глубинам, согласно одному иллюстративному варианту осуществления;
Фиг.10-12 являются диаграммами для описания отношения между блоками кодирования, блоками предсказания, и блоками преобразования, согласно одному иллюстративному варианту осуществления;
Фиг.13 является диаграммой для описания отношения между блоком кодирования, блоком предсказания или фрагментом, и блоком преобразования, согласно информации режима кодирования из Таблицы 1;
Фиг.14 является блок-схемой системы кодирования и декодирования видео, выполняющей внутриконтурную фильтрацию согласно одному иллюстративному варианту осуществления;
Фиг.15 и 16 иллюстрируют пример блоков фильтрации, соответствующих древовидной структуре, которые содержатся в максимальном блоке кодирования, информации разделения блока фильтрации и информации выполнения фильтрации, согласно одному иллюстративному варианту осуществления;
Фиг.17 иллюстрирует максимальные блоки кодирования и блоки данных, включающие в себя фрагменты и включающие в себя блоки кодирования, соответствующие древовидной структуре, которые содержатся в каждом из максимальных блоков кодирования, согласно одному иллюстративному варианту осуществления;
Фиг.18-21 соответственно иллюстрируют блоки фильтрации слоев фильтрации по отношению к блокам данных из фиг.17;
Фиг.22 иллюстрирует блоки фильтрации слоя фильтрации и информацию выполнения внутриконтурной фильтрации по отношению к блокам данных из фиг.17;
Фиг.23 является блок-схемой последовательности операций способа кодирования видео посредством выполнения внутриконтурной фильтрации на основе блоков кодирования, соответствующих древовидной структуре, согласно одному иллюстративному варианту осуществления; и
Фиг.24 является блок-схемой последовательности операций способа декодирования видео посредством выполнения внутриконтурной фильтрации на основе блоков кодирования, соответствующих древовидной структуре, согласно другому иллюстративному варианту осуществления.
НАИЛУЧШИЙ ВАРИАНТ ОСУЩЕСТВЛЕНИЯ ДЛЯ ВЫПОЛНЕНИЯ ИЗОБРЕТЕНИЯ
Согласно одному аспекту одного иллюстративного варианта осуществления обеспечивается способ кодирования видео посредством выполнения внутриконтурной фильтрации на основе блоков кодирования, при этом способ включает в себя: разделение снимка на максимальный блок кодирования, который является блоком данных, при этом максимальный блок кодирования имеет максимальный размер; отдельное определение блоков кодирования для вывода результатов кодирования согласно кодированной глубине для более глубоких блоков кодирования, которые иерархически структурированы согласно глубинам, указывающим количество того, сколько раз блоки кодирования пространственно разделяют из максимального блока кодирования, при этом блоки кодирования находятся в соответствии с древовидной структурой, при этом блоки кодирования являются иерархическими согласно глубинам в одной и той же области в максимальном блоке кодирования и являются независимыми согласно кодированной глубине в других областях; определение блока фильтрации для выполнения внутриконтурной фильтрации так, чтобы минимизировать ошибку между максимальным блоком кодирования и исходным снимком, на основе блоков кодирования, соответствующих древовидной структуре максимального блока кодирования; и выполнение внутриконтурной фильтрации на основе определенного блока фильтрации.
Определение блока фильтрации может включать в себя определение блока фильтрации на основе блоков кодирования, соответствующих древовидной структуре максимального блока кодирования.
Определение блока фильтрации может включать в себя определение блока фильтрации на основе блоков кодирования, соответствующих древовидной структуре максимального блока кодирования, и на основе фрагментов, которые являются блоками данных для кодирования с предсказанием каждого блока кодирования, соответствующего кодированной глубине.
Определение блока фильтрации может включать в себя определение блока данных как блока фильтрации, при этом блок данных получается посредством разделения или слияния одного или более из блоков кодирования, соответствующих древовидной структуре.
Определение блока фильтрации может включать в себя использование блоков кодирования, соответствующих древовидной структуре, в качестве значений предсказания блока фильтрации.
Определение блока фильтрации может включать в себя определение слоя фильтрации из слоев, соответствующих глубинам блоков кодирования, соответствующих древовидной структуре, и определение иерархических блоков данных вплоть до слоя фильтрации в качестве блока фильтрации.
Слой (уровень) фильтрации может определяться как один из слоев от начального слоя каждого максимального блока кодирования до конечного слоя, указывающего самую нижнюю глубину из блоков кодирования, соответствующих древовидной структуре максимального блока кодирования.
По отношению к слою фильтрации, слой верхнего предела и слой нижнего предела могут устанавливаться между начальным слоем и конечным слоем.
Способ может дополнительно включать в себя кодирование информации о внутриконтурной фильтрации и передачу закодированной информации о внутриконтурной фильтрации, закодированных данных снимка и закодированной информации режима о блоках кодирования, соответствующих древовидной структуре каждого максимального блока кодирования, согласно блоку фильтрации.
Информация о внутриконтурной фильтрации может включать в себя, по меньшей мере, одно из информации слоя фильтрации о слое фильтрации, определенном как один из слоев более глубоких блоков кодирования так, чтобы определять блоки фильтрации по отношению к блокам кодирования, соответствующим древовидной структуре, информации выполнения внутриконтурной фильтрации, указывающей выполнение внутриконтурной фильтрации для блоков фильтрации, информации коэффициентов фильтра для внутриконтурной фильтрации и информации о слое верхнего предела и слое нижнего предела слоя фильтрации.
Выполнение внутриконтурной фильтрации может включать в себя установку информации выполнения внутриконтурной фильтрации, указывающей выполнение внутриконтурной фильтрации для блока фильтрации.
Определение блока фильтрации может включать в себя отдельное определение блока фильтрации для компонента яркости цветового компонента и блока фильтрации для компонента хроматичности цветового компонента.
Определение блока фильтрации может включать в себя предсказывание блока фильтрации для компонента хроматичности посредством ссылки на блок фильтрации для компонента яркости цветового компонента.
Определение блока фильтрации может включать в себя применение одного и того же блока фильтрации для всех максимальных блоков кодирования в текущем снимке.
Блоки фильтрации могут отдельно определяться согласно одному из блоков данных, включающих в себя снимок, последовательность снимка, кадр, поле, и максимальный блок кодирования.
Выполнение внутриконтурной фильтрации может включать в себя выполнение внутриконтурной фильтрации посредством выбора типа фильтра из множества типов фильтра.
Выполнение внутриконтурной фильтрации может дополнительно включать в себя установку информации выполнения внутриконтурной фильтрации для каждого из блоков фильтрации, при этом информация выполнения внутриконтурной фильтрации указывает выполнение внутриконтурной фильтрации и указывает тип фильтра, выбранный из множества типов фильтра.
Информация выполнения внутриконтурной фильтрации может включать в себя флаг для различения случая, в котором выполняется внутриконтурная фильтрация с использованием предварительно определенного типа фильтра, от случая, в котором внутриконтурная фильтрация с использованием предварительно определенного типа фильтра не выполняется.
Информация выполнения внутриконтурной фильтрации может устанавливаться так, чтобы различать типы фильтра, классифицированные согласно предварительно определенным характеристикам изображения блоков фильтрации или согласно символам кодирования блоков фильтрации.
Выполнение внутриконтурной фильтрации может дополнительно включать в себя генерирование коэффициента фильтра так, чтобы выполнять внутриконтурную фильтрацию над блоками фильтрации.
Передача может включать в себя вставку информации внутриконтурной фильтрации в набор параметров последовательности (SPS) или набор параметров снимка (PPS) снимка и передачу вставленной информации внутриконтурной фильтрации.
Согласно одному аспекту другого иллюстративного варианта осуществления, обеспечивается способ декодирования видео посредством выполнения внутриконтурной фильтрации на основе блоков кодирования, при этом способ включает в себя: синтаксический разбор принятого битового потока и извлечение данных изображения, закодированных для каждого из блоков кодирования, на основе блоков кодирования, соответствующих древовидной структуре, которые содержатся в максимальном блоке кодирования, полученном посредством разделения текущего снимка, извлечение закодированной информации режима о блоках кодирования, соответствующих древовидной структуре, и извлечение информации о внутриконтурной фильтрации максимального блока кодирования; декодирование извлеченных данных изображения, на основе извлеченной закодированной информации режима, которая извлекается для максимального блока кодирования; определение, с использованием информации о внутриконтурном фильтре, блока фильтрации для внутриконтурной фильтрации на основе блоков кодирования, соответствующих древовидной структуре максимального блока кодирования; и выполнение внутриконтурной фильтрации над декодированными данными изображения максимального блока кодирования согласно блокам фильтрации.
Определение блока фильтрации может включать в себя определение блока фильтрации на основе блоков кодирования, соответствующих древовидной структуре максимального блока кодирования, посредством ссылки на извлеченную информацию о внутриконтурной фильтрации.
Определение блока фильтрации может включать в себя определение блока фильтрации на основе блоков кодирования, соответствующих древовидной структуре максимального блока кодирования, и на основе фрагментов, которые являются блоками данных для кодирования с предсказанием каждого блока кодирования, соответствующего кодированной глубине, посредством ссылки на информацию о внутриконтурной фильтрации.
Определение блока фильтрации может включать в себя определение блока данных как блока фильтрации, при этом блок данных получается посредством разделения или слияния одного или более из блоков кодирования, соответствующих древовидной структуре, посредством ссылки на информацию о внутриконтурной фильтрации.
Определение блока фильтрации может включать в себя использование блоков кодирования, соответствующих древовидной структуре, в качестве значений предсказания блока фильтрации, посредством ссылки на информацию о внутриконтурной фильтрации.
Определение блока фильтрации может включать в себя определение иерархических блоков данных вплоть до слоя фильтрации в качестве блока фильтрации, согласно информации слоя фильтрации.
Выполнение внутриконтурной фильтрации может включать в себя определение выполнения внутриконтурной фильтрации для каждого из блоков кодирования, соответствующих древовидной структуре максимального блока кодирования, на основе информации выполнения внутриконтурной фильтрации.
Выполнение внутриконтурной фильтрации может включать в себя выполнение внутриконтурной фильтрации посредством выбора типа фильтра из множества типов фильтра, на основе информации выполнения внутриконтурной фильтрации.
Способ может дополнительно включать в себя выполнение декодирования с предсказанием над следующим снимком посредством ссылки на текущий снимок, для которого выполняется внутриконтурная фильтрация.
Согласно одному аспекту другого иллюстративного варианта осуществления, обеспечивается устройство кодирования видео для кодирования видео посредством выполнения внутриконтурной фильтрации на основе блоков кодирования, при этом устройство кодирования видео включает в себя: блок определения блоков кодирования, который разделяет снимок на максимальный блок кодирования, который является блоком данных, при этом максимальный блок кодирования имеет максимальный размер, отдельно определяет блоки кодирования для вывода результатов кодирования согласно кодированной глубине для более глубоких блоков кодирования, которые иерархически структурированы согласно глубинам, указывающим количество того, сколько раз блоки кодирования пространственно разделяются из максимального блока кодирования, и определяет блоки кодирования, соответствующие древовидной структуре, при этом блоки кодирования являются иерархическими согласно глубинам в одной и той же области в максимальном блоке кодирования и являются независимыми согласно кодированной глубине в других областях; блок внутриконтурной фильтрации, который определяет блок фильтрации для выполнения внутриконтурной фильтрации так, чтобы минимизировать ошибку между максимальным блоком кодирования и исходным снимком, на основе блоков кодирования, соответствующих древовидной структуре максимального блока кодирования, и выполняет внутриконтурную фильтрацию на основе блока фильтрации; и блок передачи, который кодирует информацию о внутриконтурной фильтрации и передает закодированную информацию о внутриконтурной фильтрации, закодированные данные снимка и закодированную информацию режима о блоках кодирования, соответствующих древовидной структуре максимального блока кодирования, в блоках блоков фильтрации.
Согласно одному аспекту другого иллюстративного варианта осуществления, обеспечивается устройство декодирования видео для декодирования видео посредством выполнения внутриконтурной фильтрации на основе блоков кодирования, при этом устройство декодирования видео включает в себя: блок приема и извлечения, который осуществляют синтаксический разбор принятого битового потока и извлекает данные изображения, закодированные для каждого из блоков кодирования на основе блоков кодирования, соответствующих древовидной структуре, которые содержатся в максимальном блоке кодирования, полученном посредством разделения текущего снимка, извлекает закодированную информацию режима о блоках кодирования, соответствующих древовидной структуре, и извлекает информацию о внутриконтурной фильтрации максимального блока кодирования; блок декодирования, который декодирует данные изображения, закодированные для каждого блока кодирования, на основе закодированной информации режима о блоках кодирования, соответствующих древовидной структуре, которая извлекается для максимального блока кодирования; и блок выполнения внутриконтурной фильтрации, который определяет, посредством использования информации о внутриконтурной фильтрации, блок фильтрации для внутриконтурной фильтрации на основе блоков кодирования, соответствующих древовидной структуре максимального блока кодирования, и выполняет внутриконтурную фильтрацию над декодированными данными изображения максимального блока кодирования согласно блоку фильтрации.
Согласно одному аспекту другого иллюстративного варианта осуществления, обеспечивается машиночитаемый носитель записи, имеющий записанную на нем программу для выполнения способа кодирования видео посредством выполнения внутриконтурной фильтрации на основе блоков кодирования.
Согласно одному аспекту другого иллюстративного варианта осуществления, обеспечивается машиночитаемый носитель записи, имеющий записанную на нем программу для выполнения способа декодирования видео посредством выполнения внутриконтурной фильтрации на основе блоков кодирования.
Вариант осуществления изобретения
Ниже иллюстративные варианты осуществления будут описываться подробно со ссылкой на прилагаемые чертежи.
Фиг.1 является блок-схемой устройства для кодирования видео посредством выполнения внутриконтурной фильтрации на основе блоков кодирования, соответствующих древовидной структуре 100, согласно одному иллюстративному варианту осуществления.
Устройство для кодирования видео посредством выполнения внутриконтурной фильтрации на основе блоков кодирования, соответствующих древовидной структуре 100 (в дальнейшем, указываемое как 'устройство 100 кодирования видео') включает в себя блок 110 определения блока кодирования, блок 120 внутриконтурной фильтрации и блок 130 передачи.
Блок 110 определения блока кодирования принимает данные изображения одного снимка видео и разделяет данные изображения посредством использования максимального блока кодирования, который является блоком данных, имеющим максимальный размер. Максимальный блок кодирования согласно одному иллюстративному варианту осуществления может быть блоком данных, имеющим размер 32×32, 64×64, 128×128, 256×256 и т.д., при этом форма блока данных является квадратом, имеющим ширину и длину, каждая из которых кратна 2 и больше, чем 8.
Для каждого максимального блока кодирования, блок 110 определения блока кодирования определяет блоки кодирования, соответствующие древовидной структуре, для каждой из областей, которые пространственно разделены.
Блоки кодирования максимального блока кодирования выражаются на основе глубины, указывающей количество того, сколько раз блок кодирования пространственно разделяется из максимального блока кодирования. Блоки кодирования, соответствующие древовидной структуре, включают в себя блоки кодирования, соответствующие глубине, определенной как кодированная глубина, из всех более глубоких блоков кодирования, соответствующих глубинам, которые содержатся в максимальном блоке кодирования. Блоки кодирования, соответствующие кодированной глубине, могут иерархически определяться согласно глубине в одной и той же области в максимальном блоке кодирования и могут независимо определяться в других областях.
Блок 110 определения блока кодирования может кодировать более глубокие блоки кодирования, соответствующие глубинам, включенным в текущий максимальный блок кодирования, может сравнивать результаты кодирования по отношению к блокам кодирования, соответствующим более высокой глубине и более низкой глубине, для каждой области, и может определять блок кодирования и кодированную глубину, соответствующую блоку кодирования, который выводит оптимальный результат кодирования. Также кодированная глубина текущей области может определяться отдельно от кодированной глубины другой области.
Соответственно, блок 110 определения блоков кодирования может определять блоки кодирования, соответствующие древовидной структуре, сформированной из блоков кодирования, соответствующих кодированным глубинам, которые отдельно определяются для каждой области и для каждого максимального блока кодирования. Также блок 110 определения блоков кодирования выполняет кодирование предсказания, когда определяется блок кодирования, соответствующий кодированной глубине. Блок 110 определения блоков кодирования может определять блок предсказания или фрагмент, который является блоком данных, посредством которого блок кодирования, соответствующий кодированной глубине, выполняет кодирование предсказания так, чтобы выводить оптимальный результат кодирования. Например, фрагментный тип по отношению к блоку кодирования, имеющему размер 2N×2N, может включать в себя фрагменты, имеющие размер 2N×2N, 2N×N, N×2N и N×N. Фрагментный тип согласно одному иллюстративному варианту осуществления может включать в себя не только симметричные фрагменты, полученные посредством разделения высоты или ширины блока кодирования согласно симметричному соотношению, но также избирательно включать в себя фрагменты, разделенные согласно асимметричному соотношению 1:n или n:1, фрагменты, которые разделены геометрически, фрагменты, имеющие случайные формы, или подобное. Режим предсказания фрагментного типа может включать в себя внешний режим, внутренний режим, режим пропуска и подобное.
Блок кодирования согласно одному иллюстративному варианту осуществления может характеризоваться максимальным размером и глубиной. Глубина обозначает количество того, сколько раз блок кодирования иерархическим образом разделяется из максимального блока кодирования, и, по мере того, как глубина становится глубже, более глубокие блоки кодирования, соответствующие глубинам, могут разделяться из максимального блока кодирования до минимального блока кодирования. Глубина максимального блока кодирования является самой верхней глубиной и глубина минимального блока кодирования является самой нижней глубиной. Так как размер блока кодирования, соответствующего каждой глубине, уменьшается по мере того, как глубина максимального блока кодирования становится глубже, блок кодирования, соответствующий более высокой глубине, может включать в себя множество блоков кодирования, соответствующих более низким глубинам.
Самая верхняя глубина обозначает количество того, сколько раз блок кодирования данных изображения разделяется из максимального блока кодирования в минимальный блок кодирования. Также самая верхняя глубина может обозначать полное количество раз разделений от максимального блока кодирования к минимальному блоку кодирования. Например, когда глубина максимального блока кодирования равняется 0, глубина блоков кодирования, полученных посредством разделения максимального блока кодирования однократно, может устанавливаться как 1, и глубина блоков кодирования, полученных посредством разделения максимального блока кодирования дважды, может устанавливаться как 2. В этом случае, если минимальный блок кодирования обозначает блоки кодирования, полученные посредством разделения максимального блока кодирования четыре раза, уровень глубины включает в себя глубину 0, 1, 2, 3, и 4, и максимальная глубина может устанавливаться как 4.
Способ определения блоков кодирования и фрагментов, соответствующих древовидной структуре максимального блока кодирования, согласно иллюстративным вариантам осуществления, будет описываться подробно со ссылкой на фиг.3-13.
Блок 120 внутриконтурной фильтрации определяет блок фильтрации для выполнения внутриконтурной фильтрации, на основе блоков кодирования, соответствующих древовидной структуре максимального блока кодирования, которые определяются посредством блока 110 определения блоков кодирования, и выполняет внутриконтурную фильтрацию согласно блоку фильтрации.
Блок 120 внутриконтурной фильтрации может определять блок фильтрации на основе блоков кодирования и фрагментов, соответствующих древовидной структуре максимального блока кодирования. Например, блок фильтрации может определяться посредством разделения или слияния одного или более блоков данных блоков кодирования и фрагментов, соответствующих древовидной структуре. Также блок фильтрации может предсказываться таким образом, что блоки кодирования и фрагменты, соответствующие древовидной структуре, используются как значения предсказания для блока фильтрации.
Блок 120 внутриконтурной фильтрации согласно одному иллюстративному варианту осуществления может определять слой фильтрации из слоев, соответствующих глубинам блока кодирования среди блоков кодирования, соответствующих древовидной структуре максимального блока кодирования, и может определять иерархические блоки кодирования и фрагменты, соответствующие слою фильтрации, как блок фильтрации.
Блок 120 внутриконтурной фильтрации согласно другому иллюстративному варианту осуществления может определять слой фильтрации посредством включения в себя фрагментных слоев и слоев, соответствующих глубинам блока кодирования, и может определять иерархические блоки кодирования и фрагменты вплоть до слоя фильтрации как блок фильтрации. Таким образом, слой фильтрации согласно одному иллюстративному варианту осуществления может быть одним из слоев от начального слоя максимального блока кодирования до конечного слоя, указывающего минимальный блок кодирования или блок предсказания из блоков кодирования, соответствующих древовидной структуре максимального блока кодирования.
Также, слой верхнего предела и слой нижнего предела могут устанавливаться между начальным слоем и конечным слоем, так что слой фильтрации может определяться между слоем верхнего предела и слоем нижнего предела.
По отношению к каждому блоку фильтрации блок 120 внутриконтурной фильтрации может устанавливать информацию выполнения внутриконтурной фильтрации, указывающую выполнение внутриконтурной фильтрации, информацию о начальном слое и конечном слое слоя фильтрации и информацию о слое верхнего предела и слое нижнего предела.
Блок 120 внутриконтурной фильтрации может отдельно выполнять внутриконтурную фильтрацию над компонентом яркости цветового компонента и внутриконтурную фильтрацию над компонентом хроматичности. Таким образом, блок 120 внутриконтурной фильтрации может отдельно определять блок фильтрации для компонента яркости и блок фильтрации для компонента хроматичности. Также блок 120 внутриконтурной фильтрации может предсказывать блок фильтрации для компонента хроматичности посредством ссылки на блок фильтрации для компонента яркости.
Блок 120 внутриконтурной фильтрации может применять один и тот же блок фильтрации ко всем максимальным блокам кодирования в снимке. Блок 120 внутриконтурной фильтрации может применять один и тот же блок фильтрации к текущему кадру.
Однако блок 120 внутриконтурной фильтрации может применять разные блоки фильтрации к максимальным блокам кодирования в снимке. Например, блок фильтрации может определяться согласно одному из блоков данных, включающих в себя последовательность, снимок, кадр, поле, и максимальный блок кодирования, так что один и тот же блок фильтрации может применяться к одному и тому же блоку данных.
Блок 120 внутриконтурной фильтрации может устанавливать информацию выполнения внутриконтурной фильтрации, указывающую выполнение внутриконтурной фильтрации, по отношению к каждому блоку фильтрации. Также блок 120 внутриконтурной фильтрации может выполнять внутриконтурную фильтрацию посредством выбора одного из множества типов фильтра. Соответственно, для каждого определенного блока фильтрации, блок 120 внутриконтурной фильтрации может устанавливать информацию выполнения внутриконтурной фильтрации, указывающую как выполнение внутриконтурной фильтрации, так и тип фильтра, выбранный из множества типов фильтра.
Информация выполнения внутриконтурной фильтрации может быть флагом для различения случая, в котором выполняется внутриконтурная фильтрация с использованием предварительно определенного типа фильтра, от случая, в котором внутриконтурная фильтрация с использованием предварительно определенного типа фильтра не выполняется. Также информация выполнения внутриконтурной фильтрации может устанавливаться так, чтобы различать типы фильтра, которые используются во внутриконтурной фильтрации и классифицируются согласно предварительно определенной характеристике. В дополнение, информация выполнения внутриконтурной фильтрации может устанавливаться так, чтобы различать типы фильтра, которые классифицируются согласно символам кодирования.
Внутриконтурная фильтрация выполняется, чтобы минимизировать ошибку между предсказанным снимком и исходным снимком. Таким образом, блок 120 внутриконтурной фильтрации может использовать адаптивный фильтр так, чтобы минимизировать ошибку между максимальным блоком кодирования предсказанного снимка и соответствующей областью исходного снимка. Соответственно, блок 120 внутриконтурной фильтрации может генерировать коэффициент фильтра в блоке фильтрации так, чтобы выполнять внутриконтурную фильтрацию, и может устанавливать информацию коэффициентов фильтра.
Блок 130 передачи может кодировать информацию внутриконтурной фильтрации, определенную посредством блока 120 внутриконтурной фильтрации, и может передавать информацию внутриконтурной фильтрации вместе с закодированными данными снимка и информацию режима кодирования о блоках кодирования, соответствующих древовидной структуре максимального блока кодирования. Блок 130 передачи передает информацию внутриконтурной фильтрации, закодированные данные и информацию режима кодирования о блоках кодирования посредством блока блока фильтрации.
Информация внутриконтурной фильтрации может включать в себя информацию слоя фильтрации о блоках кодирования, соответствующих древовидной структуре, информацию выполнения внутриконтурной фильтрации, указывающую выполнение внутриконтурной фильтрации для каждого блока фильтрации, информацию коэффициентов фильтра для внутриконтурной фильтрации и информацию о слое верхнего предела и слое нижнего предела слоя фильтрации.
Блок 130 передачи может вставлять информацию внутриконтурной фильтрации в набор параметров последовательности (SPS) или набор параметров снимка (PPS) снимка и затем может передавать информацию внутриконтурной фильтрации.
Определение блока фильтрации для внутриконтурной фильтрации и кодирование информации выполнения внутриконтурной фильтрации согласно иллюстративным вариантам осуществления будут описываться подробно со ссылкой на фиг.14-24.
Блок 110 определения блоков кодирования может определять блоки кодирования, имеющие оптимальную форму и оптимальный размер для каждого из максимальных блоков кодирования, на основе размера максимального блока кодирования и максимальной глубины, определенной при рассмотрении характеристик текущего снимка. Также, так как кодирование может выполняться над каждым максимальным блоком кодирования посредством использования любого из различных режимов предсказания и преобразований, режим оптимального кодирования может определяться при рассмотрении характеристик блока кодирования различных размеров изображения.
Таким образом, если изображение, имеющее высокое разрешение или большую величину данных кодируется в макроблоке предшествующего уровня техники, имеющем фиксированный размер 16x16 или 8x8, количество макроблоков в расчете на снимок избыточным образом увеличивается. Соответственно, количество частей сжатой информации, сгенерированной для каждого макроблока, увеличивается, и, таким образом, является трудным передавать сжатую информацию и эффективность сжатия данных уменьшается. Однако посредством использования блока 110 определения блоков кодир