СПОСОБ ВИДЕОКОДИРОВАНИЯ С ИСПОЛЬЗОВАНИЕМ БЛОЧНОГО РАЗБИЕНИЯ ПО БИНАРНОМУ ДЕРЕВУ
METHOD FOR VIDEO CODING WITH USE OF BLOCK DIVISION ONTO BINARY TREE

ССЫЛКА НА ПРЕДШЕСТВУЮЩИЕ ЗАЯВКИ
Настоящее изобретение представляет приоритет заявки на патент РСТ, серийный № PCT/CN2014/093445, поданной 10 декабря 2014 г. Заявка на патент РСТ включена сюда посредством ссылки во всей ее полноте.
ОБЛАСТЬ ТЕХНИКИ
Настоящее изобретение относится к видеокодированию. В частности, настоящее изобретение относится к способам кодирования, связанным с дизайном дерева кодирования, включая процесс разбиения по бинарному дереву на блоки для разбиения области изображения на блоки для различных процессов обработки, как, например, блок дерева кодирования (CTU), блок кодирования (CU), блок прогнозирования (PU) и блок преобразования (TU).
ПРЕДПОСЫЛКИ СОЗДАНИЯ ИЗОБРЕТЕНИЯ
HEVC - это усовершенствованная система видеокодирования, разработанная объединенной группой экспертов по кодированию видеоданных (JCT-VC) из Исследовательской Группы ITU-T (Видеокодирование с высокой эффективностью, Рекомендация ITU-T Н. 265, Серия Н: Аудиовизуальные и мультимедийные системы, инфраструктура аудиовизуальных услуг. Кодирование движущегося видео, Международная Телекоммуникационная Группа, апрель, 2013 г.). В HEVC один срез сначала разбивается на несколько блоков дерева кодирования (CTU). Каждый блок CTU для цветных видео данных включает несколько блоков кодового дерева, которые относятся к различным цветовым компонентам. В основном профиле минимальные и максимальные размеры блоков CTU указаны в виде синтаксических элементов в установке параметров последовательности (SPS) по размеру 8×8, 16×16, 32×32 и 64×64. Для каждого среза для обработки блока CTU используется растровое сканирование.
После чего блок CTU также разбивается на несколько блоков кодирования (CU), настроенных под различные локальные характеристики. Дерево квадрантов, обозначенное как дерево кодирования, используется для разбиения блока CTU на несколько блоков CU. Допустим, размер CTU - М×М, где М может быть 64, 32, или 16. Блок CTU может быть представлен одним блоком кодирования или может быть разбит на четыре меньших по размеру блока М/2×М/2, которые являются узлами дерева кодирования. Если блоки являются концевыми узлами дерева кодирования, они становятся блоками CU. В противном случае, процесс разбиения по дереву квадрантов может повторяться, пока размер узла не достигнет допустимого минимального значения размера CU, указанного в установке параметров последовательности (SPS).
На Фиг. 1А показан пример полученного результата после процесса разбиения на блоки для блока CU с помощью рекурсивного процесса разбиения на блоки по дереву квадрантов. Каждый раз когда блок разбивается по дереву квадрантов, оригинальный блок делится на четыре подблока. На следующем уровне подблок становится новым полноценным блоком, который подлежит дальнейшему разбиению. Во время процесса разбиения на блоки может быть принято решение не делить блок. В таком случае, блок не подлежит дальнейшему разбиению. Процесс разбиения может быть окончен, когда достигнут минимальный размер блоков дерева квадрантов. В некоторых случаях процесс разбиения на блоки может быть окончен, когда глубина разбиения достигает максимального значения. Конечные подблоки в непрерывной линии, имеющие различные размеры блоков, как показано на Фиг. 1А, соответствуют границам блоков кодирования, образованных во время процесса разбиения на блоки. Процесс разбиения на блоки приводит к образованию рекурсивной структуры, которая демонстрирует решения о разбиении на блоки, как показано на Фиг. 1В, а древовидная структура в непрерывных линиях называется деревом кодирования, где каждый концевой узел соответствует блоку CU (т.е. одному конечному подблоку). Решение о том, кодировать ли область изображения с помощью inter- (временное кодирование) или intra-предсказаний (пространственное кодирование) принимается на уровне блока CU. В системе HEVC минимальный размер CU может быть 8×8. Таким образом, минимальная величина разбиения для переключении между резными типами предсказания составляет 8×8.
Что касается процесса прогнозирования (например, inter или intra предсказания) каждый CU в дальнейшем делится на один или несколько блоков прогнозирования (PU). В совокупности с блоком CU блок PU работает как базовый репрезентативный блок для распространения информации о прогнозировании. Внутри одного блока PU применяется такой же процесс прогнозирования, и необходимая информация передается на декодер на базе PU. CU может быть разбит на один, два или четыре блока PU в соответствии с типом разделения PU. Система HEVC выделяет восемь форм для разделения CU на один или несколько блоков PU, как показано на Фиг. 2. В отличии от блока CU блок PU можно разделить только один раз. На Фиг. 2 нижние четыре разделения соответствуют асимметричному разбиению на блоки.
После получения остаточного блока для CU путем применения процесса прогнозирования для одного или нескольких блоков PU, полученных в результате процесса разделения, блок CU можно разбить на блоки преобразования (TU) в соответствии с другой структурой дерева квадрантов, схожей с деревом кодирования для CU. На Фиг. 1А пунктирные линии указывают на полученные границы блоков TU после разбиения по дереву квадрантов каждого блока CU. Блок TU - это базовый репрезентативный блок, имеющий остаточный коэффициент или коэффициент преобразования для осуществления целочисленного преобразования и квантования. Для получения остаточных коэффициентов для каждого блока TU осуществляется одно целочисленное преобразование, имеющее такой же размер как и TU. Данные коэффициенты передаются на декодер после квантования на базе TU.
Условия, блок дерева кодирования (СТВ), блок кодирования (СВ), блок прогнозирования (РВ) и блок преобразования (ТВ) определяются для обозначения двухмерного типового массива данных одного цветного компонента, который ассоциируется с CTU, CU, PU и TU соответственно. Таким образом, CTU состоит из одного блока яркости СТВ, двух блоков цветности СТВ и соответствующих синтаксических элементов. Похожие отношения действительны для блоков CU, PU и TU.
Такой же способ разбиения дерева на блоки обычно применяется для компонентов яркости и цветности, хотя здесь могут быть исключения при достижении указанного минимального размера компонентов цветности.
Текущий процесс разбиения системы HEVC на блоки использует только разбиение по дереву квадрантов для разделения блоков CTU до блоков CU и для разделения блоков CU до блоков TU в рекурсивной манере до достижения минимального предельного значения. С другой стороны, текущая система HEVC допускает до 8 типов разбиения на блоки для блоков PU. Однако разбиение блоков PU осуществляется для каждого блока PU только один раз. Следовательно, существует необходимость дальше улучшать эффективность кодирования, чтобы удовлетворить растущие требования в отношении хранения и передачи видео данных.
КРАТКОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
Раскрыт способ видеокодирования с использованием процесса разбиения на блоки, включая процесс разбиения по бинарному дереву. Процесс разбиения на блоки применяется по отношению к блокам видео данных, чтобы разбить такой блок на конечные подблоки. Процесс кодирования для блоков, включая процесс прогнозирования, процесс преобразования или и то, и другое, применяется на уровне конечного подблока. Процесс разбиения по бинарному дереву на блоки может применяться для заданного блока рекурсивно, в результате чего создаются концевые узлы бинарного дерева. Разбиение одного узла завершается, когда узел достигает минимального допустимого значения концевого узла бинарного дерева или глубины бинарного дерева, которая указывает на то, что узел достиг максимального допустимого значения глубины бинарного дерева. Можно использовать различные типы разбиения по бинарному дереву на блоки для осуществления процесса разбиения по бинарному дереву. Например, типы могут включать симметричные горизонтальные и вертикальные разбиения. Типы могу также включать симметричные горизонтальные и вертикальные разбиения и асимметричные разбиения.
Первый индикатор может подавать сигнал для указанного блока о том, что по отношению к данному блоку применяется процесс бинарного разбиения на блоки. В случае если по отношению к указанному блоку осуществляется бинарный процесс разбиения на блоки, второй индикатор может использоваться для указания типа бинарного разбиения. В случае, если типы содержат симметричные горизонтальные и вертикальные разбиения, 1-разрядный флаг может быть использован для указания симметричного горизонтального или симметричного вертикального разбиения. Второй индикатор может указывать на симметричное вертикальное разбиение, когда высота заданного блока достигает минимального допустимого значения высоты. По такому же принципу, второй индикатор может указывать на симметричное горизонтальное разбиение, когда ширина заданного блока достигает минимального допустимого значения ширины. Минимальная допустимая высота и минимальная допустимая ширина могут быть указаны в виде синтаксических элементов высокого уровня, как, например в установке параметров последовательности (SPS), установке параметров изображения (PPS) или заголовке среза.
Процесс разбиения блоков, основанный на процессе рекурсивного разбиения по бинарному дереву, описанном выше, может использоваться для разбиения CTU (блок дерева кодирования) на CU (блоки кодирования). В одном воплощении все образованные блоки CU используются для процесса прогнозирования, процесса преобразования или для того, и другого соответственно без дальнейшего явного процесса разбиения на блоки. Процесс разбиения на блоки, основанный на рекурсивном разбиении по бинарному дереву и описанный выше, может также использоваться для разбиения изображения на блоки CTU, разреза на блоки CTU, блока CU на блоки PU, блока CU на блоки TU или блока PU на блоки TU.
Блок видео данных для яркостных и неяркостных компонентов в разрезе I может использовать отдельный процесс блочного разбиения по бинарному дереву, или блок видео данных для двух цветовых компонентов в разрезе I использует отдельный процесс блочного разбиения по бинарному дереву. Блок видео данных для каждого цветного компонента в разрезе I может также использовать собственный отдельный процесс блочного разбиения по бинарному дереву.
Когда процесс блочного разбиения по бинарному дереву включает рекурсивный процесс разбиения по бинарному дереву, процесс блочного разбиения может также включать процесс разбиения по дереву квадрантов, поскольку когда во время процесса разбиения по дереву квадрантов принимается решение о разбиении дерева квадрантов по отношению ко второму указанному блоку, этот блок всегда делится на четыре подблока. Процесс разбиения по дереву квадрантов может сначала применяться по отношению к блоку видео данных в рекурсивной манере до процесса блочного разбиения по бинарному дереву, тем самым образуются концевые узлы дерева квадрантов. В соответствии с одним воплощением изобретения процесс блочного разбиения по бинарному дереву применяется по отношению к концевым узлам дерева квадрантов рекурсивно, что приводит к образованию конечных подблоков. Разбиение по дереву квадрантов одного узла завершается, когда узел достигает минимального допустимого значения концевого узла дерева квадрантов или глубины дерева квадрантов, которая указывает на то, что узел достиг максимального допустимого значения глубины дерева квадрантов. Для каждого концевого узла дерева квадрантов с размером блока, не превышающим максимальное допустимое значение размера корневого узла бинарного дерева, может быть продолжен процесс разбиения по бинарному дереву в отношении концевых узлов дерева квадрантов в рекурсивной манере. Разбиение одного узла по бинарному дереву завершается, когда узел достигает минимального допустимого значения концевого узла бинарного дерева или глубины бинарного дерева, которая указывает на то, что узел достиг максимального допустимого значения глубины бинарного дерева.
Минимальный допустимый размер концевого узла дерева квадрантов, максимальное допустимое значение глубины дерева квадрантов, максимальное допустимое значение размера корневого узла бинарного дерева и максимальное допустимое значение размера концевого узла бинарного дерева могут быть указаны в виде синтаксических элементов высокого уровня, как, например, в установке параметров последовательности (5PS), установке параметров изображения (PFS) или заголовке среза.
Процесс разбиения по дереву квадрантов в совокупности с процессом блочного разбиения по бинарному дереву, описанные выше, могут применяться для разбиения блока CTU на блоки CU. В одном воплощении все образованные блоки CU используются для процесса прогнозирования, процесса преобразования или для того, и другого соответственно без дальнейшего явного процесса разбиения на блоки. Также описанный выше процесс разбиения на блоки может использоваться для разбиения изображения на блоки CTU, разреза на блоки CTU, блока CU на блоки PU, блока CU на блоки TU или блока PU на блоки TU. Блок видео данных для яркостных и неяркостных компонентов в разрезе I может использовать отдельный объединенный процесс блочного разбиения по бинарному дереву и дереву квадрантов, или блок видео данных для двух цветностных компонентов в разрезе I использует отдельный объединенный процесс блочного разбиения по бинарному дереву и дереву квадрантов.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг. 1А иллюстрирует пример процесса разбиения дерева квадрантов в соответствии со стандартом HEVC (видеокодирование с высокой эффективностью) для разделения блока CTU (блок дерева кодирования) на блоки CU (блоки кодирования) что показано непрерывными линиями, а также для разделения блока CU на блоки TU (блоки преобразования), что показано пунктирными линиями.
Фиг. 1В иллюстрирует пример дерева разбиения, соответствующего структуре разбиения на блоки, показанной на Фиг. 1А.
Фиг. 2 иллюстрирует существующие типы разбиения для разбиения блока PU (блока прогнозирования) в соответствии со стандартом HEVC (видеокодирование с высокой эффективностью).
Фиг. 3 иллюстрирует пример существующих типов разбиения для процесса блочного разбиения по бинарному дереву в соответствии с воплощением данного изобретения.
Фиг. 4А иллюстрирует пример процесса разбиения по бинарному дереву согласно воплощению данного изобретения для разделения блока видео данных на конечные подблоки для процесса кодирования, который включает процесс прогнозирования, процесс преобразования или и то, и другое.
Фиг. 4В иллюстрирует пример дерева разбиения, соответствующего структуре блочного разбиения, показанной на Фиг. 4А.
На Фиг. 5А показан пример объединенного процесса разбиения по бинарному дереву и дереву квадрантов в соответствии с воплощением данного изобретения для разделения блока видео данных на конечные подблоки для процесса кодирования, который включает процесс прогнозирования, процесс преобразования, или и то, и другое.
Фиг. 5В иллюстрирует пример дерева разбиения, соответствующего структуре блочного разбиения, показанной на Фиг. 5А, где непрерывные линии относятся к процессу разбиения на блоки по дереву квадрантов, а пунктирные линии указывают на процесс блочного разбиения по бинарному дереву.
Фиг. 6 иллюстрирует примерную блок-схему для системы кодирования, использующей процесс блочного разбиения на основе рекурсивного процесса разбиения по бинарному дереву, учтенного в воплощении данного изобретения для разделения блока видео данных на конечные подблоки для процесса кодирования, который включает процесс прогнозирования, процесс преобразования, или и то, и другое.
ПОДРОБНОЕ ОПИСАНИЕ СУЩНОСТИ ИЗОБРЕТЕНИЯ
Следующее описание относится к наиболее предпочтительному способу воплощения изобретения. Это описание сделано с целью иллюстрирования общих принципов изобретения и не должно приниматься в ограничительном смысле. Объем изобретения лучше всего определяется ссылкой на прилагаемую формулу изобретения.
В дампом изобретении раскрыт процесс блочного разбиении ни бинарному дереву. В соответствии с воплощением настоящего изобретения процесс разбиения по бинарному дереву может применяться по отношению к блоку рекурсивно. Каждый раз, когда в процессе разбиения по бинарному дереву принимается решение о разделении заданного блока, заданный блок всегда делится на два меньших по размеру блока, которые в данном описании называются подблоками. Примерные типы разделения в соответствии с одним воплощением представлена на Фиг. 3, который включает два типа симметричного разбиения по бинарному дереву и четыре асимметричных типа разбиения по бинарному дереву. Типы симметричного горизонтального и вертикального разделения - наиболее простые типы разделения, довольно часто они демонстрируют хорошую эффективность кодирования данных. Следовательно, в одном воплощении используются только эти два типа симметричного разбиения по бинарному дереву. Для заданного блока размером M×N может быть подан сигнал флагом, такой сигнал указывает, разделен ли блок на два меньших по размеру блока. Если да, второй синтаксический элемент подает сигнал, который указывает на используемый тип разделения. Если используется горизонтальное разделение, тогда блок делится на два блока размером M×N/2. Если используется вертикальное разделение, тогда блок делится на два блока размером M/2×N. В воплощении, представленном на Фиг. 3 М равно N, однако, настоящее изобретение не имеет ограничений по этому параметру.
В соответствии с настоящим изобретение процесс разделения по бинарному дереву может повторяться до тех пор, пока размер (ширина и высота) блока разделения не достигнет минимального допустимого размера блока (ширина и высота), или же процесс разбиения бинарного дерева не достигнет максимального допустимого значения глубины бинарного дерева. Минимальный допустимый размер блока может быть указан в виде синтаксических элементов высокого уровня, как, например в установке параметров последовательности (SPS), установке параметров изображения (PPS) или заголовке среза. Однако настоящее изобретение не имеет ограничений в данном отношении. Поскольку бинарное дерево имеет два типа разделения (т.е. горизонтальный и вертикальный), указываются оба минимальных значения для ширины и высоты. В некоторых случаях второй синтаксический элемент, указывающий на используемый тип разделения, можно определить логически, тогда нет необходимости подавать сигнал на второй синтаксический элемент. Например, если ширина блока равна минимальному допустимому значению ширины, но блок при этом делится, соответственно применяется горизонтальное разделение. Если применяется вертикальное разбиение, это приведет к образованию подблока со значением ширины, меньше минимального допустимого значения ширины блока. Таким образом, очевидно, что осуществляется горизонтальное разделение, если вертикальное разделение приведет к образованию блока со значением ширины меньше указанного минимального значения. Похожая ситуация возникает, когда осуществляется вертикальное разделение, если горизонтальное разделение приведет к образованию блока со значением высоты меньше указанного минимального значения.
Фиг. 4А иллюстрирует пример процесса разбиения блока с использованием бинарного дерева для разбиения блока на конечные подблоки, а Фиг. 4В иллюстрирует соответствующие деревья разбиения (которые являются бинарными деревьями в данном воплощении). В данном примере типы разбиения включают два типа, соответствующих симметричному горизонтальному и вертикальному разделению. При каждом разделении (т.е. в случае неконцевого узла бинарного дерева) один флаг, указывающий на тип разделения (т.е. горизонтальный или вертикальный) подает сигнал, если появляется 0 - следовательно разделение горизонтальное, если появляется 1 - вертикальное. Каждый конечный подблок соответствует одному концевому узлу бинарного дерева. Другими словами, количество конечных подблоков, указанных на Фиг. 4А совпадает с количеством концевых узлов бинарного дерева.
Первые этапы процесса разбиения показаны подробно. На первом этапе процесса разбиения по бинарному дереву принимается решение о разбиении начального блока (т.е. корневой узел для разбиения по бинарному дереву) с помощью горизонтального разделения, при котором блок разбивается на два подблока, соответствующих верней и нижней части. Первое горизонтальное разделение показано горизонтальной линией (410а) на Фиг. 4А. «0» (410b) приписывается корневому узлу, что указывает на соответствующий процесс разбиения. Далее принимается решение не делить нижнюю часть (обозначенную как подблок «А» на Фиг. 4А), таким образом, разбиение нижней части больше не производится. Следовательно, подблок «А» является конечным подблоком. На следующем этапе верхняя половина делится путем вертикального разделения (420а), таким образом, верхняя половина разбивается на верхний левый подблок и верхний правый подблок. Соответствующему узлу бинарного дерева присваивается значение «1» (420b), что указывает на вертикальное разделение. На Фиг. 4В были приняты условные знаки для обозначения левой ветки для левого подблока в случае вертикального разбиения или верхнего подблока в случае горизонтального разбиения. Как показано на Фиг. 4А по отношению к верхнему левому подблоку также применяет вертикальное разбиение (430а), что приводит к образованию подблоков «В» и «С». Поскольку блоки «В» и «С» не подлежат дальнейшему разбиению, они являются конечными подблоками. Соответствующему узлу бинарного дерева присваивается значение «1» (430b). Подблоки «В» и «С» соответствуют двум концевым узлам бинарного дерева, как показано на Фиг. 4В. Фиг. 4А и 4В иллюстрируют один процесса блочного разбиения по бинарному дереву в соответствии с воплощением данного изобретения. Настоящее изобретение не ограничивается примерами, приведенными на Фиг. 4А и 4В.
Структура бинарного дерева, раскрытая выше, может использоваться для разбиения блока на несколько меньших по размеру блоков (т.е. подблоков), как, например, в случае разбиения изображения на блоки CTU, разреза на блоки CTU, блока CU на блоки PU, блока CU на блоки TU или блока PU на блоки TU, и т.д. В данном воплощении бинарное дерево используется для разделения блока CTU на блоки CU, т.е. корневой узел бинарного дерева является CTU, а концевые узлы бинарного дерева являются CU. Концевые узлы далее обрабатываются путем процессов прогнозирования и преобразования. В данном воплощении нет дальнейшего явного разбиения блоков CU на PU, или CU на TU, что упрощает процесс кодирования. Следовательно, блоки CU также всегда используются как блоки PU и TU. Другими словами, концевые узлы бинарного дерева являются базовыми блоками для процессов прогнозирования и преобразования. В другом воплощении концевые узлы бинарного дерева являются базовыми блоками для процесса прогнозирования (т.е. блок CU всегда используется как PU), однако, требуется также разбиение блока CU на TU. В третьем воплощении концевые узлы бинарного дерева являются базовыми блоками для процесса преобразования (т.е. блок CU всегда используется как TU), однако, требуется также разбиение блока CU на PU.
Структура бинарного дерева более гибкая, чем структура дерева квадрантов, поскольку поддерживает больше форм разбиения. Следовательно, структура бинарного дерева потенциально может улучшить эффективности процесса кодирования. Однако сложность кодирования также возрастает ввиду большего числа поисковых запросов, необходимых для определения наилучшей формы разбиения. Чтобы сбалансировать сложность и эффективность процесса кодирования, было разработано еще одно воплощение настоящего изобретения, объединяющее структуру дерева квадрантов и бинарного дерева, которая в данном описании носит название структура дерева квадрантов плюс бинарного дерева (QTBT). В соответствии со структурой QTBT блок сначала разбивается путем применения процесса разбиения по дереву квадрантов до тех пор, пока размер блоков разделения не достигнет минимального допустимого значения концевых узлов дерева квадрантов, или пока процесс разбиения по дереву квадрантов не достигнет максимального допустимого значения глубины. Если концевой блок дерева квадрантов не больше максимального допустимого значения корневого узла бинарного дерева, он может быть еще разделен с применением процесса разбиения по бинарному дереву. Процесс разделения по бинарному дереву может повторяться до тех пор, пока размер (ширина и высота) блока разделения, соответствующего узлу бинарного дерева, не достигнет минимального допустимого размера концевого узла бинарного дерева (ширина и высота), или же процесс разбиения бинарного дерева не достигнет максимального допустимого значения глубины бинарного дерева.
В структуре QTBT минимальный допустимый размер концевого узла дерева квадрантов, максимальное допустимое значение размера корневого узла бинарного дерева, минимальное допустимое значение размера концевого узла бинарного дерева (ширина и высота) и максимальное допустимое значение глубины бинарного дерева могут быть указаны в виде синтаксических элементов высокого уровня, как, например, в SPS, в PPS или в заголовке среза. Однако настоящее изобретение не имеет ограничений в данном отношении.
Фиг. 5А иллюстрирует пример разбиения блока, а Фиг. 5В иллюстрирует соответствующую структуру QTBT. Непрерывные линии указывают на разделение по дереву квадрантов, а пунктирные линии указывают на разделение по бинарному дереву. При каждом разделении (т.е. в случае неконцевого узла бинарного дерева) один флаг, указывающий на тип разделения (т.е. горизонтальный или вертикальный) подает сигнал, если появляется 0 - следовательно разделение горизонтальное, если появляется 1 - вертикальное. При разделении по дереву квадрантов нет необходимости указывать тип разделения, поскольку блок всегда разбивается горизонтально и вертикально на 4 подблока одинакового размера. Замечено, что процесс разбиения по бинарному дереву может привести к такому же результату, что и процесс QTBT, хотя сами процессы между собой различаются. Процесс разбиения по бинарному дереву обеспечивает более гибкий процесс разделения блоков, который позволяет достичь лучшего соответствия необходимым локальным характеристикам лежащих в основе видео данных для процесса кодирования, включающего процесс прогнозирования, процесс преобразования или и то, и другое.
Структура QTBT, раскрытая выше, может использоваться для разбиения блока на несколько меньших по размеру блоков (т.е. конечных подблоков), как, например, в случае разбиения изображения на блоки CTU, разреза на блоки CTU, блока CTU на блоки CU, блока CU на блоки PU, блока CU на блоки TU или блока PU на блоки TU, и т.д. Например, процесс разбиения QTBT может применяться для разбиения блока CTU на блоки CU, т.е. корневой узел QTBT - это CTU, а концевые узлы QTBT это CU. Блоки CU далее обрабатываются путем процессов прогнозирования и преобразования. В одном воплощении нет дальнейшего явного разбиения блоков CU на PU, или CU на TU, что упрощает процесс кодирования. Другими словами, блоки CU также всегда используются как блоки PU и TU. Следовательно, концевые узлы QTBT являются базовыми блоками для процессов прогнозирования и преобразования. В другом воплощении концевые узлы QTBT являются базовыми блоками для процесса прогнозирования (т.е. блок CU всегда используется как PU), однако, требуется также разбиение блока CU на TU. В третьем воплощении концевые узлы QTBT являются базовыми блоками для процесса преобразования (т.е. блок CU всегда используется как TU), однако, требуется также разбиение блока CU на PU, в одном примере, имеется только тип разделения для разбиения блока CU на PU, поэтому передача какой-либо информации о разбиении PU на декодер не требуется.
В одном примере процесса разбиения QTBT размер CTU установлен на значении 128×128, минимальное допустимое значение концевого узла дерева квадрантов - 16×16, максимальное допустимое значение размера корневого узла бинарного дерева - 64×64, минимальное допустимое значение ширины и высоты концевого узла бинарного дерева установлено на 4, а максимальная допустимая глубина бинарного дерева - 4. Сначала по отношению к блоку CTU применяется процесс разбиения по дереву квадрантов, в результате которого образуются концевые узлы дерева квадрантов. Концевые узлы дерева квадрантов могут иметь размер от 16×16 (т.е. минимальный допустимый размер концевого узла дерева квадрантов) до 128×128 (т.е. размер блока CTU). Если размер концевого узла дерева квадрантов 128×128, он не будет делиться по бинарному дереву, пока его размер превышает максимальное допустимое значение корневого узла бинарного дерева (т.е. 64×64). В противном случае, концевой узел дерева квадрантов далее разбивается по бинарному дереву. Концевой узел дерева квадрантов также является корневым узлом процесса блочного разбиения по бинарному дереву, причем глубина бинарного дерева составляет 0. Когда глубина бинарного дерева достигает 4, что является максимальным значением допустимой глубины бинарного дерева, процесс разбиения завершается. Когда ширина узла бинарного дерева равна 4, вертикальное разделение более невозможно. Аналогично, когда ширина узла бинарного дерева равна 4, вертикальное разделение более невозможно. Концевые узлы дерева QTBT далее обрабатываются в ходе процесса прогнозирования (inter или intra предсказания) и преобразования.
В одном воплощении данного изобретения процесс разбиения, сочетающий структуры дерева квадрантов и бинарного дерева, сначала разбивает блок по структуре бинарного дерева до тех пор, пока не будут достигнуты значения, указывающие на необходимость приостановить данный процесс. Если размер концевого блока бинарного дерева достигает предельно допустимого значения, он может далее разбиваться в соответствии с процессом разбиения по дереву квадрантов. Процесс разбиения по дереву квадрантов может продолжаться, пока не будут достигнуты значения, указывающие на необходимость приостановить данный процесс. Возможные критерии остановки процесса разбиения блоков могут быть связаны с размеров блоков для разделения и/или соответствующим значением глубины дерева.
В другом воплощении блок видео данных разбивается на конечные подблоки с помощью многоуровневого процесса разбиения блоков. Например, первый уровень процесса разбиения блоков - это процесс разбиения по дереву квадрантов, второй уровень процесса разбиения блоков - это процесс разбиения по бинарному дереву, третий уровень процесса разбиения блоков - это снова процесс разбиения по дереву квадрантов. Каждый уровень процесса разбиения блоков будет продолжаться, пока размер блоков разделения и/или соответствующее значение глубины соответствуют заранее установленным предельным значениям. Второй процесс разбиения может применяться, если концевой блок образованный на первом уровне процесса разбиения блока не превышает максимальный допустимый размер первого корневого узла, в то время как третий процесс разбиения может применяться, если концевой блок образованный на втором уровне процесса разбиения блока не превышает максимальный допустимый размер второго корневого узла.
Когда процесс блочного разбиения, описанный выше (т.е. процесс разбиения бинарного дерева или QTBT) применяется по отношению к цветному видео, для яркостных и цветностных компонентов в разрезе I могут применяться отдельные процессы разбиения. Аналогичный процесс разбиения на блоки может применяться и по отношению к яркостным и цветностным компонентам в разрезах Р и В, за исключением тех случаев, когда достигнуто минимальное значение размера цветностных компонентов. Другими словами, в разрезе I яркостный блок СТВ может использовать процесс разбиения по модели QTBT, а два блока цветности СТВ могут использовать отдельный процесс разбиения по модели QTBT. В другом примере, два блока цветности СТВ могут также делиться по отдельным процесса разбиения QTBT.
Эксплуатационные характеристики системы, включающей воплощение настоящего изобретения, сравниваются с характеристиками традиционной системы HEVC. Как было указано выше, традиционная система HEVC использует процесс блочного разбиения по дереву квадрантов, чтобы разделить CTU на один или несколько блоков CU, а CU на один или несколько блоков TU в рекурсивной манере до тех пор, пока не будут достигнуты предельно допустимые значения. Также традиционная система HEVC использует процесс разбиения блоков, включающий симметричное горизонтальное или вертикальное разбиение блока CU на один или несколько блоков PU. Система, включающая воплощение настоящей системы, использует процесс блочного разбиения по модели QTBT, чтобы разбить блок CTU на один или несколько блоков CU. Блоки CU используются для процессов прогнозирования и преобразования без дальнейшего явного разбиения на подблоки. Оценка эксплуатационных характеристик проводится на основе метрики BD-rate (изменение битовой скорости по Бъентегарду), которая широко используется в области кодирования видео данных. На основании различных текстовых данных можно сделать вывод, что система, включающая воплощение настоящего изобретения, демонстрирует значительные улучшения в сравнении с традиционной системой HEVC. Улучшение в отношении яркостных компонентов (т.е. компонент Y) и компонентов цветности (т.е. компоненты U и V) при конфигурации процесса кодирования All Intra (способ сжатия данных, при котором сжимается каждый кадр) и Random Access (сжатие произвольных данных) составило 3% и 8% соответственно по системе BD-Rate. Однако время кодирования также возросло значительно, в то время как время декодирования увеличилось немного.
Фиг. 6 иллюстрирует примерную блик-схему для системы декодирования, использующей процесс разбиения на блоки, включающий воплощение настоящего изобретения. Система получает битовый поток видео данных на этапе 610. Битовый поток видео данных может загружаться из системы хранения данных, как, например, запоминающее устройство компьютера или буферное запоминающее устройство (RAM или) DRAM). Битовый поток видео данных может быть также получен с процесса, как, например, устройство обработки данных или цифровой сигнал. Структура разбиения, соответствующая процессу блочного разбиения, включающая процесс разбиения по бинарному дереву, извлекается из блока видео данных от битового потока видео данных на этапе 620. Структура разбиения представляет собой разбиение блока видео данных на конечные подблоки, а когда в процессе разбиения по бинарному дереву принимается решение применить разбиение по бинарному дереву к одному заданному блоку, один указанный блок всегда делится на два подблока. Конечные подблоки декодируются на основании битового потока видео данных на этапе 630. Блок видео данных декодируется на основании конечных подблоков, декодированных в соответствии с структурой разбиения полученной, как показано, на этапе 640.
Блок-схема, показанная выше, предназначена для иллюстрации примеров видеокодирования, включающих вариант воплощения настоящего изобретения. Специалист в данной области техники может модифицировать каждый этап, повторно организовать этапы, разделить стадию или объединить этапы для практического воплощения настоящего изобретения, не меняя существа последнего.
Вышеприведенное описание представлено для того, чтобы позволить обычному специалисту в данной области техники использовать настоящее изобретение так, как того требует конкретное практическое применение. Различные модификации описанных вариантов воплощения будут очевидны специалистам в данной области техники, а общие принципы, определенные здесь, могут быть применены и к другим вариантам воплощения. Следовательно, настоящее изобретение не ограничено конкретными вариантами применения, показанными и описанными выше, но имеет самую широкую область использования, согласующуюся с раскрытыми здесь принципами и новыми признаками. В приведенном выше подробном описании проиллюстрированы различные конкретные детали, призванные обеспечить полное понимание настоящего изобретения. Тем не менее, специалистам в данной области техники будет понятно, что настоящее изобретение может применяться на практике.
Воплощение настоящего изобретения, как описано выше, может быть реализовано посредством различных аппаратных средств, программных кодах или же комбинациях того и другого. Например, воплощение данного изобретения может представлять собой одну или несколько электронных схем, интегрированных в чип видеосигнала или программный код, встроенный в программное обеспечение сжатия видеоданных, с целью осуществления описанных здесь процессов. Воплощение настоящего изобретения может также быть программным кодом, который должен выполняться процессором цифровых сигналов (DSP), с целью осуществления описанных здесь процессов. Изобретение может также включать в себя ряд функций, которые должны выполняться компьютерным процессором, процессором цифрового сигнала, микропроцессором или же программируемой вентильной матрицей (FPGA). Эти процессоры могут быть сконфигурированы для выполнения конкретных задач в соответствии с изобретением, путем выполнения машинного считывания программного кода или же программного кода, который определяет конкретные способы, воплощенные изобретением. Программный код или код прошивки могут быть разработаны на разных языках программирования и в разных форматах или стилях. Программный код также может быть скомпилирован для разных целевых платформ. Однако разные форматы кода, стили и языки программных кодов, и другие средства конфигурирования кода для выполнения задач в соответствии с изобретением не будут отходить от сущности и объема изобретения.
Изобретение может быть воплощено в других конкретных формах, не утрачивая своей сущности или существенных характеристик. Описанные примеры должны рассматриваться только как иллюстративные во всех отношениях, но не как ограничительные. Таким образом, объем изобретения обозначен прилагаемыми пунктами формулы, а не предшествующим описанием. Бее изменения, которые подпадают под смысл и диапазон эквивалентности пунктов формулы, должны включаться в их объем применения.