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

Изобретение относится к средствам для кодирования и декодирования изображений. Технический результат заключается в повышении эффективности кодирования. Определяют блок кодового дерева (CTU), соответствующий блоку изображения, подлежащего кодированию. Разделяют CTU в режиме разделения узла, соответствующем кодовому дереву первого уровня, для получения листового узла кодового дерева первого уровня. Корневой узел кодового дерева первого уровня соответствует CTU. Разделяют первый узел кодового дерева второго уровня на три дочерних узла с использованием режима горизонтального троичного разделения или режима вертикального троичного разделения. Корневой узел кодового дерева второго уровня представляет собой листовой узел кодового дерева первого уровня. Определяют режим разделения дочернего узла А первого узла из набора кандидатов режима разделения. В наборе кандидатов режима разделения отсутствует режим горизонтального бинарного разделения или режим вертикального бинарного разделения, когда первый узел кодового дерева второго уровня разделен посредством режима горизонтального троичного разделения или режима вертикального троичного разделения соответственно. Разделяют дочерний узел А. 6 н. и 12 з.п. ф-лы, 10 ил., 13 табл.

 

Область техники, к которой относится изобретение

Варианты осуществления настоящего изображения относятся к области обработки изображения и, в частности, к способу и устройству кодирования данных изображения, способу и устройству декодирования данных изображения.

Уровень техники

В видеокодеке стандарта H.265 кадр изображения разбивают на блоки кодового дерева (Coding Tree Unit, CTU), которые не перекрывают друг друга, и каждый CTU используют в качестве корневого узла дерева квадрантов (Quad-Tree, QT). Каждый CTU рекурсивно разделен на несколько листовых узлов на основании QT структуры. Каждый узел в QT структуре соответствует одной области изображения. Если узел больше не разделяют, то узел называется листовым узлом, и область изображения, соответствующая узлу, формирует блок кодирования (Coding Unit, CU). Таким образом, можно считать, что H.265 представляет собой процесс разделения CTU на группу CUs. Режим разделения для разделения CTU на группу CUs соответствует одному кодовому дереву (coding tree).

Совместная исследовательская группа по усовершенствованию кодирования видео (Joint Exploration on Future Video Coding, JVET) в рамках совместной исследовательской модели (Joint Exploration Model, JEM) предложила QTBT режим разделения. Более конкретно, узлы в кодовом дереве первого уровня используют QT режим разделения и узлы в кодовом дереве второго уровня используют режим разделения двоичного дерева (Binary Tree, BT) (ВТ режим разделения включает в себя «горизонтальное бинарное разделение» и «вертикальное бинарное разделение»). В частности, CTU сначала разделяют в QT режиме разделения для получения нескольких QT листовых узлов; и QT листовой узел может быть разделен в ВТ режиме разделения. CU формы более диверсифицированы в QTBT режиме разделения, что позволит лучше адаптироваться к контенту локального изображения.

Однако для каждого узла устройство кодирования обычно должно вычислить стоимость искажения скорости (Rate Distortion cost, RD cost) каждого режима разделения, который может быть использован узлом, сравнить вычисленную RD стоимость и определить режим разделения, соответствующий наименьшей RD стоимости, как режим разделения узла. Таким образом, для каждого узла устройство кодирования должно вычислить RD стоимости множества режимов разделения и, следовательно, сложность кодирования является относительно высокой.

Раскрытие сущности изобретения

Варианты осуществления настоящего изобретения обеспечивают способ и устройство кодирования данных изображения, и способ и устройство декодирования данных изображения для решения технической задачи по снижению высокой сложности кодирования.

Для решения вышеизложенной задачи используют следующие технические решения в вариантах осуществления настоящего изобретения.

В соответствии с первым аспектом предложен способ декодирования данных изображения. После получения битового потока, включающего в себя данные изображения, устройство декодирования выполняет синтаксический анализ битового потока для получения информации режима разделения узла кодового дерева первого уровня и информации режима разделения узла кодового дерева второго уровня, где информация режима разделения узла кодового дерева второго уровня указывает режим разделения, соответствующий первому узлу кодового дерева второго уровня, режим разделения, соответствующий первому узлу, является одним режимом в наборе кандидатов режима разделения, соответствующем первому узлу, набор кандидатов режима, соответствующий первому узлу, определяют в соответствии с первым заданным условием разделения, первое заданное условие разделения используют для указания, следует ли ограничить разделение первого узла целевым режимом разделения, и целевой режим разделения включает в себя по меньшей мере одно из горизонтального бинарного разделения, горизонтального троичного разделения, вертикального бинарного разделения и вертикального троичного разделения. Если режим разделения, соответствующий первому узлу, дополнительно не разделяет, то устройство декодирования выполняет синтаксический анализ битового потока для получения информации кодирования первого узла, в котором первый узел соответствует одному блоку кодирования CU. Таким образом, устройство декодирования может декодировать и восстановить блок кодирования на основании информации кодирования первого узла для получения изображения, соответствующего данным изображения. В настоящем изобретении, корневой узел дерева кодирования первого уровня соответствует одному CTU, листовой узел дерева кодирования первого уровня идентифицируют с использованием корневого узла дерева кодирования первого уровня и режима разделения узла, соответствующего информации режима разделения узла кодового дерева первого уровня, и корневой узел кодового дерева второго уровня является листовым узлом кодового дерева первого уровня.

В этом варианте осуществления настоящего изобретения режим разделения, соответствующий первому узлу кодового дерева второго уровня является одним из режимов разделения, определяемых в соответствии с первым заданным условием разделения, первое заданное условие разделения используют для указания, следует ли ограничить разделение первого узла целевым режимом разделения, а целевой режим разделения включает в себя, по меньшей мере, одно из горизонтального бинарного разделения, горизонтального троичного разделения, вертикального бинарного разделения и вертикального троичного разделения. Количество режимов разделения, соответствующих первому узлу, уменьшают согласно первому заданному условию разделения, эффективно уменьшая сложность декодирования.

В качестве варианта, в возможной реализации настоящего изобретения режим разделения узла, соответствующий кодовому дереву первого уровня, отличается от режима разделения узла, соответствующего кодовому дереву второго уровня. Режим разделения узла, соответствующий кодовому дереву первого уровня, включает в себя разделение дерева квадрантов, и режим разделения узла, соответствующий кодовому дереву второго уровня, включает в себя бинарное разделение дерева и троичное разделение дерева.

В качестве варианта, в другом возможном осуществлении настоящего изобретения, первое заданное условие разделения включает в себя по меньшей мере одно из первого заданного подусловия разделения, второго заданного подусловия разделения, третьего заданного подусловия разделения, четвертого заданного подусловия разделения, пятого заданного подусловия разделения, шестого заданного подусловия разделения, седьмого заданного подусловия разделения, восьмого заданного подусловия разделения и девятого заданного подусловия разделения. Первое заданное подусловие разделения является: если отношение ширины к высоте области изображения, соответствующей первому узлу, больше или равно первому заданному пороговому значению, то набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя горизонтальное бинарное разделение или горизонтальное троичное разделение. Отношение ширины к высоте области изображения, соответствующей первому узлу, представляет собой отношение ширины области изображения, соответствующей первому узлу, к высоте области изображения, соответствующей первому узлу. Второе заданное подусловие разделения является: если отношение высоты к ширине области изображения, соответствующей первому узлу, больше или равно второму заданному пороговому значению, то набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя вертикальное бинарное разделение или вертикальное троичное разделение. Отношение высоты к ширине области изображения, соответствующей первому узлу, представляет собой отношение высоты области изображения, соответствующей первому узлу, к ширине области изображения, соответствующей первому узлу. Третье заданное подусловие разделения является: если отношение площади области изображения, соответствующей первому узлу, к площади области изображения, соответствующей листовому узлу кодового дерева первого уровня, к которому первый узел принадлежит, меньше или равно третьему заданному пороговому значению, то набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя горизонтальное бинарное разделение, горизонтальное троичное разделение, вертикальное бинарное разделение или вертикальное троичное разделение. Четвертое заданное подусловие разделения является: если режим разделения, соответствующий первому узлу, включает в себя первый режим разделения и декодирование первого дочернего узла первого узла выполняют позже, чем второго дочернего узла первого узла, и режим разделения, соответствующий второму дочернему узлу, является первым режимом разделения, то набор кандидатов режима разделения, соответствующий первому дочернему узлу, не включает в себя первый режим разделения. Первый режим разделения является горизонтальным бинарным разделением или вертикальным бинарным разделением. Пятое заданное подусловие разделения является: если режим разделения, соответствующий первому узлу, включает в себя второй режим разделения, и площадь области изображения, соответствующая первому дочернему узлу первого узла, является наименьшей среди площадей областей изображения, соответствующей трем дочерним узлам первого узла, то набор кандидатов режима разделения, соответствующий первому дочернему узлу, не включает в себя второй режим разделения. Второй режим разделения является горизонтальным троичным разделением или вертикальным троичным разделением. Шестое заданное подусловие разделения является: если режим разделения, соответствующий первому узлу, включает в себя второй режим разделения и площадь области изображения, соответствующая первому дочернему узлу первого узла, является самой большой среди площадей области изображения, соответствующей трем дочерним узлам первого узла, набор кандидатов режима разделения, соответствующий первому дочернему узлу, не включает в себя второй режим разделения. Седьмое заданное подусловие разделения является: если отношение ширины области изображения, соответствующая первому узлу, к заданной длине стороны минимального CU меньше или равно третьему заданному пороговому значению, то набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя вертикальное троичное разделение; или, если отношение высоты области изображения, соответствующее первому узлу, к заданной длине стороны минимального CU меньше или равно третьему заданному пороговому значению, то набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя горизонтальное троичное разделение. Восьмое заданное подусловие разделения является: если площадь области изображения, соответствующая первому узлу, меньше или равна четвертому заданному пороговому значению, то набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя горизонтальное бинарное разделение, горизонтальное троичное разделение, вертикальное бинарное разделение или вертикальное троичное разделение. Девятое заданное подусловие разделения является: если режим разделения, соответствующий первому узлу, является вторым режимом разделения и площадь области изображения, соответствующая первому дочернему узлу первого узла, является самой большой среди площадей области изображения, соответствующие трем дочерним узлам первого узла, то набор кандидатов режима разделения, соответствующий первому дочернему узлу, не включает в себя первый режим разделения. Направление разделения первого режима разделения является таким же, что и второго режима разделения.

В качестве варианта, в другом возможном осуществлении настоящего изобретения, информация режима разделения узла кодового дерева второго уровня включает в себя первую информацию, вторую информации и третью информацию. Первую информацию используют для указания, следует ли дополнительно разделять первый узел, вторую информацию используют для указания направления, в котором первый узел разделен, и третью информацию используют для указания режима, в котором первый узел разделен. В этом случае, способ «синтаксического анализа битового потока для получения информации режима разделения узла кодового дерева второго уровня» представляет собой следующее: выполняют синтаксический анализ битового потока для определения, в соответствии с первым заданным состоянием разделения, набора кандидатов режима разделения, соответствующего первому узлу; и выполняют синтаксический анализ битового потока на основании набора кандидатов режима разделения, соответствующего первому узлу, для определения первой информации, второй информации и третьей информации.

Согласно способу синтаксического анализа для получения первой информации, второй информации и третьей информации устройством декодирования на основании набора кандидатов режима разделения, соответствующему первому узлу, значения первой информации, второй информации и третьей информации могут быть проанализированы из битового потока или могут быть заданы системой.

В качестве варианта, в другом возможном осуществлении настоящего изобретения, способ «синтаксического анализа битового потока на основании набора кандидатов режима разделения, соответствующий первому узлу, для определения первой информации, второй информации и третьей информации» конкретно представляет собой следующее: во-первых, определяют первое числовое значение. Первое числовое значение представляет собой количество режимов разделения, содержащееся в наборе кандидатов режима разделения, соответствующем первому узлу. Затем, битовый поток анализируется на основании первого числового значения для определения первой информации, второй информации и третьей информации.

Набор кандидатов режима разделения, соответствующий узлам кодового дерева второго уровня может включать в себя максимум 15 режимов разделения. Для нескольких режимов разделения в 15 режимах разделения, способы получения первой информации, второй информации и третьей информации, являются такими же или аналогичными. Таким образом, устройство декодирования может определять первую информацию, вторую информацию и третью информацию, основанную на количестве режимов разделения (а именно, первое числовое значение), содержащиеся в наборе кандидатов режима, соответствующий первому узлу. Таким образом, устройство декодирования может более быстро определять информацию режима разделения узла кодового дерева второго уровня.

В качестве варианта, в другом возможном осуществлении настоящего изобретения, режим разделения узла, соответствующий кодовому дереву второго уровня, дополнительно включает в себя разделение дерева квадрантов. В этом случае, способ «синтаксического анализа битового потока для получения информации режима разделения узла кодового дерева второго уровня» представляет собой следующее: выполняют синтаксический анализ битового потока для получения информации режима разделения узла дерева кодирования второго уровня. Информация режима разделения узла кодового дерева второго уровня указывает режим разделения, соответствующий первому узлу кодового дерева второго уровня, режим разделения, соответствующий первому узлу, является одним режимом в наборе кандидатов режима разделения, соответствующий первому узлу, набор кандидатов режима разделения, соответствующий первому узлу, определяется в соответствии с первым заданным условием разделения и вторым заданным условием разделения, и второе заданное условие разделения используют для указания, следует ли ограничивать разделения первого узла на основании разделения дерева квадрантов.

В качестве варианта, в другом возможном осуществлении настоящего изобретения, второе заданное условие разделения включает в себя, по меньшей мере, одно из десяти заданных подусловий и одиннадцатое заданное подусловие разделения. Десятое заданное подусловие разделения представляет собой следующее: если глубина первого узла в кодовом дереве второго уровня меньше, чем заданная максимальная глубина в кодовом дереве второго уровня, набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя разделение дерева квадрантов. Одиннадцатое заданное подусловие разделения является: если отношение ширины к высоте области изображений, соответствующее первому узлу, больше или равно пятому заданному пороговому значению, набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя разделение дерева квадрантов.

В качестве варианта, в другом возможном осуществлении настоящего изобретения, информация режима разделения узла кодового дерева второго уровня дополнительно включает в себя четвертую информации, причем четвертая информация используется для указания, следует ли разделить первый узел на основании разделения дерева квадрантов. Соответственно, способ «синтаксического анализа битового потока для получения информации режима разделения узла дерева кодирования второго уровня» представляет собой следующее: выполняют синтаксический анализ битового потока для определения, в соответствии с первым заданным условием разделения и вторым заданным условием разделения, набора кандидатов режима разделения, соответствующего первому узлу. Выполняют синтаксический анализ битового потока в режиме разделения, соответствующем первому узлу, для определения первой информации, второй информации, третьей информации и четвертой информации.

В соответствии со вторым аспектом, обеспечивается устройство декодирования. Устройство декодирования включает в себя модуль получения, модуль синтаксического анализа и модуль декодирования и восстановления. Модуль получения выполнен с возможностью получения битового потока, включающего в себя данные изображения. Модуль синтаксического анализа выполнен с возможностью: анализировать битовый поток, полученный модулем получения, чтобы получить информацию режима разделения узла кодового дерева первого уровня, где корневой узел кодового дерева первого уровня соответствует одному блоку кодового дерева CTU, листовой узел кодового дерева первого уровня идентифицируют с использованием корневого узла кодового дерева первого уровня и режима разделения узла, соответствующий информации режима разделения узла кодового дерева первого уровня; анализировать битовый поток для получения информации режима разделения узла кодового дерева второго уровня, в котором информация режима разделения узла кодового дерева второго уровня указывает режим разделения, соответствующий первому узлу кодового дерева второго уровня, режим разделения, соответствующий первому узлу, является одним режимом в наборе кандидатов режима разделения, соответствующем первому узлу, и набор кандидатов режима, соответствующий первому узлу, определяют в соответствии с первым заданным условием разделения, первое заданное условие разделения используют для указания, следует ли ограничить разделение первого узла целевым режимом разделения, целевой режим разделения включает в себя, по меньшей мере, одно из горизонтального бинарного разделения, горизонтального троичного разделения, вертикального бинарного разделения и вертикального троичного разделения, и корневой узел кодового дерева второго уровня является листовым узлом кодового дерева первого уровня; и, если режим разделения, соответствующий первому узлу, дополнительно не разделяет, синтаксический анализ битового потока для получения информации кодирования первого узла, в котором первый узел соответствует одному блоку кодирования CU. Модуль декодирования и восстановления выполнен с возможностью декодировать и восстанавливать блок кодирования на основании информации кодирования первого узла, полученной модулем синтаксического анализа, чтобы получить изображение, соответствующее данным изображения.

В качестве варианта, в возможной реализации настоящего изобретения режим разделения узла, соответствующий кодовому дереву первого уровня, отличается от режима разделения узла, соответствующего кодовому дереву второго уровня. Режим разделения узла, соответствующий кодовому дереву первого уровня, включает в себя разделение дерева на квадранты, а режим разделения узла, соответствующий кодовому дереву второго уровня, включает в себя бинарное разделение дерева и троичное разделение дерева.

В качестве варианта, в другой возможной реализации настоящего изобретения режим разделения узла, соответствующий кодовому дереву первого уровня, включает в себя разделение дерева на квадранты, а режим разделения узла, соответствующий кодовому дереву второго уровня, включает в себя бинарное разделение дерева и троичное разделение дерева.

В качестве варианта, в другой возможной реализации настоящего изобретения, информация режима разделения узла кодового дерева второго уровня включает в себя первую информацию, вторую информации и третью информацию. Первая информация используется для указания, следует ли дополнительно разделять первый узел, вторую информацию используют для указания направления, в котором первый узел разделен, и третья информация используется для указания режима, в котором первый узел разделен. Соответственно, модуль синтаксического анализа специально выполнен с возможностью: выполнять синтаксический анализ битового потока для определения, в соответствии с первым заданным условием разделения, набора кандидатов режима разделения, соответствующего первому узлу; и выполнять синтаксический анализ битового потока на основании набора кандидатов режима разделения, соответствующего первому узлу, для определения первой информации, второй информации и третьей информации.

В качестве варианта, в другой возможной реализации настоящего изобретения модуль синтаксического анализа специально выполнен с возможностью: определять первое числовое значение, где первое числовое значение представляет собой количество режимов разделения в наборе кандидатов режима разделения, соответствующем первому узлу; и выполнять синтаксический анализ битового потока на основании первого числового значения для определения первой информации, второй информации и третьей информации.

В качестве варианта, в другой возможной реализации настоящего изобретения режим разделения узла, соответствующий кодовому дереву второго уровня, дополнительно включает в себя разделение дерева на квадранты. Соответственно, модуль синтаксического анализа специально выполнен с возможностью выполнять синтаксический анализ битового потока для получения информации режима разделения узла кодового дерева второго уровня, где информация режима разделения узла кодового дерева второго уровня указывает режим разделения, соответствующий первому узлу кодового дерева второго уровня, режим разделения, соответствующий первому узлу, является одним из режимов в наборе кандидатов режима разделения, соответствующий первому узлу, набор кандидатов режима разделения, соответствующий первому узлу, определяют в соответствии с первым заданным условием разделения и вторым заданным условием разделения, а второе заданное условие разделения используют для указания, следует ли ограничить разделением первого узла на основании разделения дерева на квадранты.

В качестве варианта, в другой возможной реализации настоящего изобретения информация режима разделения узла дерева кодирования второго уровня дополнительно включает в себя четвертую информацию, и четвертая информация используется для указания, следует ли разделить первый узел, на основании разделения дерева квадрантов. Соответственно, модуль синтаксического анализа специально выполнен с возможностью: выполнять синтаксический анализ битового потока для определения, в соответствии с первым заданным условием разделения и вторым заданным условием разделения, набора кандидатов режима разделения, соответствующего первому узлу; и выполнять синтаксический анализ битового потока в режиме разделения, соответствующий первому узлу, для определения первой информации, второй информации, третьей информации и четвертой информации.

Для первого заданного условия разделения во втором аспекте может быть сделана ссылка на описание первого заданного условия разделения в первом аспекте. Аналогично, для второго заданного условия разделения во втором аспекте сделана ссылка на описание второго заданного условия разделения в первом аспекте.

В соответствии с третьим аспектом предоставлено устройство декодирования. Устройство декодирования включает в себя один или более процессоров, память и интерфейс связи. Память и интерфейс связи соединены с одним или более процессорами. Память выполнена с возможностью хранить компьютерный программный код. Компьютерный программный код включает в себя инструкцию. Когда один или более процессоров выполняют инструкции, устройство декодирования выполняет способ декодирования данных изображения по любому одному из первого аспекта или возможных реализациях первого аспекта.

В соответствии с четвертым аспектом обеспечивается машиночитаемый носитель данных. Машиночитаемый носитель данных хранит инструкции. При выполнении инструкций устройством декодирования, устройство декодирования выполнено с возможностью выполнять способ декодирования данных изображений по любому одному из первого аспекта или возможных реализациях первого аспекта.

В соответствии с пятым аспектом обеспечивается компьютерный программный продукт, включающий в себя инструкции. Когда компьютерный программный продукт выполняется устройством декодирования, устройство декодирования выполнено с возможностью выполнения способа декодирования данных изображения по любому одному из первого аспекта или возможных реализациях первого аспекта.

В настоящем изобретении для подробного описания второго аспекта, третьего аспекта, четвертого аспекта, пятого аспекта и реализаций второго аспекта, третьего аспекта, четвертого аспекта и пятого аспекта может быть сделана ссылка на подробные описания первого аспекта и реализаций первого аспекта. Дополнительно, для получения информации о полезных эффектах второго аспекта, третьего аспекта, четвертого аспекта, пятого аспекта и реализаций второго аспекта, третьего аспекта, четвертого аспекта и пятого аспекта может быть сделана ссылка на анализ полезных эффектов первого аспекта и реализаций первого аспекта. Подробности не описаны здесь снова.

В настоящем изобретении упомянутое название устройства декодирования не является каким-либо ограничением устройств или функциональных модулей. В фактической реализации устройства или функциональные модули могут иметь другие названия. Каждое устройство или функциональный модуль находится в пределах объема, определяемого формулой изобретения и их эквивалентных технологий в настоящем изобретении, при условии, что функция устройства или функционального модуля аналогично тому, как описано в настоящем изобретении.

В соответствии с шестым аспектом обеспечивается способ декодирования данных изображения. После определения CTU, соответствующего блоку изображения, подлежащему кодированию, устройство кодирования делит CTU в режиме разделения узла, соответствующего дереву кодирования первого уровня, для получения листового узла кодового дерева первого уровня. Корневой узел кодового дерева первого уровня соответствует CTU. Устройство кодирования определяет набор кандидатов режима разделения, соответствующий первому узлу кодового дерева второго уровня. Набор кандидатов режима кодирования, соответствующий первому узлу, удовлетворяет первому заданному условию разделения, используемому для указания, следует ли ограничить разделение первого узла целевым режимом разделения, режим целевого разделения включает в себя по меньшей мере одно из горизонтального бинарного разделения, горизонтального троичного разделения, вертикального бинарного разделения и вертикального троичного разделения, и корневой узел кодового дерева второго уровня является листовым узлом кодового дерева первого уровня. Если набор кандидатов режима кодирования, соответствующий первому узлу, не включает в себя дополнительное разделение, устройство кодирования кодирует блок кодирования, соответствующий первому узлу, для получения кодированного блока битового потока, соответствующего блоку кодирования.

Первое заданное условие разделения в этом варианте осуществления настоящего изобретения ограничивает режим разделения узла кодового дерева второго уровня, что значительно снижает сложность разделения узла кодового дерева второго уровня и уменьшает сложность кодирования.

В качестве варианта, в возможной реализации настоящего изобретения, режим разделения узла, соответствующий кодовому дереву первого уровня, включает в себя разделение дерева квадрантов, и режим разделения узла, соответствующий кодовому дереву второго уровня, включает в себя бинарное разделение дерева и троичное разделение дерева.

В качестве варианта, в другой возможной реализации настоящего изобретения, режим разделения узла, соответствующий кодовому дереву второго уровня, дополнительно включает в себя разделение дерева квадрантов. В этом случае, способ «определения набора кандидатов режима разделения, соответствующий первому узлу кодового дерева второго уровня» представляет собой следующее: определяют набор кандидатов режима разделения, соответствующий первому узлу. Набор кандидатов режима разделения, соответствующий первому узлу, удовлетворяет первому заданному условию разделения и второму заданному условию ограничения, и второе заданное условие используют для указания, следует ли ограничить разделение первого узла на основании разделения дерева квадрантов.

В качестве варианта, в другой возможной реализации настоящего изобретения, если набор кандидатов режима разделения, соответствующий первому узлу, включает в себя режим разделения, отличный от без дополнительного разделения, вычисляют стоимость искажения скорости каждого из режимов разделения, доступные для первого узла; режим разделения, соответствующий наименьшей стоимости искажения скорости определяется в качестве целевого режима разделения, соответствующего первому узлу; и первый узел разделен с использованием целевого режима разделения, соответствующий первому узлу.

Для первого заданного условия разделения в шестом аспекте может быть сделана ссылка на описание первого заданного условия разделения в первом аспекте. Аналогично, для второго заданного условия разделения в шестом аспекте может быть сделана ссылка на описание второго заданного условия разделения в первом аспекте.

В соответствии с седьмым аспектом обеспечивается устройство кодирования. Устройство кодирования включает в себя модуль определения, модуль разделения и модуль кодирования. Модуль определения выполнен с возможностью определения блока кодового дерева CTU, соответствующего блоку изображения, подлежащему кодированию. Модуль разделения выполнен с возможностью разделять в режиме разделения узла, соответствующего кодовому дереву первого уровня, CTU, определяемый модулем определения, для получения листового узла кодового дерева первого уровня. Корневой узел кодового дерева первого уровня соответствует CTU. Модуль определения дополнительно выполнен с возможностью определения набора кандидатов режима разделения, соответствующего первому узлу кодового дерева второго уровня. Набор кандидатов режима разделения, соответствующий первому узлу, удовлетворяет первому заданному условию разделения, первое заданное условие разделения используют для указания, следует ли ограничить разделение первого узла целевым режимом разделения, корневой узел кодового дерева второго уровня представляет собой листовой узел кодового дерева первого уровня, и целевой режим разделения включает в себя по меньшей мере одно из горизонтального бинарного разделения, горизонтального троичного разделение, вертикального бинарного разделения и вертикального троичного разделения. Модуль кодирования выполнен с возможностью: если набор кандидатов режима разделения, который соответствует первому узлу, и который определяется модулем определения, включает в себя отсутствие дополнительного разделения, кодировать блок кодирования CU, соответствующий первому узлу для получения кодированного блока битового потока, соответствующего блоку кодирования.

В качестве варианта, в возможной реализации настоящего изобретения, режим разделения узла, соответствующий кодовому дереву первого уровня, включает в себя разделение дерева квадрантов, и режим разделения узла, соответствующий кодовому дереву второго уровня, включает в себя бинарное разделение дерева и троичное разделение дерева.

В качестве варианта, в возможной реализации настоящего изобретения, режим разделения узла, соответствующий кодовому дереву второго уровня, дополнительно включает в себя разделение дерева квадрантов. Соответственно, модуль определения специально выполнен с возможностью определять набор кандидатов режима разделения, соответствующий первому узлу. Набор кандидатов режима разделения, соответствующий первому узлу, удовлетворяет первому заданному условию разделения и второму заданному условию ограничения, и второе заданное условие разделения используется для указания, следует ли ограничить разделение первого узла на основании разделения дерева квадрантов.

В качестве варианта, в возможной реализации настоящего изобретения устройство кодирования, обеспечиваемое настоящим вариантом осуществления настоящего изобретения, дополнительно включает в себя модуль вычисления. Модуль вычисления выполнен с возможностью: если набор кандидатов режима разделения, который соответствует первому узлу и который определяется модулем определения, включает в себя режим разделения помимо без дополнительного разделения, вычисления стоимости искажения скорости каждого из режимов разделения, доступных для первого узла. Соответственно, модуль определения дополнительно выполнен с возможностью определения режима разделения, соответствующего наименьшей стоимости искажения скорости, в качестве целевого режима разделения, соответствующего первому узлу. Модуль разделения специально выполнен с возможностью разделять первый узел в целевом режиме разделения, что соответствует первому узлу и который определяется модулем определения.

Для первого заданного условия разделения в седьмом аспекте может быть сделана ссылка на описание первого заданного условия разделения в первом аспекте. Аналогично, для второго заданного условия разделения в седьмом аспекте может быть сделана ссылка на описание второго заданного условия разделения в первом аспекте.

В соответствии с восьмым аспектом обеспечивается устройство кодирования. Устройство кодирования включает в себя один или более процессоров, память и интерфейс связи. Память и интерфейс связи соединены с одним или более процессорами. Память выполнена с возможностью хранить компьютерный программный код. Компьютерный программный код включает в себя инструкции. Когда один или более процессоров выполняют инструкции, устройство кодирования выполняет способ кодирования данных изображения по любому из шестого аспекта или возможных реализаций шестого аспекта.

В соответствии с девятым аспектом обеспечивается машиночитаемый носитель данных. Машиночитаемый носитель данных хранит инструкции. При выполнении инструкций устройством кодирования, устройство кодирования выполнено с возможностью выполнять способ кодирования данных изображения по любому из шестого аспекта или возможных реализаций шестого аспекта.

В соответствии с десятым аспектом обеспечивается компьютерный программный продукт, включающий в себя инструкции. Когда компьютерный программный продукт выполняется устройством кодирования, устройство кодирования выполнено с возможностью выполнять способ кодирования данных изображения по любому из шестого аспекта или возможных реализаций шестого аспекта.

Для конкретных описаний седьмого аспекта, восьмого аспекта, девятого аспекта, десятого аспекта и реализаций седьмого аспекта, восьмого аспекта, девятого аспекта и десятого аспекта может быть сделана ссылка на подробное описание в седьмом аспекте и реализациях седьмого аспекта. Дополнительно, для полезных эффектов седьмого аспекта, восьмого аспекта, девятого аспекта, десятого аспекта и реализации седьмого аспекта, восьмого аспекта, девятого аспекта и десятого аспекта может быть сделана ссылка на полезные эффекты шестого аспекта и реализаций шестого аспекта. Подробности не описаны здесь снова.

В настоящем изобретении название устройства кодирования не представляет собой какое-либо ограничение устройства или функциональных модулей. В фактической реализации устройства или функциональные модули могут иметь другие названия. Каждое устройство или функциональный модуль находится в пределах объема, определяемого формулой изобретения и их эквивалентных технологий в настоящем изобретении, при условии, что функция устройства или функционального модуля аналогична тому, как описано в данном описании.

В нижеследующем описании приведено более точное и полное описание аспектов или иного аспекта настоящего изобретения.Краткое описание чертежей

Фиг.1 является схемой различных режимов разделения в соответствии с вариантом осуществления настоящего изобретения;

Фиг.2 представляет собой схему глубины дерева квадрантов в соответствии с вариантом осуществления настоящего изобретения;

Фиг.3 представляет собой схему комбинированного разделения дерева квадрантов деления и разделения бинарного дерева в соответствии с вариантом осуществления настоящего изобретения;

Фиг.4 представляет собой схему системы обработки изображения в соответствии с вариантом осуществления настоящего изобретения;

Фиг.5 представляет собой схему структуры аппаратных средств мобильного телефона согласно варианту осуществления настоящего изобретения;

Фиг.6 представляет собой первую блок-схему алгоритма способа декодирования данных изображения согласно варианту осуществления настоящего изобретения;

Фиг.7 представляет собой вторую блок-схему алгоритма способа декодирования данных изображения согласно варианту осуществления настоящего изобретения;

Фиг.8 представляет собой блок-схему алгоритма способа кодирования данных изображения в соответствии с вариантом осуществления настоящего изобретения;

Фиг.9 представляет собой схему устройства декодирования согласно варианту осуществления настоящего изобретения; и

Фиг.10 является схемой устройства кодирования в соответствии с вариантом осуществления настоящего изобретения.

Осуществление изобретения

В описании, формуле изобретения и сопроводительных чертежах настоящего изобретения, термины, такие как «первый», «второй», «третий» и «четвертый» предназначены для различения между различными объектами, но не указывают на конкретный порядок.

В вариантах осуществления настоящего изобретения, слово, такое как «например» или «пример» используется для обозначения данного примера, иллюстрации или описания. Любой вариант осуществления или схема, описанная как «например» или «пример» в вариантах осуществления настоящего изобретения не должны быть интерпретированы как предпочтительный или имеющий больше преимуществ, чем другой вариант осуществления или схема. Именно, слово, например, «например» или «пример» используются для представления соответствующей концепции определенным образом.

Для облегчения понимания вариантов осуществления настоящего изобретения прежде всего, описаны соответствующие элементы в вариантах осуществления настоящего изобретения.

Блок кодового дерева (Coding Tree Unit, CTU): изображение включает в себя множество CUs. CTU обычно соответствует одной квадратной области изображения. Как показано на фиг. 1 (а), изображение 10 включает в себя множество CTUs (включающее в себя CTU A, CTU B, CTU С и тому подобное). Информация кодирования, соответствующая CTU, включает в себя значение яркости и/или значение цветности пикселя в квадратной области изображения, соответствующее CTU. Дополнительно, информация кодирования, соответствующая CTU, может дополнительно включать в себя элемент синтаксиса. Элемент синтаксиса указывает, как разделить CTU, по меньшей мере, на один CU и декодировать каждый CU, чтобы получить восстановленное изображение.

Область изображения, соответствующая одному CTU, может включать в себя 64 х 64, 128 х 128 или 256 х 256 пикселей. В качестве примера, CTU, включающий в себя 64 х 64 пикселей, включает в себя прямоугольную матрицу пикселей с 64 столбцами и 64 строками пикселей, и каждый пиксель включает в себя компонент яркости и/или компонент цветности.

Очевидно, что CTU альтернативно может соответствовать прямоугольной области изображения или области изображения в другой форме, и область изображения, соответствующая одному CTU, альтернативно может быть областью изображения, в которой количество пикселей в горизонтальном направлении отличается от количества пикселей в вертикальном направлении, например, включает в себя 64 х 128 пикселей.

Блок кодирования (Coding Unit, CU): блок кодирования, как правило, соответствует одной AxB прямоугольной области, где А представляет собой ширину прямоугольника и В представляет собой высоту прямоугольника. Ширина в вариантах осуществления настоящего изобретения является длиной в направлении оси Х (горизонтальное направление) в двумерной прямоугольной системе координат XOY системы, показанной на фиг. 1, и высота является длиной в направлении оси Y (вертикальное направление) в двумерной прямоугольной системе координат XOY системы, показанной на фиг.1. В данном случае, значения А и В могут быть одинаковыми или могут быть различными. Значения А и В, как правило, являются цельно численными значениями степеней 2, например, 256, 128, 64, 32, 16, 8 или 4. Восстановленный блок изображения в прямоугольной области AxB может быть получен путем выполнения процесса декодирования CU. Обработка декодирования, как правило, включает в себя обработку, такую как предсказание (prediction), деквантования (dequantization) и обратное преобразование (inverse transform), и генерируют предсказанное и остаточное изображение, и предсказанное и остаточное изображения накладываются друг на друга, чтобы получить восстановленный блок изображения. Окончательное восстановленное изображение может быть получено с использованием множества восстановленных блоков изображений.

Дерево квадрантов (Quad-Tree, QT): дерево квадрантов представляет собой древовидную структуру, и узел может быть разделен на четыре дочерних узла. В примере, в видеокодеке стандарта H.265, используют режим разделения CTU дерева квадрантов: CTU используют в качестве корневого узла. Каждый узел соответствует одной квадратной области изображения. Узел может быть дополнительно разделен (в данном случае, квадратная область изображения, соответствующая узлу, является CU); или может быть разделен на четыре узла нижнего уровня, то есть, квадратная область изображения, соответствующая узлу, делится на четыре одинаковых квадратных областей (ширина и высота квадратной области, соответственно, половину ширины и половину высоты области перед разделением) и каждая область соответствует одному узлу. Как показано на фиг. 1 (b), CTU А является корневым узлом и CTU А разделен на четыре узла: а, b, c и d. Если узел а больше не разделяют, то квадратная область изображения, соответствующая узлу А, соответствует одному CU.

Бинарное дерево (Binary Tree, BT): бинарное дерево представляет собой древовидную структуру. Узел может быть разделен на два дочерних узла. Узел в структуре бинарного дерева может быть дополнительно разделен, или может быть разделен на два узла нижнего уровня. Режим разделения бинарного дерева может включать в себя одно из следующих действий:

(1) Горизонтальное бинарное разделение

Область изображения, соответствующая узлу, разделена на верхнюю область и нижнюю область, которые имеют одинаковый размер. Конкретно, для области изображения, полученной путем разделения, ширина остается неизменной, и высота становится вдвое меньше, чем в области изображения разделения. Каждая область изображения, полученная путем разделения, соответствует одному дочернему узлу. Как показано на фиг. 1 (с), узел b разделяют в режиме горизонтального разделения бинарного дерева для генерирования узла e и узла f.

(2) Вертикальное бинарное разделение

Область, соответствующая узлу, разделяют на левую область и правую область, которые имеют одинаковый размер. Конкретно, для области изображения, полученной путем разделения, высота остается неизменной, и ширина составляет половину области изображения разделения. Каждая область изображения, полученная путем разделения, соответствует одному дочернему узлу. Как показано на фиг. 1 (d), узел d разделяют в режиме вертикального бинарного разделения для генерирования узла g и узла h.

Очевидно, что горизонтальное бинарное разделение и вертикальное бинарное разделение являются примерами режима разделения бинарного дерева. Область изображения, соответствующая узлу, может быть разделена на две подобласти в другом режиме. Например, две подобласти неравные по высоте получают путем горизонтального разделения или две области неравные по ширине получают посредством вертикального разделения.

Троичное дерево (Ternary Tree, ТТ): троичное дерево представляет собой древовидную структуру. Узел может быть разделен на три дочерних узла. Узел в структуре троичного дерева не может быть дополнительно разделен, или может быть разделены на три узла нижнего уровня. Режим разделения троичного дерева может включать в себя одно из следующих действий:

(1) Горизонтальное троичное разделение

Область изображения, соответствующая узлу, разделяется на три области: верхняя область, средняя область и нижняя область, и каждая область соответствует одному дочернему узлу. В примере, высота верхней области, средней области и нижней области соответственно равна 1/4, 1/2 и 1/4 высоты области изображения перед разделением. Как показано на фиг. 1 (е), узел с разделен в режиме горизонтального троичного разделения, чтобы сгенерировать узел j, узел k и узел m. Высота в области изображения, соответствующем узлу j составляет 1/4 от высоты области изображения, соответствующего узлу с, и высота области изображения, соответствующей узлу k, равна 1/2 высоте области изображения, соответствующей узлу с, и высота области изображения, соответствующей узлу m, составляет 1/4 от высоты области изображения, соответствующей узлу с. В другом примере, высота верхней области, средней области и нижней области соответственно равна 1/3, 1/3 и 1/3 высоты области изображения перед разделением. Более конкретно, область изображения, соответствующая узлу, равномерно разделена на три области в направлении оси Х в двумерной прямоугольной системе координат XOY системы, показанной на фиг.1. Как показано на фиг.1 (f), узел с разделяют в режиме горизонтального троичного разделения, чтобы сгенерировать узел j, узел k и узел m; и высота области изображения, соответствующей узлу j, высота в области изображения, соответствующей узлу k, и высота области изображения, соответствующей узлу m, являются все 1/3 высоты области изображения, соответствующей узлу с.

(2) Вертикальное троичное разделение.

Область изображения, соответствующая узлу, делится на три области: левая область, средняя область и правая область, и каждая область соответствует одному дочернему узлу. В примере, ширина левой области, средней области и правой области соответственно равны 1/4, 1/2 и 1/4 ширины области изображения перед разделением. Как показано на фиг.1 (g), узел с разделен в режиме вертикального троичного разделения, чтобы сгенерировать узел p, узел q и узел х. Ширина области изображения, соответствующая узлу р, составляет 1/4 от ширины области изображения, соответствующего узла с, и ширина области изображения, соответствующая узлу q, составляет 1/2 от ширины области изображения, соответствующей узлу с, и ширина области изображения, соответствующей узлу х, составляет 1/4 от ширины области изображения, соответствующего узла с. В другом примере, высота левой области, средней области и правой области соответственно равны 1/3, 1/3 и 1/3 высоты области изображения перед разделением. Более конкретно, область изображения, соответствующая узлу, равномерно разделена на три области в направлении оси Х в двумерной прямоугольной системе координат XOY системы, показанной на фиг.1. Как показано на фиг.1 (h), узел с разделен в режиме вертикального троичного разделения, чтобы сгенерировать узел р, узел q и узел х; и ширина области изображения, соответствующая узлу р, ширина области изображения, соответствующая узлу q и ширина области изображения, соответствующая узлу х, все равны 1/3 ширины область изображения, соответствующей узлу с.

Кодирование изображения (image encoding): кодирование изображения представляет собой процесс обработки, в котором последовательность изображений сжимают в битовый поток.

Декодирование изображения (image decoding): декодирования изображения представляет собой процесс обработки, в котором битовый поток будет восстановлен в восстановленное изображение в соответствии с конкретным правилом синтаксиса и конкретным способом обработки.

В видеокодеке стандарта H.265, CTU разделяют в QT режиме разделения. В частности, CTU используют в качестве корневого (root) узла QT структуры, и CTU рекурсивно разделяют на несколько листовых узлов (leaf node) в QT режиме разделения. Если узел больше не разделяют, то узел называется листовым узлом. Это можно узнать из приведенного выше описания, изображение включает в себя множество CTUs, и один CTU соответствует одной квадратной области изображения. Другими словами, один CTU соответствует одному блоку изображения. Каждый листовой узел соответствует одному CU. Каждый CU эквивалентен дочернему блоку изображения в блоке изображения, соответствующий CTU, и дочерний блок изображения не может быть больше разделен в QT режиме разделения. Если узел должен быть дополнительно разделен, то область изображения, соответствующая узлу, разделяют на четыре области изображения одного и того же размера. Как показано на фиг.1 (b), после того, как область изображения, соответствующая узлу, разделяется, каждая область изображения генерируется после того, как разделение соответствует одному узлу, и определяют, следует ли дополнительно разделять эти узлы. Необходимость разделить узел будет идентифицировано битом флага разделения (например, split_cu_flag), соответствующий узлу, в битовом потоке. Глубина корневого узла в QT структуре (QT глубина, для краткости) равна 0, и QT глубина дочернего узла, генерируемого в QT режиме разделения, является QT глубиной родительского узла дочернего узла плюс 1.

Например, бит флага разделения узла представлен split_cu_flag. Если split_cu_flag = 0, то это означает, что узел больше не разделяют; или, если split_cu_flag = 1, то это означает, что узел должен быть дополнительно разделен. Как показано на фиг. 2, когда значение split_cu_flag 64х64 CTU узла (чья QT глубина 0) равно 1, то CTU узел делится на четыре 32х32 узлов (чьи QT глубины равны 1) и четыре 32х32 узлов, соответственно, узел А1, узел A2, узел A3 и A4 узел. Каждый из четырех узлов 32х32 может быть или не может быть разделен на основании split_cu_flag соответствующего узла. Если значение split_cu_flag узла А1 равно 1, то узел А1 дополнительно разделен на четыре 16x16 узла (чьи QT глубины равны 2), четыре 16x16 узла, соответственно, узел В1, узел В2, узел В3 и узел В4, и так далее до тех пор, пока ни один узел не будет дополнительно разделен. Таким образом, один CTU разделяют на группу CUs. В той же QT структуре, минимальные размеры всех CUs (а именно, минимальные значения CUs) являются такими же, и минимальные размеры CUs определены в наборе параметров последовательности (Sequence Parameter Set, SPS) битового потока. Например, 8x8 CU является минимальным CU. В приведенном выше процессе рекурсивного разделения, если размер узла равен минимальному размеру CU, то определяется, что узел больше не делят, и флаг разделения узла не должен быть включен в битовый поток.

Режим разделения, в котором CTU разделен на группу CUs, соответствует одному кодовому дереву. Фиг.3 (а) представляет собой пример кодового дерева. Кодовое дерево может соответствовать только одному режиму разделения, например, режиму разделения дерева квадрантов, или может соответствовать множеству режимов разделения, например, вышеописанной QTBT структуре и описанной далее QTBT/ТТ структуре.

Кодовое дерево первого уровня, кодовое дерево второго уровня, кодовое дерево третьего уровня, ..., и кодовое дерево N-го уровня соответствуют различным наборам режима разделения, где N является положительным целым числом больше 3. Различные наборы режима разделения могут быть типом дерева, например, троичным деревом, бинарным деревом или деревом квадрантов; или может представлять собой набор режимов разделения в одном и том же типе дерева, например, горизонтальное бинарное разделение или вертикальное бинарное разделение; или может быть их комбинацией. Очевидно, что кодовое дерево не обязательно включает в себя все упомянутые множества кодовых деревьев на разных уровнях. Например, кодовое дерево может включать в себя только кодовое дерево первого уровня; или кодовое дерево может включать в себя кодовое дерево первого уровня и кодовое дерево второго уровня; или кодовое дерево может включать в себя кодовое дерево первого уровня, кодовое дерево второго уровня и кодовое дерево третьего уровня.

В примере, кодовое дерево первого уровня может включать в себя разделение дерева квадрантов, и кодовое дерево второго уровня может включать в себя бинарное разделение дерева и троичное разделение дерева.

В примере, кодовое дерево первого уровня может включать в себя разделение на дерево квадрантов и кодовое дерево второго уровня может включать в себя бинарное разделение дерева, троичное разделение дерева и разделение дерева квадрантов.

В примере, дерево кодирования первого уровня может включать в себя разделение дерева квадрантов и бинарное разделение дерева, и кодовое дерево второго уровня включает в себя троичное разделение дерева.

В примере, дерево кодирования первого уровня может включать в себя разделение дерева квадрантов, дерево кодирования второго уровня может включать в себя бинарное разделение дерева и кодовое дерево третьего уровня может включать в себя троичное разделение дерева.

В примере, кодовое дерево первого уровня может включать в себя горизонтальное бинарное разделение, кодовое дерево второго уровня может включать в себя вертикальное бинарное разделение и разделение дерева квадрантов, и кодовое дерево третьего уровня может включать в себя вертикальное троичное разделение и горизонтальное троичное разделение.

Кодовое дерево второго уровня может дополнительно включать в себя другие режимы разделения, и это конкретно не ограничено в вариантах осуществления настоящего изобретения.

Устройство кодирования обычно использует технологию оптимизации скорости искажений (Rate Distortion Optimization, RDO) для определения конкретного кодового дерева, используемого CTU для кодирования. В частности, для каждого узла, устройство кодирования вычисляет стоимость скорости искажения (Rate Distortion cost, RD cost) каждого режима разделения, который может быть использован узлом, сравнивает вычисленные RD стоимости, и определяет режим разделения, соответствующий минимальной RD стоимости, как режим разделения узла.

Аналогично QT структуре, глубина узла в ВТ структуре называется ВТ глубиной, и ВТ глубина дочернего узла, генерируемого в ВТ режиме разделения, является ВТ глубиной BT родительского узла дочернего узла плюс 1. Если ВТ глубина узла равна максимальной ВТ глубине, то определяется, что узел больше не разделяют. Максимальная ВТ глубина в ВТ структуре обычно идентифицируется в SPS.

В качестве примера, ВТ режим разделения вводят в дополнении к QT режиму разделения. QT режим разделения и ВТ режим разделения используют последовательно для получения режима разделения. Этот режим разделения называется QTBT режимом разделения. В частности, CTU разделяют в QT режиме разделения и QT листовой узел может быть дополнительно разделен в ВТ режиме разделения. Другими словами, кодовое дерево первого уровня является QT, и кодовое дерево второго уровня является ВТ.

Как показано на фиг.3(а), каждая конечная точка представляет собой узел, сплошная линия показывает, что узел разделяют в QT режиме разделения, пунктирная линия показывает, что узел разделяют в BT режиме разделения, А до М 13 являются листовыми узлами, и каждый листовой узел соответствует одному CU. В ВТ структуре, 10 представляет собой вертикальное бинарное разделение и 11 представляет собой горизонтальное бинарное разделение. Фиг.3(b) показывает область изображения, соответствующая CTU, которую разделяют в режиме разделения, показанного на фиг.3(а).

В QTBT режиме разделения, каждый из CU имеет QT глубину и BT глубину. Для CU в QTBT режиме разделения, QT глубина CU является QT глубиной QT листового узла, к которому принадлежит CU, и ВТ глубина CU является ВТ глубиной ВТ листового узла, к которому CU принадлежит. Если CTU не разделяют, то есть, есть только один CU, QT глубина CU равна 0, и ВТ глубина CU равна 0.

Например, на фиг.3 (а), QT глубины А и В равны 1, и BT глубины А и В равны 2; QT глубины C, D и Е равны 1, и ВТ глубины С, D и Е равны 1; QT глубины F, K и L равны 2, и ВТ глубины Р, К и L равны 1; QT глубины I и J равны 2, и ВТ глубины I и J равны 0; QT глубины G и Н равны 2, и ВТ глубины G и Н равны 2; и QT глубина М равна 1, и ВТ глубина М равна 0.

CU формы в QTBT режиме разделения более диверсифицированы, что позволяет лучше адаптироваться к контенту локального изображения. В стандарте H.265 все CUs, полученные путем расщепления на основании QT режима разделения, могут быть только квадратами, то есть, ширина (width) CU равна высоте (height) CU. После того, как ВТ режим разделения вводится в дополнении к QT режиму разделения, ширина и высота CU может отличаться друг от друга. Например, отношение ширины к высоте (числовое значение отношения ширины к высоте равно ширине, деленной на высоту) равно 2, 4, 8, 16, 1/2, 1/4, 1/8 или 1/16. Конечно, в QTBT режиме разделения, ни ширина, ни высота каждого CU не может быть меньше, чем длина стороны минимального CU (например, минимальный CU может быть установлен равным 4×4). SPS видеопотока обычно включает в себя информацию о размере минимального CU.

В дополнение к QTBT, может быть дополнительно использован QTBT/ТТ разделения. Более конкретно, узел кодового дерева первого уровня использует QT режим разделения и узел кодового дерева второго уровня может использовать ВТ режим разделения или ТТ режим разделения. В частности, CTU является корневым узлом кодового дерева первого уровня, и CTU разделяют в QT режиме разделения, чтобы генерировать несколько листовых узлов в кодовом дереве первого уровня. Затем листовой узел кодового дерева первого уровня используют в качестве корневого узла кодового дерева второго уровня, и узел кодового дерева второго уровня разделяют в ВТ режиме разделения (включающий в себя горизонтальное бинарное разделения и вертикальное бинарное разделение) или ТТ режим разделения (включающий в себя горизонтальное троичное разделение и вертикальное троичное разделение), чтобы генерировать несколько листовых узлов в кодовом дереве второго уровня.

Однако, для каждого узла, устройство кодирования, как правило, должно вычислить стоимость RD каждого режима разделения, который может быть использован узлом, сравнить вычисленную стоимость RD, и определить режим разделения, соответствующий минимальной стоимости RD, как режим разделения узла. В QT-BT/TT режиме разделения, поскольку для каждого узла кодового дерева второго уровня может быть использован ВТ режим разделения или ТТ режим разделения, устройство кодирования вычисляет стоимость RD четырех режимов разделения (горизонтальное бинарное разделение, вертикальное бинарное разделение, горизонтальное троичное разделение и вертикальное троичное разделение), чтобы определить режим разделения, фактически используемый узлом кодового дерева второго уровня. Следовательно, сложность кодирования является относительно высокой.

С учетом приведенных выше технических задач, вариант осуществления настоящего изобретения предоставляет способ декодирования данных изображения. После получения битового потока, содержащего данные изображения, устройство декодирования выполняет синтаксический анализ битового потока, чтобы получить информацию о режиме разделения узла кодового дерева первого уровня и информацию о режиме разделения кодового дерева второго уровня. Информация о режиме разделения узла кодового дерева второго уровня указывает режим разделения, соответствующий первому узлу кодового дерева второго уровня, режим разделения, соответствующий первому узлу, является одним режимом в наборе кандидатов режима разделения, соответствующий первому узлу, набор кандидатов режима разделения, соответствующий первому узлу, определяют в соответствии с первым заданным условием разделения, первое заданное условие разделения используют для указания, следует ли ограничить разделение первого узла целевым режимом разделения, и целевой режим разделения включает в себя, по меньшей мере, одно из горизонтальное бинарное разделение, горизонтальное троичное разделение, вертикальное бинарное разделение и вертикальное троичное разделение. Если режим разделения, соответствующий первому узлу, не подлежит дополнительному разделению, то устройство декодирования выполняет синтаксический анализ битового потока, чтобы получить информацию кодирования первого узла. Первый узел соответствует одному блоку кодирования CU. Таким образом, устройство декодирования может декодировать и восстановить блок кодирования на основании информации кодирования первого узла для получения изображения, соответствующее данным изображения. В настоящем изобретении, корневой узел кодового дерева первого уровня соответствует CTU, листовой узел кодового дерева первого уровня идентифицируют с использованием корневого узла кодового дерева первого уровня и режима разделения узла, соответствующего информации режима разделения узла кодового дерева первого уровня, и корневой узел кодового дерева второго уровня является листовым узлом кодового дерева первого уровня. В этом варианте осуществления настоящего изобретения, режим разделения, соответствующий первому узлу кодового дерева второго уровня, является одним из режимов разделения, определяемым в соответствии с первым заданным условием разделения, первое заданное условие разделения используют для указания, следует ли ограничить разделение первого узла целевым режимом разделения, целевой режим разделения включает в себя, по меньшей мере, одно из горизонтальное бинарное разделение, горизонтальное троичное разделение, вертикальное бинарное разделение и вертикальное троичное разделение. Количество режимов разделения, соответствующие первому узлу, уменьшают с использованием первого заданного условия разделения, эффективно уменьшая сложность декодирования.

Соответственно, вариант осуществления настоящего изобретении дополнительно предлагает способ кодирования данных изображения. После определения CTU, соответствующего блоку изображения, подлежащего кодированию, устройство кодирования делит CTU в режиме разделения узла, соответствующего кодового дерева первого уровня, чтобы получить листовой узел кодового дерева первого уровня. Корневой узел кодового дерева первого уровня соответствует CTU. Устройство кодирования определяет набор кандидатов режима кодирования, соответствующий первому узлу кодового дерева второго уровня. Набор кандидатов режима разделения, соответствующий первому узлу, удовлетворяет первому заданному условию разделения, используемое для указания, следует ли ограничить разделение первого узла целевым режимом разделения, целевой режим разделения включает в себя, по меньшей мере, одно из горизонтальное бинарное разделение, горизонтальное троичное разделение, вертикальное бинарное разделение и вертикальное троичное разделение, и корневой узел кодового дерева второго уровня является листовым узлом кодового дерева первого уровня. Если набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя дополнительное разделение, то устройство кодирования кодирует блок кодирования, соответствующий первому узлу, чтобы получить кодируемый блок битового поток, соответствующий блоку кодирования. Первое заданное условие разделения в этом варианте осуществления настоящего изобретения ограничивает режим разделения узла кодового дерева второго уровня, что значительно снижает сложность разделения узла кодового дерева второго уровня и уменьшает сложность кодирования.

Способ кодирования данных изображения и способ декодирования данных изображения, предусмотренные в вариантах осуществления настоящего изобретения, оба применимы к системе обработки изображения. Фиг.4 представляет собой структурную схему системы обработки изображения в соответствии с вариантом осуществления настоящего изобретения. Как показано на фиг.4, система обработки изображения включает в себя устройство 40 кодирования и устройство 41 декодирования. Устройство 40 кодирования и устройство 41 декодирования может быть расположено отдельно, или могут быть интегрированы в одном устройстве. Это конкретно не ограничено в этом варианте осуществления настоящего изобретения. Например, на фиг.1, устройство 40 кодирования и устройство 41 декодирования расположены отдельно. Для простоты описания, описание приведено с помощью примера, в котором устройство кодирования и устройство декодирования расположены отдельно.

В частности, после захвата видео устройство 40 кодирования выполняет процесс обработки, в режиме разделения кодового дерева первого уровня и режиме разделения кодового дерева второго уровня, CTU, соответствующий каждому изображению в видео. Если набор кандидатов режима разделения, соответствующий первому узлу кодового дерева второго уровня, не включает в себя дополнительное разделение, то устройство 40 кодирования кодирует блок кодирования, соответствующий первому узлу для получения кодируемого блока битового потока, соответствующий блоку кодирования. После получения кодированного блока битового потока, соответствующего каждому узлу кодового дерева второго уровня, устройство 40 кодирования получает CTU битового потока и отправляет CTU битового потока в устройство 41 декодирования. Устройство 41 декодирования выполняет синтаксический анализ CTU битового потока, полученный устройством 41 декодирования, для получения информации о режиме разделения узла кодового дерева второго уровня, и выполняет соответствующую обработку на основании информации о режиме разделения узла кодового дерева второго уровня, чтобы получить восстановленное изображение.

Как устройство 40 кодирования, так и устройство 41 декодирования могут быть различными устройствами с камерой (например, фронтальной камеры или камеры, установленной на тыльной стороне). Например, устройство кодирования и устройство декодирования может быть носимым электронным устройством (например, «умные» часы) или камеры моментальной печати; или могут быть мобильными телефонами, показанные на фиг.5; или может быть планшетным компьютером, настольным компьютером, устройством виртуальной реальности, ноутбуком, ультра-мобильным персональным компьютером (Ultra-Mobile Personal Computer, UMPC), персональным цифровым помощником (Personal Digital Assistant, PDA) или тому подобное. Конкретные формы устройства 40 кодирования и устройства 41 декодирования не имеют особых ограничений в этом варианте осуществления настоящего изобретения.

Со ссылкой на фиг.4, как показано на фиг.5, как устройство 40 кодирования, так и устройство 41 декодирования в этом варианте осуществления могут быть мобильными телефонами. Ниже конкретно описывает, в качестве примера, этот вариант при использовании мобильного телефона.

Следует понимать, что мобильный телефон, показанный на фиг.5, является лишь примером устройства 40 кодирования и устройства 41 декодирования, и мобильный телефон может включать в себя большее или меньшее число компонентов, чем компоненты, показанные на фиг.5, могут быть объединены два или более компонентов, или могут иметь различные конфигурации компонентов. Компоненты, показанные на фиг.5, могут быть реализованы в аппаратных средствах, включающие в себя один или более процессоров сигналов и/или специализированные интегральные схемы, программное обеспечение или комбинацию аппаратных средств и программное обеспечение.

Как показано на фиг. 5, мобильный телефон включает в себя такие компоненты, как RF (радиочастотную, Radio Frequency) схему 50, память 51, блок 52 ввода, блок 53 отображения, датчик 54, аудио-схему 55, модуль 56 «беспроводная достоверность» (Wireless Fidelity Wi-Fi), процессор 57, Bluetooth модуль 58 и источник 59 питания. Специалист в данной области техники может понять, что структура мобильного телефона, показанная на фиг.5, не представляет собой ограничение структуры мобильного телефона, и мобильный телефон может включать в себя большее или меньшее число компонентов, чем показано на фиг. 5, может быть объединены некоторые компоненты, или могут иметь различные механизмы компонентов.

Ниже конкретно описаны компоненты мобильного телефона со ссылкой на фиг. 5.

RF схема 50 может быть выполнена с возможностью передавать и принимать сигналы в информации для отправки и выполнять процесс обработки приема или процесс вызова. RF схема 310 может принимать информацию по нисходящей линии связи от базовой станции, а затем передавать информацию по нисходящей линии связи в процессор 57 для обработки; и отправлять данные по восходящей линии связи к базовой станции. RF схема, как правило, включает в себя, но не ограничивается такими устройствами, как антенна, по меньшей мере, один усилитель, приемопередатчик, переходник, малошумящий усилитель, и дуплексер. Кроме того, RF схема 50 может дополнительно осуществлять связь с сетью и другим мобильным устройством через беспроводную связь. Беспроводная связь может использовать стандартные любые сообщения или протокол, включающий в себя, но не ограничиваясь, глобальной системы мобильной связи, глобальную службу пакетной радиосвязи, множественный доступ с кодовым разделением каналов, широкополосный множественный доступ с кодовым разделением каналов, «долгосрочное развитие», электронной почты, службы передачи коротких сообщений и тому подобное.

Память 51 может быть выполнена с возможностью хранить программное обеспечение и данные. Процессор 57 запускает программу и данные, хранящиеся в памяти 51, чтобы выполнять различные функции мобильного телефона 110 и данных процесса. Память 51 может включать в себя, главным образом, область хранения программы и область хранения данных. Область хранения программы может хранить операционную систему, прикладную программу, необходимую, по меньшей мере, одной функции (например, как аудио функция воспроизведения и функцию воспроизведения изображения) и тому подобные. Область хранения данных может хранить данные (например, аудио данные, телефонную книгу и видео), которую генерируют в соответствии с использованием мобильного телефона, и тому подобное. Кроме того, память 51 может включать в себя высокоскоростное оперативное запоминающее устройство и может дополнительно включать в себя энергонезависимую память, например, по меньшей мере, одно магнитное запоминающее устройство на диске, устройство флэш-памяти или другое твердотельное устройство хранения. В следующих вариантах осуществления память 51 хранит операционную систему, которая позволяет мобильному телефону инициировать, например, операционную систему, разработанную iOS® Apple, с открытым исходным кодом операционной системы, разработанную Android® Google, и операционную систему Windows®, разработанную компанией Microsoft.

Блок 52 ввода (например, сенсорный экран) может быть выполнен с возможностью принимать ввод цифр или символов информации, и генерировать входной сигнал, относящиеся к пользовательской настройке и управлению функциями мобильного телефона. В частности, блок 52 ввода может включать в себя сенсорный экран 521 и другое устройство 522 ввода. Сенсорный экран 521, также известный как сенсорная панель, может воспринимать операции касания, выполняемые пользователем на или рядом с сенсорным экраном 521 (например, операции, выполненные на или рядом с сенсорным экраном 521 пользователем, используя любой подходящий объект или аксессуар, такой как палец или стилус), и управлять соответствующим соединением устройства в соответствии с программой предустановки. Возможно, сенсорный экран 521 может включать в себя два компонента: устройство обнаружения касания и сенсорный контроллер (которые не показаны на фиг. 5). Устройство обнаружения касания обнаруживает позицию прикосновения пользователя, обнаруживает сигнал, сгенерированный с помощью операции прикосновения, и передает сигнал на сенсорный контроллер. Сенсорный контроллер принимает информацию от сенсорного устройства обнаружения касания, преобразует сенсорную информацию в координаты контакта, передает контактные координаты в процессор 57, и может принимать и выполнять инструкцию, отправленную процессором 57. Дополнительно, сенсорный экран 521 может быть реализованы в различных типах, таких как резистивного типа, емкостного типа, инфракрасного типа и типа поверхностной акустической волны.

Блок 53 отображения (а именно, экран дисплея) может быть выполнен с возможностью отображать информацию пользователя или информацию, предоставленную пользователю, и графическим пользовательским интерфейсом (Graphical User Interface, GUI) различного меню мобильного телефона. Блок 53 отображения может включать в себя панель 531 дисплея, расположенный на передней стороне мобильного телефона. Возможно, панель 531 дисплея может быть выполнена в форме, такой как жидкокристаллический дисплей (Liquid Crystal Display, LCD) или органический светоизлучающий диод (Organic Light-emitting Diode, OLED). Кроме того, сенсорный экран 521 может покрывать панель 531 дисплея. После обнаружения операции касания на или около сенсорного экрана 521, сенсорный экран 131 передает операцию касания в процессор 57 для определения типа сенсорного события. Затем процессор 57 обеспечивает соответствующий визуальный вывод на панели 531 дисплея на основании типа сенсорного события. На фиг.5, сенсорный экран 521 и панель 531 дисплея используются в качестве отдельных компонентов для реализации функции ввода и вывода мобильного телефона. Тем не менее, в некоторых вариантах осуществления, сенсорный экран 521 и панель 531 дисплея могут быть интегрированы для реализации входных и выходных функций мобильного телефона.

В других вариантах осуществления на сенсорном экране 521 может быть предусмотрен датчик давления. В этом случае, когда пользователь выполняет операцию касания на сенсорном экране, сенсорный экран может дополнительно определять величину оказанного давления посредством операции касания, так что мобильный телефон может обнаружить событие касания более точно.

Мобильный телефон может дополнительно включать в себя, по меньшей мере, один датчик 54, например, датчик света, датчик движения и другие датчики. В частности, оптический датчик может включать в себя датчик внешней освещенности и датчик приближения. Датчик внешней освещенности может регулировать яркость панели 531 дисплея на основании яркости окружающего света. Датчик расположен на передней стороне мобильного телефона. Когда мобильный телефон перемещается к уху, мобильный телефон отключает подачу питания на панель 531 дисплея на основании обнаружения датчика приближения, так что мобильный телефон может дополнительно экономить энергию. В качестве датчика движения, датчик акселерометра может обнаружить величину ускорения всех направлений (как правило, по трем осям), может обнаружить величину и направление силы тяжести, когда датчик акселерометра находится в неподвижном состоянии, и может быть выполнен с возможностью распознавать жесты при использовании мобильного телефона (например, для переключения экрана между режимами портрета и ландшафта, в зависимости от использования игрового приложения и калибровки магнитометра), функции вибрации (например, шагомером или постукиванием) и тому подобные. Для мобильного телефона могут быть дополнительно сконфигурированы другие датчики, например, гироскоп, барометр, гигрометр, термометр, и инфракрасный датчик. Подробности в настоящем документе не описаны.

Аудио-схема 55, динамик 551 и микрофон 552 могут обеспечить звуковой интерфейс между пользователем и мобильным телефоном. Аудио-схема 55 может передавать в динамик 551 электрический сигнал, преобразованный из принятых аудиоданных, и динамик 551 преобразует электрический сигнал в звуковой сигнал для вывода звука. Кроме того, микрофон 552 преобразует собранный звуковой сигнал в электрический сигнал, и аудио-схема 55 преобразует электрический сигнал в звуковые данные после приема электрического сигнала, а затем выводит звуковые данные в RF схему 50 для отправки аудиоданных, например, в другой мобильный телефон, или выводит звуковые данные в память 51 для дополнительной обработки.

Wi-Fi является технологией беспроводной передачи на короткие расстояния. С помощью Wi-Fi, модуля 56 мобильный телефон может предоставить возможность пользователю отправлять и принимать сообщения по электронной почте, просматривать веб-страницы, получать доступ к мультимедийному потоку, и так далее. Wi-Fi обеспечивает пользователю беспроводной широкополосный доступ к интернету.

Процессор 57 является центральным блоком управления мобильного телефона 110, и соединен с компонентами всего мобильного телефона с помощью различных интерфейсов и линий. При запуске или при выполнении программы программного обеспечения, сохраненной в памяти 51, и вызова данных, сохраненных в памяти 51, процессор 57 выполняет различные функции мобильного телефона и обработку данных, для выполнения общего мониторинга на мобильном телефоне. В некоторых вариантах осуществления процессор 57 может включать в себя один или несколько блоков обработки. Процессор 57 может дополнительно включать в себя процессор приложений и процессор модема. Процессор приложений, главным образом, обеспечивает функционирование операционной системы, интерфейс пользователя, прикладную программу и тому подобное. Процессор модема, в основном, выполняет процессы беспроводной связи. Это может быть понятно, что, процессор модема также может быть расположен отдельно.

Bluetooth модуль 58 выполнен с возможностью обмена информацией с другим устройством, используя протокол связи малой дальности, такой как Bluetooth. Например, мобильный телефон может установить, с помощью Bluetooth модуля 58, соединение Bluetooth для носимого электронного устройства (например, SmartWatch), которое также имеет модуль Bluetooth, для обмена данными.

Мобильный телефон дополнительно включает в себя источник 59 питания (например, батарею), который подает питание к компонентам. Источник питания может быть логически соединен с процессором 57 с помощью системы управления мощностью, чтобы реализовать функции, такие как управление заряда и разряда и управления энергопотреблением с помощью системы управления питанием.

Со ссылкой на конкретные варианты осуществления, ниже подробно описан способ кодирования данных изображения и способа декодирования данных изображений в соответствии с вариантами осуществления настоящего изобретения.

Фиг.6 представляет собой блок-схему алгоритма способа декодирования данных изображения в соответствии с вариантом осуществления настоящего изобретения. Способ декодирования может быть применен к системе обработки изображения, показанной на фиг. 4.

Как показано на фиг. 6, способ декодирования изображения данных включает в себя следующие этапы.

S600. Устройство декодирования получает битовый поток, включающий в себя данные изображения.

Возможно, битовый поток, который включает в себя данные изображения, и который получают с помощью устройства декодирования, который включает в себя набор параметров последовательности (Sequence Parameter Set, SPS), набор параметров изображения (Picture Parameter Set, PPS), заголовок сегмента (slice header) или заголовок секции сегмента (slice segment header) и битовый поток CTU. Битовый поток CTU переносит данные изображения.

S601. Устройство декодирования декодирует битовый поток, полученный с помощью устройства декодирования, чтобы получить информацию о режиме разделения узла кодового дерева первого уровня.

Корневой узел кодового дерева первого уровня соответствует одному CTU, и листовой узел кодового дерева первого уровня идентифицируют с помощью корневого узла кодового дерева первого уровня и режима разделения узла, соответствующего информация о режиме разделения узла кодового дерева первого уровня. Режим разделения узла, соответствующий кодовому дереву первого уровня, включает в себя разделение дерева квадрантов.

После получения битового потока, устройство декодирования выполняет синтаксический анализ CTU битового потока в битовом потоке для получения информации разделения узла кодового дерева первого уровня.

Возможно, способ для синтаксического анализа CTU битового потока устройством декодирования для получения информации разделения узла кодового дерева первого уровня в может быть: устройство декодирования выполняет синтаксический анализ CTU битового потока с помощью CTU в качестве корневого узла кодового дерева первого уровня для получения первого идентификатора (например, SplitFlag), который содержится в синтаксическом элементе в CTU битового потока и используется для указания, как разделить CTU, по меньшей мере, на один CU, то есть, первый идентификатор представляет информацию о режиме разделения узла кодового дерева первого уровня. В качестве примера, если числовое значение конкретного SplitFlag равно 0, то это указывает на то, что узел, соответствующий конкретному SplitFlag, является листовым узлом кодового дерева первого уровня. Если числовое значение SplitFlag равно 1, то дополнительно получают SplitFlag четырех дочерних узлов узла, соответствующего конкретному SplitFlag, до тех пор, пока не будет определена информация обо всех листовых узлах кодового дерева первого уровня.

Следует отметить, что, если ширина области изображения, соответствующего узла, равна первому пороговому значению (например, первое пороговое значение равно 8 или 16), то узел является листовым узлом кодового дерева первого уровня, и числовое значение SplitFlag, соответствующего узла, равно 0.

В качестве варианта, способ синтаксического анализа CTU битового потока устройством декодирования для получения информации разделения узла кодового дерева первого уровня также может содержать: устройство декодирования выполняет синтаксический анализ CTU битового потока с помощью CTU в качестве корневого узла кодового дерева первого уровня для получения второго идентификатора (например, NSFlag), который содержится в синтаксическом элементе в CTU битового потока, и который используется, для указания, следует ли разделить узел кодового дерева первого уровня. Если числовое значение второго идентификатора имеет первое значение (например, 1), это указывает на то, что узел, соответствующий второму идентификатору, является листовым узлом кодового дерева первого уровня и является листовым узлом кодового дерева второго уровня; или, если числовое значение второго идентификатора представляет второе значение (например, 0), то получают третий идентификатор (например, QTSplitFlag), содержащийся в синтаксическом элементе. Если числовое значение третьего идентификатора является третьим значением (например, 0), то это означает, что узел, соответствующий третьему идентификатору, является листовым узлом кодового дерева первого уровня, но не является листовым узел кодового дерева второго уровня; или, если числовое значение третьего идентификатора является четвертым значением (например, 1), дополнительно получают вторые идентификаторы четырех дочерних узлов узла, соответствующие третьему идентификатору, до тех пор, пока информация обо всех листовых узлах кодового дерева первого уровня не будет определена.

Следует отметить, что, если ширина области изображения, соответствующего узла, равна первому пороговому значению (например, первое пороговое значение равно 8 или 16), узел является листовым узлом кодового дерева первого уровня, и числовое значение третьего идентификатора, соответствующего узла, является третьим значением. Кроме того, если ширина или высота области изображения, соответствующая узлу, больше, чем второе пороговое значение, и значение второго идентификатора, соответствующего узла, является вторым значением, то числовое значением третьего идентификатора является третьим значением; или, если режим разделения, соответствующего узла, является QT режимом разделения, то числовое значение второго идентификатора, соответствующего узла, является вторым значением, и числовое значение третьего идентификатора, соответствующего узла, является третьим значением.

В одном из примеров, таблица синтаксиса кодового дерева первого уровня в этом варианте осуществления настоящего изобретения показана в таблице 1. В таблице 1, coding_quadtree () является структурой синтаксиса кодового дерева первого уровня, и описывает информацию о узле кодового дерева первого уровня.

В таблице 1, coding_quadtree (xCtb, yCtb, CtbLog2SizeY, 0) анализируется с помощью CTU в качестве корневого узла, где CtbLog2SizeY является логарифмом длины стороны CTU с 2 в качестве основы (в данном описании область изображения, соответствующая CTU, имеет квадратную форму), и xCtb и yCtb соответственно представляют собой горизонтальную координату смещение и вертикальную координату смещения верхнего левого угла области изображения, соответствующего CTU, по отношению к верхнему левому углу области изображения, соответствующего узла; х0 и у0 соответственно представляют собой горизонтальную координату смещения и вертикальную координату смещения верхнего левого угла области изображения, соответствующего узла, по отношению к верхнему левому углу области изображения, соответствующего CTU; log2CbSize представляет собой логарифм длины стороны изображения, соответствующей узлу с 2, в качестве основы (потому что область изображения, соответствующая CTU, является квадратом и кодовое дерево первого уровня использует только разделение дерева квадрантов и изображения области, соответствующее всем узлам кодового дерева первого уровня, также являются квадратами и имеют одинаковую ширину и высоту, только требуется идентифицировать длину стороны и нет никакой необходимости проводить различие между шириной и высотой); cqtDepth представляет собой глубину узла кодового дерева первого уровня; условие condA представляет собой условие, при котором информация разделения узла синтаксического элемента split_cu_flag кодового дерева первого уровня должна быть проанализирована из битового потока. Например, condA является «область изображения, соответствующая узлу, находится в области изображения, соответствующая CTU, и длина стороны области изображения, соответствующая узлу, больше, чем пороговое значение». Если split_cu_flag равен 0, то это означает, что узел не разделяют на основании дерева квадрантов и является листовым узлом кодового дерева первого уровня. В этом случае, анализируют листовой узел на основании структуры синтаксиса coding_second_tree () кодового дерева второго уровня; или, если split_cu_flag равен 1, то это указывает, что узел разделен на основании дерева квадрантов. В этом случае, узел разделен на четыре дочерних узла, и определяют длину стороны и координату области изображения, соответствующую каждому дочернему узлу, и глубину каждого дочернего узла в кодовом дереве первого уровня и дочерние узлы анализируют последовательно на основании coding_quadtree (). "X >> Y" обозначает перемещение X вправо на Y бит. "X << Y" указывает на перемещение Х влево на Y бит. ае (v) указывает на синтаксический анализа элемента, основанный на CABAC.

Таблица 1

coding_quadtree(x0, y0, log2CbSize, cqtDepth) { Дескриптор
if( condA )
split_cu_flag[ x0 ][ y0 ] ae(v)
if( split_cu_flag[ x0 ][ y0 ] ) {
x1 = x0 + ( 1 << ( log2CbSize −1) )
y1 = y0 + ( 1 << ( log2CbSize −1) )
coding_quadtree(x0, y0, log2CbSize1, cqtDepth +1)
if( x1 < pic_width_in_luma_samples )
coding_quadtree(x1, y0, log2CbSize1, cqtDepth +1)
if( y1 < pic_height_in_luma_samples )
coding_quadtree(x0, y1, log2CbSize1, cqtDepth +1)
if(x1<pic_width_in_luma_sample&&y1<pic_height_in_luma_samples)
coding_quadtree(x1, y1, log2CbSize1, cqtDepth +1)
} else
coding_second_tree(x0, y0, log2CbSize, log2CbSize, 0, cqtDepth)
}

S602. Устройство декодирования выполняет синтаксический анализ битового потока, полученного устройством декодирования, чтобы получить информацию о режиме разделения узла кодового дерева второго уровня.

Информация о режиме разделения узла кодового дерева второго уровня указывает режим разделения, соответствующий первому узлу кодового дерева второго уровня, режим разделения, соответствующий первому узлу, является одним режимом в наборе кандидатов режима разделения, соответствующий первому узлу, набор кандидатов режима разделения, соответствующий первому узлу, определяют в соответствии с первым заданным условием разделения, первое заданное условие разделения используют для указания, следует ли ограничит разделение первого узла целевым режимом разделения и целевой режим разделения включает в себя, по меньшей мере, одно из горизонтальное бинарное разделение, горизонтальное троичное разделение, вертикальное бинарное разделение и вертикальное троичное разделение.

Корневой узел кодового дерева второго уровня является листовым узлом кодового дерева первого уровня. Режим разделения узла, соответствующий кодовому дереву второго уровня, отличается от режима разделенного узла, соответствующий кодовому дереву первого уровня. В этом варианте осуществление режим разделения узла, соответствующий кодовому дереву второго уровня, включает в себя бинарное разделение дерева и троичное разделение дерева, и бинарное разделение дерева включает в себя горизонтальное бинарное разделение, вертикальное бинарное разделение, и троичное разделение дерева включает в себя горизонтальное троичное разделение и вертикальное троичное разделение.

После получения информации о режиме разделения узла кодового дерева первого уровня, устройство декодирования использует листовой узел кодового дерева первого уровня, который идентифицирован корневым узлом кодового дерева первого уровня и режимом разделения узла, соответствующий информации о режиме разделения узла кодового дерева первого уровня, в качестве корневого узла кодового дерева второго уровня; и анализирует CTU битового потока для получения информации о режиме разделения узла кодового дерева второго уровня.

Возможно, способ для синтаксического анализа CTU битового потока устройством декодирования для получения информации о режиме разделения узла кодового дерева второго уровня может быть: устройство декодирования анализирует CTU битового потока, чтобы получить четвертый идентификатор (например, STSplitMode), используемый для указания, как разделить узел кодового дерева второго уровня, то есть, четвертый идентификатор указывает информацию о режиме разделения узла кодового дерева второго уровня.

Если четвертый идентификатор указывает на отсутствие дополнительного разделения (например, STSplitMode равно 0), это указывает, что узел, соответствующий четвертому идентификатору, является листовым узлом кодового дерева второго уровня дерева.

Если четвертый идентификатор указывает дополнительное разделение (например, STSplitMode равно 1, 2, 3 или 4), то это указывает, что узел, соответствующий четвертому идентификатору, включает в себя два или три дочерних узлов, и устройство кодирования дополнительно получает четвертый идентификатор дочернего узла, соответствующий четвертому идентификатору, пока не будет идентифицирована информация обо всех листовых узлах кодового дерева второго уровня. Например, если STSplitMode равен 1, то это указывает, что режим разделения, который соответствует узлу, соответствующий четвертому идентификатору, является горизонтальным бинарным разделением; если STSplitMode равно 2, то это указывает, что режим разделения, который соответствует узлу, соответствующий четвертому идентификатору, является вертикальным бинарным разделением; если STSplitMode равно 3, то это означает, что режим разделения, который соответствует узлу, соответствующий четвертому идентификатору, является горизонтальным троичным разделением; или, если STSplitMode равно 4, то это указывает, что режим разделения, который соответствует узлу, соответствующий четвертому идентификатору, является вертикальным троичным разделением.

Возможно, способ для синтаксического анализа CTU битового потока устройством декодирования для получения информации режима разделения узла кодового дерева второго уровня также может быть: для первого узла кодового дерева второго уровня устройство декодирования, во-первых, выполняет синтаксический анализ битового потока, а затем определяет, согласно первому заданному условию разделения, набор кандидатов режима разделения, соответствующий первому узлу, и затем анализирует битовый поток на основании набора кандидатов режима разделения, соответствующий первому узлу, чтобы определить информацию режима разделения, соответствующей первому узлу.

В данном случае, первое заданное условие разделения включает в себя, по меньшей мере, один из следующих заданных подусловий разделения: первое заданное подусловие разделения, второе заданное подусловие разделения, третье заданное подусловие разделения, четвертое заданное подусловие разделения, пятое заданное подусловие разделения, шестое заданное подусловие разделения, седьмое заданное подусловие разделения, восьмое заданное подусловие разделения и девятое заданное подусловие разделения.

Первое заданное подусловие разделения: если отношение ширины к высоте в области изображения, соответствующей первому узлу, больше или равно первому заданному пороговому значению (например, 8 или 4), набор режима разделения, соответствующий первому узлу, не включает в себя горизонтальное бинарное разделение или горизонтальное троичное разделение. Отношение ширины к высоте области изображений, соответствующей первому узлу, представляет собой отношение ширины области изображения, соответствующую первому узлу, к высоте области изображения, соответствующей первому узлу.

Второе заданное подусловие разделения: если отношение высоты к ширине области изображений, соответствующей первому узлу, больше или равно второму заданному пороговому значению (например, 8 или 4), набор режима разделения, соответствующий первому узлу, не включает в себя вертикальное бинарное разделение или вертикальное троичное разделение. Отношение высоты к ширине области изображений, соответствующей первому узлу, представляет собой отношение высоты области изображения, соответствующую первый узлу, к ширине области изображений, соответствующей первому узлу.

В третьем заданном подусловии разделения: если отношение площади области изображения, соответствующей первому узлу, к площади области изображений, соответствующей листовому узлу кодового дерева первого уровня, к которому принадлежит первому узлу, меньше или равно третьему заданному пороговому значению (например, 16 или 8), то набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя горизонтальное бинарное разделение, горизонтальное троичное разделение, вертикальной бинарное разделение или вертикальное троичное разделение.

Четвертое заданное подусловие разделения: если режим разделения, соответствующий первому узлу, включает в себя первый режим разделения и декодирование первого дочернего узла первого узла выполняют позже, чем второго дочернего узла первого узла и режим разделения, соответствующий второму дочернему узлу, является первым режимом разделения, набор кандидатов режима разделения, соответствующий первому дочернему узлу, не включает в себя первый режим разделения. Первый режим разделения является горизонтальным бинарным разделением или вертикальным бинарным разделением.

Например, если режимы разделения, соответствующие первому узлу и второму дочернему узлу являются горизонтальным троичным разделением, набор кандидатов режима разделения, соответствующий первому дочернему узлу, не включает в себя горизонтальное троичное разделение, то есть, не выполняют разделение первого дочернего узла в режиме горизонтального троичного разделения.

В пятом заданном подусловии разделения: если режим разделения, соответствующий первому узлу, включает в себя второй режим разделения, площадь области изображения, соответствующий первому дочернего узлу, первого узла является наименьшим среди площадей областей изображения, соответствующие три дочерних узла первого узла, набор кандидатов режима разделения, соответствующий первому дочернему узлу, не включает в себя второй режим разделения. Второй режим разделения является горизонтальным троичным разделением или вертикальным троичным разделением.

Например, если режим разделения, соответствующий первому узлу, является горизонтальным троичным разделением, набор кандидатов режима разделения, соответствующий первому дочернему узлу, не включает в себя горизонтальное троичное разделение, то есть, разделение первичного дочернего узла в режим горизонтального троичного разделения не допускается.

Шестое заданное подусловие разделения: если режим разделения, соответствующий первому узлу, включает в себя второй режим разделения, площадь области изображения, соответствующая первому дочернему узлу, первого узла является самым крупным среди площадей областей изображения, соответствующие трем дочерним узлам первого узла, набор кандидатов режима разделения, соответствующий первому дочернему узлу, не включает в себя второй режим разделения.

В седьмом заданном подусловии разделения: если отношение ширины области изображения, соответствующего первому узлу, к заданной длине стороны минимального CU меньше или равно третьему заданному пороговому значению в наборе кандидатов режима разделения, соответствующий первому узлу, не включает в себя вертикальное троичное разделение; или, если отношение высоты области изображения, соответствующего первому узлу, к длине стороны минимального CU меньше или равно третьему заданному пороговому значению, то набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя горизонтальное троичное разделение.

Восьмое заданное подусловие разделения: если площадь области изображения, соответствующая первому узлу, меньше или равна заданному четвертому пороговому значению, то набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя горизонтальное бинарное разделение, горизонтальное троичное разделение, вертикальное бинарное разделение или вертикальное троичное разделение.

Девятое заданное подусловие разделения: если режим разделения, соответствующий первому узлу, является вторым режимом разделения и площадь области изображения, соответствующая первому дочернему узлу первого узла, является самой крупной среди площадей областей изображения, соответствующей трем дочерним узлам первого узла, то набор кандидатов режима разделения, соответствующий первому дочернему узлу, не включает в себя первый режим разделения. Направление разделения первого режима разделения является таким же, что и второй режим разделения.

Например, если режим разделения, соответствующий первому узлу, является горизонтальным троичным разделением и площадь области изображения, соответствующая первому дочернему узлу первого узла, является самой большой среди площадей областей изображения, соответствующих трем дочерним узлам первого узла, то набор кандидатов режима разделения, соответствующий первому дочернему узлу, не включает в себя горизонтальное бинарное разделение, то есть, разделение первого дочернего узла в режиме горизонтального бинарного разделения не допускаются.

Например, первое заданное условие разделения в этом варианте осуществления настоящего изобретения может включать в себя третье заданное подусловие разделения; может включать в себя четвертые заданное подусловие разделения, или может включать в себя пятое заданное подусловие разделения; может включать в себя первое заданное подусловие разделения и второе заданное подусловие разделения; может включать в себя первое заданное подусловие разделения, второе заданное подусловие разделения, четвертое заданное подусловие разделения, шестое заданное подусловие разделения и седьмое заданное подусловие разделения; может включать в себя первое заданное подусловие разделения, второе заданное подусловие разделения, третье заданное подусловие разделения и седьмое заданное подусловие разделения; может включать в себя первое заданное подусловие разделения, второе заданное подусловие разделения, третье заданное подусловие разделения, пятое заданное подусловие разделения и седьмое заданное подусловие разделения; может включать в себя пятое заданное подусловие разделения и седьмое заданное подусловие разделения; может включать в себя третье заданное подусловие разделения, четвертое заданное подусловие разделения и седьмое заданное подусловие разделения; или может включать в себя первое заданное подусловие разделения, второе заданное подусловие разделения, четвертое заданное подусловие разделения и пятое заданное подусловие разделения.

Конечно, первое заданное подусловие разделения в этом варианте осуществления настоящего изобретения альтернативно может быть другой комбинацией указанных выше заданных подусловий разделения. Подробности не описаны здесь снова.

В качестве варианта, устройство кодирования может получить первое заданное пороговое значение, второе заданное пороговое значение, третье заданное пороговое значение, четвёртое заданное пороговое значение и заданную длину стороны минимального CU из SPS, PPS или заголовка сегмента в битовом потоке, включающие в себя данные изображения. Конечно, первое заданное пороговое значение, второе заданное пороговое значение, третье заданное пороговое значение, четвёртое заданное пороговое значение и заданная длина стороны минимального CU в качестве альтернативы могут быть заданы системой обработки изображений.

Дополнительно, в дополнении к первому заданному подусловию разделения по девятое заданное подусловие разделения, первое заданное условие разделения в этом варианте осуществления настоящего изобретения может также включать другое условие. Это конкретно не ограничено в этом варианте осуществления настоящего изобретения.

Например, первое заданное условие разделения дополнительно включает в себя любое одно из следующих условий:

A. Если глубина первого узла в кодовом дереве второго уровня равна заданной максимальной глубины в кодовом дереве второго уровня (например, заданная максимальная глубина в кодовом дереве второго уровня равна 3, 4 или 2), то набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя никакого дополнительного разделения.

Устройство кодирования может получить заданный максимальный уровень кодового дерева второго уровня из SPS, PPS или заголовка сегмента в битовом потоке, включающий в себя данные изображения.

B. Если ширина области изображения, соответствующая первому узлу, равна ширине заданного минимального CU, набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя горизонтальное бинарное разделение.

C. Если ширина или высота области изображения, соответствующая первому узлу, больше, чем пятое заданное пороговое значение (например, 64 или 128), то набор кандидатов режим разделения, соответствующий первому узлу, включает в себя отсутствие дополнительного разделения.

D. Если отношение ширины области изображения, соответствующая первому узлу, к длине стороны заданного минимального CU, меньше, чем шестое заданное пороговое значение, то набор кандидатов режима разделения, соответствующий первому узлу не включает в себя вертикальное троичное разделение; или, если отношение высоты области изображения, соответствующая первому узлу, к заданной длине стороны минимального CU меньше, чем заданное седьмое пороговое значение, то набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя горизонтальное троичное разделение.

Согласно приведенных выше описаний, четвертый идентификатор в этом варианте осуществления настоящего изобретения используют для указания, как разделить узел кодового дерева второго уровня. Возможно, четвертый идентификатор может включать в себя первую информацию, используемой для указания дальнейшего разделения узла, вторая информация используется ли для указания направления, в котором узел разделен, и третью информацию используют для обозначения режима, в котором узел разделен.

Например, первая информация представлена STSplitFlag. Если числовое значение STSplitFlag равно 0, то это означает, что узел, соответствующий STSplitFlag, больше не разделяют; или, если числовое значение STSplitFlag равно 1, то это указывает, что узел, соответствующий STSplitFlag, дополнительно разделяется. Вторая информация представлена STSplitDir. Если числовое значение STSplitDir равна 0, то это означает, что узел, соответствующий STSplitDir, разделяют в горизонтальном направлении; или, если числовое значение STSplitDir равно 1, то это указывает, что узел, соответствующий STSplitDir, разделен в вертикальном направлении. Третья информация представлена STSplitType. Если числовое значение STSplitType равно 0, то это означает, что режим разделения, который соответствует узлу, соответствующий STSplitType, является разделением бинарного дерева. Если числовое значение STSplitDir равно 1, то это указывает, что режим разделения, который соответствует узлу, соответствующий STSplitType, является разделением троичного дерева.

В качестве варианта, четвертый идентификатор в этом варианте осуществления настоящего изобретения может альтернативно включать в себя: идентификатор разделения бинарного дерева, используемый для указания, следует ли разделять узел, соответствующий четвертому идентификатору, в режиме разделения бинарного дерева; идентификатор разделения троичного дерева, используемый для указания, следует ли разделять в режиме разделения троичного дерева узел, соответствующий четвертому идентификатору; и вторая информация (идентификатор направления разделения является таким же, как идентификатор направления разделения в приведенном выше примере).

Например, идентификатор разделения бинарного дерева представлен BTFlag. Если числовое значение BTFlag равно 0, то это означает, что режим разделения, который соответствует узлу, соответствующий четвертому идентификатору, не является ВТ разделением; или, если числовое значение BTFlag равно 1, то это указывает, что режим разделения, который соответствует узлу, соответствующий четвертому идентификатору, является ВТ разделением. Идентификатор разделения троичного дерева является TTFlag. Если числовое значение TTFlag равно 0, то это означает, что режим разделения, который соответствует узлу, соответствующий четвертому идентификатору, не является ТТ разделением; или, если числовое значение TTFlag равно 1, то это указывает, что режим разделения, который соответствует узлу, соответствующий четвертому идентификатору, является ТТ разделением.

Конечно, четвертый идентификатор в этом варианте осуществления настоящего изобретения может альтернативно включать в себя любую комбинацию из первой информации, второй информации и третьей информации. Это конкретно не ограничено в этом варианте осуществления настоящего изобретения.

Очевидно, что, если режим разделения, соответствующий кодовому дереву второго уровня, дополнительно включает в себя режим разделения, кроме разделения бинарного дерева и разделения троичного дерева, четвертый идентификатор может включать в себя больше информации.

Четвертый идентификатор может включать в себя первую информацию, вторую информацию, а также третью информацию. Таким образом, после определения набора кандидатов режима разделения, соответствующий первому узлу, устройство декодирования определяет первую информацию, вторую информацию, а также третью информацию, основанную на наборе кандидатов режима разделения, соответствующий первому узлу. В этом случае, может быть определена информация о режиме разделения, соответствующая первому узлу.

В частности, устройство декодирования сначала определяет набор кандидатов режима разделения первого узла в соответствии с первым заданным условием разделения. Затем, устройство декодирования определяет на основании набора кандидатов режима разделения первого узла, может ли быть проанализирована первая информация, вторая информация и третья информация из битового потока. Если какая-либо одна из первой информации, второй информации и третьей информации не может быть проанализирована из битового потока, то таким образом числовое значение информации является значением системы по умолчанию.

Например, первая информация представлена STSplitFlag, вторая информация представлена STSplitDir и третья информация представлена STSplitType. Если набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя горизонтальное бинарное разделение, горизонтальное троичное разделение, вертикальное бинарное разделение или вертикальное троичное разделение, режим разделения, соответствующий первому узлу, дополнительно не разделяют, то есть, не требуется анализ ни одного из STSplitFlag, STSplitDir и STSplitType из битового потока, числовые значения STSplitFlag, STSplitDir и STSplitType равны 0. Если набор кандидатов режима разделения, соответствующий первому узлу, включает в себя, по меньшей мере, одно горизонтальное бинарное разделение, горизонтальное троичное разделение, вертикальное бинарное разделение и вертикальное троичное разделение, устройство декодирования сначала анализирует STSplitFlag из битового потока. Если числовое значение STSplitFlag является 0, числовые значения STSplitDir и STSplitType являются 0 по умолчанию; или если числовое значение STSplitFlag равно 1, STSplitDir (режим синтаксического анализа STSplitDir относится к набору кандидатов режима разделения, соответствующий первому узел) дополнительно анализируются и STSplitType (режим синтаксического анализа STSplitType относится к набору кандидатов режима разделения, соответствующий первому узлу) анализируется на основании числового значения STSplitDir. Если набор кандидатов режима разделения, соответствующий первому узлу, включает в себя горизонтальное бинарное разделение, горизонтальное троичное разделение, вертикальное бинарное разделение и вертикальное троичное разделение, устройство декодирования выполняет синтаксический анализ STSplitDir и STSplitType из битового потока последовательно; или, если набор кандидатов режима разделения, соответствующий первому узлу, включает в себя от одного до трех режимов разделения, по меньшей мере, один из STSplitDir и STSplitType может быть непосредственно получены вместо выполнения синтаксического анализа из битового потока.

В качестве примера, таблица 2 показывает все возможные случаи набора кандидатов режима разделения, соответствующий первому узлу, в этом варианте осуществления, и показывает способ синтаксического анализа для первой информации, второй информации и третьей информации, которые соответствуют в каждом конкретном случае. В таблице 2, если числовое значение вертикального бинарного разделения (Vertical Binary Tree, VBT) равно 0, то это означает, что набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя вертикальное бинарное разделение; если числовое значение VBT равно 1, это указывает, что набор кандидатов режима разделения, соответствующий первому узлу, включает в себя вертикальное бинарное разделение; если числовое значение горизонтального бинарного разделения (Horizontal Binary Tree, НВТ) равно 0, то это означает, что набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя горизонтальное бинарное разделение; если числовое значение HBT равно 1, то это указывает, что набор кандидатов режима разделения, соответствующий первому узлу, включает в себя горизонтальное бинарное разделение; если числовое значение вертикального троичного разделения (Vertical Ternary Tree, VTT) равно 0, то это означает, что набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя вертикальное троичное разделение; если значение VTT равно 1, это то указывает, что набор кандидатов режима разделения, соответствующий первому узлу, включает в себя вертикальное троичное разделение; если числовое значение горизонтального троичного разделения (Horizontal Binary Tree, HTT) равно 0, то это означает, что набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя горизонтальное троичное разделение; или, если числовое значение HТТ равно 1, то это указывает, что набор кандидатов режима разделения, соответствующий первому узлу, включает в себя горизонтальное троичное разделение. а, b, c соответственно указывают, что STSplitFlag, STSplitDir и STSplitType анализируют из битового потока; и НА(х) указывает установку соответствующего бита в значение х по умолчанию. Когда после синтаксического анализа получена информация, что STSplitFlag 0, числовые значения STSplitDir и STSplitType равны 0 по умолчанию. Когда после синтаксического анализа получена информация, что STSplitFlag 1, STSplitDir сначала анализируется, а затем STSplitType анализируется на основании числового значения STSplitDir. Символ ! является логической операцией NOT, выражение «ехр?m:n» указывает, что, если ехр верно, то используется m; в противном случае используется n. Например, STSplitDir? C: NA (1) указывает, что, если числовое значение STSplitDir не равно 0 (то есть, числовое значение STSplitDir равно 1. Это происходит потому, что числовое значение STSplitDir в этом варианте осуществления равно 0 или 1), STSplitType получают из битового потока; в противном случае, числовое значение STSplitType является 1 по умолчанию. В качестве другого примера !STSplitDir? НА(0):NA(1) указывает, что, если числовое значение STSplitDir равно 0, числовое значение STSplitType равно 0 по умолчанию; в противном случае, числовое значение STSplitType по умолчанию равно 1.

Со ссылкой на таблицу 2, можно узнать, что устройство декодирования может определить STSplitFlag, STSplitDir и STSplitType на основании набора кандидатов режима разделения, соответствующего первому узлу.

В качестве примера, для набора 15 кандидатов режима разделения в таблице 2, если набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя вертикальное бинарное разделение, горизонтальное бинарное разделение, горизонтальное троичное разделение или вертикальное троичное разделение, то числовые значения STSplitFlag, STSplitDir и STSplitType все равны 0 по умолчанию.

В другом примере для набора 12 кандидатов режима разделения в таблице 2, если набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя горизонтальное бинарное разделение, горизонтальное троичное разделение или вертикальное троичное разделение, то прежде всего устройство декодирования выпоняет синтаксический анализ STSplitFlag из битового потока; если числовое значение STSplitFlag равно 0, то числовые значения STSplitDir и STSplitType оба равны 0 по умолчанию; или если числовое значение STSplitFlag равно 1, то числовое значение STSplitDir равно 1 по умолчанию, и числовое значение STSplitType равно 0 по умолчанию.

В другом примере для набора 6 кандидатов режима разделения в таблице 2, если набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя горизонтальное троичное разделение или вертикальное троичное разделение, тово-первых, устройство декодирования выполняет синтаксический анализ STSplitFlag из битового потока; если числовое значение STSplitFlag равно 0, числовые значения STSplitDir и STSplitType оба равны 0 по умолчанию; если числовое значение STSplitFlag равно 1, то устройство декодирования анализирует STSplitDir из битового потока, и устанавливает числовое значение STSplitType равное 0 по умолчанию.

Таблица 2

Набор кандидатов режима разделения Режим разделения Режим синтаксического анализа
HBT VBT HTT VTT STSplitFlag STSplitDir
(STSplitFlag==1)
STSplitType
(STSplitFlag==1)
1 1 1 1 1 a b c
2 0 1 1 1 a b STSplitDir? c : NA(1)
3 1 0 1 1 a b !STSplitDir? c : NA(1)
4 1 1 0 1 a b STSplitDir? c : NA(0)
5 1 1 1 0 a b !STSplitDir? c : NA(0)
6 1 1 0 0 a b NA(0)
7 1 0 1 0 a NA(0) c
8 0 1 0 1 a NA(1) c
9 1 0 0 1 a b !STSplitDir? NA(0) :NA(1)
10 0 1 1 0 a b STSplitDir? NA(0) : NA(1)
11 1 0 0 0 a NA(0) NA(0)
12 0 1 0 0 a NA(1) NA(0)
13 0 0 1 0 a NA(0) NA(1)
14 0 0 0 1 a NA(1) NA(1)
15 0 0 0 0 NA(0) NA(0) NA(0)

В другом примере для набора 5 кандидатов режима разделения в таблице 2, первый из которых соответствует набору кандидатов режима разделения, соответствующий первому узлу, не включает в себя вертикальное троичное разделение, и устройство декодирования прежде всего выполняет синтаксический анализ STSplitFlag из битового потока. Если числовое значение STSplitFlag является 0, числовые значения STSplitDir и STSplitType являются 0 по умолчанию; или если числовое значение STSplitFlag равно 1, то устройство декодирования выполняет синтаксический анализ STSplitDir из битового потока. Если числовое значение STSplitDir равно 1, числовое значение STSplitType равно 0 по умолчанию; или если числовое значение STSplitDir равно 0, то устройство декодирования выполняет синтаксический анализ STSplitType из битового потока.

После определения числовых значений STSplitFlag, STSplitDir и STSplitType, устройство декодирования может определить, четвертый STSplitMode идентификатор на основании трех числовых значений, то есть, определение информации о режиме разделения первого узла кодового дерева второго уровня.

Например, устройство декодирования определяет числовое значение STSplitMode на основании числовых значений STSplitFlag, STSplitDir и STSplitType в режиме отображения, как показано в таблице 3.

Таблица 3

STSplitMode STSplitFlag STSplitDir STSplitType
0 0 0 0
1 1 0 0
2 1 1 0
3 1 0 1
4 1 1 1

В качестве примера, со ссылкой на приведенный выше пример, если числовые значения STSplitFlag, STSplitDir и STSplitType, которые соответствует первому узлу, соответственно, равны 1, 1 и 0, то значение STSplitMode равно 2, то есть, режим разделения, соответствующий первому узлу, является вертикальным бинарным разделением.

В качестве варианта, набор кандидатов режима разделения может альтернативно включать в себя только горизонтальное троичное разделение и вертикальное троичное разделение, и не включает в себя горизонтальное бинарное разделение или вертикальное бинарное разделение. В этом случае, устройство декодирования прежде всего выполняет синтаксический анализ STSplitFlag из битового потока. Если числовое значение STSplitFlag является 0, числовые значения STSplitDir и STSplitType являются 0 по умолчанию; или если числовое значение STSplitFlag равно 1, то устройство декодирования выполняет синтаксический анализ STSplitDir из битового потока, и числовое значение STSplitType равно 1 по умолчанию.

Легко понять, что, если режим разделения кодового дерева второго уровня дополнительно включает в себя режим разделения, кроме горизонтального бинарного разделения, вертикального бинарного разделения, горизонтального троичного разделения и вертикального троичного разделения, способ синтаксического анализа информации, показанный в таблице 2, должен быть расширен. Это конкретно не ограничено в этом варианте осуществления настоящего изобретения.

Как видно из таблицы 2, режимы для синтаксического анализа первой информации, второй информации и третьей информации, которые соответствуют нескольким наборам кандидатов режима разделения в 15 наборах кандидатов режима разделения, одинаковы или похожие. Таким образом, несколько наборов кандидатов режима разделения могут быть дополнительно объединены в одну категорию, и один способ синтаксического анализа используется для каждой категории. В этом случае, способ для синтаксического анализа первой информации, второй информации и третьей информации эквивалентен способу синтаксического анализа для определения первой информации, второй информации и третьей информации в соответствии с таблицей 2, но есть меньше ветвей определения.

Например, устройство декодирования может определять первую информацию STSplitFlag в режиме синтаксического анализа, показанном в таблице 4, определяет вторую информацию STSplitDir в режиме синтаксического анализа, показанном в таблице 5, и определяет третью информацию STSplitType в режиме синтаксического анализа, показанном на таблица 6. && является логической операцией И, || является логической операцией ИЛИ, и ! является логической операцией НЕТ. Как и в таблице 2, а, b, c соответственно указывают, что соответствующие данные должны быть проанализированы из битового потока, и НА(х) указывает, что значение соответствующей информации устанавливается на х.

Таблица 4

NumType > 0 NumType == 0
STSplitFlag A NA(0)

Как показано в таблице 4, когда величина (а именно, первое числовое значение, представленное NumType) режимов разделения, содержащиеся в наборе кандидатов режима разделения больше, чем 0, то устройство декодирования выполняет синтаксический анализ STSplitFlag из битового потока; или, если числовое значение NumType равно 0, то числовое значение STSplitFlag равно 0 по умолчанию. При определении, что числовое значение STSplitFlag равно 1, устройство декодирования продолжает выполнение синтаксического анализа STSplitDir и STSplitType; в противном случае, числовые значения STSplitDir и STSplitType оба равны 0 по умолчанию.

Со ссылкой на таблицу 2, можно видеть, что, в наборах 1-14 кандидатов режима разделения в таблице 2, где каждый набор кандидатов режима разделения включает в себя множество режимов разделения и STSplitFlag, соответствующий каждому набору кандидатов режима разделения должен быть проанализирован из битового потока. Это соответствует случаю, показанному в таблице 4. Кроме того, набор 15 кандидатов режима разделения в таблице 2, не включает в себя режим разделения, то есть, количество режимов разделения, содержащееся в наборе 15 кандидатов режима разделения, равно 0. Числовое значение STSplitFlag, соответствующее набору 15 кандидатов режима разделения является NA (0) по умолчанию, и это соответствует таблице 4.

Таблица 5

NumType
>= 3
NumType == 2 NumType
== 1
NumType
== 0
(HBT && VBT) || (HBT && VTT) || (VBT && HTT) (HBT && HTT) || (VBT && VTT)
STSplitDir b B NA(!HBT) NA(VBT || VTT) NA(0)

Как показано в таблице 5, когда числовое значение NumType больше или равно 3, числовое значение NumType равно 2, числовое значение NumType равно 1, и числовое значение NumType равно 0, то устройство декодирования определяет STSplitDir в различных режимах. Кроме того, когда числовое значение NumType равно 2, то устройство декодирования дополнительно должно определить, в зависимости от различных условий, конкретный режим для определения STSplitDir.

Например, когда числовое значение NumType больше или равно 3, то устройство декодирования выполняет синтаксический анализ битового потока, чтобы получить STSplitDir. Когда числовое значение NumType равно 2 и условие (НВТ && НТТ) || (VBT && ВТТ) удовлетворяется, числовое значение STSplitDir установлено на !HBT (то есть, когда НВТ равно 0, STSplitDir равно 1; или, когда HBT равно 1, STSplitDir равно 0).

Со ссылкой на таблицу 2, можно узнать, что, в наборах 1-5 кандидатов режима разделения в таблице 2, количество режимов разделения, содержащееся в каждом наборе кандидатов режима разделения больше или равно 3, и STSplitDir, соответствующий каждый из набора 1-5 кандидатов режима разделения, должны быть проанализированы из битового потока. Это соответствует случаю, показанному в таблице 5. В наборах 6-10 кандидатов режима разделения в таблице 2, количество режимов разделения, содержащиеся в каждом наборе кандидатов режима разделения, равно 2, и при различных условиях, существует различные режимы для анализа STSplitDir, соответствующий всем из наборов 6-10 кандидатов режима разделения, и это соответствует случаю, показанному в таблице 5. В наборах 11-14 кандидатов режима разделения в таблице 2 количество режимов разделения, содержащийся в каждом наборе кандидатов режима разделения, равно 1, и числовое значение STSplitDir, соответствующее каждому из набора 11-14 кандидатов режима разделения, является значением по умолчанию NA (VBT || ВТТ), и это соответствует случаю, показанному в таблице 5. Количество режимов разделения, содержащиеся в наборе 15 кандидатов режима разделения в таблице 2, равно 0, и STSplitDir, соответствующий набору 15 кандидатов режима разделения, является значением по умолчанию НА(0), и это соответствует случаю, показанному в таблице 5.

Таблица 6

Как показано в таблице 6, когда числовое значение NumType равно 4, числовое значение NumType равно 3, числовое значение NumType равно 2, числовое значение NumType равно 1, и числовое значение NumType равно 0, то устройство декодирования определяет STSplitType в различных режимах. Кроме того, когда числовое значение NumType равно 2 и числовое значение NumType равно 3, то устройство декодирования должно дополнительно определить, в зависимости от различных условий, конкретный режим для определения STSplitType. Как и в таблице 4 и таблице 5, таблица 6 также соответствует таблице 2.

Способ определения STSplitType устройством декодирования согласно таблице 6 аналогичен способу определения STSplitDir устройством декодирования в соответствии с таблицей 5, и подробности не описаны здесь еще раз.

Следует отметить, что, если информация разделения кодового дерева первого уровня представлена NSFlag и QTSplitFlag, когда числовое значение NSFlag узла является первым значением, узел является листовым узлом кодового дерева второго уровня, и числовое значение STSplitFlag равно 0 по умолчанию; или, когда числовое значение NSFlag узла является вторым значением, и числовое значение QTSplitFlag является вторым значением, то узел не является листовым узлом кодового дерева второго уровня и числовое значение STSplitFlag равно 1 по умолчанию.

В качестве варианта, в этом варианте осуществления настоящего изобретения, после выполнения S601, устройство декодирования выполняет S602; или в процессе выполняя S601, после получения информации о листовом узле кодового дерева первого уровня может сразу же выполнить S602 на основании листового узла кодового дерева первого уровня, до момента получения последнего листового узла кодового дерева первого уровня.

S603. Если информация о режиме разделения узла кодового дерева второго уровня указывает, что режим разделения, соответствующий первому узлу, кодового дерева второго уровня дополнительно не разделяет, устройство декодирования выполняет синтаксический анализ битового потока, чтобы получить информацию кодирования первого узла.

В этом варианте осуществления настоящего изобретения, если информация о режиме разделения узла кодового дерева второго уровня указывает, что режим разделения, соответствующий первому узлу кодового дерева второго уровня, дополнительно не разделяет, то это указывает, что первый узел является листовым узлом кодового дерева второго уровня.

Из приведенных выше описаний известно, что узел, который больше не разделяют, соответствует одному CU. Соответственно, первый узел соответствует одному CU.

В частности, устройство декодирования анализирует синтаксис структуры блока кодирования в битовом потоке (например, синтаксис структура coding_unit () в H.265. Для объяснения о синтаксисе структуры coding_unit (), обратитесь к следующим описаниям) для получения информации кодирования каждого CU. Информация кодирования каждого CU включает в себя информацию, такую как режим предсказания и коэффициент преобразования CU. При этом, устройство декодирования получает информацию кодирования каждого CU, что означает, что устройство декодирования получает информацию кодирования каждого листового узла кодового дерева второго уровня.

В качестве варианта, в этом варианте осуществления настоящего изобретения, в процессе выполнения S602, после получения информации о листовом узле кодового дерева второго уровня устройство декодирования может анализировать битовый поток для получения информации кодирования листового узла; и после получения информации кодирования листового узла продолжает получать листовой узел следующего кодового дерева второго уровня и информацию кодирования листового узла следующего кодового дерева второго уровня и так далее, до тех пор, пока не будет получен листовой узел последнего кодового дерева второго уровня.

В одном из примеров, таблица синтаксиса кодового дерева второго уровня в этом варианте осуществления настоящего изобретения показана в таблице 7. coding_second_tree () представляет собой синтаксис структуры кодового дерева второго уровня и описывает информацию об узле кодового дерева второго уровня.

В таблице 7, log2CuWidth и log2CuHeight соответственно представляют собой логарифмическую величину области изображения, соответствующей узлу с основанием 2 и логарифмическим значением высоты области изображения, соответствующую узлу с основанием 2, stDepth представляет собой глубину листового узла кодового дерева второго уровня, и условие condB представляет собой условие, при котором синтаксический элемент STSplitMode информации разделения узла кодового дерева второго уровня должна быть проанализирована из битового потока. Например, условие condB является «глубина stDepth узла кодового дерева второго уровня меньше, чем максимальная заданная глубина maxSTDepth в кодовой дереве второго уровня, как ширина, так и высота области изображения, соответствующего узла, меньше, чем пороговое значение maxSTSize, и ширина или высота области изображения, соответствующая узлу, больше, чем пороговое значение minSTSize». maxSTDepth представляет собой целое число (например, 2, 3 или 4) больше 0, и может быть задано или получена из SPS; minSTSize представляет собой целое число (например, 4 или 8) больше 0, и может быть задано или получено из SPS; maxSTSize является целым числом (например, 64 или 128) больше, чем minSTSize, и может быть задано или получено из SPS.

Диапазон значения STSplitMode равен 0, 1, 2, 3 и 4. Когда числовое значение STSplitMode равно 0, узел является листовым узлом кодового дерева второго уровня, и узел соответствует одному CU. В этом случае, информация кодирования блока анализируется на основании синтаксиса структуры CU coding_unit (). Режим организации синтаксического элемента информации о кодировании блока не ограничиваются в этом варианте осуществления настоящего изобретения. Когда числовое значение STSplitMode находится в диапазоне от 1 до 4, узел разделяется на два или три дочерних узла по отдельности посредством горизонтального бинарного разделения, вертикального бинарного разделения, горизонтального троичного разделения и вертикального троичного разделения, и для каждого дочернего узла определяют ширину, высоту и координату области изображения, соответствующую дочернему узлу, и глубину в кодовом дереве второго уровня и дочерние узлы последовательно анализируют на основании coding_second_tree ().

В качестве варианта, в этом варианте осуществления настоящего изобретения, STSplitFlag, STSplitDir и STSplitType могут быть закодированы в режиме обхода (by-pass) или могут быть закодированы с помощью одной модели вероятности или вероятностная модель может быть адаптивно выбрана на основании контекста.

Например, способ выбора модели контекста STSplitFlag является: получают размер S1 CU, соответствующий левой стороны области изображения, соответствующая узлу, размер S2 CU, соответствующий верхней стороне области изображения, соответствующая узлу, и размер S3 области изображения, соответствующей узлу. Если оба S1 и S2 меньше, чем S3, выбирают модель контекста под номером 2; или, если только один из S1 и S2 меньше, чем S3, то выбирают модель контекста, пронумерованной 1; в противном случае, (ни один из S1 и S2 не меньше, чем S3), выбирают модель контекста под номером 0. Левая часть области изображения, соответствующего узла, например, (х0 - 1, у0) и верхняя сторона области изображения, соответствующего узла, является, например, (х0, у0 - 1).

Способ выбора модели контекста STSplitDir: если ширина области изображения, соответствующая узлу, в два раза больше, чем высота, используют модель под номером 0; если ширина области изображения, соответствующая узлу, равна удвоенной высоте, используют модель под номером 1; если ширина области изображения, соответствующая узлу, равна высоте, используют модель номер 2; если ширина области изображения, соответствующая узлу, равна 1/2 высоты, то используют модель номер 3; или, если ширина области изображения, соответствующая узлу меньше, чем 1/2 высоты, то используют модель номер 4.

Способ выбора модели контекста STSplitType: если глубина узла кодового дерева второго уровня равна 0, то выбирают модель с номерами 0; если глубина узла кодового дерева второго уровня равна 1, то выбирают модель номер 1; или, если глубина узла кодового дерева второго уровня больше 1, выбирают модель номер 2.

Следует понимать, что число указанных выше контекстных моделей просто используется для различения разных контекстных моделей, и число моделей контекста не ограничивается, чтобы быть таким же, как цифры в приведенных выше примерах.

Таблица 7

coding_second_tree( x0, y0, log2CuWidth, log2CuHeight, stDepth, qtDepth) { Дескриптор
if( condB )
STSplitMode[ x0 ][ y0 ] ae(v)
if( STSplitMode[ x0 ][ y0 ] ==1) {
y1 = y0 + ( 1 << ( log2CuHeight − 1 ) )
coding_second_tree(x0, y0, log2CuWidth, log2CuHeight1, stDepth+1, qtDepth)
coding_second_tree(x0, y1, log2CuWidth, log2CuHeight1, stDepth+1, qtDepth)
}
else if(STSplitMode [ x0 ][ y0 ] == 2 ) {
x1=x0 + (1 << ( log2CuWidth − 1 ) )
coding_second_tree(x0, y0, log2CuWidth1, log2CuHeight, stDepth+1, qtDepth)
coding_second_tree(x1, y0, log2CuWidth1, log2CuHeight, stDepth+1, qtDepth)
}
else if(STSplitMode [ x0 ][ y0 ] ==3 ) {
y1 = y0 + ( 1 << ( log2CuHeight − 2 ) )
y2 = y1 + ( 1 << ( log2CuHeight − 1 ) )
coding_unit (x0, y0, log2CuWidth, log2CuHeight2, stDepth+1, qtDepth)
coding_unit (x0, y0, log2CuWidth, log2CuHeight1, stDepth+1, qtDepth)
coding_unit (x0, y2, log2CuWidth, log2CuHeight2, stDepth+1, qtDepth)
}
else if(STSplitMode [ x0 ][ y0 ] == 4 ) {
x1 = x0 + ( 1 << ( log2CuWidth − 2 ) )
x2 = x1 + ( 1 << ( log2CuWidth − 1 ) )
coding_unit (x0, y0, log2CuWidth 2, log2CuHeight, stDepth+1, qtDepth)
coding_unit (x1, y0, log2CuWidth 1, log2CuHeight, stDepth+1, qtDepth)
coding_unit (x2, y0, log2CuWidth 2, log2CuHeight, stDepth+1, qtDepth)
}
Else
coding_unit (x0, y0, log2CuWidth, log2CuHeight, stDepth, qtDepth)
}

S604. Устройство декодирования декодирует и восстанавливает кодированный блок на основе информации кодирования трех дочерних узлов первого узла, чтобы получить изображение, соответствующие данным изображения.

Процесс декодирования и восстановления блока кодирования включает в себя обработку, такую как предсказание, деквантование, обратное преобразование и контурная фильтрация. В частности, процесс декодирования и восстановления каждого блока кодирования включает в себя следующие этапы:

(1) Выбирают режим внутреннего предсказания или внешнего предсказания на основании режима предсказания в информации кодирования CU для получения предсказанного пикселя CU.

(2) Если CU включает в себя коэффициент преобразования, деквантования и обратного преобразования, то выполняют обработку CU на основании коэффициента преобразования, деквантования и обратного преобразования для получения восстановленного остаточного CU; или, если CU не включает в себя коэффициент преобразования, восстановленный остаточный CU равен 0, другими словами, восстановленный остаточное значение каждого пикселя в CU равно 0.

(3) После добавления предсказанного пикселя CU и восстановленного остаточного CU выполняют обработку посредством контурного фильтра для получения восстановленного блока изображения CU.

Устройство кодирования декодирует и восстанавливает каждый блок кодирования в соответствии с описанным выше способом для получения восстановленного блока изображения каждого CU. После получения восстановленного блока изображения каждого CU, устройство кодирования получает окончательное восстановленное изображение на основании всех восстановленных блоков изображения, которые получают, то есть, получают изображение, соответствующие данным изображения.

В этом варианте осуществления настоящего изображения, режим разделения, соответствующий первому узлу кодового дерева второго уровня, является одним из режимов разделения, определяемый в соответствии с первым заданным условием разделения, первое заданное условие разделения используют для указания, следует ли ограничить разделение первого узла целевым режимом разделения, и целевой режим разделения включает в себя, по меньшей мере, одно из горизонтальное бинарное разделение, горизонтальное троичное разделение, вертикальное бинарное разделение и вертикальное троичное разделение. Количество режимов разделения, соответствующих первому узлу, уменьшают первым заданным условием разделения, эффективно уменьшая сложность декодирования.

В варианте осуществления, показанном на фиг.6, в процессе определения информации о режиме разделения узла кодового дерева второго уровня, устройство декодирования может последовательно определять первую информацию, вторую информацию и третью информацию. Устройство декодирования в этом варианте осуществления настоящего изобретения может дополнительно определять информацию о режиме разделения узла кодового дерева второго уровня в последовательности первой информации, третьей информации и второй информации. Этот сценарий описан в данный момент.

В качестве примера, в S602, устройство декодирования может дополнительно определить первую информацию, третью информацию и вторую информацию последовательно в соответствии со способом синтаксического анализа, показанным в таблице 8, чтобы получить информацию о режиме разделения узла кодового дерева второго уровня на основании режима отображения, показанном в таблице 3.

Таблица 8 аналогична таблице 2. Детали не описаны здесь еще раз.

Как и в том, что в таблице 2, режимы для синтаксического анализа первой информации, третьей информации и второй информации, что соответствует нескольким наборам кандидатов режима разделения в 15 наборах кандидатов режима разделения, показанных в таблице 8, которые является одинаковыми или аналогичными. Таким образом, несколько наборов кандидатов режима разделения может быть дополнительно объединены в одну категорию, и могут использовать один способ синтаксического анализа для каждой категории. В этом случае, способ для синтаксического анализа первой информации, третьей информации и второй информации эквивалентен способу синтаксического анализа для определения первой информации, третьей информации и второй информации в соответствии с таблицей 8, но при меньшем количестве ветвей определения.

Например, устройство декодирования может определять первую информацию STSplitFlag, основанную на режиме синтаксического анализа, показанном в таблице 4, определять третью информацию STSplitType, основываясь на режиме синтаксического анализа, показанном в таблице 9, и определять вторую информацию STSplitDir на основании режима синтаксического анализа, показанного в таблице 10.

Таблица 8

Набор кандидатов режима разделения Режим разделения Режим синтаксического анализа
HBT VBT HTT VTT STSplitFlag STSplitType (STSplitFlag==1) STSplitDir
(STSplitFlag==1)
1 1 1 1 1 a c b
2 0 1 1 1 a c STSplitType? b : NA(1)
3 1 0 1 1 a c STSplitType? b : NA(0)
4 1 1 0 1 a c !STSplitType? b : NA(1)
5 1 1 1 0 a c !STSplitType? b : NA(0)
6 1 1 0 0 a NA(0) b
7 1 0 1 0 a c NA(0)
8 0 1 0 1 a c NA(1)
9 1 0 0 1 a c !STSplitType? NA(0) : NA(1)
10 0 1 1 0 a c STSplitType? NA(0) : NA(1)
11 1 0 0 0 a NA(0) NA(0)
12 0 1 0 0 a NA(0) NA(1)
13 0 0 1 0 a NA(1) NA(0)
14 0 0 0 1 a NA(1) NA(1)
15 0 0 0 0 NA(0) NA(0) NA(0)

Таблица 9

NumType
>= 3
NumType == 2 NumType
== 1
NumType == 0
(HBT && VBT) (HBT && HTT)
|| (VBT && VTT)
|| (HBT && VTT)
|| (VBT && HTT)
STSplitType c NA(0) c NA(HBT || VBT) NA(0)

Таблица 10

Как можно видеть, независимо от того, определяет ли устройство декодирования информацию о режиме разделения узла кодового дерева второго уровня в последовательности первой информации, второй информации и третьей информации, или определяет ли информацию режима разделения узла кодового дерева второго уровня в последовательности первой информации, третьей информации и второй информации, устройство декодирования может выполнить быстрое декодирование с функцией первого заданного условия разделения и сложность декодирования является относительно низкой.

В описанном выше варианте осуществления, режим разделения, соответствующий кодовому дереву первого уровня, включает в себя разделение дерева квадрантов, и режим разделения узла, соответствующий кодовому дереву второго уровня, включает в себя бинарное разделение дерева и троичное разделение дерева. В реальной реализации режим разделения, соответствующий кодовому дереву второго уровня, может дополнительно включать в себя разделение дерева квадрантов. В этом случае, устройство декодирования должно определить, в соответствии с первым заданным условием разделения и вторым заданным условием разделения, набор кандидатов режима разделения, соответствующий первому узлу, для определения режима разделения, соответствующего первому узлу.

Как показано на фиг.7, в этом случае, способ декодирования данных изображения, приведенный в этом варианте осуществления настоящего изобретения, включает в себя следующие этапы.

S700. Устройство декодирования получает битовый поток, включающий в себя данные изображения.

Описание операций на этапе S700 может быть понятно из вышеприведенного описания S600. Подробности опущены.

S701. Устройство декодирования декодирует битовый поток, полученный устройством декодирования, для получения информации о режиме разделения узла кодового дерева первого уровня.

Описание операций на этапе S701 может быть понятно из вышеприведенного описания S601. Подробности опущены.

S702. Устройство для декодера анализирует битовый поток, полученный устройством декодирования, для получения информации о режиме разделения узла в кодовом дереве второго уровня.

Информация о режиме разделения узла кодового дерева второго уровня указывает на режим разделения, соответствующий первому узлу кодового дерева второго уровня, режим разделения, соответствующий первому узлу, является одним режимом в наборе кандидатов режима разделения, соответствующий первому узлу, набор кандидатов режима разделения, соответствующий первому узлу, определяют в соответствии с первым заданным условием разделения и вторым заданным условием разделения, первое заданное условие разделения используют для указания, следует ли ограничить разделение первого узла целевым режимом разделения, целевой режим разделения включает в себя, по меньшей мере, одно из горизонтальное бинарное разделение, горизонтальное троичное разделение, вертикальное бинарное разделение и вертикальное троичное разделение, и второе заданное условие разделения используют для указания, следует ли ограничить разделение первого узла на основании разделения дерева квадрантов.

Корневой узел кодового дерева второго уровня является листовым узлом кодового дерева первого уровня. Режим разделения узла, соответствующий кодовому дереву второго уровня, отличается от режима разделения узла, соответствующего кодовому дереву первого уровня. В этом варианте осуществления режим разделения узла, соответствующий кодовому дереву второго уровня, включает в себя бинарное разделение дерева, троичное разделение дерева и разделение дерева квадрантов, бинарное разделение дерева включает в себя горизонтальное бинарное разделение и вертикальное бинарное разделение и троичное разделение дерева включает в себя горизонтальное троичное разделение и вертикальное троичное разделение.

В отличие от S602, устройство декодирования в этом варианте осуществления должно определить, в соответствии с первым заданным условием разделения и вторым заданным условием разделения, набор кандидатов режима разделения, соответствующий первому узлу.

Первое заданное условие разделения является таким же, как первое заданное условие разделения в варианте осуществления, показанном на фиг.6. В данном случае, второе заданное условие разделения может включать в себя, по меньшей мере, одно из следующих заданных подусловий разеделения:

десятое заданное подусловие разделения: если глубина первого узла в кодовом дереве второго уровня меньше, чем максимальная заданная глубина в кодовом дереве второго уровня, то набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя разделение дерева квадрантов; и

одиннадцатое заданное подусловие разделения: если отношение ширины к высоте области изображений, соответствующей первому узлу, больше или равно пятому заданному пороговому значению, то набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя разделение дерева квадрантов.

Аналогично, что в S602, устройство декодирования в этом варианте осуществления сначала определяет, в соответствии с первым заданным условием разделения и вторым заданным условием разделения, набор кандидатов режима разделения, соответствующий первому узлу, и затем анализирует битовый поток в режиме разделения, соответствующий первому узлу, для определения информации о режиме разделения узла, соответствующем кодовому дереву второго уровня.

Поскольку режим разделения узла, соответствующий кодовому дереву второго уровня в этом варианте осуществления дополнительно включает в себя разделение дерева квадрантов, в этом варианте осуществления, основанный на описании на фиг.6, числовое значение четвертого идентификатора (STSplitMode) также может быть 5, то есть, STSplitMode = 5, что свидетельствует о том, что режим разделения, который соответствует узлу, соответствующий четвертому идентификатору, является разделением дерева квадрантов.

Соответственно, четвертый идентификатор в этом варианте осуществления дополнительно включает в себя четвертую информацию (четвертая информация в данном описании представлена STQTSplitFlag), и четвертая информация используется для указания, следует ли разделить первый узел на основании разделения дерева квадрантов. Другими словами, четвертый идентификатор в этом варианте осуществления включает в себя первую информацию, вторую информацию, третью информацию и четвертую информацию. В этом варианте осуществления, если числовое значение STQTSplitFlag равно 1, это указывает, что режим разделения, который соответствует узлу, соответствующий четвертому идентификатору, включает в себя разделение дерева квадрантов; или, если числовое значение STQTSplitFlag равно 0, то это указывает, что набор кандидатов режима разделения, который соответствует узлу, соответствующий четвертому идентификатору, не включает в себя разделение дерева квадрантов.

В частности, устройство декодирования определяет первую информацию, вторую информацию, третью информацию и четвертую информацию последовательно, чтобы определить информацию о режиме разделения узла, соответствующего кодового дерева второго уровня.

Аналогично, что в варианте осуществления на фиг. 6, устройство декодирования в этом варианте осуществления может определять первую информацию на основании первого числового значения и содержания четвертой информации в варианте осуществления на фиг. 6, для определения второй информации и третьей информации.

Например, устройство декодирования может определять первую информацию STSplitFlag в режиме синтаксического анализа, показанном в таблице 11, и определяет четвертую информацию STQTSplitFlag в режиме синтаксического анализа, показанном в таблице 12. В таблице 11, если QT числовое значение равно 1, это указывает, что первый узел является QT режимом разделения; или, если QT числовое значение равно 0, то это означает, что разделение первого узла в QT режиме разделения не допускается. Когда «NumType> 0 || QT» выполняется, то устройство декодирования выполняет синтаксический анализ STSplitFlag из битового потока; в противном случае, (то есть, «NumType == 0 &&! QT» выполняется), числовое значение STSplitFlag равно 0 по умолчанию. Если числовое значение STSplitFlag равно 1, то устройство декодирования продолжает выполнять синтаксический анализ STQTSplitFlag; в противном случае, числовые значения STQTSplitFlag, STSplitDir и STSplitType равны 0 по умолчанию.

Как показано в таблице 12, когда режим разделения, соответствующий первому узлу, включает в себя разделение дерева квадрантов, устройство декодирования выполняет синтаксический анализ STQTSplitFlag из битового потока; в противном случае, числовое значение STQTSplitFlag равно 0 по умолчанию. Если числовое значение STQTSplitFlag равно 0, STSplitDir и STSplitType продолжают анализировать последовательно; в противном случае, числовые значения STSplitDir и STSplitType равны 0 по умолчанию.

В этом варианте осуществления, способы анализа STSplitDir и STSplitType являются такими же, как способы анализа STSplitDir и STSplitType в варианте осуществления на фиг. 6. Детали не описаны здесь еще раз.

Таблица 11

NumType > 0 || QT NumType == 0 && !QT
STSplitFlag A NA(0)

Таблица 12

QT !QT
STQTSplitFlag a NA(0)

После определения числовых значений STSplitFlag, STSplitDir, STSplitType и STQTSplitFlag, устройство декодирования может определить четвертый STSplitMode идентификатор на основании четырех числовых значений, то есть, определение информации о режиме разделения первого узла кодового дерева второго уровня.

Например, устройство декодирования определяет числовое значение STSplitMode на основании числовых значений STSplitFlag, STSplitDir, STSplitType и STQTSplitFlag в режиме отображения, показанном в таблице 13.

Таблица 13

STSplitMode STSplitFlag STQTSplitFlag STSplitDir STSplitType
0 0 0 0 0
1 1 0 0 0
2 1 0 1 0
3 1 0 0 1
4 1 0 1 1
5 1 1 0 0

Аналогично, другая информация STQTSplitFlag в этом варианте осуществления также может быть закодирована в режиме обхода или закодирована с помощью одной или нескольких моделей вероятности.

S703. Если информация о режиме разделения узла кодового дерева второго уровня указывает, что режим разделения, соответствующий первому узлу кодового дерева второго уровня, не используют для дополнительного разделения, устройство декодирования выполняет синтаксический анализ битового потока, чтобы получить информацию кодирования первого узла.

Описание S703 может быть сделано со ссылкой на S603. Подробности не описаны здесь снова.

S704. Устройство декодирования декодирует и восстанавливает блок кодирования на основании информации кодирования трех дочерних узлов первого узла, для получения изображения, соответствующего данным изображения.

Для описания S704 может быть сделана ссылка на S604. Подробности не описаны здесь снова.

По сравнению с вариантом осуществления на фиг.6, в этом варианте осуществления, режим разделения, соответствующий кодовому дереву второго уровня, дополнительно включает в себя разделение дерева квадрантов, и режим разделения, содержащийся в наборе кандидатов режима разделения, соответствующий первому узлу, дополнительно ограничивается. Таким образом, эффективность декодирования устройства декодирования может быть дополнительно повышена.

Дополнительно, вариант осуществления настоящего изобретения дополнительно предоставляет способ кодирования данных изображения. Способ кодирования может быть применен к системе обработки изображения, показанного на фиг. 4.

Как показано на фиг.8, способ кодирования данных изображения, предусмотренных настоящим вариантом осуществления настоящего изобретения, включает в себя следующие этапы.

S800. Устройство кодирования определяет CTU, соответствующий блоку изображения, подлежащий кодирования.

Согласно приведенных выше описаний, изображение включает в себя множество CTUs, и один CTU обычно соответствует одной квадратной области изображения. После получения изображения, устройство кодирования кодирует каждый CTU изображения.

Процессы кодирования всех CTUs, выполняемые устройством кодирования, являются одинаковыми. Таким образом, описание приведено в данном варианте осуществления настоящего изобретения, используя пример, в котором устройство кодирования кодирует один CTU.

S801. Устройство кодирования делит CTU в режиме разделения узла, соответствующий кодовому дереву первого уровня, для получения листового узла кодового дерева первого уровня.

Корневой узел кодового дерева первого уровня соответствует CTU, и режим разделения узла, соответствующий кодовому дереву первого уровня, является разделением дерева квадрантов.

В частности, устройство кодирования определяет CTU в качестве корневого узла кодового дерева первого уровня, и рекурсивно разбивает CTU, по меньшей мере, один листовой узел в QT режиме разделения.

После получения по меньшей мере одного листового узла кодового дерева первого уровня, устройство кодирования определяет каждый листовой узел кодового дерева первого уровня в качестве корневого узла кодового дерева второго уровня, и последовательно выполняет следующие действия этапов на каждом корневом узле кодового дерева второго уровня, до тех пор, пока не будет получена информация обо всех листовых узлах кодового дерева второго уровня. Описание приводится в данном варианте осуществления настоящего изобретения, используя пример, в котором устройство кодирования обрабатывает первый узел кодового дерева второго уровня.

S802. Устройство кодирования определяет набор кандидатов режима разделения, соответствующий первому узлу кодового дерева второго уровня, где набор кандидатов режима разделения, соответствующий первому узлу, удовлетворяет первому заданному условию разделения.

Первое заданное условие разделения используют для указания, следует ли ограничить разделение первого узла целевым режимом разделения, корневой узел кодового дерева второго уровня представляет собой листовой узел кодового дерева первого уровня, и целевой режим разделения включает в себя, по меньшей мере, одно горизонтальное бинарное разделение, горизонтальное троичное разделение, вертикальное бинарного разделение и вертикальное троичное разделение.

В общем случае, при отсутствии ограничений для разделения первого узла, режимы разделения, доступные для первого узла, не включают в себя дополнительное разделение, горизонтальное бинарное разделение, горизонтальное троичное разделение, вертикальное бинарное разделение, вертикальное троичное разделение и разделение дерева квадрантов. В этом случае, устройство кодирования должно вычислить RD стоимость шести режимов разделения последовательно, вызывая относительно высокую сложность кодирования.

Этот вариант осуществления настоящего изобретения предлагает первое заданное условие разделения для ограничения режим разделения, доступного для первого узла. Первое заданное условие разделения является таким же, как первое заданное условие разделения, описанное в варианте осуществления, показанном на фиг.6. Детали не описаны здесь еще раз.

Количество режимов разделения, содержащиеся в наборе кандидатов режима разделения, соответствующий первому узлу, ограниченно первым заданным условием разделения. Таким образом, устройству кодирования не нужно вычислять RD стоимость шести режимов разделения для первого узла в большинстве случаев, уменьшая сложность кодирования.

S803. Если набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя дополнительное разделение, то устройство кодирования кодирует CU, соответствующий первому узлу, для получения блока кодирования битового потока, соответствующий CU.

Если набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя никакого дополнительного разделения, то это указывает, что первый узел является листовым узлом кодового дерева второго уровня, и первый узел соответствует одному CU. Устройство кодирования кодирует CU, соответствующий первому узлу, чтобы получить блок кодирования битового потока, соответствующий CU.

В частности, CU кодирование включает в себя процедуры, такие как предсказание (prediction), преобразование (transform), квантование (quantization) и энтропийное кодирование (entropy coding). Для CU, процесс, в котором устройство кодирования кодирует CU для получения CU битового потока, соответствующего CU, главным образом, включает в себя следующие этапы:

(1) Устройство кодирования выбирает режим внутреннего предсказания или внешнего предсказания на основании режима предсказания для получения предсказанного пикселя CU.

(2). Устройство кодирования изменяет и квантует разностную величину между оригинальным пикселем CU и предсказанным пикселем CU для получения коэффициента преобразования, и выполняет деквантование и обратное преобразование полученного коэффициента преобразования, чтобы получить восстановленный остаточный CU.

(3) После добавления предсказанного пиксела CU и восстановленного остаточного CU, устройство кодирования выполняет процесс фильтрации, чтобы получить восстановленный пиксель CU.

(4) Устройство кодирования выполняет энтропийное кодирование информации, такое как режим предсказания и коэффициент преобразования CU, для получения CU битового потока.

Подробное описание процесса, в котором устройство кодирования кодирует CU для получения CU битового потока, может быть изложено со ссылкой на используемый способ генерирования CU битового потока, и повторное изложение опущено.

S804. Если набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя никакое дополнительное разделение, то устройство кодирования вычисляет RD стоимость каждого режима разделения в наборе кандидатов режима разделения, соответствующий первому узлу.

Для набора кандидатов режима разделения в наборе кандидатов режима разделения, соответствующий первому узлу, устройство кодирования делит первый узел в этом режиме разделения и получает все CUs, полученные после того, как первый узел разделен в этом режиме разделения. Устройство кодирования вычисляет стоимость RD каждого CU, и определяет сумму стоимостей RD всех CUs в качестве стоимости RD этого режима разделения.

В качестве варианта, для любого CU, RD стоимость CU равна взвешенной сумме суммы квадратов ошибок (Sum of Squared Errors, SSE) искажения восстановления пикселей, содержащиеся в CU, и расчетное значение количества битов в битовом потоке, соответствующих CU.

S805. Устройство кодирования определяет режим разделения, соответствующий наименьшей стоимости искажения скорости в качестве целевого режима разделения, соответствующего первому узлу.

S806. Устройство кодирования делит первый узел в целевом режиме разделения, соответствующий первому узлу.

После разделения первого узла в целевом режиме разделения, соответствующий первому узлу, устройство кодирования последовательно выполняет S802 - S806 на каждом дочернем узле первого узла, пока не будут получены все листовые узлы кодового дерева второго уровня.

Каждый листовой узел кодового дерева второго уровня соответствует одному CU. После получения всех листовых узлов кодового дерева второго уровня, устройство кодирования может получить CU, соответствующего каждому листовому узлу кодового дерева второго уровня. Это может быть известно из S803, что устройство кодирования может кодировать CU для получения CU битового потока, соответствующий CU. Таким образом, устройство кодирования может получить, по меньшей мере, один CU битового потока. Таким образом, устройство кодирования может получить CTU битового потока на основе информации, по меньшей мере, одного CU битового потока, режима разделения узла, соответствующего кодового дерева первого уровня и информации о режиме разделения узла, соответствующий кодовому дереву второго уровня, чтобы генерировать битовый поток данных, включающий в себя изображения.

Кроме того, устройство кодирования в этом варианте осуществления настоящего изобретения может дополнительно определить, в соответствии со вторым заданным условием разделения, набор кандидатов режима разделения, соответствующий первому узлу.

В данном случае, второе заданное условие разделения может включать в себя, по меньшей мере, одно из следующих заданных подусловий разделения:

Десятое заданное подусловие разделения: если глубина первого узла кодового дерева второго уровня меньше, чем максимальная заданная глубина кодового дерева второго уровня, то набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя разделение дерева квадрантов.

Одиннадцатое заданное подусловие разделения: если отношение ширины к высоте области изображений, соответствующей первому узлу, больше или равно пятому заданному пороговому значению, то набор кандидатов режима разделения, соответствующий первому узлу, не включает в себя разделение дерева квадрантов.

В этом варианте осуществления настоящего изобретения, разделение узла кодового дерева второго уровня ограничивается первым заданным условием. Таким образом, сложность разделения узла кодового дерева второго уровня значительно снижается, и сложность кодирования уменьшается.

Вариант осуществления настоящего изобретения обеспечивает устройство декодирования. Устройство декодирования выполнено с возможностью выполнять этапы, выполняемые устройством декодирования данных в указанном выше способе декодирования изображения. Устройство декодирования, предусмотренное этим вариантом осуществления настоящего изобретения, может включать в себя модули, соответствующие соответствующим этапам.

В этом варианте осуществления настоящего изобретения разделение функциональных модулей устройства декодирования может быть выполнено в соответствии с примером в предшествующем способе. Например, разделение функциональных модулей может быть выполнено в соответствии с функциями, или две или более функций могут быть объединены в один модуль обработки. Встроенный модуль может быть реализован в виде аппаратных средств или может быть реализован в виде функционального модуля программного обеспечения. В этом варианте осуществления настоящего изобретения, деление модулей является примером и является лишь логической функцией разделения, и может быть иным подразделением в фактической реализации.

Когда разделение функциональных модулей выполняется в соответствии с функциями, фиг. 9 представляет собой возможную структурную схему оконечного устройства в предшествующем варианте осуществления. Как показано на фиг. 9, устройство декодирования включает в себя модуль 900 получения, модуль 901 синтаксического анализа и модуль 910 декодирования и восстановления. Модуль 900 получения выполнен с возможностью поддерживать устройство декодирования при выполнении S600, S700 и/или тому подобное в вышеприведенных вариантах осуществления, и/или выполнено с возможностью выполнять другой процесс технологии, описанной в данном документе. Модуль 901 синтаксического анализа выполнен с возможностью поддерживать устройство декодирования при выполнении S601, S602, S603, S701, S702, S703 и/или тому подобное в предшествующих вариантах осуществления, и/или выполнен с возможностью выполнять другой процесс технологии, описанной в этом документе. Модуль 910 декодирования и восстановления выполнен с возможностью поддерживать устройство декодирования при выполнении S604, S704 и/или тому подобное в предшествующих вариантах осуществления, и/или выполнен с возможностью выполнять другой процесс технологии, описанный в данном документе. Все содержание, относящееся к приведенным выше этапам вариантов осуществления способа, может быть приведено в описании функций соответствующих функциональных модулей, и детали не описаны здесь еще раз. Конечно, устройство декодирования, предусмотренное настоящим вариантом осуществления настоящего изобретения, включает в себя, но не ограничиваются приведенными выше модулями. Например, устройство декодирования может дополнительно включать в себя модуль 911 хранения. Модуль 911 хранения может быть выполнен с возможностью хранить программный код и данные устройства декодирования.

Когда используют интегрированный блок, модуль 901 синтаксического анализа и модуль 910 декодирования и восстановления в этом варианте осуществления настоящего изобретения, может быть процессором 57 на фиг. 5, модуль 900 получения может быть RF схемой 50 на фиг. 5 и антенной, соединенной с RF схемой 50, и модуль 911 хранения данных может быть памятью 51 на фиг. 5.

При работе устройства декодирования, устройство декодирования выполняет способ декодирования данных изображения в варианте осуществления, показанном на фиг. 6 или фиг. 7. Для описания конкретного способа декодирования данных изображения может быть сделана ссылка на соответствующее описание в предшествующем варианте осуществления, показанном на фиг. 6 или фиг. 7. Подробности не описаны здесь еще раз.

Еще один вариант осуществления настоящего изобретения дополнительно обеспечивает машиночитаемый носитель данных. Машиночитаемый носитель данных включает в себя одну или несколько групп программного кода, а также одну или несколько программ, включающие в себя инструкцию. Когда процессор в устройстве декодирования выполняет программный код, устройство декодирования выполняет способ декодирования данных изображения, показанного на фиг. 6 или фиг. 7.

Еще один вариант осуществления настоящего изобретения дополнительно содержит компьютерный программный продукт. Компьютерный программный продукт включает в себя исполняемые компьютером инструкции, и компьютер исполняемые инструкции хранят на машиночитаемом носителе данных. Когда, по меньшей мере, один процессор устройства декодирования может считывать исполняемую инструкцию из машиночитаемого носителя данных, по меньшей мере, один процессор выполняет исполняемую компьютером инструкцию, таким образом, устройство декодирования выполняет этапы устройства декодирования в способе декодирования данных изображения, показанный на фиг. 6 или фиг. 7.

Вариант осуществления настоящего изобретения обеспечивает устройство кодирования. Устройство кодирования выполнено с возможностью выполнять операции, выполняемые устройством кодирования в описанном ранее способе декодирования изображения. В данном варианте осуществления настоящего изобретения предоставлено устройство кодирования, которое может включать в себя модули, соответствующие соответствующим этапам.

В этом варианте осуществления настоящего изобретения, разделение функциональных модулей может быть выполнено на устройстве кодирования в соответствии с примером в предшествующем способе. Например, разделение функциональных модулей может быть выполнено в соответствии с функциями, или две или более функций могут быть объединены в один модуль обработки. Встроенный модуль может быть реализован в виде аппаратных средств или может быть реализован в виде функционального модуля программного обеспечения. В этом варианте осуществления настоящего изобретения, деление модулей является примером и является лишь логической функцией разделения, и может быть иным подразделением в фактической реализации.

Когда разделение функциональных модулей выполняется в соответствии с функциями, фиг. 10 является возможной структурной схемой оконечного устройства в предшествующем варианте осуществления. Как показано на фиг. 10, устройство кодирования включает в себя модуль 1000 определения, модуль 1001 разделения, модуль 1010 кодирования и модуль 1011 вычисления. Модуль 1000 определения выполнен с возможностью поддерживать устройство кодирования при выполнении S800, S802, S805 и/или, как и в предшествующем варианте осуществления, и/или выполнить другой процесс в технологии, описанной в данном документе. Модуль 1001 разделения выполнен с возможностью поддерживать устройство кодирования при выполнении S801, S806, и/или тому подобное, в вышеупомянутом варианте осуществления, и/или выполнить другой процесс в технологии, описанной в данном документе. Модуль 1010 кодирования выполнен с возможностью поддерживать устройство кодирования при выполнении S803 в предшествующем варианте осуществления, и/или выполнить другой процесс в технологии, описанной в данном описании. Модуль 1011 вычисления выполнен с возможностью поддерживать устройство кодирования при выполнении S804 в предшествующем варианте осуществления, и/или выполнить другой процесс в технологии, описанной в данном описании. Все содержание, относящееся к этапам в вышеприведенном варианте осуществления способа может быть приведено в описании функций соответствующих функциональных модулей, и детали не описаны здесь еще раз. Конечно, устройство кодирования, предусмотренное настоящим вариантом осуществления настоящего изобретения, включает в себя, но не ограничиваются приведенными выше модулями. Например, устройство кодирования может дополнительно включать в себя модуль 1002 хранения, модуль 1003 отправки и модуль 1004 приема. Модуль 1002 хранения может быть выполнен с возможностью хранить программный код и данные устройства кодирования. Модуль 1003 отправки и модуль 1004 приема выполнены с возможностью осуществлять связь с другим устройством.

Когда используют интегрированный блок, модуль 1000 определения, модуль 1001 разделения, модуль 1010 кодирования и модуль 1011 вычисления в данном варианте осуществления настоящего изобретения, может быть процессором 57 на фиг. 5, модуль 1003 передачи и модуль 1004 приема может быть RF схемой 50 на фиг. 5 и антенной, соединенной со RF схемой 50, и модуль 1002 хранения данных может быть памятью 51 на фиг. 5.

Когда устройство кодирования работает, то устройство кодирования выполняет способ кодирования данных изображения в варианте осуществления, показанном на фиг.8 Описание конкретного способа декодирования данных изображения может быть сделано со ссылкой на соответствующее описание в предшествующем варианте осуществления, показанном на фиг. 8. Подробности не описаны здесь еще раз.

Еще один вариант осуществления настоящего изобретения дополнительно обеспечивает машиночитаемый носитель данных. Машиночитаемый носитель данных включает в себя одну или несколько групп программного кода, а также одна или несколько программ, включает в себя инструкцию. Когда процессор в устройстве кодирования выполняет программный код, устройство кодирования выполняет способ декодирования данных изображения, показанного на фиг. 8.

В другом варианте осуществления настоящего изобретения дополнительно представлен компьютерный программный продукт. Компьютерный программный продукт включает в себя исполняемые компьютером инструкции, и исполняемые компьютером инструкции хранят на машиночитаемом носителе данных. По меньшей мере, один процессор устройства кодирования может считывать исполняемую компьютером инструкцию из машиночитаемого носителя данных и, по меньшей мере, один процессор выполняет исполняемую компьютером инструкцию, таким образом, устройство кодирования выполняет этапы устройства кодирования в способе декодирования данных изображения, показанный на фиг. 8.

Все или некоторые из приведенных выше вариантов осуществления, могут быть реализованы с помощью программного обеспечения, аппаратных средств, встроенного программного обеспечения или любой их комбинации. Когда программа используется для реализации вариантов осуществления, все или некоторые из вариантов осуществления, могут быть реализованы в виде компьютерного программного продукта. Компьютерный программный продукт включает в себя одну или несколько инструкций компьютера. При загрузке компьютерной программы и выполнении на компьютере, все или некоторые из процедур или функций генерируются в соответствии с вариантами осуществления настоящего изобретения. Компьютер может быть компьютером общего назначения, компьютером специального назначения, компьютерной сетью или другим программируемым устройством. Инструкции компьютера могут быть сохранены на носителе данных, считываемых компьютером, или может быть переданы с машиночитаемого носителя данных на другой машиночитаемый носитель информации, например, компьютерные инструкции могут передаваться с веб-сайта, компьютера, сервера или центра обработки данных на другой сайт, компьютер, сервер или центр обработки данных по проводной (например, коаксиальный кабель, оптическое волокно или цифровой абонентской линии (DSL)) или беспроводной (например, связь инфракрасного диапазона, радиосвязь или связь микроволнового диапазона) связи. Машиночитаемый носитель данных может быть любой полезной средой, доступной для компьютера, или устройством хранения данных, таким как сервер или центр обработки данных, интегрирующий один или несколько используемых носителей. Полезная среда может представлять собой магнитный носитель (например, флоппи-диск, жесткий диск или магнитную ленту), оптический носитель (например, DVD), полупроводниковую среду (например, твердотельный накопитель Solid State Disk (SSD)) или тому подобное.

С помощью описаний приведенных выше реализаций, специалист в данной области техники может четко понимать, что для удобства и краткости описания разделение указанных выше функциональных модулей используется просто в качестве примера для описания. В практическом применении указанные выше функции могут быть выделены различным функциональным модулям для реализации по мере необходимости, то есть, внутренняя структура устройства делится на различные функциональные модули, чтобы реализовать все или некоторые из описанных выше функций.

В некоторых вариантах осуществления, представленных в настоящем изобретении, следует понимать, что раскрытые устройства и способы могут быть реализованы другими способами. Так, например, описанное устройство варианта осуществления является просто примерами. Например, разделение модулей или блоков является просто логической функцией разделения, и может быть иным подразделением в фактической реализации. Например, множество модулей или компонентов могут быть объединены или интегрированы в другое устройство, или некоторые функции могут быть проигнорированы или не могут быть выполнены. Кроме того, отображаемые или обсуждаемые взаимные связи или прямые соединения, или связи могут быть реализованы с использованием некоторых интерфейсов. Косвенные связи или соединения между устройствами или блоками могут быть реализованы в электрических, механических или других формах.

Устройство, описанное в виде отдельных частей, может или не может быть физически разделено, а также компоненты отображаются в виде блоков может быть одним или более физическими блоками, другими словами, компоненты могут быть расположены в одном месте или могут быть распределены в разных местах. Некоторые или все блоки могут быть выбраны в зависимости от фактических потребностей для достижения целей решений вариантов осуществления.

Кроме того, функциональные блоки в вариантах осуществления настоящего изобретения могут быть интегрированы в один блок обработки, или каждый блок может быть реализован в одиночку физически, или два или более блоков объединены в один блок. Интегрированный блок может быть реализован в виде аппаратных средств, или может быть реализован в виде программного функционального блока.

Когда интегрированный блок реализован в виде программного обеспечения функционального блока и продан или использован в качестве независимого продукта, интегрированный блок может храниться в машиночитаемом носителе данных. На основе такого понимания, технические решения вариантов осуществления настоящего изобретения, по существу, или частей предшествующего уровня техники, или все или некоторые из технических решений, могут быть реализованы в виде программного продукта. Программный продукт хранится на носителе данных и содержит несколько инструкций, таким образом, что устройство (которое может быть микрокомпьютером на одной микросхеме, микросхеме или тому подобное) или процессор (processor) выполняет все или некоторые из этапов способы, описанные в вариантах осуществления настоящего изобретения. Упомянутый носитель данных включает в себя различную медиа информацию, которая может хранить программный код, такие как флэш-накопитель USB, съемный жесткий диск, память только для чтения (Read-Only Memory, ROM), оперативное запоминающее устройство (Random Access Memory, RAM), магнитный диск и компакт-диск.

Вышеприведенные описания являются лишь конкретными реализациями настоящего изобретения, но не предназначены для ограничения объема защиты настоящего изобретения. Любое изменение или замена в пределах технического объема, раскрытого в настоящем изобретении, должны находиться в пределах объема защиты настоящего изобретения. Таким образом, объем защиты настоящего изобретения определен формулой изобретения.

1. Способ декодирования данных изображения, содержащий этапы, на которых

получают битовый поток, содержащий данные изображения;

осуществляют синтаксический анализ битового потока для получения информации о режиме разделения узла кодового дерева первого уровня, причем корневой узел кодового дерева первого уровня соответствует одному блоку кодового дерева (CTU), и идентифицируют листовой узел кодового дерева первого уровня, с использованием корневого узла кодового дерева первого уровня и режима разделения узла, соответствующего информации о режиме разделения узла кодового дерева первого уровня;

осуществляют синтаксический анализ битового потока для получения информации о режиме разделения узла кодового дерева второго уровня, причем информация о режиме разделения узла кодового дерева второго уровня указывает на использование режима горизонтального троичного разделения или режима вертикального троичного разделения для разделения первого узла кодового дерева второго уровня, при этом корневой узел кодового дерева второго уровня представляет собой листовой узел кодового дерева первого уровня;

разделяют первый узел кодового дерева второго уровня на три дочерних узла с использованием режима горизонтального троичного разделения или режима вертикального троичного разделения;

осуществляют синтаксический анализ битового потока для получения информации режима разделения узла дочернего узла А первого узла, причем разделенный узел дочернего узла А, указанный информацией о режиме разделения узла для дочернего узла А, не является узлом горизонтального бинарного разделения, когда первый узел кодового дерева второго уровня разделен посредством режима горизонтального троичного разделения, или не является узлом вертикального бинарного разделения, когда первый узел кодового дерева второго уровня разделен посредством режима вертикального троичного разделения;

разделяют дочерний узел А на по меньшей мере два дочерних листовых узла с использованием режима разделения дочернего узла А;

декодируют блок кодирования, соответствующий дочернему листовому узлу В из указанных по меньшей мере двух дочерних листовых узлов, на основе кодированной информации дочерних листовых узлов для получения изображения, соответствующего данным изображения, когда дочерний листовой узел В не требует дополнительного разделения.

2. Способ декодирования по п.1, в котором область участка изображения, соответствующая дочернему узлу А, больше суммы областей участков изображения, соответствующих трем дочерним узлам первого узла.

3. Способ декодирования по п.1, в котором участок изображения, соответствующий дочернему узлу В, расположен в середине участков изображения, соответствующих указанным трем дочерним узлам.

4. Способ кодирования данных изображения, содержащий этапы, на которых определяют блок кодового дерева (CTU), соответствующий блоку изображения, подлежащего кодированию; разделяют CTU в режиме разделения узла, соответствующем кодовому дереву первого уровня, для получения листового узла кодового дерева первого уровня, при этом корневой узел кодового дерева первого уровня соответствует CTU; разделяют первый узел кодового дерева второго уровня на три дочерних узла с использованием режима горизонтального троичного разделения или режима вертикального троичного разделения, при этом корневой узел кодового дерева второго уровня представляет собой листовой узел кодового дерева первого уровня; определяют режим разделения дочернего узла А первого узла из набора кандидатов режима разделения, причем в наборе кандидатов режима разделения отсутствует режим горизонтального бинарного разделения, когда первый узел кодового дерева второго уровня разделен посредством режима горизонтального троичного разделения, или режим вертикального бинарного разделения, когда первый узел кодового дерева второго уровня разделен посредством режима вертикального троичного разделения; разделяют дочерний узел А на по меньшей мере два листовых дочерних узла с использованием режима разделения дочернего узла А; и кодируют модуль кодирования, соответствующий дочернему листовому узлу В из указанных по меньшей мере двух дочерних листовых узлов, причем дочерний листовой узел В не требует дополнительного разделения.

5. Способ кодирования по п.4, в котором область участка изображения, соответствующая дочернему узлу А, больше суммы областей участков изображения, соответствующих трем дочерним узлам первого узла.

6. Способ декодирования по п.4, в котором участок изображения, соответствующий дочернему узлу В, расположен в середине участков изображения, соответствующих указанным трем дочерним узлам.

7. Устройство декодирования, содержащее энергонезависимую память, соединенную с процессором и хранящую инструкции, вызывающие, при исполнении, выполнение процессором получения битового потока, содержащего данные изображения; осуществления синтаксического анализа битового потока для получения информации о режиме разделения узла кодового дерева первого уровня, причем корневой узел кодового дерева первого уровня соответствует одному блоку кодового дерева (CTU), и идентифицируют листовой узел кодового дерева первого уровня, с использованием корневого узла кодового дерева первого уровня и режима разделения узла, соответствующего информации о режиме разделения узла кодового дерева первого уровня; осуществления синтаксического анализа битового потока для получения информации о режиме разделения узла кодового дерева второго уровня, причем информация о режиме разделения узла кодового дерева второго уровня указывает на использование режима горизонтального троичного разделения или режима вертикального троичного разделения для разделения первого узла кодового дерева второго уровня, при этом корневой узел кодового дерева второго уровня представляет собой листовой узел кодового дерева первого уровня; разделения первого узла кодового дерева второго уровня на три дочерних узла с использованием режима горизонтального троичного разделения или режима вертикального троичного разделения; осуществления синтаксического анализа битового потока для получения информации режима разделения узла дочернего узла А первого узла, причем разделенный узел дочернего узла А, указанный информацией о режиме разделения узла для дочернего узла А, не является узлом горизонтального бинарного разделения, когда первый узел кодового дерева второго уровня разделен посредством режима горизонтального троичного разделения, или не является узлом вертикального бинарного разделения, когда первый узел кодового дерева второго уровня разделен посредством режима вертикального троичного разделения; разделения дочернего узла А на по меньшей мере два дочерних листовых узла с использованием режима разделения дочернего узла А; декодирования блока кодирования, соответствующего дочернему листовому узлу В из указанных по меньшей мере двух дочерних листовых узлов, на основе кодированной информации дочерних листовых узлов для получения изображения, соответствующего данным изображения, когда дочерний листовой узел В не требует дополнительного разделения.

8. Устройство декодирования по п.7, в котором область участка изображения, соответствующая дочернему узлу А, больше суммы областей участков изображения, соответствующих трем дочерним узлам первого узла.

9. Устройство декодирования по п.7, в котором участок изображения, соответствующий дочернему узлу В, расположен в середине участков изображения, соответствующих указанным трем дочерним узлам.

10. Устройство кодирования, содержащее энергонезависимую память, соединенную с процессором и хранящую инструкции, вызывающие, при исполнении, выполнение процессором определения блока кодового дерева (CTU), соответствующего блоку изображения, подлежащего кодированию; разделения CTU в режиме разделения узла, соответствующем кодовому дереву первого уровня, для получения листового узла кодового дерева первого уровня, при этом корневой узел кодового дерева первого уровня соответствует CTU; разделения первого узла кодового дерева второго уровня на три дочерних узла с использованием режима горизонтального троичного разделения или режима вертикального троичного разделения, при этом корневой узел кодового дерева второго уровня представляет собой листовой узел кодового дерева первого уровня; определения режима разделения дочернего узла А первого узла из набора кандидатов режима разделения, причем в наборе кандидатов режима разделения отсутствует режим горизонтального бинарного разделения, когда первый узел кодового дерева второго уровня разделен посредством режима горизонтального троичного разделения, или режим вертикального бинарного разделения, когда первый узел кодового дерева второго уровня разделен посредством режима вертикального троичного разделения; разделения дочернего узла А на по меньшей мере два листовых дочерних узла с использованием режима разделения дочернего узла А; и кодирования модуля кодирования, соответствующего дочернему листовому узлу В из указанных по меньшей мере двух дочерних листовых узлов, причем дочерний листовой узел В не требует дополнительного разделения.

11. Устройство кодирования по п.10, в котором область участка изображения, соответствующая дочернему узлу А, больше суммы областей участков изображения, соответствующих трем дочерним узлам первого узла.

12. Устройство кодирования по п.10, в котором участок изображения, соответствующий дочернему узлу В, расположен в середине участков изображения, соответствующих указанным трем дочерним узлам.

13. Способ декодирования данных изображения, содержащий этапы, на которых получают битовый поток, содержащий данные изображения; осуществляют синтаксический анализ битового потока для получения информации о режиме разделения узла кодового дерева, причем информация о режиме разделения узла кодового дерева указывает на использование режима горизонтального троичного разделения или режима вертикального троичного разделения для разделения первого узла кодового дерева; разделяют первый узел кодового дерева на три дочерних узла с использованием режима горизонтального троичного разделения или режима вертикального троичного разделения; осуществляют синтаксический анализ битового потока для получения информации режима разделения узла дочернего узла А первого узла, причем разделенный узел дочернего узла А, указанный информацией о режиме разделения узла для дочернего узла А, не является узлом горизонтального бинарного разделения, когда первый узел кодового дерева второго уровня разделен посредством режима горизонтального троичного разделения, или не является узлом вертикального бинарного разделения, когда первый узел кодового дерева второго уровня разделен посредством режима вертикального троичного разделения; разделяют дочерний узел А на по меньшей мере два дочерних листовых узла с использованием режима разделения дочернего узла А; декодируют блок кодирования, соответствующий дочернему листовому узлу В из указанных по меньшей мере двух дочерних листовых узлов, на основе кодированной информации дочерних листовых узлов для получения изображения, соответствующего данным изображения, когда дочерний листовой узел В не требует дополнительного разделения.

14. Способ декодирования по п.13, в котором область участка изображения, соответствующая дочернему узлу А, больше суммы областей участков изображения, соответствующих трем дочерним узлам первого узла.

15. Способ декодирования по п.13, в котором участок изображения, соответствующий дочернему узлу В, расположен в середине участков изображения, соответствующих указанным трем дочерним узлам.

16. Устройство декодирования, содержащее энергонезависимую память, соединенную с процессором и хранящую инструкции, вызывающие, при исполнении, выполнение процессором получения битового потока, содержащего данные изображения; осуществления синтаксического анализа битового потока для получения информации о режиме разделения узла кодового дерева, причем информация о режиме разделения узла кодового дерева указывает на использование режима горизонтального троичного разделения или режима вертикального троичного разделения для разделения первого узла кодового дерева; разделения первого узла кодового дерева на три дочерних узла с использованием режима горизонтального троичного разделения или режима вертикального троичного разделения; осуществления синтаксического анализа битового потока для получения информации режима разделения узла дочернего узла А первого узла, причем разделенный узел дочернего узла А, указанный информацией о режиме разделения узла для дочернего узла А, не является узлом горизонтального бинарного разделения, когда первый узел кодового дерева второго уровня разделен посредством режима горизонтального троичного разделения, или не является узлом вертикального бинарного разделения, когда первый узел кодового дерева второго уровня разделен посредством режима вертикального троичного разделения; разделения дочернего узла А на по меньшей мере два дочерних листовых узла с использованием режима разделения дочернего узла А; декодирования блока кодирования, соответствующего дочернему листовому узлу В из указанных по меньшей мере двух дочерних листовых узлов, на основе кодированной информации дочерних листовых узлов для получения изображения, соответствующего данным изображения, когда дочерний листовой узел В не требует дополнительного разделения.

17. Устройство декодирования по п.16, в котором область участка изображения, соответствующая дочернему узлу А, больше суммы областей участков изображения, соответствующих трем дочерним узлам первого узла.

18. Устройство декодирования по п.16, в котором участок изображения, соответствующий дочернему узлу В, расположен в середине участков изображения, соответствующих указанным трем дочерним узлам.



 

Похожие патенты:

Изобретение относится к области кодирования и декодирования, в частности к устройству и способу декодирования видео на основании предсказания взаимно-компонентной линейной модели (CCLM) в системе кодирования видео. Технический результат заключается в высокоэффективном сжатии изображений для эффективной передачи, хранения и воспроизведения информации изображений с высоким разрешением и высоким качеством.

Изобретение относится к области кодирования для выполнения межкадрового предсказания с использованием основанного на истории предсказания вектора движения. Технический результат заключается в обеспечении ограничения на проверку избыточности для повышения эффективности предсказания при добавлении кандидата HMVP в список кандидатов на слияние (или список кандидатов AMVP).

Изобретение относится к области обработки данных. Технический результат заключается в уменьшении объема данных, необходимых для представления облака точек, представляющего трехмерную (3D) форму.

Изобретение относится к области кодирования и декодирования кадров. Технический результат заключается в повышения эффективности кодирования посредством выполнения разбиения блоков, подходящего для кодирования и декодирования кадров.

Изобретение относится к технике разделения изображения на блоки и выполнения кодирования и декодирования для каждого из разделенных блоков. Техническим результатом является повышение эффективности кодирования.

Изобретение относится к области кодирования и декодирования кадров для разделения кадра на блоки и выполнения предсказания. Технический результат заключается в повышении эффективности кодирования посредством выполнения разбиения блоков, подходящего для кодирования и декодирования кадров.

Группа изобретений относится к технологиям обработки видеоданных. Техническим результатом является повышение эффективности кодирования/декодирования видеоданных за счет снижения объема кодируемых/декодируемых данных.

Изобретение относится к средствам для кодирования и декодирования движущихся кадров. Технический результат заключается в повышении эффективности кодирования посредством выполнения разбиения блоков.

Изобретение относится к способам кодирования и декодирования видеоданных и, в частности, относится к способам внутреннего предсказания с использованием перекрестной компоненты линейной модели (CCLM). Техническим результатом является повышение качества кодированного изображения.

Изобретение относится к средствам для передискретизации опорного изображения со смещением в битовом потоке видеоданных. Технический результат заключается в повышении эффективности декодирования видеоданных.

Группа изобретений относится к технологиям кодирования и декодирования видео, а более конкретно к сигнализации информации, относящейся к передискретизации опорного изображения и адаптивному изменению разрешения. Техническим результатом является повышение эффективности кодирования/декодирования битового потока видео. Предложен способ декодирования кодированного битового потока видео с использованием по меньшей мере одного процессора. Способ содержит этап, на котором осуществляют получение кодированного изображения из кодированного битового потока видео. Далее осуществляют декодирование кодированного изображения для формирования декодированного изображения. Осуществляют получение первого флага, указывающего, разрешена ли передискретизация опорного изображения. Далее получают второй флаг, указывающий, имеют ли опорные изображения постоянный размер опорного изображения. Получают третий флаг, указывающий, имеют ли выходные изображения постоянный размер выходного изображения, указанный в кодированном битовом потоке видео. 3 н. и 17 з.п. ф-лы, 8 ил., 3 табл.
Наверх