Уровень техники
Область техники, к которой относится изобретение
[1] Настоящее раскрытие относится к способу и оборудованию для кодирования изображения/видео на основе конфигурации срезов/плиток кадра.
Описание предшествующего уровня техники
[2] В последнее время, спрос на высококачественное изображение/видео высокого разрешения, к примеру, 4K, 8K либо изображения/видео еще более сверхвысокой четкости (UHD), растет в различных областях техники. По мере того, как разрешение или качество изображений/видео становится более высоким, относительно больший объем информации или число битов передается, чем для традиционных данных изображений/видео. Следовательно, если данные изображений/видео передаются через такую среду, как существующая проводная/беспроводная широкополосная линия, либо сохраняются на унаследованном носителе хранения данных, затраты на передачу и хранение серьезно увеличиваются.
[3] Кроме того, растет интерес и спрос в отношении контента виртуальной реальности (VR) и искусственной реальности (AR) и иммерсивного мультимедиа, к примеру, голограммы; а также растет широковещательная передача изображений/видео, демонстрирующих характеристики изображений/видео, отличающиеся от характеристик фактического изображения/видео, к примеру, игровых изображений/видео.
[4] Следовательно, требуется высокоэффективная технология сжатия изображений/видео для того, чтобы эффективно сжимать и передавать, сохранять или воспроизводить высококачественные изображения/видео высокого разрешения, демонстрирующие различные характеристики, как описано выше.
Сущность изобретения
Технические задачи
[5] Техническая задача настоящего раскрытия заключается в том, чтобы предоставлять способ и оборудование для повышения эффективности кодирования изображения/видео.
[6] Другая техническая задача настоящего раскрытия заключается в том, чтобы предоставлять способ и оборудование для эффективной передачи в служебных сигналах информации относительно среза в плитке.
[7] Еще одна другая техническая задача настоящего раскрытия заключается в том, чтобы предоставлять способ и оборудование для уменьшения объема передаваемой служебной информации при доставке (или передаче) информации относительно среза в плитке.
[8] Еще одна другая техническая задача настоящего раскрытия заключается в том, чтобы предоставлять способ и оборудование для эффективной доставки (или передачи) информации, связанной с числом и высотой срезов в плитке.
[9] Еще одна другая техническая задача настоящего раскрытия заключается в том, чтобы предоставлять способ и оборудование для эффективной передачи в служебных сигналах информации, связанной с высотами соответствующих срезов, когда два или более срезов имеют идентичную высоту в плитке.
Техническое решение
[10] Согласно варианту осуществления настоящего раскрытия, в данном документе предусмотрен способ декодирования видео, осуществляемый посредством оборудования декодирования видео. Способ может включать в себя этапы синтаксического анализа информации по числу, связанной с числом срезов, каждый из которых имеет высоту, явно передаваемую в служебных сигналах в плитке текущего кадра, из потока битов, синтаксического анализа информации высоты, связанной с высотами срезов, каждый из которых имеет высоту, явно передаваемую в служебных сигналах, из потока битов на основе информации по числу, извлечения числа срезов в плитке на основе информации по числу и информации высоты и декодирования текущего кадра на основе срезов в плитке, при этом информация высоты может включать в себя число синтаксических элементов, идентичное значению информации по числу, при этом на основе значения информации по числу, равного n, высоты нулевого среза - (n-1)-ого среза в плитке могут извлекаться на основе синтаксических элементов, при этом высота n-ого среза в плитке может извлекаться на основе высоты (n-1)-ого среза, и при этом высота последнего среза в плитке может извлекаться на основе оставшейся высоты после вычитания высот других срезов в плитке из высоты плитки.
[11] Согласно другому варианту осуществления настоящего раскрытия, в данном документе предусмотрен способ кодирования видео, осуществляемый посредством оборудования кодирования. Способ может включать в себя этапы извлечения срезов в плитке текущего кадра, формирования прогнозных выборок посредством выполнения по меньшей мере, одного из внутреннего прогнозирования или взаимного прогнозирования на основе извлеченных срезов, формирования остаточной информации на основе прогнозных выборок, формирования информации по числу, связанной с числом срезов, каждый из которых имеет высоту, явно передаваемую в служебных сигналах в плитке, и информации высоты, связанной с высотами срезов, каждый из которых имеет высоту, явно передаваемую в служебных сигналах на основе извлеченных срезов, и кодирования информации изображений, включающей в себя остаточную информацию, информацию по числу и информацию высоты, при этом на основе значения информации по числу, равного n, информация высоты может включать в себя n синтаксических элементов, указывающих высоты нулевого среза - (n-1)-ого среза в плитке, соответственно, при этом высота n-ого среза в плитке может извлекаться на основе высоты (n-1)-ого среза, и при этом высота последнего среза в плитке может извлекаться на основе оставшейся высоты после вычитания высот других срезов в плитке из высоты плитки.
[12] Согласно еще одному другому варианту осуществления настоящего раскрытия, в данном документе предусмотрен компьютерно-читаемый цифровой носитель записи, имеющий сохраненную информацию, которая инструктирует осуществление способа декодирования видео посредством оборудования декодирования видео. Способ декодирования видео может включать в себя этапы синтаксического анализа информации по числу, связанной с числом срезов, каждый из которых имеет высоту, явно передаваемую в служебных сигналах в плитке текущего кадра, из видеоинформации, синтаксического анализа информации высоты, связанной с высотами срезов, каждый из которых имеет высоту, явно передаваемую в служебных сигналах, из видеоинформации на основе информации по числу, извлечения числа срезов в плитке на основе информации по числу и информации высоты и декодирования текущего кадра на основе срезов в плитке, при этом информация высоты может включать в себя число синтаксических элементов, идентичное значению информации по числу, при этом на основе значения информации по числу, равного n, высоты нулевого среза - (n-1)-ого среза в плитке могут извлекаться на основе синтаксических элементов, при этом высота n-ого среза в плитке может извлекаться на основе высоты (n-1)-ого среза, и при этом высота последнего среза в плитке может извлекаться на основе оставшейся высоты после вычитания высот других срезов в плитке из высоты плитки.
Преимущества раскрытия
[13] Согласно варианту осуществления настоящего раскрытия, общая эффективность сжатия изображения/видео может повышаться.
[14] Согласно варианту осуществления настоящего раскрытия, информация относительно среза в плитке может эффективно передаваться в служебных сигналах.
[15] Согласно варианту осуществления настоящего раскрытия, объем передаваемой служебной информации может уменьшаться при доставке (или передаче) информации относительно среза в плитке.
[16] Согласно варианту осуществления настоящего раскрытия, информация, связанная с числом и высотой срезов в плитке, может эффективно передаваться в служебных сигналах.
[17] Согласно варианту осуществления настоящего раскрытия, когда два или более срезов имеют идентичную высоту в плитке, информация, связанная с высотами соответствующих срезов, может эффективно передаваться в служебных сигналах.
Краткое описание чертежей
[18] Фиг. 1 схематично иллюстрирует пример системы кодирования видео/изображений, к которой являются применимыми варианты осуществления настоящего документа.
[19] Фиг. 2 является схемой, принципиально иллюстрирующей конфигурацию оборудования кодирования видео/изображений, к которому являются применимыми варианты осуществления настоящего документа.
[20] Фиг. 3 является схемой, принципиально иллюстрирующей конфигурацию оборудования декодирования видео/изображений, к которому являются применимыми варианты осуществления настоящего документа.
[21] Фиг. 4 показывает пример процедуры декодирования кадров.
[22] Фиг. 5 показывает пример процедуры кодирования кадров.
[23] Фиг. 6 показывает примерную иерархическую структуру кодированного изображения/видео.
[24] Фиг. 7 и фиг. 8, соответственно, показывают общие примеры способа кодирования видео/изображений и связанного компонента согласно варианту осуществления настоящего раскрытия.
[25] Фиг. 9 и фиг. 10, соответственно, показывают общие примеры способа декодирования видео/изображений и связанного компонента согласно варианту осуществления настоящего раскрытия.
[26] Фиг. 11 показывает пример системы потоковой передачи контента, к которой может применяться вариант осуществления настоящего раскрытия.
Подробное описание вариантов осуществления
[27] Настоящий документ относится к кодированию видео/изображений. Например, способ/вариант осуществления, раскрытый в настоящем документе, может применяться к способу, раскрытому в стандарте универсального кодирования видео (VVC). Помимо этого, способ/вариант осуществления, раскрытый в настоящем документе, может применяться к способу, раскрытому в стандарте фундаментального кодирования видео (EVC), стандарте AOMedia Video 1 (AV1), стандарте второго поколения кодирования аудио/видео (AVS2) или стандарте кодирования видео/изображений следующего поколения (например, H.267, H.268 и т.д.).
[28] Различные варианты осуществления, связанные с кодированием видео/изображений, представляются в настоящем документе, и варианты осуществления могут комбинироваться между собой, если не указано иное.
[29] В настоящем документе, видео может означать последовательность изображений во времени. Кадр, в общем, означает единицу, представляющую одно изображение в конкретном временном кинокадре, и срез/плитка означает единицу, составляющую часть кадра с точки зрения кодирования. Срез/плитка может включать в себя одну или более единиц дерева кодирования (CTU). Один кадр может состоять из одного или более срезов/плиток. Один кадр может состоять из одной или более групп плиток. Одна группа плиток может включать в себя одну или более плиток. Кирпич может представлять прямоугольную область CTU-строк в плитке в кадре. Плитка может сегментироваться на несколько кирпичей, каждый из которых состоит из одной или более CTU-строк в плитке. Плитка, которая не сегментируется на несколько кирпичей, также может называться "кирпичом". Кирпичное сканирование представляет собой конкретное последовательное упорядочение CTU, сегментирующих кадр, при котором CTU упорядочиваются последовательно в растровом CTU-сканировании в кирпиче, кирпичи внутри плитки упорядочиваются последовательно в растровом сканировании кирпичей плитки, и плитки в кадре упорядочиваются последовательно в растровом сканировании плиток кадра. Плитка представляет собой прямоугольную область CTU в конкретном столбце плиток и конкретной строке плиток в кадре. Столбец плиток представляет собой прямоугольную область CTU, имеющих высоту, равную высоте кадра, и ширину, указываемую посредством синтаксических элементов в наборе параметров кадра. Строка плиток представляет собой прямоугольную область CTU, имеющих высоту, указываемую посредством синтаксических элементов в наборе параметров кадра, и ширину, равную ширине кадра. Сканирование плиток представляет собой конкретное последовательное упорядочение CTU, сегментирующих кадр, при котором CTU упорядочиваются последовательно при растровом сканировании CTU в плитке, тогда как плитки в кадре упорядочиваются последовательно при растровом сканировании плиток кадра. Срез включает в себя собой целое число кирпичей кадра, которые могут содержаться исключительно в одной NAL-единице. Срез может состоять либо из определенного числа полных плиток, либо только из жесткой последовательности полных кирпичей одной плитки. В настоящем документе, группа плиток и срез могут использоваться взаимозаменяемо. Например, в настоящем документе, группа плиток/заголовок группы плиток может называться "срезом/заголовком среза".
[30] Пиксел или пел может означать наименьшую единицу, составляющую один кадр (или изображение). Кроме того, "выборка" может использоваться в качестве термина, соответствующего пикселу. Выборка, в общем, может представлять пиксел или значение пиксела и может представлять только пиксел/пиксельное значение компонента сигналов яркости либо только пиксел/пиксельное значение компонента сигналов цветности.
[31] Единица может представлять базовую единицу обработки изображений. Единица может включать в себя по меньшей мере одно из конкретной области кадра и информации, связанной с областью. Одна единица может включать в себя один блок сигналов яркости и два блока сигналов цветности (например, Cb, Cr). Единица может использоваться взаимозаменяемо с такими терминами, как блок или зона в некоторых случаях. В общем случае, блок MxN может включать в себя выборки (или массивы выборок) либо набор (или массив) коэффициентов преобразования из M столбцов и N строк. Альтернативно, выборка может означать пиксельное значение в пространственной области и когда такое пиксельное значение преобразуется в частотную область, это может означать коэффициент преобразования в частотной области.
[32] Единица может взаимозаменяемо использоваться с таким термином, как блок или зона, в некоторых случаях. Обычно, блок MxN может представлять выборки, состоящие из M столбцов и N строк или группы коэффициентов преобразования. Выборка, в общем, может представлять пиксел или значение пиксела и также может представлять только пиксел/пиксельное значение компонента сигнала яркости, а также представлять только пиксел/пиксельное значение компонента сигнала цветности. Выборка может использоваться в качестве термина, соответствующего пикселу или пелу, конфигурирующему один кадр (или изображение).
[33] Раскрытие настоящего документа может модифицироваться в различных формах, и его конкретные варианты осуществления описываются и иллюстрируются на чертежах. Термины, используемые в настоящем документе, используются для того, чтобы просто описывать конкретные варианты осуществления, но не имеют намерение ограничивать раскрытый способ в настоящем документе. Выражение единственного числа включает в себя выражение "по меньшей мере, один" до тех пор, пока они четко трактуются по-разному. Такие термины, как "включать в себя" и "иметь", предназначены для того, чтобы указывать то, что существуют признаки, числа, этапы, операции, элементы, компоненты либо комбинации вышеозначенного, используемые в документе, и в силу этого следует понимать, что не исключается возможность наличия или добавления одного или более других признаков, чисел, этапов, операций, элементов, компонентов либо комбинаций вышеозначенного.
[34] Помимо этого, каждая конфигурация чертежей, описанных в настоящем документе, представляет собой независимую иллюстрацию для пояснения функций в качестве признаков, которые отличаются друг от друга, и не означает то, что каждая конфигурация реализуется посредством взаимно различных аппаратных средств или различного программного обеспечения. Например, две или более конфигураций могут комбинироваться, чтобы формировать одну конфигурацию, и одна конфигурация также может разделяться на несколько конфигураций. Без отступления от сущности раскрытого способа настоящего документа, варианты осуществления, в которых конфигурации комбинируются и/или разделяются, включаются в объем раскрытия настоящего документа.
[35] В настоящем документе, термин "/" и "," должен интерпретироваться как указывающий "и/или". Например, выражение "A/B" может означать "A и/или B". Дополнительно, "A, B" может означать "A и/или B". Дополнительно, "A/B/C" может означать "по меньшей мере, одно из A, B и/или C". Кроме того, "A/B/C" может означать "по меньшей мере, одно из A, B и/или C".
[36] Дополнительно, в документе, термин "или" должен интерпретироваться как указывающий "и/или". Например, выражение "A или B" может содержать 1) только A, 2) только B и/или 3) как A, так и B. Другими словами, термин "или" в настоящем документе должен интерпретироваться как указывающий "дополнительно или альтернативно".
[37] Дополнительно, круглые скобки, используемые в настоящем документе, могут означать "например". В частности, в случае если "прогнозирование (внутреннее прогнозирование)" выражается, может указываться то, что "внутреннее прогнозирование" предлагается в качестве примера "прогнозирования". Другими словами, термин "прогнозирование" в настоящем документе не ограничен "внутренним прогнозированием", и "внутреннее прогнозирование" предлагается в качестве примера "прогнозирования". Дополнительно, даже в случае, если "прогнозирование (т.е. внутреннее прогнозирование)" выражается, может указываться то, что "внутреннее прогнозирование" предлагается в качестве примера "прогнозирования".
[38] В настоящем документе, технические признаки, отдельно поясненные на одном чертеже, могут реализовываться отдельно либо реализовываться одновременно.
[39] Далее подробно описываются примерные варианты осуществления настоящего документа со ссылкой на прилагаемые чертежи. Помимо этого, аналогичные ссылки с номерами используются для того, чтобы указывать аналогичные элементы на всех чертежах, и идентичные описания аналогичных элементов могут опускаться.
[40] Фиг. 1 иллюстрирует пример системы кодирования видео/изображений, к которой могут применяться варианты осуществления настоящего документа.
[41] Ссылаясь на фиг. 1, система кодирования видео/изображений может включать в себя первое устройство (исходное устройство) и второе устройство (приемное устройство). Исходное устройство может передавать кодированную информацию или данные видео/изображений в приемное устройство через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи.
[42] Исходное устройство может включать в себя видеоисточник, оборудование кодирования и передатчик. Приемное устройство может включать в себя приемник, оборудование декодирования и модуль рендеринга. Оборудование кодирования может называться "оборудованием кодирования видео/изображений", и оборудование декодирования может называться "оборудованием декодирования видео/изображений". Передатчик может включаться в оборудование кодирования. Приемник может включаться в оборудование декодирования. Модуль рендеринга может включать в себя дисплей, и дисплей может быть сконфигурирован как отдельное устройство или внешний компонент.
[43] Видеоисточник может получать видео/изображение посредством процесса захвата, синтезирования или формирования видео/изображения. Видеоисточник может включать в себя устройство захвата видео/изображений и/или устройство формирования видео/изображений. Устройство захвата видео/изображений может включать в себя, например, одну или более камер, архивы видео/изображений, включающие в себя ранее захваченные видео/изображения, и т.п. Устройство формирования видео/изображений может включать в себя, например, компьютеры, планшетные компьютеры и смартфоны и может (электронно) формировать видео/изображения. Например, виртуальное видео/изображение может формироваться через компьютер и т.п. В этом случае, процесс захвата видео/изображений может заменяться посредством процесса формирования связанных данных.
[44] Оборудование кодирования может кодировать входное видео/изображение. Оборудование кодирования может выполнять последовательность процедур, таких как прогнозирование, преобразование и квантование, для эффективности сжатия и кодирования. Кодированные данные (кодированная информация видео/изображений) могут выводиться в форме потока битов.
[45] Передатчик может передавать информацию или данные кодированных изображений/изображений, выводимую в форме потока битов, в приемник приемного устройства через цифровой носитель хранения данных или сеть в форме файла или потоковой передачи. Цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD, SSD и т.п. Передатчик может включать в себя элемент для формирования мультимедийного файла через предварительно определенный формат файлов и может включать в себя элемент для передачи через широковещательную передачу/сеть связи. Приемник может принимать/извлекать поток битов и передавать принимаемый поток битов в оборудование декодирования.
[46] Оборудование декодирования может декодировать видео/изображение посредством выполнения последовательности процедур, таких как деквантование, обратное преобразование и прогнозирование, соответствующих работе оборудования кодирования.
[47] Модуль рендеринга может подготавливать посредством рендеринга декодированное видео/изображение. Подготовленное посредством рендеринга видео/изображение может отображаться через дисплей.
[48] Фиг. 2 является схемой, принципиально иллюстрирующей конфигурацию оборудования кодирования видео/изображений, к которому могут применяться варианты осуществления настоящего документа. В дальнейшем в этом документе, то, что называется "оборудованием кодирования видео", может включать в себя оборудование кодирования изображений.
[49] Ссылаясь на фиг. 2, оборудование 200 кодирования может включать в себя и конфигурироваться с помощью модуля 210 сегментации изображений, модуля 220 прогнозирования, остаточного процессора 230, энтропийного кодера 240, сумматора 250, фильтра 260 и запоминающего устройства 270. Модуль 220 прогнозирования может включать в себя модуль 221 взаимного прогнозирования и модуль 222 внутреннего прогнозирования. Остаточный процессор 230 может включать в себя преобразователь 232, квантователь 233, деквантователь 234 и обратный преобразователь 235. Остаточный процессор 230 дополнительно может включать в себя вычитатель 231. Сумматор 250 может называться "модулем восстановления" или "формирователем восстановленных блоков". Модуль 210 сегментации изображений, модуль 220 прогнозирования, остаточный процессор 230, энтропийный кодер 240, сумматор 250 и фильтр 260, которые описываются выше, могут конфигурироваться посредством одного или более аппаратных компонентов (например, наборов микросхем или процессоров кодера) согласно варианту осуществления. Помимо этого, запоминающее устройство 270 может включать в себя буфер декодированных кадров (DPB) и также может конфигурироваться посредством цифрового носителя хранения данных. Аппаратный компонент дополнительно может включать в себя запоминающее устройство 270 в качестве внутреннего/внешнего компонента.
[50] Модуль 210 сегментации изображений может разбивать входное изображение (или кадр, кинокадр), вводимое в оборудование 200 кодирования, на одну или более единиц обработки. В качестве примера, единица обработки может называться "единицей кодирования (CU)". В этом случае, единица кодирования может рекурсивно разбиваться согласно структуре в виде дерева квадрантов, двоичного дерева и троичного дерева (QTBTTT) из единицы дерева кодирования (CTU) или наибольшей единицы кодирования (LCU). Например, одна единица кодирования может разбиваться на множество единиц кодирования большей глубины на основе структуры в виде дерева квадрантов, структуры в виде двоичного дерева и/или структуры в виде троичного дерева. В этом случае, например, сначала применяется структура в виде дерева квадрантов, и впоследствии может применяться структура в виде двоичного дерева и/или структура в виде троичного дерева. Альтернативно, также сначала может применяться структура в виде двоичного дерева. Процедура кодирования согласно настоящему документу может выполняться на основе конечной единицы кодирования, которая более не разбивается. В этом случае, на основе эффективности кодирования согласно характеристикам изображений и т.п., максимальная единица кодирования может непосредственно использоваться в качестве конечной единицы кодирования, или при необходимости, единица кодирования может рекурсивно разбиваться на единицы кодирования большей глубины, так что единица кодирования, имеющая оптимальный размер, может использоваться в качестве конечной единицы кодирования. Здесь, процедура кодирования может включать в себя такую процедуру, как прогнозирование, преобразование и восстановление, которая описывается ниже. В качестве другого примера, единица обработки дополнительно может включать в себя единицу прогнозирования (PU) или единицу преобразования (TU). В этом случае, каждая из единицы прогнозирования и единицы преобразования может разбиваться или сегментироваться из вышеуказанной конечной единицы кодирования. Единица прогнозирования может представлять собой единицу выборочного прогнозирования, и единица преобразования может представлять собой единицу для логического вывода коэффициента преобразования и/или единицу для логического вывода остаточного сигнала из коэффициента преобразования.
[51] Оборудование 200 кодирования может вычитать прогнозный сигнал (прогнозированный блок, массив прогнозных выборок), выводимый из модуля 221 взаимного прогнозирования или модуля 222 внутреннего прогнозирования, из сигнала входного изображения (исходного блока, массива исходных выборок), чтобы формировать остаточный сигнал (остаточный блок, массив остаточных выборок), и сформированный остаточный сигнал передается в преобразователь 232. В этом случае, как проиллюстрировано, модуль для вычитания прогнозного сигнала (блока прогнозирования, массива прогнозных выборок) из сигнала входного изображения (исходного блока, массива исходных выборок) в кодере 200 может называться "вычитателем 231". Модуль 220 прогнозирования может выполнять прогнозирование для целевого блока обработки (в дальнейшем в этом документе, называемого "текущим блоком"), и формировать прогнозированный блок, включающий в себя прогнозные выборки для текущего блока. Модуль 220 прогнозирования может определять то, применяется внутреннее прогнозирование или взаимное прогнозирование, в единицах текущего блока или CU. Модуль 220 прогнозирования может формировать различные виды информации относительно прогнозирования, такие как информация режима прогнозирования, и передавать сформированную информацию в энтропийный кодер 240, как описано ниже в описании каждого режима прогнозирования. Информация относительно прогнозирования может кодироваться посредством энтропийного кодера 240 и выводиться в форме потока битов.
[52] Модуль 222 внутреннего прогнозирования может прогнозировать текущий блок со ссылкой на выборки в пределах текущего кадра. Выборки, на которые ссылаются, могут быть расположены как граничащие с текущим блоком либо также могут быть расположены на большом расстоянии от текущего блока согласно режиму прогнозирования. Режимы прогнозирования при внутреннем прогнозировании могут включать в себя множество ненаправленных режимов и множество направленных режимов. Ненаправленный режим может включать в себя, например, DC-режим или планарный режим. Направленный режим может включать в себя, например, 33 режима направленного прогнозирования или 65 режимов направленного прогнозирования согласно точной степени направления прогнозирования. Тем не менее, это является иллюстративным, и режимы направленного прогнозирования, которые больше или меньше вышеуказанного числа, могут использоваться согласно настройке. Модуль 222 внутреннего прогнозирования также может определять режим прогнозирования, применяемый к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.
[53] Модуль 221 взаимного прогнозирования может логически выводить прогнозированный блок относительно текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В это время, чтобы снижать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.п.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, существующий в текущем кадре, и временной соседний блок, существующий в опорном кадре. Опорный кадр, включающий в себя опорный блок, и опорный кадр, включающий в себя временной соседний блок, могут быть идентичными друг другу или отличающимися друг от друга. Временной соседний блок может упоминаться под таким названием, как "совместно размещенный опорный блок", "совместно размещенная CU (colCU)" и т.п., и опорный кадр, включающий в себя временной соседний блок, также может называться "совместно размещенным кадром (colPic)". Например, модуль 221 взаимного прогнозирования может конфигурировать список возможных вариантов информации движения на основе соседних блоков и формировать информацию, указывающую то, какой возможный вариант используется для того, чтобы извлекать вектор движения и/или индекс опорного кадра текущего блока. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и, например, в случае режима пропуска и режима объединения, модуль 221 взаимного прогнозирования может использовать информацию движения соседнего блока в качестве информации движения текущего блока. В случае режима пропуска, остаточный сигнал может не передаваться, в отличие от режима объединения. Режим прогнозирования векторов движения (MVP) может указывать вектор движения текущего блока посредством использования вектора движения соседнего блока в качестве предиктора вектора движения и передачи в служебных сигналах разности векторов движения.
[54] Модуль 220 прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования, которые описываются ниже. Например, модуль 220 прогнозирования может применять внутреннее прогнозирование или взаимное прогнозирование для прогнозирования одного блока и может одновременно применять внутреннее прогнозирование и взаимное прогнозирование. Это может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может быть основан на режиме прогнозирования на основе внутриблочного копирования (IBC) либо основан на палитровом режиме для прогнозирования блока. Режим IBC-прогнозирования или палитровый режим может использоваться для кодирования изображений/видео для такого контента, как игры и т.п., например, для кодирования экранного контента (SCC). IBC по существу выполняет прогнозирование в текущем кадре, но может выполняться аналогично взаимному прогнозированию в том, что опорный блок извлекается в текущем кадре. Таким образом, IBC может использовать по меньшей мере одну из технологий взаимного прогнозирования, описанных в настоящем документе. Палитровый режим может рассматриваться как пример внутреннего кодирования или внутреннего прогнозирования. Когда палитровый режим применяется, выборочное значение в кадре может передаваться в служебных сигналах на основе информации относительно таблицы палитр и индекса палитры.
[55] Прогнозный сигнал, сформированный посредством модуля прогнозирования (включающего в себя модуль 221 взаимного прогнозирования и/или модуль 222 внутреннего прогнозирования), может использоваться для того, чтобы формировать восстановленный сигнал, либо может использоваться для того, чтобы формировать остаточный сигнал.
[56] Преобразователь 232 может формировать коэффициенты преобразования посредством применения технологии преобразования к остаточному сигналу. Например, технология преобразования может включать в себя по меньшей мере одно из дискретного косинусного преобразования (DCT), дискретного синусного преобразования (DST), преобразования на основе графа (GBT) или условно нелинейного преобразования (CNT). Здесь, GBT означает преобразование, полученное из графа при выражении информации взаимосвязи между пикселами на графе. CNT означает преобразование, полученное на основе прогнозного сигнала, сформированного с использованием всех ранее восстановленных пикселов. Кроме того, процесс преобразования может применяться к блоку пикселов, имеющих размер, идентичный размеру квадрата, или может применяться к блоку переменного размера, который не представляет собой квадрат.
[57] Квантователь 233 квантует коэффициенты преобразования и передает их в энтропийный кодер 240, и энтропийный кодер 240 кодирует квантованный сигнал (информацию относительно квантованных коэффициентов преобразования) и выводит кодированный сигнал в качестве потока битов. Информация относительно квантованных коэффициентов преобразования может называться "остаточной информацией". Квантователь 233 может перекомпоновывать квантованные коэффициенты преобразования в блочной форме в одномерную векторную форму на основе порядка сканирования коэффициентов и может формировать информацию относительно коэффициентов преобразования на основе квантованных коэффициентов преобразования в одномерной векторной форме.
[58] Энтропийный кодер 240 может выполнять различные способы кодирования, такие как, например, кодирование экспоненциальным кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC) и контекстно-адаптивное двоичное арифметическое кодирование (CABAC). Энтропийный кодер 240 может кодировать информацию, необходимую для восстановления видео/изображений (например, значения синтаксических элементов и т.д.) отличную от квантованных коэффициентов преобразования, вместе или отдельно. Кодированная информация (например, кодированная информация видео/изображений) может передаваться или сохраняться в единицах слоя абстрагирования от сети (NAL) в форме потока битов. Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Кроме того, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. В настоящем документе, информация и/или синтаксические элементы, передаваемые/передаваемые в служебных сигналах из оборудования кодирования в оборудование декодирования, могут включаться в информацию видео/изображений. Информация видео/изображений может кодироваться через процедуру кодирования, описанную выше, и включаться в поток битов. Поток битов может передаваться через сеть или может сохраняться на цифровом носителе хранения данных. Здесь, сеть может включать в себя широковещательную сеть и/или сеть связи, и цифровой носитель хранения данных может включать в себя различные носители хранения данных, такие как USB, SD, CD, DVD, Blu-Ray, HDD и SSD. Передающий модуль (не показан) и/или модуль хранения (не показан) для передачи или сохранения сигнала, выводимого из энтропийного кодера 240, могут быть сконфигурированы как внутренние/внешние элементы оборудования 200 кодирования, либо передающий модуль может включаться в энтропийный кодер 240.
[59] Квантованные коэффициенты преобразования, выводимые из квантователя 233, могут использоваться для того, чтобы формировать прогнозный сигнал. Например, остаточный сигнал (остаточный блок или остаточные выборки) может восстанавливаться посредством применения деквантования и обратного преобразования к квантованным коэффициентам преобразования через деквантователь 234 и модуль 235 обратного преобразования. Сумматор 250 может суммировать восстановленный остаточный сигнал с прогнозным сигналом, выводимым из модуля 221 взаимного прогнозирования или модуля 222 внутреннего прогнозирования, чтобы формировать восстановленный сигнал (восстановленный кадр, восстановленный блок, массив восстановленных выборок). Когда отсутствует остаток для целевого блока обработки, к примеру, когда режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока. Сумматор 250 может называться "модулем восстановления" или "формирователем блоков восстановления". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего целевого блока для обработки в текущем кадре или может использоваться для взаимного прогнозирования следующего кадра после фильтрации, как описано ниже.
[60] Между тем, преобразование сигнала яркости с масштабированием сигнала цветности (LMCS) может применяться в ходе процесса кодирования и/или восстановления кадров.
[61] Фильтр 260 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 260 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 270, а именно, в DPB запоминающего устройства 270. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п. Фильтр 260 может формировать различные виды информации, связанной с фильтрацией, и передавать сформированную информацию в энтропийный кодер 240, как описано ниже в описании каждого способа фильтрации. Информация, связанная с фильтрацией, может кодироваться посредством энтропийного кодера 240 и выводиться в форме потока битов.
[62] Модифицированный восстановленный кадр, передаваемый в запоминающее устройство 270, может использоваться в качестве опорного кадра в модуле 221 взаимного прогнозирования. Когда взаимное прогнозирование применяется посредством оборудования кодирования, рассогласование прогнозирования между оборудованием 200 кодирования и оборудованием декодирования может исключаться, и эффективность кодирования может повышаться.
[63] DPB запоминающего устройства 270 может сохранять модифицированный восстановленный кадр для использования в качестве опорного кадра в модуле 221 взаимного прогнозирования. Запоминающее устройство 270 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или кодируется), и/или информацию движения уже восстановленных блоков в кадре. Сохраненная информация движения может передаваться в модуль 221 взаимного прогнозирования для использования в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 270 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и может передавать восстановленные выборки в модуль 222 внутреннего прогнозирования.
[64] Фиг. 3 является схемой для схематичного пояснения конфигурации оборудования декодирования видео/изображений, к которому могут применяться варианты осуществления настоящего документа.
[65] Ссылаясь на фиг. 3, оборудование 300 декодирования может включать в себя и конфигурироваться с помощью энтропийного декодера 310, остаточного процессора 320, модуля 330 прогнозирования, сумматора 340, фильтра 350 и запоминающего устройства 360. Модуль 330 прогнозирования может включать в себя модуль 331 взаимного прогнозирования и модуль 332 внутреннего прогнозирования. Остаточный процессор 320 может включать в себя деквантователь 321 и обратный преобразователь 322. Энтропийный декодер 310, остаточный процессор 320, модуль 330 прогнозирования, сумматор 340 и фильтр 350, которые описываются выше, могут конфигурироваться посредством одного или более аппаратных компонентов (например, наборов микросхем или процессоров декодера) согласно варианту осуществления. Дополнительно, запоминающее устройство 360 может включать в себя буфер декодированных кадров (DPB) и может конфигурироваться посредством цифрового носителя хранения данных. Аппаратный компонент дополнительно может включать в себя запоминающее устройство 360 в качестве внутреннего/внешнего компонента.
[66] Когда поток битов, включающий в себя информацию видео/изображений, вводится, оборудование 300 декодирования может восстанавливать изображение в ответ на процесс, в котором информация видео/изображений обрабатывается в оборудовании кодирования, проиллюстрированном на фиг. 2. Например, оборудование 300 декодирования может извлекать единицы/блоки на основе связанной с разбиением на блоки информации, полученной из потока битов. Оборудование 300 декодирования может выполнять декодирование с использованием единицы обработки, применяемой для оборудования кодирования. Следовательно, единица обработки для декодирования, например, может представлять собой единицу кодирования, и единица кодирования может разбиваться согласно структуре в виде дерева квадрантов, структуре в виде двоичного дерева и/или структуре в виде троичного дерева из единицы дерева кодирования или максимальной единицы кодирования. Одна или более единиц преобразования могут извлекаться из единицы кодирования. Помимо этого, восстановленный сигнал изображения, декодированный и выводимый посредством оборудования 300 декодирования, может воспроизводиться посредством оборудования воспроизведения.
[67] Оборудование 300 декодирования может принимать сигнал, выводимый из оборудования кодирования по фиг. 2 в форме потока битов, и принимаемый сигнал может декодироваться через энтропийный декодер 310. Например, энтропийный декодер 310 может синтаксически анализировать поток битов, чтобы извлекать информацию (например, информацию видео/изображений), необходимую для восстановления изображений (или восстановления кадров). Информация видео/изображений дополнительно может включать в себя информацию относительно различных наборов параметров, таких как набор параметров адаптации (APS), набор параметров кадра (PPS), набор параметров последовательности (SPS) или набор параметров видео (VPS). Помимо этого, информация видео/изображений дополнительно может включать в себя общую информацию ограничений. Оборудование декодирования дополнительно может декодировать кадр на основе информации относительно набора параметров и/или общей информации ограничений. Передаваемая в служебных сигналах/принимаемая информация и/или синтаксические элементы, описанные далее в настоящем документе, могут декодироваться, могут декодировать процедуру декодирования и получаться из потока битов. Например, энтропийный декодер 310 декодирует информацию в потоке битов на основе способа кодирования, такого как кодирование экспоненциальным кодом Голомба, контекстно-адаптивное кодирование переменной длины (CAVLC) или контекстно-адаптивное арифметическое кодирование (CABAC), и выходных синтаксических элементов, требуемых для восстановления изображений и квантованных значений коэффициентов преобразования для остатка. Более конкретно, способ энтропийного CABAC-декодирования может принимать элемент разрешения, соответствующий каждому синтаксическому элементу в потоке битов, определять контекстную модель посредством использования информации целевого синтаксического элемента декодирования, информации декодирования целевого блока декодирования или информации символа/элемента разрешения, декодированного на предыдущей стадии, и выполнять арифметическое декодирование для элемента разрешения посредством прогнозирования вероятности появления элемента разрешения согласно определенной контекстной модели и формировать символ, соответствующий значению каждого синтаксического элемента. В этом случае, способ энтропийного CABAC-декодирования может обновлять контекстную модель посредством использования информации декодированного символа/элемента разрешения для контекстной модели следующего символа/элемента разрешения после определения контекстной модели. Информация, связанная с прогнозированием, из информации, декодированной посредством энтропийного декодера 310, может предоставляться в модуль прогнозирования (модуль 332 взаимного прогнозирования и модуль 331 внутреннего прогнозирования), и остаточные значения, для которых энтропийное декодирование выполнено в энтропийном декодере 310, т.е. квантованные коэффициенты преобразования и связанная информация параметров, могут вводиться в остаточный процессор 320.
[68] Остаточный процессор 320 может извлекать остаточный сигнал (остаточный блок, остаточные выборки или массив остаточных выборок). Кроме того, информация относительно фильтрации из информации, декодированной посредством энтропийного декодера 310, может предоставляться в фильтр 350. Между тем, приемный модуль (не показан) для приема сигнала, выводимого из оборудования кодирования, может быть дополнительно сконфигурирован в качестве внутреннего/внешнего элемента оборудования 300 декодирования, либо приемный модуль может представлять собой компонент энтропийного декодера 310. Между тем, оборудование декодирования согласно настоящему документу может называться "оборудованием декодирования видео/изображений/кадров", и оборудование декодирования может разделяться на информационный декодер (декодер информации видео/изображений/кадров) и выборочный декодер (декодер выборок видео/изображений/кадров). Информационный декодер может включать в себя энтропийный декодер 310, и выборочный декодер может включать в себя по меньшей мере одно из деквантователя 321, обратного преобразователя 322, сумматора 340, фильтра 350, запоминающего устройства 360, модуля 332 взаимного прогнозирования и модуля 331 внутреннего прогнозирования.
[69] Деквантователь 321 может деквантовать квантованные коэффициенты преобразования, с тем чтобы выводить коэффициенты преобразования. Деквантователь 321 может перекомпоновывать квантованные коэффициенты преобразования в двумерной блочной форме. В этом случае, перекомпоновка может выполняться на основе порядка сканирования коэффициентов, выполняемого посредством оборудования кодирования. Деквантователь 321 может выполнять деквантование для квантованных коэффициентов преобразования с использованием параметра квантования (например, информации размера шага квантования) и получать коэффициенты преобразования.
[70] Обратный преобразователь 322 обратно преобразует коэффициенты преобразования, чтобы получать остаточный сигнал (остаточный блок, массив остаточных выборок).
[71] В настоящем документе по меньшей мере одно из квантования/деквантования и/или преобразования/обратного преобразования может опускаться. Когда квантование/деквантование опускается, квантованный коэффициент преобразования может называться "коэффициентом преобразования". Когда преобразование/обратное преобразование опускается, коэффициенты преобразования могут называться "коэффициентом" или "остаточным коэффициентом" либо по-прежнему могут называться "коэффициентом преобразования" для единообразности выражения.
[72] В настоящем документе, квантованный коэффициент преобразования и коэффициент преобразования могут называться "коэффициентом преобразования" и "масштабированным коэффициентом преобразования", соответственно. В этом случае, остаточная информация может включать в себя информацию относительно коэффициента(ов) преобразования, и информация относительно коэффициента(ов) преобразования может передаваться в служебных сигналах через синтаксис остаточного кодирования. Коэффициенты преобразования могут извлекаться на основе остаточной информации (или информации относительно коэффициента(ов) преобразования), и масштабированные коэффициенты преобразования могут извлекаться через обратное преобразование (масштабирование) для коэффициентов преобразования. Остаточные выборки могут извлекаться на основе обратного преобразования (преобразования) масштабированных коэффициентов преобразования. Это также может применяться/выражаться в других частях настоящего документа.
[73] Модуль 330 прогнозирования может выполнять прогнозирование текущего блока и формировать прогнозированный блок, включающий в себя прогнозные выборки текущего блока. Модуль прогнозирования может определять то, применяется внутреннее прогнозирование, или применяется взаимное прогнозирование к текущему блоку, на основе информации относительно прогнозирования, выводимой из энтропийного декодера 310, и определять конкретный режим внутреннего/взаимного прогнозирования.
[74] Модуль 330 прогнозирования может формировать прогнозный сигнал на основе различных способов прогнозирования, которые описываются ниже. Например, модуль прогнозирования может применять внутреннее прогнозирование или взаимное прогнозирование для прогнозирования одного блока и может одновременно применять внутреннее прогнозирование и взаимное прогнозирование. Это может называться "комбинированным взаимным и внутренним прогнозированием (CIIP)". Помимо этого, модуль прогнозирования может быть основан на режиме прогнозирования на основе внутриблочного копирования (IBC) либо основан на палитровом режиме для прогнозирования блока. Режим IBC-прогнозирования или палитровый режим может использоваться для кодирования изображений/видео для такого контента, как игры и т.п., например, для кодирования экранного контента (SCC). IBC по существу может выполнять прогнозирование в текущем кадре, но может выполняться аналогично взаимному прогнозированию в том, что опорный блок извлекается в текущем кадре. Таким образом, IBC может использовать по меньшей мере одну из технологий взаимного прогнозирования, описанных в настоящем документе. Палитровый режим может рассматриваться как пример внутреннего кодирования или внутреннего прогнозирования. Когда палитровый режим применяется, информация относительно таблицы палитр и индекса палитры может включаться в информацию видео/изображений и передаваться в служебных сигналах.
[75] Модуль 331 внутреннего прогнозирования может прогнозировать текущий блок посредством ссылки на выборки в текущем кадре. Выборки для ссылки могут быть расположены в окружении текущего блока или могут быть расположены с разнесением относительно текущего блока согласно режиму прогнозирования. При внутреннем прогнозировании, режимы прогнозирования могут включать в себя множество ненаправленных режимов и множество направленных режимов. Модуль 331 внутреннего прогнозирования может определять режим прогнозирования, который должен применяться к текущему блоку, посредством использования режима прогнозирования, применяемого к соседнему блоку.
[76] Модуль 332 взаимного прогнозирования может извлекать прогнозированный блок для текущего блока на основе опорного блока (массива опорных выборок), указываемого посредством вектора движения для опорного кадра. В этом случае, чтобы уменьшать объем информации движения, передаваемой в режиме взаимного прогнозирования, информация движения может прогнозироваться в единицах блоков, субблоков или выборок на основе корреляции информации движения между соседним блоком и текущим блоком. Информация движения может включать в себя вектор движения и индекс опорного кадра. Информация движения дополнительно может включать в себя информацию относительно направления взаимного прогнозирования (L0-прогнозирование, L1-прогнозирование, бипрогнозирование и т.п.). В случае взаимного прогнозирования, соседний блок может включать в себя пространственный соседний блок, существующий в текущем кадре, и временной соседний блок, существующий в опорном кадре. Например, модуль 332 взаимного прогнозирования может конструировать список возможных вариантов информации движения на основе соседних блоков и извлекать вектор движения текущего блока и/или индекс опорного кадра на основе принимаемой информации выбора возможных вариантов. Взаимное прогнозирование может выполняться на основе различных режимов прогнозирования, и информация относительно прогнозирования может включать в себя информацию, указывающую режим взаимного прогнозирования для текущего блока.
[77] Сумматор 340 может формировать восстановленный сигнал (восстановленный кадр, восстановленный блок или массив восстановленных выборок) посредством суммирования полученного остаточного сигнала с прогнозным сигналом (прогнозированным блоком или массивом прогнозированных выборок), выводимым из модуля прогнозирования (включающего в себя модуль 332 взаимного прогнозирования и/или модуль 331 внутреннего прогнозирования). Если отсутствует остаток для целевого блока для обработки, к примеру, в случае, когда режим пропуска применяется, прогнозированный блок может использоваться в качестве восстановленного блока.
[78] Сумматор 340 может называться "модулем восстановления" или "формирователем восстановленных блоков". Сформированный восстановленный сигнал может использоваться для внутреннего прогнозирования следующего блока, который должен обрабатываться в текущем кадре, и, как описано ниже, также может выводиться посредством фильтрации либо также может использоваться для взаимного прогнозирования следующего кадра.
[79] Между тем, преобразование сигнала яркости с масштабированием сигнала цветности (LMCS) также может применяться в процессе декодирования кадров.
[80] Фильтр 350 может повышать субъективное/объективное качество изображений посредством применения фильтрации к восстановленному сигналу. Например, фильтр 350 может формировать модифицированный восстановленный кадр посредством применения различных способов фильтрации к восстановленному кадру и сохранять модифицированный восстановленный кадр в запоминающем устройстве 360, а именно, в DPB запоминающего устройства 360. Различные способы фильтрации могут включать в себя, например, фильтрацию для удаления блочности, дискретизированное адаптивное смещение, адаптивный контурный фильтр, билатеральный фильтр и т.п.
[81] (Модифицированный) восстановленный кадр, сохраненный в DPB запоминающего устройства 360, может использоваться в качестве опорного кадра в модуле 332 взаимного прогнозирования. Запоминающее устройство 360 может сохранять информацию движения блока, из которой информация движения в текущем кадре извлекается (или декодируется), и/или информацию движения уже восстановленных блоков в кадре. Сохраненная информация движения может передаваться в модуль 332 взаимного прогнозирования, так что она используется в качестве информации движения пространственного соседнего блока или информации движения временного соседнего блока. Запоминающее устройство 360 может сохранять восстановленные выборки восстановленных блоков в текущем кадре и передавать восстановленные выборки в модуль 331 внутреннего прогнозирования.
[82] В настоящем документе, варианты осуществления, описанные в фильтре 260, модуле 221 взаимного прогнозирования и модуле 222 внутреннего прогнозирования оборудования 200 кодирования, могут применяться одинаково или соответствовать фильтру 350, модулю 332 взаимного прогнозирования и модулю 331 внутреннего прогнозирования.
[83] Между тем, способ кодирования видео/изображений согласно настоящему документу может осуществляться на основе следующей структуры сегментации. В частности, вышеописанные процедуры прогнозирования, остаточной обработки ((обратного) преобразование и (де)-квантования), кодирования синтаксических элементов и фильтрации могут выполняться на основе CTU и CU (и/или TU и PU), извлекаемых на основе структуры сегментации. Процедура сегментации на блоки может выполняться посредством модуля 210 сегментации изображений вышеописанного оборудования кодирования, и связанная с сегментацией информация может обрабатываться (посредством кодирования) посредством энтропийного кодера 240 и может передаваться в оборудование декодирования в форме потока битов. Энтропийный декодер 310 оборудования декодирования может извлекать структуру сегментации на блоки текущего кадра на основе связанной с сегментацией информации, полученной из потока битов, и на основе этого, может выполнять последовательность процедур (например, прогнозирование, остаточную обработку, восстановление блоков/кадров, внутриконтурную фильтрацию и т.п.) для декодирования изображений. CU-размер и TU-размер могут быть равными друг другу, или множество TU может присутствовать в CU-области. Между тем, CU-размер, в общем, может представлять размер блока кодирования (CB) компонентных (выборок) сигналов яркости. TU-размер, в общем, может представлять размер блока преобразования (TB) компонентных (выборок) сигналов яркости. CB- или TB-размер компонентных (выборок) сигналов цветности может извлекаться на основе CB- или TB-размера компонентных (выборок) сигналов яркости в соответствии с соотношением компонентов согласно цветовому формату (формату сигналов цветности, например, 4:4:4, 4:2:2, 4:2:0 и т.п.) кадра/изображения. TU-размер может извлекаться на основе maxTbSize. Например, если CU-размер больше maxTbSize, множество TU (TB) maxTbSize могут извлекаться из CU, и преобразование/обратное преобразование может выполняться в единице TU (TB). Дополнительно, например, в случае если внутреннее прогнозирование применяется, режим/тип внутреннего прогнозирования может извлекаться в единице CU (или CB), и процедуры извлечения соседних опорных выборок и формирования прогнозных выборок могут выполняться в единице TU (или TB). В этом случае, одна или множество TU (или TB) могут присутствовать в одной CU-(или CB-)области, и, в этом случае, множество TU или (TB) могут совместно использовать идентичный режим/тип внутреннего прогнозирования.
[84] Дополнительно, при кодировании видео/изображений согласно настоящему документу, модуль обработки изображений может иметь иерархическую структуру. Один кадр может сегментироваться на одну или более плиток, кирпичей, срезов и/или групп плиток. Один срез может включать в себя один или более кирпичей. Кирпич может включать в себя одну или более CTU-строк в плитке. Срез может включать в себя целое число кирпичей кадра. Одна группа плиток может включать в себя одну или более плиток. Одна плитка может включать в себя одну или более CTU. CTU может сегментироваться на одну или более CU. Плитка представляет прямоугольную область CTU в конкретном столбце плиток и конкретной строке плиток в кадре. Группа плиток может включать в себя целое число плиток согласно растровому сканированию плиток в кадре. Заголовок среза может переносить информацию, которая может применяться к соответствующему срезу (блокам в срезе). В случае если оборудование кодирования/декодирования имеет многоядерный процессор, процессы кодирования/декодирования для плиток, срезов, кирпичей и/или групп плиток могут обрабатываться параллельно. В настоящем документе, срез или группа плиток могут использоваться заменяемо. Таким образом, заголовок группы плиток может называться "заголовком среза". Здесь, срез может иметь одни из типов срезов, включающих в себя внутренний (I) срез, прогнозирующий (P) срез и бипрогнозирующий (B) срез. При прогнозировании блоков в I-срезе, взаимное прогнозирование может не использоваться, и только внутреннее прогнозирование может использоваться. Конечно, даже в этом случае, передача служебных сигналов может выполняться посредством кодирования исходного выборочного значения без прогнозирования. Относительно блоков в P-срезе, внутреннее прогнозирование или взаимное прогнозирование может использоваться, и в случае использования взаимного прогнозирования, только унипрогнозирование может использоваться. Между тем, относительно блоков в B-срезе, внутреннее прогнозирование или взаимное прогнозирование может использоваться, и в случае использования взаимного прогнозирования, вплоть до бипрогнозирования может максимально использоваться.
[85] Оборудование кодирования может определять размеры плитки/группы плиток, кирпича, среза и максимальной и минимальной единицы кодирования с учетом эффективности кодирования или параллельной обработки либо согласно характеристикам (например, разрешению) видеоизображения, и информация для них или информация, допускающая их логический вывод, может включаться в поток битов.
[86] Оборудование декодирования может получать информацию, представляющую плитку/группу плиток, кирпич и срез текущего кадра, а также то, сегментирована или нет CTU в плитке на множество единиц кодирования. Посредством задания возможности получения (передачи) этой информации только при конкретном условии, эффективность может повышаться.
[87] Между тем, как описано выше, один кадр может включать в себя множество срезов, и один срез может включать в себя заголовок среза и данные срезов. В этом случае, один заголовок кадра дополнительно может добавляться во множество срезов (заголовок среза и набор данных срезов) в одном кадре. Заголовок кадра (синтаксис заголовков кадра) может включать в себя информацию/параметры, обычно применимую к кадру. Заголовок среза (синтаксис заголовков срезов) может включать в себя информацию/параметры, которая может применяться обобщенно к срезу. Набор параметров адаптации (APS) или набор параметров кадра (PPS) могут включать в себя информацию/параметры, которая может применяться обобщенно к одному или более срезов или кадров. Набор параметров последовательности (SPS) может включать в себя информацию/параметры, которая может применяться обобщенно к одной или более последовательностей. Набор параметров видео (VPS) может включать в себя информацию/параметры, которая может применяться обобщенно к нескольким слоям. Набор параметров декодирования (DPS) может включать в себя информацию/параметры, которая может применяться обобщенно к полному видео. DPS может включать в себя информацию/параметры, связанную с конкатенацией кодированной видеопоследовательности (CVS).
[88] Высокоуровневый синтаксис (HLS) в настоящем раскрытии включает в себя по меньшей мере одно из APS-синтаксиса, PPS-синтаксиса, SPS-cинтаксиса, VPS-синтаксиса, DPS-синтаксиса и синтаксиса заголовков срезов.
[89] Дополнительно, например, информация относительно сегментации и конфигурации и т.д., плитки/группы плиток/кирпича/среза может быть сконфигурирована в оборудовании кодирования на основе высокоуровневого синтаксиса и затем может доставляться (или передаваться) в оборудование декодирования в формате потока битов.
[90] Кадр может сегментироваться на одну или более строк плиток и на один или более столбцов плиток. Плитка представляет собой последовательность CTU, покрывающих прямоугольную область кадра. Плитка может сегментироваться на один или более кирпичей, и каждый кирпич может быть сконфигурирован из нескольких CTU-строк. Плитка, которая не сегментируется на множество кирпичей, также может называться "кирпичом". Тем не менее, кирпич, представляющий собой поднабор плитки, не называется "плиткой". Срез может включать в себя несколько плиток или несколько кирпичей плитки.
[91] Фиг. 4 показывает пример процедуры декодирования кадров.
[92] При кодировании изображений/видео, кадр, который конфигурирует изображение/видео, может кодироваться/декодироваться согласно порядку декодирования. Порядок кадров, который соответствует порядку вывода декодированного кадра, может быть сконфигурирован по-другому по сравнению с порядком декодирования. Так же, при выполнении взаимного прогнозирования на основе сконфигурированного порядка кадров, может выполняться прямое прогнозирование, а также обратное прогнозирование.
[93] Фиг. 4 показывает общий пример процедуры декодирования кадров, к которой может применяться вариант(ы) осуществления настоящего раскрытия. На фиг. 4, S400 может выполняться посредством энтропийного декодера 310 оборудования декодирования, которое описывается выше на фиг. 3, S410 может выполняться посредством модуля 330 прогнозирования, S420 может выполняться посредством остаточного процессора 320, S430 может выполняться посредством сумматора 340, и S440 может выполняться посредством фильтра 350. S400 может включать в себя процедуру декодирования информации, которая приводится в настоящем описании изобретения, S410 может включать в себя процедуру взаимного/внутреннего прогнозирования, которая приводится в настоящем описании изобретения, S420 может включать в себя процедуру остаточной обработки, которая приводится в настоящем описании изобретения, S430 может включать в себя процедуру восстановления блоков/кадров, которая приводится в настоящем описании изобретения, и S440 может включать в себя процедуру внутриконтурной фильтрации, которая приводится в настоящем описании изобретения.
[94] Ссылаясь на фиг. 4, как описано выше на фиг. 3, процедура декодирования кадров, в общем, может включать в себя процедуру получения информации изображений/видео (S400) из потока битов (посредством декодирования), процедуру восстановления кадров (S410-S430) и процедуру внутриконтурной фильтрации (S440) для восстановленного кадра. Процедура восстановления кадров может выполняться на основе прогнозных выборок и остаточных выборок, которые получаются посредством выполнения процедуры взаимного/внутреннего прогнозирования (S410) и процедуры остаточной обработки (S420, процедур деквантования и обратного преобразования для квантованных коэффициентов преобразования). Посредством выполнения процедуры внутриконтурной фильтрации для восстановленного кадра, который формируется посредством выполнения процедуры восстановления кадров, может формироваться модифицированный восстановленный кадр, и модифицированный восстановленный кадр может выводиться в качестве декодированного кадра, который затем сохраняется в буфере декодированных кадров или в запоминающем устройстве 360 оборудования декодирования таким образом, что он используется в качестве опорного кадра во время процедуры взаимного прогнозирования при выполнении декодирования кадра в более позднем процессе. В некоторых случаях, процедура внутриконтурной фильтрации может пропускаться. Так же, в этом случае, восстановленный кадр может выводиться в качестве декодированного кадра, который затем сохраняется в буфере декодированных кадров или в запоминающем устройстве 360 оборудования декодирования таким образом, что он используется в качестве опорного кадра во время процедуры взаимного прогнозирования при выполнении декодирования кадра в более позднем процессе. Как описано выше, процедура внутриконтурной фильтрации (S440) может включать в себя процедуру фильтрации для удаления блочности, процедуру фильтрации на основе дискретизированного адаптивного смещения (SAO), процедуру адаптивной контурной фильтрации (ALF) и/или процедуру билатеральной фильтрации и т.д., и часть или вся процедура внутриконтурной фильтрации может пропускаться. Дополнительно, одна или часть из процедуры фильтрации для удаления блочности, процедуры фильтрации на основе дискретизированного адаптивного смещения (SAO), процедуры адаптивной контурной фильтрации (ALF) и процедуры билатеральной фильтрации могут последовательно применяться, либо все из процедуры фильтрации для удаления блочности, процедуры фильтрации на основе дискретизированного адаптивного смещения (SAO), процедуры адаптивной контурной фильтрации (ALF) и процедуры билатеральной фильтрации могут последовательно применяться. Например, после того, как процедура фильтрации для удаления блочности применяется к восстановленному кадру, может выполняться SAO-процедура. Альтернативно, например, после того, как процедура фильтрации для удаления блочности применяется к восстановленному кадру, может выполняться ALF-процедура. Это также может выполняться аналогично в оборудовании кодирования.
[95] Фиг. 5 показывает пример процедуры кодирования кадров.
[96] Фиг. 5 показывает общий пример процедуры кодирования кадров, к которой может применяться вариант(ы) осуществления настоящего раскрытия. На фиг. 5, S500 может выполняться посредством модуля 220 прогнозирования оборудования кодирования, которое описывается выше на фиг. 2, S510 может выполняться посредством остаточного процессора 230, и S520 может выполняться посредством энтропийного кодера 240. S500 может включать в себя процедуру взаимного/внутреннего прогнозирования, которая приводится в настоящем описании изобретения, S610 может включать в себя процедуру остаточной обработки, которая приводится в настоящем описании изобретения, и S520 может включать в себя процедуру кодирования информации, которая приводится в настоящем описании изобретения.
[97] Ссылаясь на фиг. 5, как описано выше на фиг. 2, процедура кодирования кадров, в общем, может включать в себя процедуру кодирования информации для восстановления кадров (например, информации прогнозирования, остаточной информации, информации сегментации и т.д.) и вывода кодированной информации в формате потока битов, а также процедуру формирования восстановленного кадра для текущего кадра и процедуру применения внутриконтурной фильтрации к восстановленному кадру (необязательно). Оборудование кодирования может извлекать остаточные выборки (которые модифицируются) из квантованных коэффициентов преобразования через деквантователь 234 и обратный преобразователь 235, и после этого оборудование кодирования может формировать восстановленный кадр на основе прогнозных выборок, которые представляют собой вывод S500, и (модифицированных) остаточных выборок. Восстановленный кадр, который формируется так, как описано выше, может быть идентичным вышеописанному восстановленному кадру, который формируется в оборудовании декодирования. Модифицированный восстановленный кадр может формироваться посредством выполнения процедуры внутриконтурной фильтрации для восстановленного кадра, который затем сохраняется в буфере декодированных кадров или в запоминающем устройстве 270 оборудования декодирования. Так же, аналогично оборудованию декодирования, модифицированный восстановленный кадр может использоваться в качестве опорного кадра во время процедуры взаимного прогнозирования при кодировании кадра. Как описано выше, в некоторых случаях, часть или вся процедура внутриконтурной фильтрации может пропускаться. Когда процедура внутриконтурной фильтрации выполняется, связанная с (внутриконтурной) фильтрацией информация (параметр) может кодироваться в энтропийном кодере 240 и затем передаваться в формате потока битов, и оборудование декодирования может выполнять процедуру внутриконтурной фильтрации посредством использования идентичного способа со способом в оборудовании кодирования на основе связанной информации фильтрации.
[98] Посредством выполнения вышеописанной процедуры внутриконтурной фильтрации может уменьшаться шум, возникающий при кодировании изображения изображения/движущегося кадра, такой как артефакт блочности и артефакт кольцевания, и может повышаться субъективное/объективное визуальное качество. Дополнительно, за счет того, что как оборудование кодирования, так и оборудование декодирования выполняют процедуру внутриконтурной фильтрации, оборудование кодирования и оборудование декодирования могут извлекать идентичный результат прогнозирования, повышать надежность при кодировании кадров и уменьшать размер (или объем) данных, которые должны передаваться для кодирования кадров.
[99] Как описано выше, процедура восстановления кадров может выполняться в оборудовании декодирования, а также в оборудовании кодирования. Восстановленный блок может формироваться для каждой единицы блока на основе внутреннего прогнозирования/взаимного прогнозирования, и может формироваться восстановленный кадр, включающий в себя восстановленные блоки. Когда текущий кадр/срез/группа плиток представляет собой I-кадр/срез/группу плиток, блоки, включенные в текущий кадр/срез/группу плиток, могут восстанавливаться только на основе внутреннего прогнозирования. Между тем, когда текущий кадр/срез/группа плиток представляет собой P- или B-кадр/срез/группу плиток, блоки, включенные в текущий кадр/срез/группа плиток, могут восстанавливаться на основе внутреннего прогнозирования или взаимного прогнозирования. В этом случае, взаимное прогнозирование может применяться к части блоков в текущем кадре/срезе/группе плиток, и внутреннее прогнозирование может применяться к оставшимся блокам. Цветовые компоненты кадра могут включать в себя компонент сигналов яркости и компонент сигналов цветности. Так же, если это явно не ограничивается (или ограничивается) в настоящем описании изобретения, способы и варианты осуществления, которые предлагаются в настоящем описании изобретения, могут применяться к компоненту сигналов яркости и компоненту сигналов цветности.
[100] Фиг. 6 показывает примерную иерархическую структуру кодированного изображения/видео.
[101] Ссылаясь на фиг. 6, кодированное изображение/видео может разделяться на слой кодирования видео (VCL), который осуществляет обработку декодирования изображения/видео и обрабатывает непосредственно изображение/видео, подсистему, передающую и сохраняющую кодированную информацию, и слой абстрагирования от сети (NAL), который присутствует между VCL и подсистемой и который обрабатывает функцию сетевой адаптации.
[102] VCL может формировать VCL-данные, включающие в себя сжатые данные изображений (данные срезов), либо может формировать набор параметров, включающий в себя такую информацию, как набор параметров кадра (PPS), набор параметров последовательности (SPS), набор параметров видео (VPS) и т.д., или сообщение с дополнительной улучшающей информацией (SEI), которое дополнительно требуется в процессе кодирования изображения.
[103] В NAL, NAL-единица может формироваться посредством добавления информации заголовка (заголовка NAL-единицы) в первичную байтовую последовательность данных (RBSP), которая формируется в VCL. В этот момент, RBSP означает данные срезов, набор параметров, SEI-сообщение и т.д., которые формируются в VCL. Заголовок NAL-единицы может включать в себя информацию типа NAL-единиц, которая указывается согласно RBSP-данным, которые включаются в соответствующую NAL-единицу.
[104] Как показано на чертеже, NAL-единица может разделяться на VCL NAL-единицу и не-VCL NAL-единицу согласно RBSP, которая формируется в VCL. VCL NAL-единица может означать NAL-единицу, которая включает в себя информацию относительно изображения (данные срезов), и не-VCL NAL-единица может означать NAL-единицу, которая включает в себя информацию (набор параметров или SEI-сообщение), который необходим для декодирования изображения.
[105] Вышеописанная VCL NAL-единица и не-VCL NAL-единица могут передаваться через сеть посредством присоединения информации заголовка согласно стандарту данных подсистемы. Например, NAL-единица может преобразовываться в формат данных предварительно определенного стандарта, такого как формат файлов H.266/VVC, транспортный протокол реального времени (RTP), транспортный поток (TS) и т.п., и передаваться через различные сети.
[106] Как описано выше, NAL-единица может указываться с типом NAL-единицы согласно структуре RBSP-данных, которая включается в соответствующую NAL-единицу, и информация относительно типа NAL-единицы может сохраняться в заголовке NAL-единицы и передаваться в служебных сигналах.
[107] Например, NAL-единица может классифицироваться на тип VCL NAL-единицы и тип не-VCL NAL-единицы в зависимости от того, включает или нет NAL-единица в себя информацию (данные срезов) относительно изображения. Тип VCL NAL-единицы может классифицироваться согласно природе и типу кадров, включенных в VCL NAL-единицу, и тип не-VCL NAL-единицы может классифицироваться согласно типам наборов параметров.
[108] Ниже приводится пример типа NAL-единицы, который указывается в соответствии с типом набора параметров, который включается в тип не-VCL NAL-единицы.
[109] - NAL-единица набора параметров адаптации (APS): тип NAL-единицы, включающий в себя APS
[110] - NAL-единица набора параметров декодирования (DPS): тип NAL-единицы, включающий в себя DPS
[111] - NAL-единица набора параметров видео (VPS): тип NAL-единицы, включающий в себя VPS
[112] - NAL-единица набора параметров последовательности (SPS): тип NAL-единицы, включающий в себя SPS
[113] - NAL-единица набора параметров кадра (PPS): тип NAL-единицы, включающий в себя PPS
[114] - NAL-единица заголовка кадра (PH): тип NAL-единицы, включающий в себя PH
[115] Вышеуказанные типы NAL-единиц могут иметь синтаксическую информацию для типа NAL-единицы, и синтаксическая информация может сохраняться в заголовке NAL-единицы и передаваться в служебных сигналах. Например, синтаксическая информация может представлять собой nal_unit_type, и типы NAL-единиц могут указываться посредством значения nal_unit_type.
[116] Между тем, как описано выше, один кадр может включать в себя множество срезов, и один срез может включать в себя заголовок среза и данные срезов. В этом случае, один заголовок кадра дополнительно может добавляться во множество срезов (заголовок среза и набор данных срезов) в одном кадре. Заголовок кадра (синтаксис заголовков кадра) может включать в себя информацию/параметры, обычно применимую к кадру. Заголовок среза (синтаксис заголовков срезов) может включать в себя информацию/параметры, обычно применимые к срезу. APS (APS-синтаксис) или PPS (PPS-синтаксис) может включать в себя информацию/параметры, обычно применимые к одному или более срезов либо кадров. SPS (SPS-cинтаксис) может включать в себя информацию/параметры, обычно применимые к одной или более последовательностей. VPS (VPS-синтаксис) может включать в себя информацию/параметры, обычно применимые к нескольким слоям. DPS (DPS-синтаксис) может включать в себя информацию/параметры, обычно применимые к полному видео. DPS может включать в себя информацию/параметры, связанную с конкатенацией кодированной видеопоследовательности (CVS). В настоящем описании изобретения, высокоуровневый синтаксис (HLS) может включать в себя по меньшей мере одно из APS-синтаксиса, PPS-синтаксиса, SPS-cинтаксиса, VPS-синтаксиса, DPS-синтаксиса, синтаксиса заголовков кадра и синтаксиса заголовков срезов.
[117] В настоящем описании, изображение/информация изображений, кодированная из оборудования кодирования и передаваемая в служебных сигналах в оборудование декодирования в формате потока битов, включает в себя не только информацию, связанную с сегментацией в кадре, информацию внутреннего/взаимного прогнозирования, остаточную информацию, информацию внутриконтурной фильтрации и т.п., но также и информацию, включенную в заголовок среза, информацию, включенную в APS, информацию, включенную в PPS, информацию, включенную в SPS, и/или информацию, включенную в VPS.
[118] Между тем, как описано выше, высокоуровневый синтаксис (HLS) может кодироваться/передаваться в служебных сигналах для кодирования видео/изображений. Кодированный кадр может быть сконфигурирован из одного или более срезов. Параметр, описывающий кодированный кадр, передается в служебных сигналах в заголовке кадра, и параметр, описывающий срез, передается в служебных сигналах в заголовке среза. Заголовок кадра переносится в собственном формате NAL-единиц. Так же, заголовок среза присутствует в начале (или в начальной точке) NAL-единицы, включающей в себя рабочие данные среза (т.е. данные срезов).
[119] Каждый кадр ассоциирован с заголовком кадра. Кадр может быть сконфигурирован из различных типов срезов (внутренне кодированного среза (т.е. I-среза) и взаимно кодированных срезов (т.е. P-среза и B-среза)). Следовательно, заголовок кадра может включать в себя синтаксические элементы, которые требуются во внутреннем срезе кадра и взаимном срезе кадра.
[120] Кадр может сегментироваться (или разделяться) на субкадры, плитки и/или срезы. Передача в служебных сигналах субкадров может присутствовать в наборе параметров последовательности (SPS). Так же, передача в служебных сигналах плиток и квадратных срезов может присутствовать в наборе параметров кадра (PPS). Передача в служебных сигналах срезов на основе растрового сканирования может присутствовать в заголовке среза.
[121] Например, относительно сегментации кадра, синтаксические элементы, показанные ниже в таблице 1, могут включаться в SPS-cинтаксис.
[122] Табл. 1
[123] Синтаксические элементы, показанные ниже в таблице 2, могут включаться в PPS-синтаксис.
[124] Табл. 2
[125]
[126] В таблице 2, num_slices_in_tile_minus1[i]+1 указывает число срезов в текущей плитке, когда i-ый срез включает в себя поднабор CTU-строк в одной плитке. Значение num_slices_in_tile_minus1[i] должно находиться в пределах диапазона включительно от 0 до RowHeight[tileY]-1. В данном документе, tileY представляет собой индекс строки плиток, включающей в себя i-ый срез. Когда num_slices_in_tile_minus1[i] не присутствует в PPS, значение num_slices_in_tile_minus1[i] извлекается в качестве 0.
[127] slice_height_in_ctu_minus1[i]+1 указывает высоту i-ого прямоугольного среза в единицах CTU-строк, когда i-ый срез включает в себя поднабор CTU-строк в одной плитке. Значение slice_height_in_ctu_minus1[i] должно находиться в пределах диапазона включительно от 0 до RowHeight[tileY]-1. В данном документе, tileY представляет собой индекс строки плиток, включающей в себя i-ый срез.
[128] Синтаксические элементы, показанные ниже в таблице 3, могут включаться в синтаксис заголовков срезов.
[129] Табл. 3
[130] Ссылаясь на таблицы 1-3, в текущем проектном решении по плиткам и срезам, прямоугольный срез может включать в себя одну или более плиток. Альтернативно, прямоугольный срез может включать в себя целое число (или общее число) CTU-строк в одной плитке.
[131] Когда прямоугольный срез включает в себя целое число (или общее число) CTU-строк в одной плитке (это соответствует случаю, в котором плитка сегментируется на два или более срезов), в текущей передаче служебных сигналов, высота каждого среза явно передается в служебных сигналах. Тем не менее, этот тип передачи служебных сигналов не представляет собой оптимальный способ передачи служебных сигналов.
[132] Схема срезов в одной плитке может включать в себя случай, в котором высоты срезов в плитке являются равномерными за исключением последнего среза, и случай, в котором высоты срезов в плитке не являются равномерными. Когда высоты срезов в плитке являются равномерными за исключением последнего среза, поскольку высоты всех срезов за исключением последнего среза в плитке являются идентичными, только высота одного среза может просто передаваться в служебных сигналах без необходимости явно передавать в служебных сигналах высоту каждого среза. Когда высоты срезов в плитке не являются равномерными, высота каждого среза в плитке должна передаваться в служебных сигналах.
[133] Нижеприведенные чертежи проиллюстрированы для того, чтобы описывать подробный пример(ы) настоящего описания изобретения. Подробные термины оборудования (или устройства) или подробные термины сигнала(ов)/информации, указываемых на чертежах, являются просто примерными. Так же, в силу этого, технические характеристики настоящего описания изобретения не должны быть ограничены только подробными терминами, используемыми на нижеприведенных чертежах.
[134] Настоящее описание изобретения предоставляет следующие способы для того, чтобы разрешать вышеописанные проблемы. Пункты каждого способа могут применяться независимо либо могут применяться в комбинации.
[135] Например, когда одна плитка включает в себя два или более срезов, число высот срезов, явно передаваемых в служебных сигналах в CTU-строках, может передаваться в служебных сигналах. Это может называться "синтаксическим элементом num_exp_slice_in_tile". В этом случае, синтаксические элементы (массив slice_row_height_minus1) для индексов начиная с от 0 до num_exp_slice_in_tile-1 могут передаваться в служебных сигналах. Это может передаваться в служебных сигналах в качестве ue(v) или u(v), и число битов, передающих в служебных сигналах такие синтаксические элементы, может варьироваться в соответствии с числом CTU-строк в плитке. В данном документе, ue(v) представляет кодированный экспоненциальным кодом Голомба синтаксический элемент 0-ого порядка, и u(v) указывает то, что v битов используются, при этом значение v варьируется в соответствии со значением других синтаксических элементов.
[136] Высоте каждого среза начиная с первого среза до n-ого среза в плитке присваиваются значения slice_row_height_minus1+1 начиная с 0 до num_exp_slice_in_tile-1, соответственно. В данном документе, n равно числу срезов, явно передаваемых в служебных сигналах в плитке (num_exp_slice_in_tile).
[137] Хотя оставшиеся CTU-строки, которые больше num_exp_slice_in_tile_minus1+1 и (явно) передаются в служебных сигналах в последний раз в плитке, по-прежнему присутствуют, новый срез задается в плитке. Другими словами, срез(ы), который(е) явно не передается(ются) в служебных сигналах, присутствует(ют) в плитке. Последний срез может иметь высоту, которая равна или меньше num_exp_slice_in_tile_minus1+1, который в последний раз передан в служебных сигналах.
[138] В качестве другого примера, когда одна плитка включает в себя два или более срезов, число срезов, включаемых в плитку, может передаваться в служебных сигналах. В этом случае, флаг, указывающий то, являются или нет высоты каждого среза в плитке равномерными, может передаваться в служебных сигналах. Когда высоты каждого среза в плитке являются равномерными, только одна высота среза может передаваться в служебных сигналах из CTU-строк. Высота каждого среза в плитке может извлекаться на основе передаваемой в служебных сигналах высоты среза. Так же, когда высоты каждого среза в плитке не являются равномерными, высоты каждого среза за исключением последнего среза в плитке могут явно передаваться в служебных сигналах.
[139] В настоящем описании изобретения, информация относительно среза(ов) и/или плитки(ок) может включать в себя информационный элемент и/или синтаксический элемент(ы), раскрытые в таблицах 1-3. Информация изображений/видео может включать в себя высокоуровневый синтаксис (HLS), раскрытый в таблицах 1-3, и высокоуровневый синтаксис (HLS) может включать в себя информацию, связанную со срезом(ами), и/или информацию, связанную с плиткой(ками). Информация, связанная со срезом(ами), может включать в себя информацию, указывающую один или более срезов в пределах текущего кадра, и информация, связанная с плиткой(ками), может включать в себя информацию, указывающую одну или более плиток в пределах текущего кадра. Плитка, включающая в себя один или более срезов, и срез, включающий в себя одну или более плиток, могут присутствовать в кадре.
[140] В качестве варианта осуществления, чтобы представлять сегментированную структуру кадра, синтаксисы, показанные ниже в таблице 4, и семантика, показанная ниже в таблице 5, могут использоваться для PPS.
[141] Табл. 4
[142] Табл. 5
exp_slice_height_in_ctu_minus1[j] плюс 1 указывает j-ую явно передаваемую в служебных сигналах высоту среза в единицах CTU-строк для случая, в котором i-ый срез содержит поднабор CTU-строк из одной плитки. Значение exp_slice_height_in_ctu_minus1[j] должно составлять в диапазоне от 0 до RowHeightp[tileY]-1, включительно, где tileY является индексом строки плиток, содержащим срезы.
[143] Ссылаясь на таблицу 4 и таблицу 5, num_exp_slices_in_tile[i]+1 представляет число exp_slice_height_in_ctu_minus1[j], присутствующих в PPS. Когда num_exp_slices_in_tile[i] не присутствует в PPS, значение num_exp_slices_in_tile_minus1[i] извлекается в качестве 0.
[144] exp_slice_height_in_ctu_minus1[j]+1 указывает высоту j-ого прямоугольного среза, явно передаваемого в служебных сигналах в единицах CTU-строк, когда i-ый срез включает в себя поднабор CTU-строк в одной плитке. Значение exp_slice_height_in_ctu_minus1[j] должно находиться в пределах диапазона включительно от 0 до RowHeight[tileY]-1. В данном документе, tileY представляет собой индекс строки плиток, включающей в себя срез.
[145] Таким образом, num_exp_slices_in_tile[i] может называться "информацией (информацией по числу)" относительно числа срезов, имеющих высоту, явно передаваемую в служебных сигналах в плитке текущего кадра. Так же, exp_slice_height_in_ctu_minus1[j] может называться "информацией (информацией высоты)" относительно высоты каждого среза, имеющего высоту, явно передаваемую в служебных сигналах.
[146] Информация по числу и информация высоты могут представлять собой кодированный экспоненциальным кодом Голомба синтаксический элемент.
[147] Информация по числу может синтаксически анализироваться на основе информации относительно ширины и высоты среза, включающего в себя плитку. Когда плитка включает в себя i-ый срез, информация ширины среза, включающего в себя плитку, может соответствовать синтаксическому элементу slice_width_in_tiles_minus1[i], и информация высоты среза, включающего в себя плитку, может соответствовать синтаксическому элементу slice_height_in_tiles_minus1[i]. I-ый срез может представлять собой прямоугольный срез, и срезы в плитке также могут сегментироваться на прямоугольные срезы.
[148] Например, оборудование кодирования может формировать информацию по числу и информацию высоты на основе информации относительно срезов текущего кадра. Информация по числу и информация высоты могут включаться в информацию изображений и передаваться в служебных сигналах в оборудование декодирования в формате потока битов.
[149] Когда информация по числу синтаксически анализируется из PPS, как показано в таблице 4, оборудование декодирования может синтаксически анализировать информацию высоты из PPS на основе информации по числу. Например, когда значение информации по числу равно n (при этом n является целым числом, равным или большим 0), оборудование декодирования может синтаксически анализировать информацию высоты на n срезов (начиная с нулевого среза до (n-1)-ого среза в плитке) из PPS. Информация высоты может указывать каждую из высоты нулевого среза - высоты (n-1)-ого среза в строках единиц дерева кодирования (CTU).
[150] После этого, оборудование декодирования может извлекать высоты оставшихся срезов в плитке на основе высоты (n-1)-ого среза. Более конкретно, оборудование декодирования может извлекать высоты оставшихся срезов за исключением последнего среза в плитке начиная с n-ого среза в плитке как равные более высокой для (n-1)-ого среза. Для этого, оборудование декодирования может сравнивать оставшуюся высоту плитки, которая вычисляется посредством вычитания суммы высот срезов начиная с нулевого среза до (n-1)-ого среза из общей высоты плитки, с тем чтобы определять то, равна или выше либо нет оставшаяся высота равномерной высоты среза. В данном документе, равномерный срез может означать срезы, имеющие равномерную высоту (идентичную высоту) в плитке. Таким образом, высота равномерного среза может быть идентичной высоте (n-1)-ого среза.
[151] Когда оставшаяся высота плитки равна или выше высоты равномерного среза, высота n-ого среза может извлекаться в качестве высоты равномерного среза. Так же, когда оставшаяся высота плитки меньше высоты равномерного среза, высота n-ого среза может извлекаться в качестве оставшейся высоты. Дополнительно, когда оставшаяся высота плитки равна или выше высоты равномерного среза, обновленная оставшаяся высота может извлекаться посредством вычитания высоты n-ого среза из оставшейся высоты. Так же, когда обновленная оставшаяся высота равна или выше высоты равномерного среза, оборудование декодирования может извлекать высоту (n+1)-ого среза в качестве высоты равномерного среза. Когда обновленная оставшаяся высота меньше высоты равномерного среза, оборудование декодирования может извлекать высоту высоты (n+1)-ого среза в качестве обновленной оставшейся высоты. Таким образом, за исключением последнего среза в плитке, высота срезов начиная с n-ого среза до последнего среза может извлекаться в качестве равномерной высоты. Высота последнего среза может быть равной или меньшей высоты каждого равномерного среза (срезов начиная с (n-1)-ого среза до среза непосредственно перед последним срезом).
[152] В качестве примера, когда 5 срезов включаются в одну плитку, и когда информация по числу указывает 3, информация высоты для первого-третьего срезов в плитке может синтаксически анализироваться из PPS, и высота четвертого среза в плитке может извлекаться как имеющего высоту, идентичную высоте третьего среза. В этом случае, высота пятого среза может быть большей или меньшей высоты четвертого среза.
[153] Оборудование декодирования может извлекать число срезов в плитке посредством выполнения вышеописанной процедуры сканирования. Когда значение информации по числу больше 0, процедура извлечения информации относительно высоты каждого среза в плитке и информации относительно числа срезов в плитке может указываться так, как показано ниже в таблице 5.
[154] Табл. 6
Let tileHeight be equal to RowHeigh[tileY] - Пусть tileHeight равен RowHeigh[tileY] [155] В случае прямоугольного среза, список NumCtuInSlice[i] для i в диапазоне включительно от 0 до num_slices_in_pic_minus1 может указывать число CTU в i-ом срезе, матрица CtbAddrInSlice[i][j] для i в диапазоне включительно от 0 до num_slices_in_pic_minus1 и j в диапазоне включительно от 0 до numCtuInSlice[i]-1 указывает адрес растрового сканирования кадра j-ого CTB в i-ом срезе и может извлекаться так, как показано ниже в таблице 7.
[156] Табл. 7
[157] В качестве другого варианта осуществления, чтобы представлять сегментированную структуру кадра, синтаксисы, показанные ниже в таблице 8, и семантика, показанная ниже в таблице 9, могут использоваться для PPS.
[158] Табл. 8
[159]
slice_rows_height_in_ctu_minus1[i] плюс 1 указывает высоту среза за исключением последнего среза плитки в единицах CTB, когда uniform_slice_spacing_flag[i] равен 1. Значение slice_rows_height_in_ctu_minus1[i] должно составлять в диапазоне от 0 до RowHeightp[tileY]-1, включительно, где tileY является индексом строки плиток, содержащим срезы
num_slices_in_tile_minus1[i] плюс 1 указывает число срезов текущей плитки для случая, в котором i-ый срез содержит поднабор CTU-строк из одной плитки, и uniform_slice_spacing_flag[i] равен 1. Значение num_slices_in_tile_minus1[i] должно составлять в диапазоне от 0 до RowHeight[tileY]-1, включительно, где tileY является индексом строки плиток, содержащим срезы. Если не присутствует, значение num_slices_in_tile_minus1[i] логически выводится равным 0.
slice_height_in_ctu_minus1[j] плюс 1 указывает высоту i-го прямоугольного среза в единицах CTU-строк для случая, в котором i-ый срез содержит поднабор CTU-строк из одной плитки. Значение slice_height_in_ctu_minus1[j] должно составлять в диапазоне от 0 до RowHeightp[tileY]-1, включительно, где tileY является индексом строки плиток, содержащим i-ый срез.
[160] Ссылаясь на таблицу 8 и таблицу 9, если значение uniform_slice_spacing_flag[i] равно 1, оно указывает то, что CTU-строки равномерно распределяются (или рассеиваются) по всей плитке и передаются в служебных сигналах посредством использования синтаксических элементов uniform_slice_height_in_ctu_minus1[i]. Если значение uniform_slice_spacing_flag[i] равно 0, оно указывает то, что CTU-строки могут или не могут равномерно распределяться (или рассеиваться) по всей плитке и передаются в служебных сигналах посредством использования синтаксических элементов num_slices_in_tile_minus1[i] и slice_height_in_ctu_minus1[i].
[161] Когда значение uniform_slice_spacing_flag[i] равно 1, slice_rows_height_in_ctu_minus1[i]+1 указывает высоту срезов за исключением последнего среза плитки в единицах CTB. Значение slice_height_in_ctu_minus1[i] должно находиться в пределах диапазона включительно от 0 до RowHeight[tileY]-1. В данном документе, tileY представляет собой индекс строки плиток, включающей в себя срезы.
[162] num_slices_in_tile_minus1[i]+1 указывает число срезов в текущей плитке, когда i-ый срез включает в себя поднабор CTU-строк в одной плитке, и когда значение uniform_slice_spacing_flag[i] равно 0. Значение num_slices_in_tile_minus1[i] должно находиться в пределах диапазона включительно от 0 до RowHeight[tileY]-1. В данном документе, tileY представляет собой индекс строки плиток, включающей в себя i-ый срез. Когда num_slices_in_tile_minus1[i] не присутствует, значение num_slices_in_tile_minus1[i] извлекается в качестве 0.
[163] slice_height_in_ctu_minus1[i]+1 указывает высоту i-ого прямоугольного среза в единицах CTU-строк, когда i-ый срез включает в себя поднабор CTU-строк в одной плитке. Значение slice_height_in_ctu_minus1[i] должно находиться в пределах диапазона включительно от 0 до RowHeight[tileY]-1. В данном документе, tileY представляет собой индекс строки плиток, включающей в себя i-ый срез.
[164] Например, оборудование кодирования может формировать по меньшей мере один из uniform_slice_spacing_flag, slice_rows_height_in_ctu_minus1, num_slices_in_tile_minus1 и slice_height_in_ctu_minus1 на основе информации относительно срезов текущего кадра.
[165] Когда uniform_slice_spacing_flag синтаксически анализируется из PPS, как показано в таблице 8, оборудование декодирования может синтаксически анализировать slice_rows_height_in_ctu_minus1 или num_slices_in_tile_minus1 из PPS на основе значения uniform_slice_spacing_flag. Например, если значение uniform_slice_spacing_flag равно 1, оборудование декодирования может синтаксически анализировать slice_rows_height_in_ctu_minus1 из PPS и затем может извлекать синтаксически проанализированный результат в качестве высоты оставшихся срезов за исключением последнего среза в плитке на основе значения slice_rows_height_in_ctu_minus1. Если значение uniform_slice_spacing_flag равно 0, оборудование декодирования может синтаксически анализировать num_slices_in_tile_minus1 и slice_height_in_ctu_minus1 из PPS и может извлекать срезы в плитке на основе синтаксически проанализированного результата.
[166] Например, переменные NumSlicesInTileMinus1[i] и SliceHeightInCtuMinus1[i+k], которые связаны с информацией по числу и информацией высоты срезов в плитке, могут извлекаться так, как показано ниже. В данном документе, k может находиться в пределах диапазона включительно от 0 до numSlicesInTileMinus1[i].
[167] Табл. 10
[168] В случае прямоугольного среза, список NumCtuInSlice[i] для i в диапазоне включительно от 0 до num_slices_in_pic_minus1 может указывать число CTU в i-ом срезе, матрица CtbAddrInSlice[i][j] для i в диапазоне включительно от 0 до num_slices_in_pic_minus1 и j в диапазоне включительно от 0 до numCtuInSlice[i]-1 указывает адрес растрового сканирования кадра j-ого CTB в i-ом срезе и может извлекаться так, как показано ниже в таблице 11.
[169] Табл. 11
[170] Фиг. 7 и фиг. 8, соответственно, показывают общие примеры способа кодирования видео/изображений и связанного компонента согласно варианту осуществления настоящего раскрытия.
[171] Способ кодирования видео/изображений, раскрытый на фиг. 7, может осуществляться посредством оборудования 200 кодирования (видео/изображений), которое раскрывается на фиг. 2 и фиг. 8. Более конкретно, например, S700 по фиг. 7 может выполняться посредством модуля 210 сегментации изображений оборудования 200 кодирования, и S710 может выполняться посредством модуля 220 прогнозирования оборудования 200 кодирования. S720 может выполняться посредством остаточного процессора 230 оборудования 200 кодирования, и S730 и S740 могут выполняться посредством энтропийного кодера 240 оборудования 200 кодирования. Способ кодирования видео/изображений, раскрытый на фиг. 7, может включать в себя варианты осуществления, которые описываются выше в настоящем описании изобретения.
[172] Более конкретно, ссылаясь на фиг. 7 и фиг. 8, модуль 210 сегментации изображений оборудования кодирования может извлекать срезы в плитке текущего кадра (S700). Например, модуль 210 сегментации изображений может сегментировать входное изображение (или кадр, кинокадр) на одну или более CU. Входное изображение может включать в себя один или более кадров. Кадр может сегментироваться на одну или более плиток, кирпичей, срезов и/или групп плиток. Срез может включать в себя один или более кирпичей, плиток и/или групп плиток. Кирпич может включать в себя одну или более CTU-строк. Группа плиток может включать в себя одну или более плиток. Плитка может включать в себя одну или более CTU. CTU может сегментироваться на одну или более CU. Когда конкретный срез в пределах текущего кадра представляет собой прямоугольный срез, модуль 210 сегментации изображений может сегментировать прямоугольный срез на множество плиток, и из множества плиток, модуль 210 сегментации изображений может сегментировать по меньшей мере одну плитку и затем извлекать множество прямоугольных срезов.
[173] Модуль 220 прогнозирования оборудования кодирования может выполнять по меньшей мере одно из внутреннего прогнозирования или взаимного прогнозирования для текущего блока на основе срезов, которые извлекаются в модуле 210 сегментации изображений, и затем может формировать прогнозные выборки (блок прогнозирования) и связанную с прогнозированием информацию текущего блока (S710). Модуль 220 прогнозирования может определять то, применяется или нет внутреннее прогнозирование, либо то, применяется или нет взаимное прогнозирование в текущем блоке или единицах CU. Модуль 220 прогнозирования может доставлять разнообразную информацию, связанную с прогнозированием (связанную с прогнозированием информацию), в энтропийный кодер 240. В данном документе, связанная с прогнозированием информация может включать в себя информацию, связанную с режимом взаимного прогнозирования, и информацию, связанную с режимом внутреннего прогнозирования. Когда режим прогнозирования текущего блока представляет собой режим взаимного прогнозирования, прогнозные выборки могут формироваться в модуле 221 взаимного прогнозирования модуля 220 прогнозирования. Так же, когда режим прогнозирования текущего блока представляет собой режим внутреннего прогнозирования, прогнозные выборки могут формироваться в модуле 222 внутреннего прогнозирования модуля 220 прогнозирования.
[174] Остаточный процессор 230 оборудования кодирования может формировать остаточные выборки и остаточную информацию на основе прогнозных выборок, сформированных из модуля 220 прогнозирования, и исходного кадра (исходного блока, исходных выборок) (S720). В данном документе, остаточная информация представляет собой информацию, связанную с остаточными выборками, и остаточная информация может включать в себя информацию, связанную с (квантованными) коэффициентами преобразования для остаточных выборок.
[175] Сумматор (или модуль восстановления) оборудования кодирования может формировать восстановленные выборки (восстановленный кадр, восстановленный блок, массив восстановленных выборок) посредством суммирования остаточных выборок, которые формируются в остаточном процессоре 230, и прогнозных выборок, которые формируются в модуле 221 взаимного прогнозирования или модуле 222 внутреннего прогнозирования.
[176] Энтропийный кодер 240 оборудования кодирования может формировать информацию, связанную с сегментацией на основе структуры сегментации, которая извлекается в модуле 210 сегментации изображений. Связанная с сегментацией информация может включать в себя информацию (информацию по числу) относительно числа срезов, каждый из которых имеет высоту, явно передаваемую в служебных сигналах в плитке, и информацию (информацию высоты) относительно высоты срезов, каждый из которых имеет высоту, явно передаваемую в служебных сигналах. Например, энтропийный кодер 240 может формировать информацию по числу, связанную с числом срезов, каждый из которых имеет высоту, явно передаваемую в служебных сигналах (предоставленную) в плитке, и информацию высоты, связанную с высотой срезов, каждый из которых имеет высоту, явно передаваемую в служебных сигналах (предоставленную) на основе срезов, которые извлекаются в модуле 210 сегментации изображений (S730). В данном документе, информация по числу может включать в себя вышеописанный синтаксический элемент(ы) num_exp_slices_in_tile и/или num_slices_in_tile_minus1. Информация высоты может включать в себя вышеописанный синтаксический элемент(ы) exp_slice_height_in_ctu_minus1, slice_rows_height_in_ctu_minus1 и/или slice_height_in_ctu_minus1.
[177] Энтропийный кодер 240 может кодировать информацию изображений, включающую в себя связанную с сегментацией информацию, которая включает в себя информацию по числу и информацию высоты, связанную с прогнозированием информацию, которая формируется в модуле 220 прогнозирования, и/или остаточную информацию, которая формируется в остаточном процессоре 230 (S740). Информация, которая кодируется в энтропийном кодере 240, может выводиться в формате потока битов. Поток битов может передаваться в оборудование декодирования через сеть или носитель хранения данных.
[178] Например, энтропийный кодер 240 может включать в себя информацию изображений, которая включает в себя синтаксический элемент num_exp_slices_in_tile в качестве информации по числу и синтаксический элемент exp_slice_height_in_ctu_minus1 в качестве информации высоты на основе вышеописанной таблицы 4 и таблицы 5. Информация высоты может указывать высоту срезов, каждый из которых имеет высоту, явно передаваемую в служебных сигналах в плитке в единицах CTU-строк, и, для этого, информация высоты может включать в себя синтаксические элементы для срезов, каждый из которых имеет высоту, явно передаваемую в служебных сигналах. Число синтаксических элементов, включаемых в информацию изображений, может быть идентичным значению информации по числу.
[179] В качестве другого примера, энтропийный кодер 240 может кодировать информацию изображений, включающую в себя синтаксические элементы uniform_slice_spacing_flag, num_slices_in_tile_minus1, slice_rows_height_in_ctu_minus1 и/или slice_height_in_ctu_minus1 на основе вышеописанной таблицы 8 и таблицы 9. Синтаксические элементы num_slices_in_tile_minus1, slice_rows_height_in_ctu_minus1 и slice_height_in_ctu_minus1 могут включаться или могут не включаться в информацию изображений на основе значения uniform_slice_spacing_flag.
[180] Энтропийный кодер 240 может передавать в служебных сигналах информацию по числу и информацию высоты через набор параметров кадра (PPS) в информации изображений. В этом случае, энтропийный кодер 240 может включать в себя информацию по числу и/или информацию высоты посредством использования способа кодирования экспоненциальным кодом Голомба.
[181] Фиг. 9 и фиг. 10, соответственно, показывают общие примеры способа декодирования видео/изображений и связанного компонента согласно варианту осуществления настоящего раскрытия.
[182] Способ декодирования видео/изображений, раскрытый на фиг. 9, может осуществляться посредством оборудования 300 декодирования (видео/изображений), которое раскрывается на фиг. 3 и фиг. 10. Более конкретно, например, S900-S920 по фиг. 9 могут выполняться посредством энтропийного декодера 310 оборудования декодирования. Так же, S930 по фиг. 9 может выполняться посредством остаточного процессора 320, модуля 330 прогнозирования и сумматора 340 оборудования декодирования. Способ декодирования видео/изображений, раскрытый на фиг. 9, может включать в себя варианты осуществления, которые описываются выше в настоящем описании изобретения.
[183] Ссылаясь на фиг. 9 и фиг. 10, энтропийный декодер 310 оборудования декодирования может получать связанную с сегментацией информацию, остаточную информацию, связанную с прогнозированием информацию (информацию дифференцирования взаимного/внутреннего прогнозирования, информацию режима внутреннего прогнозирования, информацию режима взаимного прогнозирования и т.д.), связанную с внутриконтурной фильтрацией информацию и т.д., из потока битов. В данном документе, связанная с сегментацией информация может включать в себя информацию (информацию по числу) относительно числа срезов, каждый из которых имеет высоту, явно передаваемую в служебных сигналах, из срезов в плитке текущего кадра, информацию (информацию высоты) относительно высоты срезов, каждый из которых имеет высоту, явно передаваемую в служебных сигналах и т.д.
[184] Например, энтропийный декодер 310 может синтаксически анализировать информацию (информацию по числу), связанную с числом срезов, каждый из которых имеет высоту, явно передаваемую в служебных сигналах, из срезов в плитке текущего кадра, из потока битов (S900), и может синтаксически анализировать информацию (информацию высоты), связанную с высотой срезов, каждый из которых имеет высоту, явно передаваемую в служебных сигналах из потока битов на основе информации по числу (S910). Более конкретно, энтропийный декодер 310 может синтаксически анализировать информацию по числу и информацию высоты из набора параметров кадра (PPS) потока битов на основе вышеописанной таблицы 4. В данном документе, информация по числу может синтаксически анализироваться на основе информации относительно ширины и высоты среза, включающего в себя плитку. В этот момент, срез, включающий в себя плитку и/или срезы в плитке, может представлять собой прямоугольный срез(ы). Информация по числу и информация высоты могут представлять собой кодированные экспоненциальным кодом Голомба синтаксические элементы. Информация высоты может включать в себя синтаксические элементы для каждого среза, имеющего высоту, явно передаваемую в служебных сигналах. Число синтаксических элементов может быть идентичным значению информации по числу.
[185] Например, энтропийный декодер 310 может синтаксически анализировать синтаксические элементы slice_width_in_tiles_minus1 и slice_height_in_tiles_minus1 из набора параметров кадра (PPS) на основе таблицы 4, и энтропийный декодер 310 может синтаксически анализировать синтаксический элемент num_exp_slices_in_tile из набора параметров кадра (PPS) на основе значений синтаксических элементов slice_width_in_tiles_minus1 и slice_height_in_tiles_minus1. Так же, энтропийный декодер 310 может синтаксически анализировать число exp_slice_height_in_ctu_minus1, которое является эквивалентным значению синтаксического элемента num_exp_slices_in_tile из набора параметров кадра (PPS).
[186] Когда значение информации по числу равно n, энтропийный декодер 310 может извлекать высоты нулевого среза - (n-1)-ого среза в плитке на основе информации высоты. Так же, энтропийный декодер 310 может извлекать высоту n-ого среза в плитке на основе высоты (n-1)-ого среза. Таким образом, высота n-ого среза может извлекаться как идентичная высоте (n-1)-ого среза. В данном документе, n-ый срез может не представлять собой последний срез в плитке. Другими словами, энтропийный декодер 310 может извлекать высоты оставшихся срезов (срезов, которые явно не передаются в служебных сигналах) за исключением последнего среза в плитке как имеющие высоту, идентичную высоте (n-1)-ого среза. Следовательно, высоты срезов начиная с n-ого среза до последнего среза в плитке могут быть равномерными за исключением последнего среза в плитке. Энтропийный декодер 310 может извлекать высоту последнего среза в плитке на основе оставшейся высоты после вычитания высот других срезов в плитке из высоты плитки. Когда высоты всех срезов в плитке извлекаются, энтропийный декодер 310 может извлекать число срезов в плитке (S920). В данном документе, число срезов в плитке может соответствовать числу срезов начиная с нулевого среза до последнего среза в плитке.
[187] Оборудование 300 декодирования может декодировать текущий кадр на основе срезов текущего кадра, которые извлекаются посредством выполнения вышеописанных процедур (S930). Более конкретно, остаточный процессор 320 оборудования декодирования может формировать остаточные выборки на основе остаточной информации, которая получается из энтропийного декодера 310. Модуль 330 прогнозирования оборудования декодирования может выполнять взаимное прогнозирование и/или внутреннее прогнозирование на основе связанной с прогнозированием информации, которая получается из энтропийного декодера 310, с тем чтобы формировать прогнозные выборки. Сумматор 340 оборудования декодирования может формировать восстановленные выборки на основе прогнозных выборок, которые формируются в модуле 330 прогнозирования, и остаточных выборках, которые формируются в остаточном процессоре 320. Так же, сумматор 340 оборудования декодирования может формировать восстановленный кадр (восстановленный блок) на основе восстановленных выборок.
[188] После этого, процедура внутриконтурной фильтрации, такая как процедуры фильтрации для удаления блочности, SAO-процедуры и/или ALF-процедуры, может применяться к восстановленному кадру по мере необходимости, чтобы повышать субъективное/объективное качество кадров.
[189] Между тем, в качестве другого примера, энтропийный декодер 310 может синтаксически анализировать синтаксические элементы slice_width_in_tiles_minus1 и slice_height_in_tiles_minus1 из набора параметров кадра (PPS) потока битов на основе таблицы 8, и энтропийный декодер 310 может синтаксически анализировать синтаксический элемент uniform_slice_spacing_flag из набора параметров кадра (PPS) на основе значений синтаксических элементов slice_width_in_tiles_minus1 и slice_height_in_tiles_minus1. В этом случае, энтропийный декодер 310 может синтаксически анализировать синтаксический элемент slice_rows_height_in_ctu_minus1 или синтаксически анализировать синтаксический элемент num_slices_in_tile_minus1 из набора параметров кадра (PPS) на основе значения синтаксического элемента uniform_slice_spacing_flag. Синтаксический элемент slice_rows_height_in_ctu_minus1 может синтаксически анализироваться, когда значение синтаксического элемента uniform_slice_spacing_flag равно 1, и синтаксический элемент num_slices_in_tile_minus1 может синтаксически анализироваться, когда значение синтаксического элемента uniform_slice_spacing_flag равно 0.
[190] Когда синтаксический элемент slice_rows_height_in_ctu_minus1 синтаксически анализируется, энтропийный декодер 310 может извлекать высоты оставшихся срезов за исключением последнего среза в плитке в качестве значения slice_rows_height_in_ctu_minus1.
[191] Когда синтаксический элемент num_slices_in_tile_minus1 синтаксически анализируется, энтропийный декодер 310 может синтаксически анализировать число синтаксического элемента slice_height_in_ctu_minus1, соответствующее значению синтаксического элемента num_slices_in_tile_minus1, и значения могут извлекаться в качестве высот каждого среза в плитке, соответственно.
[192] Хотя способы описываются на основе блок-схемы последовательности операций способа, на которой этапы или блоки перечисляются в последовательности в вышеописанных вариантах осуществления, этапы настоящего документа не ограничены определенным порядком, и определенный этап может выполняться на другом этапе или в другом порядке либо одновременно относительно того, что описано выше. Дополнительно, специалисты в данной области техники должны понимать, что этапы блок-схем последовательности операций способа не являются единственно возможными, и другой этап может включаться, либо один или более этапов на блок-схеме последовательности операций способа могут удаляться без влияния на объем настоящего документа.
[193] Вышеуказанный способ согласно настоящему документу может осуществляться в форме программного обеспечения, и оборудование кодирования и/или оборудование декодирования согласно настоящему документу могут включаться в устройство для выполнения обработки изображений, например, в телевизор, компьютер, смартфон, абонентскую приставку, устройство отображения и т.п.
[194] Когда варианты осуществления настоящего документу реализуются посредством программного обеспечения, вышеуказанный способ может реализовываться посредством модуля (процесса или функции), который выполняет вышеуказанную функцию. Модуль может сохраняться в запоминающем устройстве и выполняться посредством процессора. Запоминающее устройство может устанавливаться внутри или снаружи процессора и может соединяться с процессором через различные известные средства. Процессор может включать в себя специализированную интегральную схему (ASIC), другие наборы микросхем, логическую схему и/или устройство обработки данных. Запоминающее устройство может включать в себя постоянное запоминающее устройство (ROM), оперативное запоминающее устройство (RAM), флэш-память, карту памяти, носитель хранения данных и/или другое устройство хранения данных. Другими словами, варианты осуществления согласно настоящему документу могут реализовываться и выполняться на процессоре, микропроцессоре, контроллере или микросхеме. Например, функциональные модули, проиллюстрированные на соответствующих чертежах, могут реализовываться и выполняться на компьютере, процессоре, микропроцессоре, контроллере или микросхеме. В этом случае, информация относительно реализации (например, информация относительно инструкций) или алгоритмы могут сохраняться на цифровом носителе хранения данных.
[195] Помимо этого, оборудование декодирования и оборудование кодирования, к которым применяется вариант(ы) осуществления настоящего документа, могут включаться в широковещательное мультимедийное приемо-передающее устройство, терминал мобильной связи, видеоустройство системы домашнего кинотеатра, видеоустройство системы цифрового кинотеатра, камеру наблюдения, устройство проведения видеочатов и устройство связи в реальном времени, к примеру, видеосвязи, мобильное устройство потоковой передачи, носитель хранения данных, записывающую видеокамеру, поставщик услуг на основе технологии "видео по запросу (VoD)", видеоустройство поверх сетей (OTT), поставщик услуг потоковой передачи по Интернету, трехмерное видеоустройство, устройство в стиле виртуальной реальности (VR), устройство в стиле дополненной реальности (AR), телефонное видеоустройство, терминал в транспортном средстве (например, терминал в транспортном средстве (в том числе в автономном транспортном средстве), терминал в воздушном судне или терминал в морском судне) и медицинское видеоустройство; и могут использоваться для того, чтобы обрабатывать сигнал изображения или данные. Например, OTT-видеоустройство может включать в себя игровую консоль, Blu-Ray-проигрыватель, телевизор с доступом в Интернет, систему домашнего кинотеатра, смартфон, планшетный PC и цифровое записывающее видеоустройство (DVR).
[196] Помимо этого, способ обработки, к которому применяется вариант(ы) осуществления настоящего документа, может формироваться в форме программы, выполняемой посредством компьютера, и может сохраняться на компьютерно-читаемом носителе записи. Мультимедийные данные, имеющие структуру данных согласно варианту(ам) осуществления настоящего документа, также могут сохраняться на компьютерно-читаемом носителе записи. Компьютерно-читаемый носитель записи включает в себя все виды устройств хранения данных и устройств распределенного хранения данных, на которых сохраняются компьютерно-читаемые данные. Компьютерно-читаемый носитель записи может включать в себя, например, Blu-Ray-диск (BD), универсальную последовательную шину (USB), ROM, PROM, EPROM, EEPROM, RAM, CD-ROM, магнитную ленту, гибкий диск и оптическое устройство хранения данных. Компьютерно-читаемый носитель записи также включает в себя среды, осуществленные в форме несущей волны (например, передачи по Интернету). Помимо этого, поток битов, сформированный посредством способа кодирования, может сохраняться на компьютерно-читаемом носителе записи или передаваться через сеть проводной или беспроводной связи.
[197] Помимо этого, вариант(ы) осуществления настоящего документа может осуществляться в качестве компьютерного программного продукта на основе программного кода, и программный код может выполняться на компьютере согласно варианту(ам) осуществления настоящего документа. Программный код может сохраняться на компьютерно-читаемом носителе.
[198] Фиг. 11 представляет пример системы потоковой передачи контента, к которой может применяться вариант осуществления настоящего документа.
[199] Ссылаясь на фиг. 11, система потоковой передачи контента, к которой применяются варианты осуществления настоящего документа, в общем, может включать в себя сервер кодирования, потоковый сервер, веб-сервер, хранилище мультимедиа, пользовательское устройство и устройство ввода мультимедиа.
[200] Сервер кодирования функционирует для того, чтобы сжимать в цифровые данные контент, вводимый из устройств ввода мультимедиа, таких как смартфон, камера, записывающая видеокамера и т.п., чтобы формировать поток битов и передавать его на потоковый сервер. В качестве другого примера, в случае, в котором устройство ввода мультимедиа, такое как смартфон, камера, записывающая видеокамера и т.п., непосредственно формирует поток битов, сервер кодирования может опускаться.
[201] Поток битов может формироваться посредством способа кодирования или способа формирования потоков битов, к которому применяются варианты осуществления настоящего документа. Кроме того, потоковый сервер может временно сохранять поток битов в процессе передачи или приема потока битов.
[202] Потоковый сервер передает мультимедийные данные в абонентское устройство на основе запроса пользователя через веб-сервер, который функционирует в качестве инструментария, который информирует пользователя в отношении того, какая услуга предусмотрена. Когда пользователь запрашивает услугу, которую пользователь хочет, веб-сервер передает запрос на потоковый сервер, и потоковый сервер передает мультимедийные данные пользователю. В этом отношении, система потоковой передачи контента может включать в себя отдельный сервер управления, и в этом случае, сервер управления функционирует для того, чтобы управлять командами/ответами между соответствующим оборудованием в системе потоковой передачи контента.
[203] Потоковый сервер может принимать контент из хранилища мультимедиа и/или сервера кодирования. Например, в случае если контент принимается из сервера кодирования, контент может приниматься в реальном времени. В этом случае, потоковый сервер может сохранять поток битов в течение предварительно определенного периода времени, чтобы плавно предоставлять услугу потоковой передачи.
[204] Например, абонентское устройство может включать в себя мобильный телефон, смартфон, переносной компьютер, цифровой широковещательный терминал, персональное цифровое устройство (PDA), портативный мультимедийный проигрыватель (PMP), навигационное устройство, грифельный планшетный PC, планшетный PC, ультрабук, носимое устройство (например, терминал в виде часов (интеллектуальные часы), терминал в виде очков (интеллектуальные очки), наголовный дисплей (HMD)), цифровой телевизор, настольный компьютер, систему цифровых информационных табло и т.п.
[205] Каждый из серверов в системе потоковой передачи контента может работать в качестве распределенного сервера, и в этом случае, данные, принимаемые посредством каждого сервера, могут обрабатываться распределенным способом.
Изобретение относится к кодированию и декодированию видео на основе конфигурации срезов/плиток кадра. Технический результат заключается повышения эффективности сжатия видео. Такой результат достигается за счет синтаксического анализа информации по числу относительно числа срезов, высоты которых явно передаются в служебных сигналах в плитке текущего кадра, из потока битов; синтаксического анализа информации высоты относительно высот срезов, высоты которых явно передаются в служебных сигналах, из потока битов на основе информации по числу; извлечения числа срезов в плитке на основе информации по числу и информации высоты; и декодирования текущего кадра на основе срезов в плитке, при этом информация высоты включает в себя число синтаксических элементов, идентичное значению информации по числу, и на основе значения информации по числу, составляющего n, высоты от нулевого среза до (n-1)-го среза в плитке могут извлекаться на основе синтаксических элементов. 3 н. и 10 з.п. ф-лы, 11 ил., 11 табл.
1. Способ декодирования видео, осуществляемый посредством оборудования декодирования видео, при этом способ содержит этапы, на которых:
- синтаксически анализируют информацию по числу, связанную с числом срезов, каждый из которых имеет высоту, явно передаваемую в служебных сигналах в плитке текущего кадра, из потока битов;
- синтаксически анализируют информацию высоты, связанную с высотами срезов, каждый из которых имеет высоту, явно передаваемую в служебных сигналах, из потока битов на основе информации по числу;
- извлекают число срезов в плитке на основе информации по числу и информации высоты; и
- декодируют текущий кадр на основе срезов в плитке,
при этом, на основе числа срезов, каждый из которых имеет высоту, явно передаваемую в служебных сигналах, равную n, высоты от нулевого среза до (n-1)-го среза в плитке извлекаются на основе информации высоты,
при этом высоты от высоты n-го среза до высоты непосредственно предыдущего среза по отношению к последнему срезу в плитке извлекаются на основе высоты (n-1)-го среза,
при этом высота последнего среза в плитке извлекается на основе оставшейся высоты после вычитания высот других срезов в плитке из высоты плитки, и
при этом информация по числу и информация высоты включаются в набор параметров кадра.
2. Способ декодирования видео по п. 1, в котором число срезов в плитке равно числу срезов начиная с нулевого среза до последнего среза.
3. Способ декодирования видео по п. 1, в котором высота n-го среза извлекается как идентичная высоте (n-1)-го среза.
4. Способ декодирования видео по п. 1, в котором высоты срезов начиная с n-го среза до непосредственно предыдущего среза в плитке являются равномерными.
5. Способ декодирования видео по п. 4, в котором высота последнего среза меньше или равна высоте (n-1)-го среза.
6. Способ декодирования видео по п. 1, дополнительно содержащий этап, на котором:
- сравнивают оставшуюся высоту плитки, которая вычисляется посредством вычитания суммы высот срезов начиная с нулевого среза до (n-1)-го среза из общей высоты плитки, с тем чтобы определять то, равна ли или выше оставшаяся высота высоты равномерного среза,
при этом высота равномерного среза является идентичной высоте (n-1)-го среза,
при этом, на основе оставшейся высоты плитки, которая вычисляется посредством вычитания суммы высот срезов начиная с нулевого среза до (n-1)-го среза из общей высоты плитки, равной или большей высоты равномерного среза, извлекается n-й срез, имеющий высоту равномерного среза, и
при этом, на основе оставшейся высоты плитки, которая вычисляется посредством вычитания суммы высот срезов начиная с нулевого среза до (n-1)-го среза из общей высоты плитки, меньшей высоты равномерного среза, извлекается n-й срез, имеющий оставшуюся высоту.
7. Способ декодирования видео по п. 6, в котором на основе оставшейся высоты, равной или большей высоты равномерного среза, извлекается обновленная оставшаяся высота, при этом обновленная оставшаяся высота обновляется посредством вычитания высоты n-го среза из оставшейся высоты плитки, которая вычисляется посредством вычитания суммы высот срезов начиная с нулевого среза до (n-1)-го среза из общей высоты плитки,
при этом, на основе обновленной оставшейся высоты, равной или большей высоты равномерного среза, извлекается (n+1)-й срез, имеющий высоту равномерного среза, и
при этом, на основе обновленной оставшейся высоты, меньшей высоты равномерного среза, извлекается (n+1)-й срез, имеющий обновленную оставшуюся высоту.
8. Способ декодирования видео по п. 1, в котором информация по числу и информация высоты включает в себя кодированный экспоненциальным кодом Голомба синтаксический элемент.
9. Способ декодирования видео по п. 1, в котором информация по числу включает в себя синтаксический элемент num_exp_slices_in_tile, и
при этом информация высоты включает в себя синтаксический элемент exp_slice_height_in_ctu_minus1.
10. Способ декодирования видео по п. 1, в котором срезы в плитке представляют собой прямоугольные срезы.
11. Способ декодирования видео по п. 1, в котором информация по числу синтаксически анализируется на основе информации, связанной с шириной и высотой среза, включающего в себя плитку.
12. Способ кодирования видео, осуществляемый посредством оборудования кодирования видео, при этом способ содержит этапы, на которых:
- извлекают срезы в плитке текущего кадра;
- формируют прогнозные выборки, выполняющие по меньшей мере одно из внутреннего прогнозирования или взаимного прогнозирования на основе по меньшей мере одного из извлеченных срезов;
- формируют остаточную информацию на основе прогнозных выборок;
- формируют информацию по числу, связанную с числом срезов, каждый из которых имеет высоту, явно передаваемую в служебных сигналах в плитке, и информацию высоты, связанную с высотами срезов, каждый из которых имеет высоту, явно передаваемую в служебных сигналах на основе извлеченных срезов; и
- кодируют информацию изображений, включающую в себя остаточную информацию, информацию по числу и информацию высоты,
при этом, на основе числа срезов, каждый из которых имеет высоту, явно передаваемую в служебных сигналах, равную n, информация высоты указывает высоты от нулевого среза до (n-1)-го среза в плитке,
при этом высоты от высоты n-го среза до высоты непосредственно предыдущего среза по отношению к последнему срезу в плитке представляются на основе высоты (n-1)-го среза,
при этом высота последнего среза в плитке представляется на основе оставшейся высоты после вычитания высот других срезов в плитке из высоты плитки, и
при этом информация по числу и информация высоты включаются в набор параметров кадра.
13. Способ передачи данных для видео, при этом способ содержит этапы, на которых:
- получают поток битов для видео, при этом поток битов формируется на основе извлечения срезов в плитке текущего кадра, формирования прогнозных выборок, выполняющих по меньшей мере одно из внутреннего прогнозирования или взаимного прогнозирования на основе по меньшей мере одного из извлеченных срезов, формирования остаточной информации на основе прогнозных выборок, формирования информации по числу, связанной с числом срезов, каждый из которых имеет высоту, явно передаваемую в служебных сигналах в плитке, и информации высоты, связанной с высотами срезов, каждый из которых имеет высоту, явно передаваемую в служебных сигналах на основе извлеченных срезов, и кодирования информации изображений, включающей в себя остаточную информацию, информацию по числу и информацию высоты; и
- передают данные, содержащие поток битов,
при этом, на основе числа срезов, каждый из которых имеет высоту, явно передаваемую в служебных сигналах, равную n, информация высоты указывает высоты от нулевого среза до (n-1)-го среза в плитке,
при этом высоты от высоты n-го среза до высоты непосредственно предыдущего среза по отношению к последнему срезу в плитке представляются на основе высоты (n-1)-го среза,
при этом высота последнего среза в плитке представляется на основе оставшейся высоты после вычитания высот других срезов в плитке из высоты плитки, и
при этом информация по числу и информация высоты включаются в набор параметров кадра.
US 20190082178 A1, 14.03.2019 | |||
KR 1020180096831 A, 29.08.2018 | |||
CN 109417642 A, 01.03.2019 | |||
US 20150304667 A1, 22.10.2015 | |||
КОДИРОВАНИЕ И ДЕКОДИРОВАНИЕ СЛАЙСОВ В ИЗОБРАЖЕНИЯХ ВИДЕОПОТОКА | 2013 |
|
RU2628133C2 |
Авторы
Даты
2023-07-25—Публикация
2020-11-26—Подача