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

1. Область техники, к которой относится настоящее изобретение
По меньшей мере один из вариантов осуществления настоящего изобретения в целом относится к способу и устройству для кодирования и декодирования изображений и, более конкретно, к способу и устройству для кодирования и декодирования изображений с независимым разбиением яркости и цветности.
2. Предшествующий уровень техники настоящего изобретения
Для достижения высокой эффективности сжатия схемы кодирования изображений и видео обычно используют предсказание и преобразование, чтобы использовать пространственную и временную избыточность в видеосодержимом. В целом, внутрикадровое или межкадровое предсказание используется для применения внутри- или межкадровой корреляции, а затем разности между исходным блоком изображения и предсказанным блоком изображения, часто называемые ошибками предсказания или остатками предсказания, подвергаются преобразованию, квантованию и энтропийному кодированию. Во время кодирования исходный блок изображения обычно разбивают/разделяют на подблоки, возможно с использованием разбиения методом квадродерева. Для восстановления видео сжатые данные декодируются посредством обратных процессов, соответствующих предсказанию, преобразованию, квантованию и энтропийному кодированию.
3. Краткое раскрытие настоящего изобретения
Согласно общему аспекту по меньшей мере одного варианта осуществления предлагается способ декодирования видеоданных, предусматривающий:
- активацию инструмента, зависящего от связи между компонентами, подлежащего использованию для блока цветности изображения в соответствии с размером указанного блока цветности и размером по меньшей мере одного блока яркости, совместно расположенного с блоком цветности;
- декодирование указанного блока цветности в соответствии с указанной активацией указанного инструмента, зависящего от связи между компонентами.
Согласно общему аспекту по меньшей мере одного варианта осуществления предлагается устройство для декодирования видеоданных, содержащее один или несколько процессоров, выполненных с возможностью выполнения следующего:
- активации инструмента, зависящего от связи между компонентами, подлежащего использованию для блока цветности изображения в соответствии с размером указанного блока цветности и размером по меньшей мере одного блока яркости, совместно расположенного с блоком цветности; и
- декодирования указанного блока цветности в соответствии с указанной активацией указанного инструмента, зависящего от связи между компонентами.
Согласно другому общему аспекту по меньшей мере одного варианта осуществления битовый поток форматируют так, чтобы он содержал сигнал, сгенерированный согласно способам кодирования, описанным выше.
Согласно общему аспекту по меньшей мере одного варианта осуществления предлагается способ кодирования видеоданных, предусматривающий:
- активацию инструмента, зависящего от связи между компонентами, подлежащего использованию для блока цветности изображения в соответствии с размером указанного блока цветности и размером по меньшей мере одного блока яркости, совместно расположенного с блоком цветности;
- кодирование указанного блока цветности в соответствии с указанной активацией указанного инструмента, зависящего от связи между компонентами.
Согласно общему аспекту по меньшей мере одного варианта осуществления предлагается устройство для кодирования видеоданных, содержащее один или несколько процессоров, выполненных с возможностью выполнения следующего:
- активации инструмента, зависящего от связи между компонентами, подлежащего использованию для блока цветности изображения в соответствии с размером указанного блока цветности и размером по меньшей мере одного блока яркости, совместно расположенного с блоком цветности; и
- кодирования указанного блока цветности в соответствии с указанной активацией указанного инструмента, зависящего от связи между компонентами.
Согласно другому общему аспекту по меньшей мере одного варианта осуществления битовый поток форматируют так, чтобы он содержал сигнал, сгенерированный согласно способам кодирования, описанным выше.
Согласно другому общему аспекту способ декодирования или кодирования видео или устройство для декодирования или кодирования видео дополнительно предусматривают определение положения в изображении заданное положение отсчета в блоке цветности, определение совместно расположенного блока яркости, который представляет собой блок яркости, содержащий отсчет яркости, совместно расположенный с положением в блоке цветности, определение соседних отсчетов яркости совместно расположенного блока яркости, определение значения яркости из определенных соседних отсчетов яркости, определение коэффициента масштабирования на основании определенного значения яркости и применение масштабирования остатка блока цветности согласно коэффициенту масштабирования.
Согласно одному или нескольким из вариантов осуществления настоящего изобретения также предлагается машиночитаемый носитель данных, на котором хранятся инструкции для кодирования или декодирования видеоданных согласно по меньшей мере части любого из способов, описанных выше. Согласно одному или нескольким вариантам осуществления также предлагается машиночитаемый носитель данных, на котором хранится битовый поток, сгенерированный согласно способам кодирования, описанным выше. Согласно одному или нескольким вариантам осуществления также предлагается способ и устройство для передачи или приема битового потока, сгенерированного согласно способам кодирования, описанным выше. Согласно одному или нескольким вариантам осуществления также предлагается компьютерный программный продукт для выполнения по меньшей мере части любого из способов, описанных выше.
4. Краткое описание фигур
На фиг. 1 показана единица дерева кодирования (CTU);
на фиг. 2 показана единица дерева кодирования, разделенная на единицы кодирования, единицы предсказания и единицы преобразования;
на фиг. 3 и 4 показана CTU, разделенная на единицы кодирования методом квадродерева и двоичного дерева (QTBT);
на фиг. 5 изображены режимы разделения единицы кодирования, определенные посредством инструмента кодирования методом квадродерева и двоичного дерева;
на фиг. 6 изображены дополнительные режимы разделения единицы кодирования, например, режимы асимметричного двоичного разделения и режимы разделения методом троичного дерева;
на фиг. 7 показана блок-схема способа активации или деактивации инструмента кодирования, зависящего от связи между компонентами, согласно одному варианту осуществления;
на фиг. 8А, 8В, 8С, 8D изображен принцип активации/деактивации инструмента кодирования, зависящего от связи между компонентами, согласно варианту осуществления, показанному на фиг. 7;
на фиг. 9 показана блок-схема способа активации или деактивации инструмента кодирования, зависящего от связи между компонентами, согласно одному варианту осуществления;
на фиг. 10 изображен блок цветности и совместно расположенные с ним блоки яркости согласно одному примеру;
на фиг. 11 изображен принцип активации/деактивации инструмента кодирования, зависящего от связи между компонентами, согласно варианту осуществления, показанному на фиг. 9;
на фиг. 12 показана блок-схема способа активации или деактивации инструмента кодирования, зависящего от связи между компонентами, согласно одному варианту осуществления;
на фиг. 13 и 14 изображен принцип активации/деактивации инструмента кодирования, зависящего от связи между компонентами, согласно варианту осуществления, показанному на фиг. 12;
на фиг. 15 показана блок-схема способа активации или деактивации инструмента кодирования, зависящего от связи между компонентами, согласно одному варианту осуществления;
на фиг. 16 изображен принцип активации/деактивации инструмента кодирования, зависящего от связи между компонентами, согласно варианту осуществления, показанному на фиг. 15;
на фиг. 17 показана блок-схема способа получения коэффициента масштабирования или индекса коэффициента масштабирования для блока цветности согласно одному варианту осуществления;
на фиг. 18 показан текущий блок цветности и некоторые соседние блоки цветности;
на фиг. 19, 20 и 21 изображен принцип активации/деактивации инструмента кодирования, зависящего от связи между компонентами, согласно одному варианту осуществления;
на фиг. 22 показана блок-схема способа определения коэффициента масштабирования, используемого при масштабировании остатков цветности согласно одному варианту осуществления;
на фиг. 23 А, 23В, 23С и 23D показан блок цветности и совместно расположенный блок яркости;
на фиг. 24А и 24В изображены примеры расстояний между верхними левыми соседними отсчетами яркости и соседними отсчетами цветности;
на фиг. 25 показана блок-схема способа проверки доступности отсчетов яркости на основании его совместно расположенных отсчетов цветности и отсчетов цветности текущего блока;
на фиг. 26 изображена принципиальная схема видеокодера согласно одному варианту осуществления;
на фиг. 27 изображена принципиальная схема видеодекодера согласно одному варианту осуществления; и
На фиг. 28 изображена принципиальная схема примера системы, в которой реализованы различные аспекты и варианты осуществления.
5. Подробное раскрытие настоящего изобретения
При кодировании HEVC изображение разбивается на CTU квадратной формы с настраиваемым размером, как правило, 64×64, 128×128 или 256×256. CTU представляет собой корень разбиения методом квадродерева на 4 квадратных единицы кодирования (CU) равного размера, т.е. половину размера родительского блока в ширину и в высоту, как показано на фиг. 1. Квадродерево это дерево, в котором родительский узел может быть разделен на четыре узла-потомка, каждый из которых может стать родительским узлом для другого разделения на четыре узла-потомка. В HEVC блок кодирования (СВ) разбивается на один или несколько блоков предсказания (РВ) и образует корень разбиения методом квадродерева на блоки преобразования (ТВ). В соответствии с блоком кодирования, блоком предсказания и блоком преобразования, единица кодирования (CU) содержит единицы предсказания (PU) и набор с древовидной структурой из единиц преобразования (TU), PU содержит информацию о предсказании (например, параметры внутрикадрового или межкадрового предсказания) для всех компонентов цвета, и TU содержит структуру синтаксиса кодирования остатков для каждого компонента цвета, как показано на фиг. 2. Режим внутрикадрового или межкадрового предсказания присваивается CU. Размер СВ, РВ и ТВ компонента яркости применяется к соответствующим CU, PU и TU.
В более современных системах кодирования CTU представляет собой корень разбиения на основе дерева кодирования на единицы кодирования (CU). Дерево кодирования - это дерево, в котором родительский узел (обычно соответствующий блоку) может быть разделен на узлы-потомки (например, на 2, 3 или 4 узла-потомка), каждый из которых может стать родительским узлом другого разделения на узлы-потомки. В дополнение к режиму разделения методом квадродерева также определены новые режимы разделения (режимы симметричного разделения методом двоичного дерева, режимы асимметричного разделения методом двоичного дерева и режимы разделения методом троичного дерева), которые увеличивают общее количество возможных режимов разделения. Дерево кодирования имеет уникальный корневой узел, например, CTU. Лист дерева кодирования представляет собой терминальный узел дерева. Каждый узел дерева кодирования представляет блок, который может быть дополнительно разделен на меньшие блоки, также называемые подблоками. После определения разбиения CTU на CU, CU соответствующие, листья дерева кодирования, кодируются. Разбиение CTU на CU и параметры кодирования, используемые для кодирования каждого CU (соответствующего листу дерева кодирования), могут быть определены на стороне кодера посредством процедуры оптимизации скорости-искажения.
На фиг. 3 представлено разбиение CTU на CU, где единицы кодирования могут быть разделены как в соответствии с режимами разделения методом квадродерева, так и методом симметричного двоичного дерева. Этот тип разделения известен как QTBT (метод квадродерева и двоичного дерева). Режимы разделения методом симметричного двоичного дерева определены для того, чтобы позволить разделить CU по горизонтали или вертикали на две единицы кодирования одинакового размера. На фиг. 3 сплошные линии обозначают разбиение методом квадродерева, а пунктирные линии обозначают двоичное разделение CU на симметричные CU. На фиг. 4 представлено соответствующее дерево кодирования. На фиг. 4 сплошные линии обозначают разделение методом квадродерева, а пунктирные линии представляют двоичное разделение, пространственно встроенное в листья квадродерева. На фиг. 5 показаны 4 режима разделения, использованные на фиг. 3. Режим NOSPLIT указывает на то, что CU не подвергается дальнейшему разделению. Режим QTSPLIT указывает, что CU разделяется на 4 квадранта в соответствии с методом квадродеревом, квадранты разделяются двумя линиями разделения. Режим HOR указывает, что CU разделяется по горизонтали на две CU одинакового размера, разделенные одной линией разделения. Режим VER означает, что CU разделяется по вертикали на две CU одинакового размера, разделенные одной линией разделения. Линии разделения представлены пунктирными линиями на фиг. 5.
При QTBT-разделении CU имеет либо квадратную, либо прямоугольную форму. Размер единицы кодирования равен степени 2 и обычно составляет от 4 до 128 в обоих направлениях (горизонтальном и вертикальном). QTBT характеризуется несколькими отличиями от разделения HEVC.
Во-первых, QTBT-разделение CTU состоит из двух стадий. Сначала CTU разбивается методом квадродерева. Каждый лист квадродерева может быть далее разделен двоичным способом. Это показано справа на фиг. 3, где сплошные линии представляют фазу разложения методом квадродерева, а пунктирные линии представляют двоичное разложение, пространственно встроенное в листья квадродерева.
Во-вторых, структура разбиения блоков яркости и цветности может быть разделена и решена независимо, в частности, во внутренних слайсах.
Также могут использоваться дополнительные типы разбиения. Режимы разделения методом асимметричного двоичного дерева (АВТ) определены для того, чтобы позволить разделить CU по горизонтали на две единицы кодирования с соответствующими прямоугольными размерами (w, h/4) и (w, 3h/4) или по вертикали на две единицы кодирования с соответствующими прямоугольными размерами (w/4, h) и (3w/4, h)), как показано на фиг. 6. Две единицы кодирования разделяются одной линией разделения, представленной на фиг. 6 пунктирной линией.
На фиг. 6 также изображены режимы разделения методом троичного дерева, согласно которым единица кодирования разделяется на три единицы кодирования в вертикальном и горизонтальном направлениях. В горизонтальном направлении CU разделяется на три единицы кодирования соответствующих размеров (w, h/4), (w, h/2) и (w, h/4). В вертикальном направлении CU разделяется на три единицы кодирования соответствующих размеров (w/4, h), (w/2, h) и (w/4, h).
Решение о разделении единицы кодирования принимается на стороне кодера посредством оптимизации скорости-искажения, которая включает определение представления CTU с минимальной стоимостью скорости-искажения.
В настоящем изобретении термин «блок» или «блок изображения» может использоваться для обозначения любого из CTU, CU, PU, TU, СВ, РВ и ТВ. Кроме того, термин «блок» или «блок изображения» может использоваться для обозначения макроблока, раздела и подблока, как указано в H.264/AVC или в других стандартах кодирования видео, и в более общем смысле обозначает массив отсчетов различных размеров.
В настоящем изобретении термины «восстановленный» и «декодированный» могут использоваться взаимозаменяемым образом, термины «пиксель» и «отсчет» могут использоваться взаимозаменяемым образом, термины «графическое изображение», «слайс», «тайл», «изображение» и «кадр» могут использоваться взаимозаменяемым образом. Обычно, но не обязательно, термин «восстановленный» используется на стороне кодера, «декодированный» используется на стороне декодера.
Использование этих новых топологий позволяет значительно повысить эффективность кодирования. В частности, значительный выигрыш достигается для компонентов цветности. Этот выигрыш обусловлен разделением/независимостью деревьев кодирования яркости и цветности (или разбиением).
Однако такое разделение деревьев кодирования яркости и цветности на уровне CTU характеризуется некоторыми проблемами с точки зрения аппаратной реализации. CTU обычно характеризуется размером 128×128 или 256×256. Полное разделение деревьев кодирования компонентов яркости и цветности подразумевает, что эти компоненты яркости и цветности также полностью разделены в сжатой области, следовательно, они также появляются в разделенном виде в кодированном битовом потоке. Это создает некоторую проблему для реализаций декодера, где необходимо обеспечить, чтобы схема декодирования могла быть достигнута на максимальном размере блока декодирования, который может быть меньше, чем размер CTU. Как правило, для некоторых реализаций декодера желательна схема декодера на основе размера 64×64. Для этого в тестовой модели универсального кодирования видео был выбран максимальный размер блока преобразования, равный 64×64.
Сочетание использования отдельных деревьев кодирования яркости/цветности с инструментами кодирования, включающими взаимозависимость между отсчетами цветности и совместно расположенными с ними отсчетами яркости (например, зависящее от яркости масштабирование остатков цветности), может быть проблематичным. Действительно, для того чтобы обработать блок цветности, перед блоком цветности необходимо обработать отсчеты яркости блока яркости, совместно расположенного с рассматриваемым блоком цветности. Если блок яркости характеризуется большим размером, это может привести к высокой структурной задержке схемы, прежде чем будет возможно обработать блок цветности.
Согласно по меньшей мере одному варианту осуществления применяются ограничения на совместное использование отдельных деревьев кодирования яркости/цветности и инструментов кодирования, включающих взаимозависимость между отсчетами цветности и совместно расположенными с ними отсчетами яркости (например, масштабирование остатков цветности, межкомпонентная линейная модель, известная как CCLM), в соответствии с размером по меньшей мере одного кодированного блока яркости, совместно расположенного с кодированным блоком цветности.
Согласно по меньшей мере одному варианту осуществления инструмент кодирования, зависящий от связи между компонентами (например, зависящее от яркости масштабирование остатков цветности для кодированных блоков цветности) активируется или деактивируется в соответствии с размером (или горизонтальными/вертикальными размерами) кодированного блока цветности и кодированных блоков яркости, совместно расположенных с отсчетами рассматриваемого кодированного блока цветности.
Согласно по меньшей мере одному варианту осуществления предусмотрено решение для блоков цветности в случае, когда масштабирование остатков цветности деактивировано из-за ограничений, упомянутых выше, на совместное использование отдельного дерева кодирования яркости/цветности и масштабирования остатков цветности.
Зависящее от яркости масштабирование остатков цветности является примером инструмента кодирования, включающего взаимозависимость между отсчетами цветности и совместно расположенными с ними отсчетами яркости. Зависящее от яркости масштабирование остатков цветности раскрыто в JVET-M0427 от Lu et al под названием «СЕ12: Mapping functions (test CE12-1 and СЕ12-2)». Зависящее от яркости масштабирование остатков цветности включает использование таблицы масштабирования или обратного масштабирования, индексированной значениями яркости. Таблица явно передается в потоке или выводится из таблицы, закодированной в потоке.
На стороне кодера процесс происходит следующим образом. При кодировании блока цветности вычисляется значение яркости, представляющее совместно расположенный блок яркости. Обычно это среднее значение отсчетов яркости в блоке предсказания яркости (или восстановленном блоке), совместно расположенном с рассматриваемым блоком цветности. Исходя из вычисленного значения яркости подбирается значение масштабирования из таблицы масштабирования. Значение масштабирования применяется как коэффициент умножения к остатку предсказания цветности перед применением преобразования и квантования к остаточному сигналу цветности.
На стороне декодера процесс происходит следующим образом. При декодировании блока цветности вычисляется значение яркости, представляющее блок яркости, совместно расположенный с рассматриваемым блоком цветности. Обычно это среднее значение отсчетов яркости в блоке предсказания яркости (или восстановленном блоке), совместно расположенном с рассматриваемым блоком цветности. Исходя из вычисленного значения яркости подбирается значение обратного масштабирования из таблицы обратного масштабирования, переданной в потоке или выведенной из переданных данных в потоке. Значение обратного масштабирования применяется к остатку предсказания цветности после применения обратного квантования и обратного преобразования.
В JVET-M0427 предлагается деактивировать масштабирование остатков цветности в случае использования раздельного дерева кодирования яркости/цветности. Это решение является причиной потерь кодирования для компонентов цветности.
Согласно различным вариантам осуществления активировано раздельное разбиение дерева яркости/цветности, т.е. разбиение яркости и цветности может быть достигнуто независимо. Предлагаемые варианты осуществления улучшают эффективность кодирования, особенно для компонентов цветности.
В дальнейшем формат цветности рассматривается как 4:2:0, т.е. размеры компонентов цветности в два раза меньше размеров компонента яркости. Однако следует понимать, что настоящие варианты осуществления не ограничиваются этим конкретным форматом цветности. Другие форматы цветности могут быть использованы путем изменения соотношения между размерами яркости и размерами цветности.
Для упрощения и удобочитаемости на следующих фигурах для компонентов яркости и цветности изображено одинаковое разрешение, даже если фактические разрешения различны, как, например, в случае формата цветности 4:2:0. В этом случае к изображениям цветности следует применить простое масштабирование.
Указаны максимальные горизонтальные/вертикальные размеры Wmax/Hmax, которые ограничивают использование зависящего от яркости масштабирования остатков цветности для данного кодированного блока цветности в случае, когда активировано раздельное разбиение дерева яркости/цветности. Изображение делится на неперекрывающиеся прямоугольные области размером Wmax/Hmax для яркости, WmaxC/HmaxC для цветности (обычно Wmax = Hmax = 32 для яркости, или WmaxC = HmaxC = 16 для цветности), названные ниже «разрешенные прямоугольные области» (ARA). Согласно множеству различных вариантов осуществления активация зависящего от яркости масштабирования остатков цветности (далее LDCRS) обусловлена положением и размером блока цветности и блоков яркости, совместно расположенных с блоком цветности, связанным с сеткой ARA.
Различные варианты осуществления относятся к блокам яркости, совместно расположенным с рассматриваемым блоком цветности. Блоки яркости, совместно расположенные с блоком цветности, могут быть определены следующим образом:
- блок яркости содержит пиксель, совместно расположенный с заданным положением в блоке цветности, таким как
центр блока цветности, например, определяемый как относительное положение ((×0+Wc)/2, (y0+Hc)/2) в блоке цветности, где (х0,у0) соответствует относительному положению на изображении цветности верхнего левого отсчета блока цветности, и (Wc,Hc) - горизонтальные/вертикальные размеры блока цветности;
верхнее левое положение в блоке цветности, определяемое как относительное положение (х0,у0) в изображении цветности;
нижнее правое положение в блоке цветности, определяемое как относительное положение (×0+Wc-1,y0+Hc-1) в изображении цветности;
верхнее правое положение в блоке цветности, определяемое как относительное положение (×0+Wc-1,y0) в изображении цветности;
нижнее левое положение в блоке цветности, определяемое как относительное положение (х0,у0+Нс-1) в изображении цветности;
- блоки яркости, совместно расположенные с несколькими заданными положениями в блоке цветности, такими как упомянутые выше; например, рассматриваются блоки яркости, совместно расположенные с 4 положениями блока цветности: верхнее левое, верхнее правое, нижнее левое, нижнее правое (см. фиг. 10); или
- блоки яркости, совместно расположенные со всеми положениями отсчетов цветности рассматриваемого блока цветности.
Вариант осуществления 1 - деактивация LDCRS в случае, когда блок цветности пересекает границы ARA
Согласно по меньшей мере одному варианту осуществления, если рассматриваемый блок цветности не полностью содержится в одной ARA цветности, LDCRS деактивируется. Это соответствует следующим уравнениям:
у - булево логическое «или» из х и у, а «!=» означает «не равно».
Упрощенная блок-схема процесса показана на фиг. 7. На стадии 300 проверяют, находится ли блок цветности внутри одной единственной ARA цветности. Если это условие истинно, LDCRS активируют (стадия 303). Если это условие ложно, LDCRS деактивируют (стадия 302).
- На фиг. 8А, 8В, 8С, 8D показаны некоторые случаи разбиения цветности, причем серые блоки соответствуют блокам цветности, где LDCRS активировано, а белые блоки соответствуют блокам цветности, где LDCRS деактивировано. Блоки цветности очерчены жирными черными линиями. Сетка, определяемая WmaxC и НтахС, обозначена пунктирными линиями.
- На фиг. 8А 2 блока цветности пересекают несколько ARA цветности; согласно текущему варианту осуществления LDCRS деактивировано для обоих блоков цветности.
- На фиг. 8 В 2 блока цветности находятся внутри одной ARA цветности; согласно текущему варианту осуществления LDCRS активировано для обоих блоков цветности.
- На фиг. 8С 1 прямоугольный вертикальный блок цветности пересекает две ARA цветности; согласно текущему варианту осуществления LDCRS деактивировано для этого блока цветности. Все остальные блоки цветности находятся внутри одной ARA цветности, и поэтому LDCRS может быть активировано для этих блоков цветности.
- На фиг. 8D один горизонтальный блок цветности пересекает две ARA цветности; согласно текущему варианту осуществления, LDCRS деактивировано для этого блока цветности. Все остальные блоки цветности находятся внутри одной ARA цветности, и поэтому LDCRS может быть активировано для этих блоков цветности.
Вариант осуществления 2 - LDCRS деактивировано в случае, когда блок цветности пересекает границы ARA цветности или в случае, когда по меньшей мере один из совместно расположенных блоков яркости пересекает границы совместно расположенной ARA яркости
Согласно одному варианту осуществления LDCRS деактивируется в случае, когда верно по меньшей мере одно из следующих условий:
• рассматриваемый блок цветности не полностью содержится в одной ARA цветности;
• по меньшей мере один из блоков яркости, совместно расположенных с рассматриваемым блоком цветности, не полностью содержится в ARA яркости, совместно расположенной с ARA цветности, т.е. пересекает границы совместно расположенных ARA яркости.
Упрощенная блок-схема процесса показана на фиг. 9. На стадии 400 проверяют, находится ли блок цветности внутри одной единственной ARA цветности. Если это условие ложно, LDCRS деактивируют (стадия 401). Если это условие истинно, идентифицируют блоки яркости, совместно расположенные с рассматриваемым блоком цветности (стадия 402). На стадии 403 проверяют, находятся ли все совместно расположенные блоки яркости внутри ARA яркости, совместно расположенной с ARA цветности. Если это условие ложно, LDCRS деактивируют (стадия 404). Если это условие истинно, LDCRS активируют (стадия 405).
На фиг. 11 представлены два примера текущего варианта осуществления. В верхней части фигуры блок цветности содержится внутри одной ARA цветности (слева вверху) и характеризуется наличием 3 совместно расположенных блоков яркости (совместно расположенные блоки яркости 1, 2 и 3, справа вверху). Два из них (совместно расположенные блоки яркости 1 и 2, в блоках, начерченных пунктирными линиями) находятся внутри совместно расположенного ARA яркости, а третий (совместно расположенный блок яркости 3) за пределами совместно расположенного ARA яркости. Поскольку этот третий блок яркости находится за пределами совместно расположенного ARA яркости, LDCRS деактивировано согласно текущему варианту осуществления.
В нижней части фигуры блок цветности содержится внутри одной ARA цветности и характеризуется наличием 3 совместно расположенных блоков яркости (совместно расположенные блоки яркости 1, 2 и 3). Все три блока находятся внутри совместно расположенного ARA яркости. Согласно текущему варианту осуществления LDCRS активировано.
Текущая спецификация VVC поддерживает три типа разделения: методом квадродерева (QT), двоичного дерева (ВТ, горизонтальное или вертикальное) и тернарного дерева (ТТ, горизонтальное или вертикальное), как показано на фиг. 5 и 6. В одном из вариантов разделения ВТ и ТТ активированы от заданного размера ARA (например, 32×32 для яркости, 16×16 для цветности, когда рассматривается формат цветности 4:2:0). Выше этого размера активируется только разделение QT или без разделения (no split). Таким образом, условия, представленные в вариантах осуществления 1 и 2, систематически удовлетворяются, за исключением случая «без разделения» для блоков, размеры которых превышают размеры ARA яркости/ARA цветности (например, для блока яркости 64×64, не разделенного на 4 блока 32×32).
Согласно по меньшей мере одному варианту осуществления разделения ВТ и ТТ активируются только для блоков яркости с размером меньше или равным 32×32 или блоков цветности с размером меньше или равным 16×16 (когда используется формат цветности 4:2:0). При размерах выше этого активируется только разделение QT (или без разделения). Это ограничение касается либо режима LDCRS, либо режима CCLM. Этот процесс изображен на фиг. 11С, при этом предусмотрен ARA яркости размером 32×32 и ARA цветности размером 16×16. На стадии 1300 проверяют, является ли рассматриваемый блок блоком яркости размером больше или равным 64×64 или блоком цветности размером больше или равным 32×32. Если результат испытания истинный, на стадии 1301 деактивируют разделение ВТ и ТТ, при этом активируют режим без разделения и разделение QT. Если результат испытания ложный, на стадии 1302 активируют режим без разделения, разделение QT, ВТ и ТТ.
Согласно по меньшей мере одному варианту осуществления для уменьшения задержки обработки цветности в случае режима LDCRS или CCLM, когда квадратный блок яркости, больший, чем ARA яркости, не разделен, соответствующий блок цветности может быть разделен на 4 блока только с помощью разделения QT, которые могут быть разделены далее, или не разделены вообще. Например, рассматривая ARA яркости размером 32×32 и ARA цветности размером 16×16, когда квадратный блок яркости размером 64×64 не разделяется, соответствующий блок цветности (размером 32×32 в формате 4:2:0) может быть разделен только на 4 блока 16×16 с помощью разделения QT, которые могут быть разделены далее (пунктирная линия на фигуре), или не разделены вообще. Случаи, следующие этим ограничениям, показаны на фиг. 11D.
Согласно по меньшей мере одному варианту осуществления для уменьшения задержки обработки цветности в случае режима LDCRS или CCLM, когда квадратный блок яркости, больший, чем ARA яркости, разделяется на 4 блока посредством разделения QT, соответствующий блок цветности может быть разделен на 4 блока только с помощью разделения QT, которые могут быть разделены далее, или не разделены вообще. Например, рассматривая ARA яркости размером 32×32 и ARA цветности размером 16×16, когда квадратный блок яркости размером 64×64 разделяется на 4 блока 32×32, соответствующий блок цветности (размером 32×32 в формате 4:2:0) может быть разделен только на 4 блока 16×16 с помощью разделения QT, которые могут быть разделены далее (пунктирная линия на фигуре), или не разделены вообще. Случаи, следующие этим ограничениям, показаны на фиг. НЕ.
Согласно по меньшей мере одному варианту осуществления для уменьшения задержки обработки цветности в случае режима LDCRS или CCLM, когда квадратный блок яркости, больший, чем ARA яркости, разделен на 2 блока посредством горизонтального разделения ВТ, соответствующий блок цветности может быть разделен только на 2 блока посредством горизонтального разделения ВТ или на 4 блока посредством разделения QT. Например, рассматривая ARA яркости размером 32×32 и ARA цветности размером 16×16, когда квадратный блок яркости размером 64×64 разделяется на 2 блока по 32 строки и 64 столбца, соответствующий блок цветности (размером 32×32 в формате 4:2:0) может быть разделен только на 2 блока по 16 строк и 32 столбца посредством горизонтального разделения ВТ, или на 4 блока 16×16 посредством разделения QT. Случаи, следующие этим ограничениям, показаны на фиг. 11F.
Согласно по меньшей мере одному варианту осуществления для уменьшения задержки обработки цветности в случае режима LDCRS или CCLM, когда квадратный блок яркости, больший, чем ARA яркости, не разделен или разделен на 4 блока посредством разделения QT или разделен на 2 блока посредством горизонтального разделения QT, соответствующий блок цветности не может быть разделен на 2 блока посредством вертикального двоичного разделения, но может быть разделен на 4 блока посредством разделения QT, или на 2 блока посредством горизонтального разделения ВТ, или не разделен.
Согласно по меньшей мере одному варианту осуществления для уменьшения задержки обработки цветности в случае режима LDCRS или CCLM, когда квадратный блок яркости, больший, чем ARA яркости, разделен на 2 блока посредством вертикального разделения ВТ, соответствующий блок цветности может быть разделен только на 2 блока посредством вертикального разделения ВТ. Например, рассматривая ARA яркости размером 32×32 и ARA цветности размером 16×16, когда квадратный блок яркости размером 64×64 разделяется на 2 блока по 64 строки и 32 столбца, соответствующий блок цветности может быть разделен только на 2 блока по 32 строки и 16 столбцов. Случаи, следующие этим ограничениям, показаны на фиг. 11G.
Пример синтаксиса на основе синтаксиса VTM5.0, описанного в документе JVET-N1001 (версия 9 - дата 25.06.2019,13:45:21)
Текст, выделенный мелким шрифтом ниже, соответствует примеру синтаксиса, соответствующему примеру реализации описанных выше вариантов осуществления, на основании синтаксиса, описанного в документе JVET-N1001 версии 9. Нумерация разделов соответствует нумерации, используемой в документе JVET-N1001 версии 9.
Версия, в которой разделение ВТ/ТТ запрещено для блоков размером более VDPU
Приведенное ниже описание синтаксиса соответствует варианту осуществления, ограничивающему разбиение, как описано выше. Изменения в спецификации VTM5 v9 выделены серым цветом.
6.4.2 Процесс разрешенного двоичного разделения
Входными данными для этого процесса являются следующие:
- режим двоичного разделения btSplit,
- ширина блока кодирования cbWidth в отсчетах яркости,
- высота блока кодирования cbHeight в отсчетах яркости,
- расположение (х0, у0) верхнего левого отсчета яркости рассматриваемого блока кодирования относительно верхнего левого отсчета яркости изображения,
- глубина многотипного дерева mttDepth,
- максимальная глубина многотипного дерева со смещением maxMttDepth,
- максимальный размер двоичного дерева maxBtSize, индекс раздела partldx,
- переменная treeType, указывающая, одинарное дерево (SINGLE_TREE) или двойственное дерево используется для разбиения CTU, и, если используется двойственное дерево, обрабатываются ли в данный момент компоненты яркости (DUAL_TREE_LUMA) или цветности (DUAL_TREE_CHROMA).
Выходными данными этого процесса является переменная allowBtSplit.
Переменные parallelTtSplit и cbSize определены, как указано в таблице 6-2.
Переменная allowBtSplit определяется следующим образом:
- Если одно или более из следующих условий истинно, allowBtSplit устанавливается равным FALSE:
- cbSize меньше или равно MinBtSizeY cbWidth больше maxBtSize
- cbHeight больше maxBtSize
- treeType не равно SINGLE_TREE и cbWidth больше 32
- treeType не равно SINGLETREE и cbHeight больше 32
- mttDepth больше или равно maxMttDepth
- treeType равно DUAL TREE CHROMA и (cbWidth / SubWidthC) * (cbHeight / SubHeightC) меньше или равно 16
- Иначе, если все следующие условия истинны, allowBtSplit устанавливается равным FALSE
…
- Иначе, allowBtSplit устанавливается равным TRUE.
6.4.3 Процесс разрешенного троичного разделения
Входными данными для этого процесса являются следующие:
- режим троичного разделения ttSplit,
- ширина блока кодирования cbWidth в отсчетах яркости,
- высота блока кодирования cbHeight в отсчетах яркости,
- расположение (х0, у0) верхнего левого отсчета яркости рассматриваемого блока кодирования относительно верхнего левого отсчета яркости изображения,
- глубина многотипного дерева mttDepth,
- максимальная глубина многотипного дерева со смещением maxMttDepth,
- максимальный размер троичного дерева maxTtSize,
- переменная treeType, указывающая, одинарное дерево (SINGLE_TREE) или двойственное дерево используется для разбиения CTU, и, если используется двойственное дерево, обрабатываются ли в данный момент компоненты яркости (DUAL_TREE_LUMA) или цветности (DUAL_TREE_CHROMA).
Выходными данными этого процесса является переменная allowTtSplit.
Переменная cbSize определена, как указано в таблице 6-3.
Переменная allowTtSplit определяется следующим образом:
- Если одно или более из следующих условий истинно, allowTtSplit устанавливается равным FALSE:
- cbSize меньше или равно 2 * MinTtSizeY
- cbWidth больше Min(MaxTbSizeY, maxTtSize)
- cbHeight больше Min(MaxTbSizeY, maxTtSize)
- treeType не равно SINGLETREE и cbWidth больше 32
- treeType не равно SINGLE TREE и cbHeight больше 32
- mttDepth больше или равно maxMttDepth
- х0 + cbWidth больше picwidthinlumasamples
- у0 + cbHeight больше picheightinlumasamples
- treeType равно DUAL TREE CHROMA и (cbWidth / SubWidthC) * (cbHeight / SubHeightC) меньше или равно 32
- Иначе, allowTtSplit устанавливается равным TRUE.
Версия, в которой CCLM запрещена, если VDPU разделен на ВТ или ТТ
Приведенное ниже описание синтаксиса соответствует варианту осуществления, в котором CCLM (или CRS) не разрешен для разделов, не соблюдающим ограничения разбиения, описанные выше. Например, CCLM деактивируется, когда блок цветности характеризуется размером 32×16, 16×32, или когда совместно расположенный с ним блок яркости характеризуется размером 64×32 или 32×64. В остальных случаях CCLM (или CRS) активируется. Изменения в спецификации VTM5 v9 выделены серым цветом.
1.1.1 Процесс получения для режима внутрикадрового предсказания цветности
Входными данными для этого процесса являются следующие:
- расположение яркости (xCb, yCb), указывающее верхний левый отсчет текущего блока кодирования цветности относительно верхнего левого отсчета яркости текущего изображения,
- переменная cbWidth, указывающая ширину текущего блока кодирования в отсчетах яркости,
- переменная cbHeight, указывающая высоту текущего блока кодирования в отсчетах яркости,
- переменная treeType, указывающая, используется ли для разбиения CTU одинарное дерево (SINGLE_TREE) или двойственное дерево.
В этом процессе определяется режим внутрикадрового предсказания цветности IntraPredModeC[xCb][yCb].
Соответствующий режим внутрикадрового предсказания lumalntraPredMode определяется следующим образом:
- Если intra_mip_flag[xCb][yCb] равен 1, lumalntraPredMode определяется с помощью IntraPredModeY[xCb + cbWidth / 2][yCb + cbHeight 12] и sizeId, установленного равным MipSizeId[xCb][yCb], как указано в таблице 8-4.
- Иначе, lumalntraPredMode устанавливается равным IntraPredModeY[xCb + cbWidth / 2][yCb + cbHeight / 2].
Переменная cclmEnabled получается путем обращения к подпункту х.хх [Ред. (EF): номер подпункта tbd]. Процесс проверки режима внутрикадрового предсказания цветности между компонентами.
Режим внутрикадрового предсказания цветности IntraPredModeC[xCb][yCb] определяется с помощью intra_chroma_pred_mode [xCb][yCb] и lumalntraPredMode, как указано в таблице 8-5 и таблице 8-6.
Когда chroma_format_idc равно 2, режим внутрикадрового предсказания цветности Y получается с использованием режима внутрикадрового предсказания цветности X в таблице 8-5 и таблице 8-6, как указано в таблице 8-7, и режим внутрикадрового предсказания цветности X устанавливается равным режиму внутрикадрового предсказания цветности Y после этого.
Входными данными для этого процесса являются следующие:
- расположение яркости (xCb, yCb), указывающее верхний левый отсчет текущего блока кодирования цветности относительно верхнего левого отсчета яркости текущего изображения,
- переменная cbWidth, указывающая ширину текущего блока кодирования в отсчетах яркости,
- переменная cbHeight, указывающая высоту текущего блока кодирования в отсчетах яркости,
Выходными данными этого процесса являются:
- флаг lmEnabled, указывающий, активирован или нет режим внутрикадрового предсказания цветности между компонентами для текущего блока кодирования цветности.
В этом процессе cclmEnabled получается следующим образом.
- wColoc и hColoc устанавливаются равными ширине и высоте совместно расположенного блока кодирования яркости, охватывающего расположение, заданное (xCb << 1, yCb << 1)).
- cclmEnabled устанавливается равным 1.
- Если sps_cclm_enabled_flag равен 0, cclmEnabled устанавливается равным 0.
- Иначе, если treeType равно SINGLE_TREE, cclmEnabled устанавливается равным 1.
- Иначе, если одно из следующих условий ложно, cclmEnabled устанавливается равным 0.
- cbWidth или cbHeight больше или равно 32 и cbWidth не равно cbHeight.
- wColoc или hColoc больше или равно 64 и wColoc не равно hColoc.
Вариант осуществления 2а - вариант с использованием выводимого флага активации для ARA яркости; обобщение для CCLM
Описанные выше концепции могут также применяться к другим режимам соотнесения яркости и цветности, таким как CCLM.
В вариации варианта осуществления 2 CCLM (или LDCRS) деактивируется в случае, когда верно по меньшей мере одно из следующих условий:
• рассматриваемый блок цветности не полностью содержится в одной ARA цветности;
• ARA яркости, совместно расположенная с ARA цветности, содержит по меньшей мере один блок яркости, не полностью находящийся внутри ARA яркости, то есть один блок яркости, пересекающий границы совместно расположенной ARA яркости.
Это может быть реализовано с помощью выводимого флага, называемого здесь и далее luma blocks inside flag, присвоенного каждой ARA яркости. Для каждой ARA яркости флаг выводится из дерева разбиения яркости (выбранного в кодере или подвергнутого синтаксическому анализу в декодере). После создания дерева разбиения яркости для CTU (или VDPU), флаг для каждой ARA яркости CTU (или VDPU) выводится следующим образом. Если все блоки яркости заданной ARA яркости строго включены в ARA яркости, флаг устанавливается как истинный (true). Иначе, если по меньшей мере один блок яркости пересекает одну или несколько границ ARA яркости, флаг устанавливается как ложный (false).
Затем флаг может быть использован следующим образом. Условие (упомянутое выше):
• ARA яркости, совместно расположенная с ARA цветности, содержит по меньшей мере один блок яркости, не полностью находящийся внутри ARA яркости, то есть один блок яркости, пересекающий границы совместно расположенной ARA яркости.
Эквивалентно это можно сформулировать следующим образом:
• флаг luma blocks inside flag ARA яркости, совместно расположенной с ARA цветности, является ложным.
Вариант осуществления 2b - LDCRS или CCLM активирована, если он находится внутри своего совместно расположенного блока яркости
В другом варианте зависящий от яркости режим (LDCRS или CCLM), деактивируется, если блок цветности не находится полностью внутри совместно расположенного с ним блока яркости.
Это может быть выражено следующим образом. LDCRS или CCLM деактивируется, если одно из следующих условий ложно:
• Блок яркости, совместно расположенный с верхним левым отсчетом блока цветности (в положении (х0,у0) и размером (Wc,Hc)) находится внутри ARA цветности 32×32
• xColocY<=2* х0
• xColocY + wColocY - 1 >=2*(х0 + Wc - 1)
• yColocY <=2* у0
• yColocY + hColocY - 1 >- 2*(у0+Не - 1)
(xColocY, yColocY) - левое верхнее положение отсчета блока яркости, совместно расположенного с верхним левым отсчетом блока цветности, и (wColocY, hColocY) -размеры этого блока яркости.
Вариант осуществления 2 с - использование резервного режима, когда LDCRS или CCLM деактивированы
По меньшей мере один вариант осуществления связан с режимом CCLM (и его вариантом MDLM). В этом варианте осуществления считается, что существует обычный режим CCLM, а также резервный режим CCLM. Резервный режим CCLM может быть использован, когда обычный режим CCLM не активирован из-за ограничений, описанных в данной заявке.
Блок-схема на фиг. 11А представляет упрощенную блок-схему активации процесса CCLM. На стадии 112 проверяют условия для активации обычного режима CCLM для данного блока цветности (такие условия описаны в различных вариантах осуществления настоящей заявки). Если для данного блока цветности удовлетворяются все разрешающие условия, то обычный режим CCLM активируется и может использоваться кодером/декодером (113). Если для данного блока цветности одно из разрешающих условий не удовлетворяется, обычный режим CCLM деактивируется, а резервный режим CCLM активируется и может использоваться кодером/декодером (114).
Согласно по меньшей мере одному варианту осуществления обычный режим CCLM соответствует режиму, в котором параметры CCLM выводятся из отсчетов яркости и цветности в непосредственной близости от рассматриваемого блока цветности (например, отсчеты цветности, принадлежащие одной или двум строкам сверху блока цветности, и их совместно расположенные отсчеты яркости, и/или отсчеты цветности, принадлежащие одному или двум столбцам слева от блока цветности, и их совместно расположенные отсчеты яркости).
Возможные резервные режимы CCLM
Согласно по меньшей мере одному варианту осуществления резервный режим CCLM использует параметры CCLM, выведенные из отсчетов цветности и яркости, соседних с текущей CTU. Например, используются одна или две строки сверху от CTU и/или один или два столбца слева от CTU.
Согласно по меньшей мере одному варианту осуществления резервный режим CCLM использует параметры CCLM, выведенные из отсчетов цветности и яркости, соседних с текущей VDPU. Например, используются одна или две строки сверху от VDPU и/или один или два столбца слева от VDPU.
Согласно по меньшей мере одному варианту осуществления резервный режим CCLM использует параметры CCLM, выведенные из отсчетов цветности и яркости, соседних с текущей ARA цветности 16×16 и соответствующей ей ARA яркости 32×32. Например, используются одна или две строки сверху от текущей ARA цветности 16×16 и соответствующей ей ARA яркости 32×32 и/или один или два столбца слева от текущей ARA цветности 16×16 и соответствующей ей ARA яркости 32×32.
Согласно по меньшей мере одному варианту осуществления резервный режим CCLM использует параметры CCLM, выведенные из отсчетов яркости, соседних с блоком яркости, совместно расположенным с верхним левым отсчетом блока цветности, и из отсчетов цветности, совместно расположенных с этими отсчетами яркости.
Согласно по меньшей мере одному варианту осуществления резервный режим CCLM использует последние использованные параметры CCLM.
Использование хронологического списка параметров CCLM
Согласно по меньшей мере одному варианту осуществления резервный режим CCLM использует параметры CCLM из хронологического списка параметров CCLM, построенного на кодере и декодере. Для хронологического списка задается максимальный размер Nh. Хронологический список заполняется последними использованными параметрами CCLM. Если блок цветности использует режим CCLM, его параметры CCLM добавляются в хронологический список. Если хронологический список уже заполнен, самые старые параметры CCLM удаляются, а новые добавляются в хронологический список.
• В одном из вариантов новые параметры CCLM добавляются в хронологический список, только если они отличаются от параметров CCLM, уже присутствующих в хронологическом списке.
• В одном из вариантов индекс параметров CCLM из хронологического списка параметров CCLM кодируется для блока цветности, если он кодируется с использованием резервного режима CCLM.
• В одном варианте индекс параметров CCLM из хронологического списка выводится на основе проверки сходства отсчетов яркости и/или цветности внутри или вокруг блока цветности с отсчетами яркости и/или цветности, которые были использованы для вычисления параметров CCLM из списка.
Один из возможных вариантов осуществления последнего варианта заключается в следующем. Когда параметры CCLM добавляются в хронологический список, средние значения отсчетов яркости, использованных для получения параметров, вычисляются и сохраняются в списке. Они обозначаются как avg_Ref_Y[idx], где idx - индекс в хронологическом списке параметров CCLM (id× находится в диапазоне от 0 до Nh - 1, где Nh - размер хронологического списка).
Когда режим CCLM используется для блока цветности, вычисляются средние значения отсчетов яркости, соседних (рассматриваются только доступные отсчеты яркости) с блоком цветности. Они обозначаются как avg_Cur_Y.
Индекс параметров CCLM idx0 в списке, используемом для выполнения предсказания CCLM блока цветности, определяется как индекс, который минимизирует абсолютное значение разницы между avg_Ref_Y[i] и avg_Cur_Y:
idx0 = argmin(|avg_Cur_Y - avg_Ref_Y[idx]|)
В качестве альтернативы показатель сходства может быть основан на отсчетах цветности. Когда параметры CCLM добавляются в хронологический список, средние значения отсчетов цветности, использованных для получения параметров, вычисляются и сохраняются в списке. Они обозначаются как avg_Ref_Cb[idx], avg_Ref_Cr[idx].
Когда режим CCLM используется для блока цветности, вычисляются средние значения отсчетов цветности, соседних с блоком цветности. Они обозначаются как avg_Cur_Cb и avg_Cur_Cr.
Индекс параметров CCLM idx0 в списке, используемом для выполнения предсказания CCLM блока цветности, определяется как индекс, который минимизирует абсолютное значение разницы между avg_Ref_Cb[idx], avg_Ref_Cr[idx] и avg_Cur_Cb, avg_Cur_Cr:
idx0 = argmin(|avg_Cur_Cb - avg_Ref_Cb[idx]|+|avg_Cur_Cr - avg_Ref_Cr[idx]|) На фиг. ИВ изображена упрощенная блок-схема примера процесса выбора индекса из хронологического списка. Входными данными процесса являются отсчеты яркости и/или цветности, соседние с рассматриваемым блоком цветности, и хронологический список. Хронологический список содержит, для каждого индекса i, параметры CCLM и опорные значения, связанные с отсчетами яркости или цветности, используемыми для получения параметров CCLM (например, avg_Ref_Y[i], avg_Ref_Cb[i], avg_Ref_Cr[i]). На стадии 1200 вычисляют локальное значение из соседних отсчетов яркости или цветности, соседних с блоком цветности (например, avg_Cur_Y, avg_Cur_Cb, avg_Cur_Cr). На стадии 1201 параметр distMin устанавливают равным большему значению. На стадии 1202 выполняют цикл по индексу в диапазоне от 0 до Nh - 1. На стадии 1203 определяют искажение «dist» между локальным значением, вычисленным на стадии 1200, и опорным значением индекса i. На стадии 1204 проверяют, меньше ли dist, чем minDist. Если это так, значения idx0 и minDist обновляют на стадии 1205, а затем процесс переходит к стадии 1206. В противном случае (dist не меньше minDist), процесс переходит к стадии 1206. На стадии 1206 проверяют, выполнен ли конец цикла по индексам хронологического списка. Если да, то idx0 - выходное значение индекса. Если нет, процесс возвращается к стадии 1202 для проверки следующего индекса.
Вариант осуществления 3 - LDCRS активировано, если блок цветности не пересекает границы ARA и если по меньшей мере один из совместно расположенных блоков яркости не пересекает границы совместно расположенной ARA яркости
Согласно одному варианту осуществления LDCRS активируется в том случае, когда верны все следующие условия:
• рассматриваемый блок цветности полностью содержится в одной ARA цветности;
• по меньшей мере один из блоков яркости, совместно расположенных с рассматриваемым блоком цветности, полностью содержится в ARA яркости, совместно расположенной с ARA цветности. Такие блоки яркости называются в дальнейшем «совместно расположенные активированные блоки яркости».
Упрощенная блок-схема процесса показана на фиг. 12. На стадии 500 проверяют, находится ли блок цветности внутри одной единственной ARA цветности. Если это условие ложно, LDCRS деактивируют (стадия 501). Если это условие истинно, идентифицируют блоки яркости, совместно расположенные с рассматриваемым блоком цветности (стадия 502). На стадии 503 проверяют, находится ли по меньшей мере один из совместно расположенных блоков яркости внутри ARA яркости, совместно расположенной с ARA цветности. Если это условие ложно, LDCRS деактивируют (стадия 504). Если это условие истинно, LDCRS активируют (стадия 505).
Как показано на фиг. 13 (на котором показано такое же разбиение, как и на верхних изображениях фиг. 11), LDCRS активировано, потому что блок цветности находится внутри одной единственной ARA цветности, а совместно расположенные блоки яркости 1 и 2 находятся внутри совместно расположенной ARA яркости, т.е. по меньшей мере один из блоков яркости, совместно расположенных с рассматриваемым блоком цветности, полностью содержится в ARA яркости, совместно расположенной с ARA цветности.
ю
ю
Как показано на фиг. 14, LDCRS деактивировано, поскольку блок цветности охватывает две ARA цветности (1 ARA цветности и 2 ARA цветности), даже если два из его совместно расположенных блоков цветности (совместно расположенных блоков цветности 1 и 2) находятся внутри ARA цветности, совместно расположенной с первой ARA цветности.
Вариант осуществления 4 - LDCRS деактивировано в случае, если по меньшей мере один из совместно расположенных блоков яркости не пересекает границы совместно расположенной ARA яркости
Согласно одному варианту осуществления, даже если рассматриваемый блок цветности не полностью содержится в одной ARA цветности, LDCRS может быть активировано в случае, когда по меньшей мере один из блоков яркости, совместно расположенных с рассматриваемым блоком цветности, полностью содержится в ARA яркости, совместно расположенной с первой ARA цветности рассматриваемого блока цветности. Согласно этому варианту осуществления рассматриваемый блок цветности может быть больше, чем одна единственная ARA цветности.
Упрощенная блок-схема процесса показана на фиг. 15. Идентифицируют блоки яркости, совместно расположенные с рассматриваемым блоком цветности (стадия 600). На стадии 601 проверяют, находится ли по меньшей мере один из совместно расположенных блоков яркости внутри ARA яркости, совместно расположенной с первой ARA цветности. Если это условие ложно, LDCRS деактивируют (стадия 602). Если это условие истинно, LDCRS активируют (стадия 603).
На фиг. 16 показано такое же разбиение, как и на фиг. 14. LDCRS активировано, поскольку даже если блок цветности охватывает две ARA цветности (первую и вторую ARA цветности), некоторые из его совместно расположенных блоков яркости (блоки 1 и 2) находятся внутри ARA яркости, совместно расположенной с первой ARA цветности блока цветности.
В варианте текущего варианта осуществления, в случае, когда LDCRS активировано и активировано для блока цветности, коэффициент масштабирования, используемый для масштабирования остатка цветности, выводится только из отсчетов яркости, принадлежащих к совместно расположенным активированным блокам яркости. Все отсчеты цветности используют один и тот же коэффициент масштабирования, выведенный только из части совместно расположенных отсчетов яркости.
Например, рассматривая случай на фиг. 16, вычисляется среднее значение отсчетов яркости из совместно расположенных блоков яркости 1 и 2. Это среднее значение яркости используется для определения коэффициента масштабирования, который должен быть применен ко всему остатку блока цветности. Таким образом, отсчеты яркости блока яркости 3 не используются.
Вариант осуществления 5: передача коэффициента масштабирования для блоков цветности, для которых деактивировано LDCRS
Согласно одному варианту осуществления, в случае, когда блок цветности получает преимущества от масштабирования остатков цветности на основе яркости, коэффициент масштабирования цветности передается в битовом потоке. Если блок цветности состоит из нескольких единиц преобразования, коэффициент масштабирования цветности применяется к остатку для каждой TU.
Упрощенная блок-схема процесса показана на фиг. 17. На стадии 700 проверяют, активировано ли LDCRS для рассматриваемого блока цветности. Если это условие ложно, коэффициент масштабирования или индекс коэффициента масштабирования кодируют/декодируют (стадия 701). Если это условие истинно, коэффициент масштабирования или индекс коэффициента масштабирования выводят из совместно расположенных блоков яркости (стадия 702).
Согласно одному варианту осуществления индекс коэффициента масштабирования цветности передается. Согласно одному варианту осуществления коэффициент масштабирования или индекс коэффициента масштабирования предсказывается на основе коэффициента масштабирования или индекса коэффициента масштабирования одного или нескольких соседних блоков цветности, ранее закодированных/декодированных. Например, как показано на фиг. 18, в качестве предиктора используется коэффициент масштабирования или индекс коэффициента масштабирования из блока цветности, содержащего блок А, затем В, если блок А недоступен, затем С, если блок А и блок В недоступны, затем блок D, если блок А, блок В и блок С недоступны. В противном случае коэффициент масштабирования или индекс коэффициента масштабирования не предсказываются.
В одном варианте коэффициент масштабирования выводится посредством процесса предсказания с использованием уже обработанных соседних блоков цветности. Дополнительная передача не используется, и только выведенное значение масштабирования используется для рассматриваемого блока цветности.
Вариант осуществления 6: передача Delta QP для блоков цветности, в которых LDCRS деактивировано
Согласно одному варианту осуществления, в случае, когда блок цветности получает преимущества от масштабирования остатков цветности на основе яркости, для этого блока цветности может использоваться параметр Delta QP, передаваемый в битовом потоке. Если блок цветности состоит из нескольких единиц преобразования, параметр Delta QP применяется к остатку для каждой TU.
Согласно одному варианту осуществления параметр Delta QP передается для блока цветности.
Согласно одному варианту осуществления параметр Delta QP передается для группы квантования, которая содержит блок цветности.
Согласно одному варианту осуществления параметр Delta QP передается для CTU, которая содержит блок цветности.
Согласно одному варианту осуществления параметр QP цветности предсказывается на основе значения QP или коэффициента масштабирования одного или нескольких соседних блоков цветности, ранее закодированных/декодированных. Например, как показано на фиг. 18, в качестве предиктора используется значение QP или коэффициент масштабирования из блока цветности, содержащего блок А, затем блок В, если блок А недоступен, затем блок С, если блок А и блок В недоступны, затем блок D, если блок А, блок В и блок С недоступны.
В случае, когда предиктором является коэффициент масштабирования sc, этот коэффициент масштабирования, используемый для предсказания QP цветности, сначала преобразуется в QP-подобное значение, обозначенное QPpred, с помощью следующего уравнения:
QPpred = -6 * Log2(Sc)
где Log2 - логарифмическая функция с основанием 2.
В случае, когда предиктором является значение QP, это значение QP используется в качестве предиктора QPpred.
В одном варианте значение QP выводится посредством процесса предсказания с использованием уже обработанных соседних блоков цветности. Дополнительная передача не используется, и только выведенное значение QP используется для рассматриваемого блока цветности.
Вариант осуществления 7. Расширение для других зависящих от яркости режимов кодирования цветности
Варианты осуществления, раскрытые в отношении масштабирования остатков цветности на основе яркости, могут быть использованы с другими зависящими от яркости режимами кодирования цветности, или, в более общем смысле, с инструментами кодирования, включающими зависимость между компонентами, например, внутрикадровое предсказание цветности на основе яркости (оно же CCLM или режим LM, и его вариант линейная модель с множеством направлений, она же MDLM).
Согласно дополнительному варианту осуществления, в случае блока яркости с размерами WL и HL больше, чем WmaxL и HmaxL, CCLM может быть активирована только в том случае, если блок яркости разделен на единицы преобразования с максимальными размерами WmaxL и HmaxL.
Таким же образом, в случае блока яркости с размерами WL и HL больше, чем WmaxL и HmaxL, масштабирование остатков цветности может быть активировано, только если блок яркости разделен на единицы преобразования с максимальными размерами WmaxL и HmaxL.
Согласно дополнительному варианту осуществления, в случае блока яркости с размерами WL и HL больше, чем WmaxL и HmaxL, блок яркости систематически разделяется на единицы преобразования с максимальными размерами WmaxL и HmaxL. Таким образом, масштабирование остатков цветности и/или режимы CCLM могут использоваться в компоненте цветности, не страдая от структурной задержки, связанной с необходимостью доступности восстановленного совместно расположенного блока яркости для обработки блоков цветности.
В дополнительном варианте, в случае блока цветности с размерами Wc и Hc, превышающими WmaxC и HmaxC, блок цветности систематически разделяется на единицы преобразования максимального размера WmaxC и HmaxC. Таким образом, масштабирование остатков цветности и/или режимы CCLM могут использоваться в компоненте цветности независимо от размера единицы кодирования цветности.
Разделение блока яркости на 2 TU (левая сторона) или 4 TU (правая сторона) показано в примерах на фиг. 19.
В варианте, соответственно, если блок цветности характеризуется размерами Wc и Не больше, чем WmaxC и HmaxC, CCLM может быть активирована, только если блок цветности разделен на единицы преобразования с максимальными размерами WmaxC и HmaxC.
Таким же образом, если блок цветности характеризуется размерами Wc и Не больше, чем WmaxC и HmaxC, масштабирование остатков цветности может быть активировано, только если блок цветности разделен на единицы преобразования с максимальными размерами WmaxC и HmaxC.
Вариант осуществления 8: деактивация отдельного дерева яркости/цветности для CTU с использованием доступности опорных отсчетов для CCLM
Режим CCLM использует опорные отсчеты яркости и цветности для определения параметров, используемых в дальнейшем для предсказания отсчетов блока цветности из совместно расположенных с ними отсчетов яркости. Опорные отсчеты яркости и цветности обычно располагаются следующим образом:
• в верхней строке (строках), соседней с блоком цветности/совместно расположенным блоком яркости,
• в левом столбце (-ах), соседнем с блоком цветности/совместно расположенным блоком яркости,
• возможно, в верхнем левом расположении(-ях), соседнем с блоком цветности/совместно расположенным блоком яркости. Комбинации этих трех расположений могут быть использованы в зависимости от рассматриваемого режима CCLM.
Согласно одному варианту осуществления опорные отсчеты цветности, используемые для режима CCLM, считаются доступными, если они принадлежат блокам цветности, включенным в верхние/левые/верхние правые соседние ARA цветности из ARA цветности, содержащей рассматриваемый блок цветности (фиг. 20). Если опорные отсчеты цветности не включены в верхние/левые/верхние правые соседние ARA цветности, они считаются недоступными.
На фиг. 21 изображен случай, когда верхние опорные отсчеты цветности (в прямоугольнике с диагональной штриховкой над блоком цветности), используемые для блока цветности, принадлежат различным блокам цветности (блоки 1, 3 и 4), и некоторые из этих блоков цветности (блоки 3 и 4) не находятся внутри соседних верхних ARA цветности. Согласно варианту осуществления только опорные отсчеты, принадлежащие блоку 1, считаются доступными. Другие опорные отсчеты из блоков 3 и 4 недоступны для режима CCLM.
В одном из вариантов режим CCLM деактивируется, если заданная доля (например, 30%) опорных отсчетов цветности, используемых для предсказания CCLM, не включена в соседние верхние/левые/верхние правые ARA цветности.
На фиг. 21 количество доступных опорных отсчетов равно 25% от общего количества опорных отсчетов. Таким образом, CCLM будет деактивирована.
В одном варианте режим CCLM деактивируется, как только по меньшей мере один опорный отсчет цветности, используемый для предсказания CCLM, не включается в соседние верхние/левые/верхние правые ARA цветности.
Обратимся к фиг. 21, поскольку на этом изображении по меньшей мере один опорный отсчет отсутствует, CCLM будет деактивирована.
Аналогично, для опорных отсчетов яркости, используемых для CCLM, предлагается следующий вариант осуществления. Опорные отсчеты яркости, используемые для режима CCLM, считаются доступными, если они принадлежат блокам яркости, включенным в ARA яркости, совместно расположенную с соседними ARA цветности сверху/слева/сверху справа от ARA цветности, содержащей рассматриваемый блок цветности (фиг. 20). Если опорные отсчеты яркости не включены в соседние верхние/левые/верхние правые ARA яркости, совместно расположенные с соседними верхними/левыми/верхними правыми соседними ARA цветности, они считаются недоступными.
В одном варианте режим CCLM деактивируется, если заданная доля (например, 30%) опорных отсчетов яркости не включена в соседние верхние/левые/верхние правые ARA яркости, совместно расположенные с соседними верхними/левыми/верхними правыми ARA цветности.
В одном варианте режим CCLM деактивируется, если по меньшей мере один опорный отсчет яркости не включен в соседние верхние/ левые/верхние правые ARA яркости, совместно расположенные с соседними верхними/левыми/верхними правыми ARA цветности.
Вариант осуществления 9: деактивация отдельного дерева яркости/цветности для CTTJ с использованием CCLM
Согласно одному варианту осуществления, в случае, когда по меньшей мере один блок цветности внутри CTU использует CCLM (или LDCRS), отдельное дерево яркости/цветности деактивируется, и разбиение цветности для CTU выводится из разбиения яркости.
В одном варианте флаг передается на уровне CTU, чтобы указать, используется CCLM (или LDCRS) в CTU или нет.
Концепция может быть обобщена для типов блоков, отличных от CTU (например, блок обработки видеодекодирования, он же VDPU).
Вариант осуществления 10: масштабирование остатков цветности на основании соседних отсчетов блока яркости, совместно расположенного с верхним левым углом блока цветности
Согласно другому варианту осуществления потенциальная проблема в виде аппаратной задержки дополнительно уменьшается путем определения коэффициента масштабирования, который будет использоваться при масштабировании остатков цветности блока цветности на основании предсказания или восстановленных отсчетов яркости, уже обработанных вблизи от блока яркости, совместно расположенного с заданным положением в блоке цветности.
Эти отсчеты называются в дальнейшем «соседние отсчеты яркости».
На фиг. 22 показана блок-схема способа определения коэффициента масштабирования, используемого при масштабировании остатков цветности блока цветности.
На стадии 800 идентифицируют положение на изображении заданного положения отсчета в блоке цветности. На стадии 801 идентифицируют блок яркости, содержащий отсчет яркости, совместно расположенный с положением в блоке цветности. На стадии 802 идентифицируют уже обработанные отсчеты яркости, соседние с блоком яркости. На стадии 803 из идентифицированных соседних отсчетов яркости определяют значение яркости, например, среднее значение идентифицированных соседних отсчетов яркости. На стадии 804 определяют коэффициент масштабирования для блока цветности на основании значения яркости. На стадии 805 остаток блока цветности масштабируют с использованием коэффициента масштабирования.
Согласно одному варианту осуществления заданное положение отсчета в блоке цветности представляет собой верхний левый угол блока цветности. Это изображено на фиг. 23А. Блок цветности (прямоугольник) обозначен жирными линиями. Совместно расположенный блок яркости (квадрат) относительно верхнего левого отсчета блока цветности обозначен тонкой линией. Его соседние отсчеты обозначены серым цветом. В одном варианте заданное положение отсчета в блоке цветности является центром блока цветности.
Согласно одному варианту осуществления используется только один соседний отсчет яркости, который соответствует верхнему или левому отсчету верхнего левого отсчета совместно расположенного блока яркости. Это изображено на фиг. 23В. В одном варианте используются как верхний, так и левый отсчеты.
Согласно другому варианту осуществления соседние отсчеты яркости состоят из соседней верхней строки размера WL и из соседней левой строки столбцов размера HL, причем WL и HL являются горизонтальным и вертикальным размерами блока яркости. Это изображено на фиг. 23С.
Согласно другому варианту осуществления соседние отсчеты яркости состоят из соседней верхней строки размера minS и соседней левой строки столбцов размера minS, где minS - минимальное значение среди WL и HL.
Согласно другому варианту осуществления соседние отсчеты яркости состоят из соседней верхней строки размера Wc*2 и соседней левой строки столбцов размера Нс*2, причем Wc и Hc горизонтальный и вертикальный размеры блока цветности и учитывая, что формат цветности 4:2:0.
Согласно другому варианту осуществления соседние отсчеты яркости состоят из соседней верхней строки размера minSC*2 и соседней левой строки столбцов размера minSC*2, где minSC минимальное значение среди Wc и Hc.
В одном варианте соседняя верхняя строка размера minSC*2 начинается в том же относительном горизонтальном положении, что и верхний левый угол цветности, а соседняя левая строка столбцов размера minSC*2 начинается в том же относительном вертикальном положении, что и верхний левый угол цветности, как показано на фиг. 23D. Например, если верхний левый угол в блоке цветности находится в расположении (хс,ус) в изображении цветности, а формат цветности представляет собой 4:2:0, первый отсчет в верхней строке соседних отсчетов яркости находится в горизонтальном расположении 2*хс, а первый отсчет в левом столбце соседних отсчетов яркости находится в вертикальном расположении 2*ус.
Согласно еще одному варианту соседние отсчеты, используемые для определения коэффициента масштабирования, применяемого к остаточному текущему блоку цветности, состоят из одного или нескольких восстановленных отсчетов яркости, которые принадлежат нижней строке и/или правому столбцу отсчетов яркости, которые соответственно принадлежат верхней и левой соседним ARA из ARA, содержащей текущий блок цветности.
Согласно другому варианту осуществления, если заданная доля соседних отсчетов яркости недоступна, масштабирование остатка блока цветности не применяется.
Согласно другому варианту осуществления соседний отсчет яркости считается недоступным, если он не находится в той же CTU, что и блок цветности.
Согласно другому варианту осуществления соседний отсчет яркости считается недоступным, если он не находится в той же VDPU, что и блок цветности.
Согласно другому варианту осуществления изобретения соседний отсчет яркости считается недоступным, если он не находится в той же ARA яркости, совместно расположенной с первой ARA блока цветности.
Согласно другому варианту осуществления, если заданная доля отсчетов цветности в рассматриваемой соседней области недоступна, масштабирование остатка блока цветности не применяется. Это может произойти в случае, когда соседние блоки цветности еще не доступны в их восстановленном состоянии, в то время, когда обрабатывается текущий блок цветности.
Согласно одному варианту осуществления соседние отсчеты яркости, используемые для выведения коэффициента масштабирования остатков цветности, являются отсчетами, используемыми для предсказания совместно расположенного блока яркости (также часто называемыми опорными отсчетами внутрикадрового предсказания). В случае двойственного дерева, для каждой заданной области (например, VDPU), обычно сначала обрабатываются блоки яркости заданной области, а затем блоки цветности заданной области. В случае применения текущего варианта осуществления это означает, что для каждого блока яркости заданной области необходимо хранить соседние отсчеты яркости, что требует дополнительного объема запоминающего устройства и усложняет процесс, поскольку количество опорных отсчетов зависит от размера блока. Чтобы уменьшить эти негативные последствия, согласно одному варианту осуществления для каждого блока яркости хранится только значение яркости, выведенное на стадии 803 из соседних отсчетов яркости. Согласно другому варианту осуществления для каждого блока яркости хранится только масштабный коэффициент, выведенный на стадии 804 из значения яркости, выведенного на стадии 803 из соседних отсчетов яркости. Это ограничивает хранение одним единственным значением для каждого блока яркости. Этот принцип может быть распространен на режимы, отличающиеся от LMCS, например, CCLM, где вместо хранения отсчетов яркости и цветности каждого блока хранятся только минимальные и максимальные значения отсчетов яркости и цветности, используемые для выведения параметров CCLM блока.
Концепция варианта осуществления 10 может быть обобщена до режима CCLM. В этом случае, текущий вариант осуществления состоит в определении линейных параметров CCLM, которые будут использоваться для предсказания блока цветности из предсказанных или восстановленных отсчетов яркости (соседних отсчетов яркости) и предсказанных или восстановленных отсчетов цветности (соседних отсчетов цветности), уже обработанных в соседней области блока яркости, совместно расположенного с заданным положением в блоке цветности. На фиг. 23A-23D изображена эта концепция. Прямоугольные области, заполненные серым цветом, соответствуют соседним отсчетам (яркости и цветности) блока яркости, совместно расположенного с верхним левым отсчетом текущего блока цветности, которые потенциально используются для выведения параметров CCLM.
Согласно одному варианту соседние отсчеты яркости и/или цветности, используемые для определения линейной модели, которая будет использоваться для выполнения предсказания CCLM текущего блока цветности, состоят по меньшей мере из одного восстановленного или предсказанного отсчета яркости и/или цветности, который принадлежит к нижней строке и/или к правому столбцу отсчетов яркости и/или цветности, которые соответственно принадлежат к верхним и/или к левым соседним ARA яркости и/или цветности из ARA, содержащей текущий блок цветности. Концепция может быть распространена на нижние строки верхних правых соседних ARA яркости и/или цветности из ARA, содержащей текущий блок цветности, и на правые столбцы нижних левых соседних ARA яркости и/или цветности из ARA, содержащей текущий блок цветности. Концепция может быть распространена на нижние строки верхних правых соседних ARA яркости и/или цветности из ARA, содержащей текущий блок цветности, и на правые столбцы нижних левых соседних ARA яркости и/или цветности из ARA, содержащей текущий блок цветности.
Вариант осуществления 11: проверка доступности отсчета яркости на основании его расположения относительно блока цветности
Согласно другому варианту осуществления, если расстояние между соседним отсчетом яркости в положении (xL,yL) и положении верхнего левого отсчета рассматриваемого блока цветности (хС, уС) больше заданного значения, соседний отсчет яркости считается недоступным. Другими словами, соседний отсчет яркости считается недоступным, если истинно следующее условие:
((хС*2) - xL) > ТН или ((уС*2) - yL) > TV
Или эквивалентно
(хС - (xL/2)) > ТН/2 или (уС - (yL/2)) > TV/2
где ТН и TV - значения, предварительно определенные или переданные в битовом потоке. Как правило, ТН=ТС=16. В одном варианте ТН и ТВ зависят от разрешения изображения. Например, ТН и ТХ определяются в соответствии со следующими условиями:
- Если разрешение изображения меньше или равно 832×480 отсчетов яркости, ТН=ТС=8,
- В противном случае, если разрешение изображения меньше или равно 1920×1080 отсчетов яркости, ТН=ТС=16,
- В противном случае, ТН=ТС=32. На фиг. 24А и 24В изображены примеры расстояний между верхними левыми соседними отсчетами яркости и соседними отсчетами цветности (увеличенными в 2 раза в случае формата цветности 4:2:0). На фиг. 24А показано расстояние между верхним левым отсчетом цветности и верхним левым соседним отсчетом цветности в совместно расположенном блоке яркости. На фиг. 24В показано расстояние между верхним левым отсчетом цветности и верхней строкой или левым столбцом.
В одном варианте вместо строгой деактивации отсчетов, слишком удаленных от верхнего левого отсчета цветности, к рассматриваемому опорному отсчету применяется весовой коэффициент, зависящий от расстояния между соседним отсчетом цветности и верхним левым отсчетом цветности.
В одном варианте вместо строгой деактивации отсчетов, слишком удаленных от верхнего левого отсчета цветности, к рассматриваемому опорному отсчету применяется весовой коэффициент, зависящий от расстояния между соседним отсчетом цветности и верхним левым отсчетом цветности.
Вариант осуществления 12: проверка доступности отсчета яркости на основании значения его совместно расположенных отсчетов цветности относительно значения отсчетов цветности текущего блока
Согласно другому варианту осуществления доступность соседнего отсчета яркости neighborY основана на значениях совместно расположенных с ним отсчетов цветности Cb и Cr, neighborCb, neighborCr, и предсказанных отсчетов цветности Cb и Cr текущего блока цветности. Например, если следующие условия истинны, соседний отсчет яркости считается недоступным:
- Если Abs(topLeftCb - neighborCb) > Th_Ch или
Abs(topLeftCr - neighborCr) > Th_Ch
где Th_Ch - значение, предварительно определенное или переданное в битовом потоке, a Abs - функция абсолютного значения. Th_Ch может зависеть от битовой глубины отсчетов цветности. Как правило, Th_Ch = 64 для 10-битного содержимого и 32 для 8-битного содержимого.
В одном варианте масштабирование остатков цветности применяется только в том случае, если средние значения Cb и Cr, avgNeighCb и avgNeighCr, отсчетов цветности, совместно расположенных с соседними отсчетами яркости, не слишком удалены от средних значений Cb и Cr, avgCurrCb и avgCurrCr, отсчетов цветности текущего блока цветности.
Например, если следующие условия истинны, соседний отсчет яркости считается недоступным:
- Если Abs(avgCurrCb - avgNeighCb) > Th_Ch или
Abs(avgCurrCr - avgNeighCr) > Th_Ch
В одном варианте вместо строгой деактивации отсчетов, слишком отличающихся от верхнего левого отсчета цветности, к рассматриваемому опорному отсчету применяется весовой коэффициент, зависящий от разницы между соседним отсчетом цветности и верхним левым отсчетом цветности.
В одном варианте вместо строгой деактивации отсчетов, слишком отличающихся от верхнего левого отсчета цветности, к рассматриваемому опорному отсчету применяется весовой коэффициент, зависящий от разницы между соседним отсчетом цветности и верхним левым отсчетом цветности.
На фиг. 25 показана блок-схема способа проверки доступности отсчетов яркости на основании его совместно расположенных отсчетов цветности и отсчетов цветности текущего блока. Стадии 800-802 аналогичны соответствующим стадиям на фиг. 22. После стадии 802 осуществляется стадия 900, чтобы идентифицировать соседние отсчеты цветности, совместно расположенные с соседними отсчетами яркости. На стадии 901 проверяют сходство соседних отсчетов цветности и отсчетов цветности текущего блока. Если отсчеты цветности похожи, то для текущего блока цветности активируют масштабирование остатков цветности (903). Если отсчеты считаются не похожими, то для текущего блока цветности деактивируют масштабирование остатков цветности (902).
Вариант осуществления 12а: доступность опорных отсчетов для MDLM
Режим MDLM является вариантом режима CCLM, который использует либо верхние соседние отсчеты яркости и цветности (MDLM top), либо левые соседние отсчеты яркости и цветности (MDLM left) в качестве опорных отсчетов для выведения линейных параметров для предсказания отсчетов цветности на основании образцов яркости.
Согласно по меньшей мере одному варианту осуществления, когда процесс разделения приводит к разбиению VDPU яркости, состоящей из 2 верхних квадратных блоков с шириной/высотой, равными половине ширины/высоты VDPU, или к разбиению VDPU цветности, состоящей из 2 верхних квадратных блоков с шириной/высотой, равными половине ширины/высоты VDPU цветности, опорными отсчетами для MDLM left второго квадратного блока (обозначенного позицией «2» на фиг. 25А) являются только отсчеты, соседние с левой границей блока 2. Отсчеты ниже этих опорных отсчетов считаются недоступными. Это преимущественно ограничивает задержку обработки блока 2, поскольку блоки ниже блока 2 не нужны для выведения параметров MDLM.
Этот вариант осуществления также может быть обобщен для случая, когда блок 1 яркости или цветности на фиг. 25 А дополнительно разделен на более мелкие разделы.
Вариант осуществления 13: низкоуровневый флаг для активации или деактивации масштабирования остатков цветности
Согласно другому варианту осуществления в синтаксис битового потока вводится низкоуровневый флаг для активации или деактивации инструмента масштабирования остатков цветности на более низком уровне, чем слайс или группа тайлов. Этот вариант осуществления может применяться только в случае раздельного дерева разбиения яркости/цветности. Оно может быть распространено и на случай, когда отдельное дерево разбиения яркости/цветности не используется.
В следующей таблице приведен пример изменения синтаксиса (выделено серым цветом) по сравнению со спецификацией VTM документа JVET-N0220. В этой таблице сигнализация осуществляется на уровне CTU, и сигнализация осуществляется только в случае отдельного дерева разбиения яркости/цветности (идентифицируемого синтаксическим элементом qtbtt_dual_tree_intra_flag).
В следующей таблице приведен другой пример изменения синтаксиса (выделено серым цветом) по сравнению со спецификацией VTM документа JVET-N0220. В этой таблице сигнализация осуществляется на уровне CTU, и сигнализация осуществляется независимо от того, используется или нет отдельное дерево разделения яркости/цветности.
Согласно этим вариантам активация в CTU масштабирования остатков цветности обусловлена значением флага ctu_chroma_residual_scale_flag.
Пример адаптации синтаксиса спецификации согласно варианту осуществления 2
Пример изменений синтаксиса в текущем версии спецификации VVC (см. Benjamin Bross et al. «Versatile Video Coding (Draft 4)», JVET 13th Meeting: Marrakech, MA, 9-18 Jan. 2019, JVET-M1001-v7) согласно варианту осуществления 2 приведен ниже. Изменения по сравнению с JVET-M1001 выделены серым цветом.
8.4.3 Процесс получения для режима внутрикадрового предсказания цветности
Входными данными для этого процесса являются следующие:
- расположение яркости (xCb, yCb), указывающее верхний левый отсчет текущего блока кодирования цветности относительно верхнего левого отсчета яркости текущего изображения,
- переменная cbWidth, указывающая ширину текущего блока кодирования в отсчетах яркости,
- переменная cbHeight, указывающая высоту текущего блока кодирования в отсчетах яркости,
В этом процессе определяется режим внутрикадрового предсказания цветности IntraPredModeC[xCb][yCb].
- Переменная lmEnabled устанавливается равной sps_cclm_enabled_flag.
- Когда следующие условия истинны, lmEnabled выводится путем вызова процесса проверки режима внутрикадрового предсказания цветности между компонентами.
- lmEnabled равно 1,
- tile_group_type равно 2 (I группа тайлов),
- qtbtt_dual_tree_intra_flag равно 1.
Режим внутрикадрового предсказания цветности IntraPredModeC[xCb][yCb] определяется с использованием intra_chroma_pred_mode[xCb][yCb] и IntraPredModeY[xCb + cbWidth / 2][yCb+cbHeight / 2], как указано в таблице 8-2 и таблице 8-3.
Процесс проверки режима внутрикадрового предсказания цветности между компонентами
Входными данными для этого процесса являются следующие:
- расположение яркости (xCb, yCb), указывающее верхний левый отсчет текущего блока кодирования цветности относительно верхнего левого отсчета яркости текущего изображения,
- переменная cbWidth, указывающая ширину текущего блока кодирования в отсчетах яркости,
- переменная cbHeight, указывающая высоту текущего блока кодирования в отсчетах яркости,
Выходными данными этого процесса являются:
- флаг lmEnabled, указывающий, активирован или нет режим внутрикадрового предсказания цветности между компонентами для текущего блока кодирования цветности.
В этом процессе lmEnabled получается следующим образом.
- Если ((16 + xCb) / 16) не равно ((16+ х Cb + cbWidth - 1) / 16) или ((16 + yCb) / 16) не равно ((16 + yCb + cbHeight - 1) /16), cclmEnabled устанавливается равным О
- В противном случае применяется следующее.
- При i = 0, (cbHeight -1) и j = 0..(cbWidth - 1) применяется следующее.
- (xTL, yTL) устанавливается равным расположению верхнего левого отсчета относительно верхнего левого отсчета яркости текущего изображения совместно расположенного блока кодирования яркости ColLumaBlock, охватывающего расположение, заданное ((xCb + j) << 1, (yCb + i) << 1)).
- wColoc и hColoc устанавливаются равными ширине и высоте ColLumaBlock.
- Если одно из следующих условий ложно, cclmEnabled устанавливается равным О, и цикл по i и j останавливается.
- Когда cclmEnabled равно 1, применяется следующее при i = 1.. (cbHeight - 2) и j = 0, (cbWidth 1).
- (xTL, yTL) устанавливается равным расположению верхнего левого отсчета относительно верхнего левого отсчета яркости текущего изображения совместно расположенного блока кодирования яркости ColLumaBlock, охватывающего расположение, заданное ((xCb+j) << 1, (yCb + i) << 1)).
- wColoc и hColoc устанавливаются равными ширине и высоте ColLumaBlock. Если одно из следующих условий ложно, cclmEnabled устанавливается равным
О, и цикл по i и j останавливается.
Пример адаптации синтаксиса спецификации согласно варианту осуществления 10
Пример синтаксиса для включения в текущую версию спецификации VVC (например, документ JVET-M1001) согласно варианту осуществления 10 представлен ниже.
Восстановление изображения с помощью процесса отображения для значения отсчета цветности
Входными данными для этого процесса являются следующие:
- (nCurrSwx2)x (nCurrShx2) массив отображенных predMapSamples, указывающий отображенные предсказанные отсчеты яркости текущего блока,
- когда tile_group_type равно 2 (I группа тайлов) и qtbtt_dual_tree_intra_flag равно 1, массив recSamples, указывающий восстановленную яркость текущего изображения,
- (nCurrSw)x(nCurrSh) массив predSamples, указывающий предсказанные отсчеты цветности текущего блока,
- (nCurrSw)x (nCurrSh) массив resSamples, указывающий остаточные отсчеты цветности текущего блока.
- Массив InputPivot[i] и ReshapePivot[i],], где i находится в диапазоне от 0 до MaxBinIdx + 1 включительно, полученное в 7.4.4.1.
- Массив InvScaleCoeff[i] и ChromaScaleCoef[i], где i находится в диапазоне от 0 до MaxBinldx включительно, полученное в 7.4.4.1.
Выходными данными для этого процесса является массив восстановленных отсчетов цветности recSamples.
recSamples определяется следующим образом:
где i = 0…nCurrSw - 1, j = 0…nCurrSh - 1
- В противном случае, tile_group_reshaper_chroma_residual_scale_flag && ((nCurrSw)x (nCurrSh) > 4)), применяется следующее:
Переменная varScale определяется следующим образом:
- invAvgLuma определяется следующим образом:
- Если tile group type равно 2 (I группа тайлов) и qtbtt_dual_tree_intra_flag равно 1, применяется следующее.
- Идентифицируется расположение цветности (xCh, yCh) верхнего левого отсчета текущего блока цветности относительно верхнего левого отсчета цветности текущего изображения.
Расположение яркости (xTL, yTL) устанавливается равным расположению верхнего левого отсчета совместно расположенного блока кодирования яркости ColLumaBlock, охватывающего расположение, заданное (xCh << 1, yCh << 1), относительно верхнего левого отсчета яркости текущего изображения, и wColoc nhColoc устанавливаются равными ширине и высоте ColLumaBlock.
- Если ((32 + yCh) / 32) равно ((64 + yTL - 1) / 64), invAvgLuma устанавливается равным recSamples[yTL - 1][xTL]
- В противном случае, если ((32 + xCh) / 32) равно ((64 + xTL - 1) / 64), invAvgLuma устанавливается равным recSamples[yTL][xTL - 1]
- Иначе, invAvgLuma устанавливается равным -1.
- В противном случае применяется следующее:
- Если invAvgLuma не равно -1, применяется следующее:
- переменная idxYInv выводится путем использования идентификации индекса кусочной функции, как указано в пункте 8.5.6.2, с вводом значения отсчета invAvgLuma.
- varScale устанавливается равным ChromaScaleCoef[idxYInv]
- В противном случае, varScale устанавливается равным (1 << shiftC) recSamples определяется следующим образом:
- Если tu cbf cldx [xCurr][yCurr] равно 1, применяется следующее:
В настоящем изобретении описываются различные аспекты, в том числе средства, признаки, варианты осуществления, модели, подходы и т.д. Многие из этих аспектов описаны подробно и, по меньшей мере, чтобы показать отдельные характеристики, часто описаны таким образом, что кажутся ограниченными. Однако это сделано для ясности описания и не ограничивает применение или сущность этих аспектов. Фактически, все из различных аспектов могут быть скомбинированы и взаимозаменены для предоставления дополнительных аспектов. Более того, аспекты могут быть скомбинированы и взаимозаменены с аспектами, описанными в ранее поданных документах.
Аспекты, описанные и предложенные в настоящей заявке, могут быть реализованы во множестве различных форм. На фиг. 26, 27 и 28 ниже предоставлены некоторые варианты осуществления, но также предполагаются другие варианты осуществления, и описание фиг. 26, 27 и 28 не ограничивает сферу реализации. По меньшей мере один из аспектов в целом относится к кодированию и декодированию видео, и по меньшей мере один другой аспект в целом относится к передаче сгенерированного или кодированного битового потока. Эти и другие аспекты могут быть реализованы как способ, устройство, машиночитаемый носитель данных, на котором хранятся инструкции для кодирования или декодирования видеоданных согласно любому из описанных способов, и/или машиночитаемый носитель данных, на котором хранится битовый поток, сгенерированных согласно любому из описанных способов.
В настоящем документе описаны различные способы, и каждый из способов предусматривает одну или несколько стадий или этапов для выполнения описанного способа. Если конкретный порядок стадий или этапов не нужен для надлежащей реализации способа, порядок и/или использование конкретных стадий и/или этапов могут быть изменены или скомбинированы.
Различные способы и другие аспекты, описанные в настоящей заявке, могут использоваться для изменения различных модулей, например, модулей (102, 151, 235 и 251) разбиения и масштабирования изображения видеокодера 100 и декодера 200, как показано на фиг. 26 и фиг. 27. Более того, настоящие аспекты не ограничены VVC или HEVC, и могут применяться, например, к другим стандартам и рекомендациям, которые уже существуют или будут разработаны в будущем, и к расширениям любых таких стандартов и рекомендаций (включая VVC и HEVC). Если не указано иное, или если это технически возможно, аспекты, описанные в настоящей заявке, могут использоваться по отдельности или в комбинации.
В настоящей заявке используются различные числовые значения, например, Wmax, Hmax, WmaxC и HmaxC. Конкретные значения являются, например, целями, и описанные аспекты не ограничены этими конкретными значениями.
На фиг. 26 изображен кодер 100. Возможны вариации этого кодера 100, но кодер 100 описан ниже для ясности без описания всех ожидаемых вариаций.
Перед кодированием видеопоследовательность может быть подвергнута обработке (101) перед кодированием, например, применению преобразования цвета к входному цветному изображению (например, преобразования из RGB 4:4:4 в YCbCr 4:2:0), или преобразованию со сжатием компонентов входного изображения для получения распределения сигнала, более устойчивого к сжатию (например, с использованием выравнивания гистограммы одного из компонентов цвета). Метаданные могут быть связаны с предварительной обработкой и прикреплены к битовому потоку.
В кодере 100 изображение кодируется посредством элементов кодера, как описано ниже. Изображение, подлежащее кодированию, разбивается (102) и обрабатывается в виде единиц, например, CU. Каждая единица кодируется, например, с помощью внутри- или межкадрового режима. Когда единица кодируется во внутрикадровом режиме, выполняется внутрикадровое предсказание (160). В межкадровом режиме выполняются оценка движения (175) и компенсация (170). Кодер решает (105), какой режим использовать для кодирования единицы - внутрикадровый или межкадровый, и указывает решение о выборе внутрикадрового/межкадрового режима, например, посредством флага режима предсказания. Кодер может выполнять прямое отображение (191), применяемое к отсчетам яркости, для получения предсказанного блока яркости. К отсчетам цветности прямое отображение не применяется. Остатки предсказания вычисляются, например, путем вычитания (110) предсказанного блока из исходного блока изображения. Для отсчетов цветности масштабирование остатков цветности может применяться к остаткам цветности (111).
Остатки предсказания затем подвергают преобразованию (125) и квантованию (130). Квантованные коэффициенты преобразования, а также векторы движения и другие элементы синтаксиса, подвергают энтропийному кодированию (145) для вывода битового потока. Кодер может пропускать преобразование и применять квантование непосредственно к не подвергнутому преобразованию остаточному сигналу. Кодер может обходить как преобразование, так и квантование, т.е. остаток кодируется непосредственно без применения процессов преобразования или квантования.
Кодер декодирует кодированный блок для обеспечения опорного блока для дальнейших предсказаний. Квантованные коэффициенты преобразования подвергаются деквантованию (140) и обратному преобразованию (150) для декодирования остатков предсказания. Остатки цветности затем обрабатываются посредством обратного масштабирования (151), которое выполняет процесс, обратный к процессу масштабирования (111). За счет комбинирования (155) декодированных остатков предсказания и предсказанного блока восстанавливают блок изображения. К отсчетам яркости может применяться обратное отображение (190), причем эта стадия является обратной к стадии обратного отображения (191). Фильтры внутри петли (165) применяются к восстановленному изображению для выполнения, например, удаления блочности/фильтрации SAO (адаптивного смещения отсчетов), фильтрации посредством адаптивного петлевого фильтра (ALF) для уменьшения артефактов кодирования. Подвергнутое фильтрации графическое изображение хранится в буфере (180) опорных изображений.
На фиг. 27 изображена принципиальная схема видеодекодера 200. В декодере 200 битовый поток декодируется посредством элементов декодера, как описано ниже. Видеодекодер 200 в целом выполняет операцию декодирования, обратную операции кодирования, как показано на фиг. 26. Кодер 100 также в целом выполняет декодирование видео как часть кодирования видеоданных.
В частности, входные данные декодера включают битовый поток видео, который может быть сгенерирован видеокодером 100. Битовый поток сначала подвергается энтропийному декодированию (230) для получения коэффициентов преобразования, векторов движения и другой кодированной информации. Информация о разбиении изображения указывает, как разбивается изображение. Декодер, таким образом, может разделять (235) изображение согласно информации о разбиении декодированного изображения. Коэффициенты преобразования подвергаются деквантованию (240) и обратному преобразованию (250) для декодирования остатков предсказания. Для отсчетов цветности остатки цветности обрабатываются посредством обратного масштабирования (251), которое аналогично обратному масштабированию (151) кодера. За счет комбинирования (255) декодированных остатков предсказания и предсказанного блока восстанавливают блок изображения. Предсказанный блок может быть получен (270) на основании внутрикадрового предсказания (260) или предсказания с компенсацией движения (т.е. межкадрового предсказания) (275). Прямое отображение (295) может применяться к отсчетам яркости после предсказания. Обратное отображение (296), аналогичное обратному отображению (190) кодера, может применяться к восстановленным отсчетам яркости. Затем фильтры внутри петли (265) применяются к восстановленному графическому изображению. Подвергнутое фильтрации графическое изображение хранится в буфере (280) опорных изображений.
Декодированное изображение может быть дополнительно подвергнуто обработке (285) после декодирования, например, обратному преобразованию цвета (например, преобразованию из YCbCr 4:2:0 в RGB 4:4:4) или обратному преобразованию со сжатием, выполняющему действие, обратное процессу преобразования со сжатием, выполняемому при обработке (101) перед кодированием. Обработка после декодирования может использовать метаданные, полученные при обработке перед кодированием и переданные в битовом потоке.
На фиг. 28 изображена принципиальная схема примера системы, в которой реализованы различные аспекты и варианты осуществления. Система 1000 может быть реализована как устройство, содержащее различные компоненты, описанные ниже, и выполнена с возможностью выполнения одного или нескольких аспектов, описанных в этом документе. Примеры таких устройств включают, без ограничения, различные электронные устройства, такие как персональные компьютеры, ноутбуки, смартфоны, планшетные компьютеры, цифровые мультимедийные телевизионные приставки, цифровые телевизионные приемники, персональные системы видеозаписи, подключенные бытовые приборы и серверы. Элементы системы 1000, по отдельности или в комбинации, могут быть реализованы в одной интегральной схеме (IC), нескольких IC и/или дискретных компонентах. Например, согласно по меньшей мере одному варианту осуществления элементы обработки и кодера/декодера системы 1000 распределены среди нескольких IC и/или дискретных компонентов. Согласно различным вариантам осуществления система 1000 с возможностью связи соединена с одной или несколькими другими системами или другими электронными устройствами посредством, например, шины связи или посредством выделенных портов ввода и/или вывода. Согласно различным вариантам осуществления система 1000 выполнена с возможностью реализации одного или нескольких аспектов, описанных в настоящем документе.
Система 1000 содержит по меньшей мере один процессор 1010, выполненный с возможностью исполнения инструкций, загруженных на него, для реализации, например, различных аспектов, описанных в настоящем документе. Процессор 1010 может содержать встроенное запоминающее устройство, интерфейс ввода/вывода и различные другие схемы, известные в уровне техники. Система 1000 содержит по меньшей мере одно запоминающее устройство 1020 (например, энергозависимое запоминающее устройство и/или энергонезависимое запоминающее устройство). Система 1000 содержит устройство 1040 хранения данных, которое может содержать энергонезависимое запоминающее устройство и/или энергозависимое запоминающее устройство, включая без ограничения, электрически стираемое программируемое постоянное запоминающее устройство (EEPROM), постоянное запоминающее устройство (ROM), программируемое постоянное запоминающее устройство (PROM), оперативное запоминающее устройство (RAM), динамическое оперативное запоминающее устройство (DRAM), статическое оперативное запоминающее устройство (SRAM), флеш-память, накопитель на магнитных дисках и/или накопитель на оптических дисках. Устройство 1040 хранения данных может включать внутреннее устройство хранения данных, подключаемое устройство хранения данных (включая съемные и несъемные устройства хранения данных) и/или устройство хранения данных с доступом через сеть, в качестве неограничивающих примеров.
Система 1000 содержит модуль 1030 кодера/декодера, выполненный с возможностью, например, обработки данных для предоставления кодированного видео или декодированного видео, и модуль 1030 кодера/декодера может содержать свой собственный процессор и запоминающее устройство. Модуль 1030 кодера/декодера представляет модуль (модули), который может быть включен в устройство для выполнения функций кодирования и/или декодирования. Как известно, устройство может содержать один или оба из модулей кодирования и декодирования. Дополнительно модуль 1030 кодера/декодера может быть реализован как отдельный элемент системы 1000 или может быть включен в процессор 1010 как комбинация аппаратного обеспечения и программного обеспечения, что известно специалистам в данной области техники.
Программный код, который должен быть загружен в процессор 1010 или кодер/декодер 1030 для выполнения различных аспектов, описанных в настоящем документе, может храниться в устройстве 1040 хранения данных, а затем может быть загружен в запоминающее устройство 1020 для исполнения процессором 1010. В соответствии с различными вариантами осуществления одно или несколько из процессора 1010, запоминающего устройства 1020, устройства 1040 хранения данных и модуля 1030 кодера/декодера может хранить один или несколько из различных объектов во время выполнения процессов, описанных в настоящем документе. Такие сохраненные объекты могут включать, без ограничения, входное видео, декодированное видео или части декодированного видео, битовый поток, матрицы, переменные и промежуточные или конечные результаты обработки уравнений, формул, операций и логики действий.
Согласно некоторым вариантам осуществления запоминающее устройство внутри процессора 1010 и/или модуля 1030 кодера/декодера используется для хранения инструкций и обеспечения работающего запоминающего устройства для обработки, которая необходима во время кодирования или декодирования. Однако согласно другим вариантам осуществления запоминающее устройство, внешнее по отношению к обрабатывающему устройству (например, обрабатывающее устройство может быть либо процессором 1010, либо модулем 1030 кодера/декодера), используется для одной или нескольких из этих функций. Внешнее запоминающее устройство может представлять собой запоминающее устройство 1020 и/или устройство 1040 хранения данных, например, динамическое энергозависимое запоминающее устройство и/или энергонезависимую флеш-память. Согласно некоторым вариантам осуществления внешняя энергонезависимая флеш-память используется для хранения операционной системы, например, телевизора. Согласно по меньшей мере одному варианту осуществления быстрое внешнее динамическое энергозависимое запоминающее устройство, такое как RAM, используется как работающее запоминающее устройство для операций кодирования и декодирования видео, например, для MPEG-2 (MPEG относится к Экспертной группе по движущимся изображениям, MPEG-2 также называется ISO/IEC 13818, и 13818-1 также известно как Н.222, и 13818-2 также известно как Н.262), HEVC (HEVC относится к высокоэффективному видеокодированию, также известному как Н.265 и MPEG-H часть 2), или VVC (универсальное кодирование видео, новый стандарт, разработанный JVET, объединенной командой видео-экспертов).
Ввод в элементы системы 1000 может быть обеспечен посредством различных устройств ввода, как указано в блоке 1130. Такие устройства ввода включают, без ограничения, (i) радиочастотную (RF) часть, которая принимает RF сигнал, переданный, например, по беспроводной связи радиостанцией, (ii) входной разъем компонента (СОМР) (или набор входных разъемов СОМР), (iii) входной разъем универсальной последовательной шины (USB), и/или (iv) входной разъем мультимедийного интерфейса высокой четкости (HDMI). Другие примеры, не показанные на фиг. 28, включают составное видео.
Согласно различным вариантам осуществления устройства ввода блока 1130 содержат связанные соответствующие элементы обработки ввода, как известно в данной области техники. Например, RF часть может быть связана с элементами, подходящими для (i) выбора желаемой частоты (также называемой выбором сигнала, или ограничением сигнала полосой частот), (ii) преобразования с понижением частоты выбранного сигнала, (iii) повторное ограничение более узкой полосой частот для выбора (например) полосы частот сигнала, которая может считаться каналом согласно некоторым вариантам осуществления, (iv) демодуляции сигнала, подвергнутого преобразованию с понижением частоты и ограничению полосы, (v) выполнения исправления ошибок и (vi) демультиплексирования для выбора желаемого потока пакетов данных. RF часть различных вариантов осуществления содержит один или несколько элементов для выполнения этих функций, например, частотные селекторы, селекторы сигналов, ограничители полосы, селекторы каналов, фильтры, преобразователи с понижением частоты, демодуляторы, блоки исправления ошибок и демультиплексоры. RF часть может содержать блок настройки, который выполняет некоторые из этих функций, включая, например, преобразование с понижением частоты принятого сигнала до более низкой частоты (например, промежуточной частоты или частоты около основной полосы) или основной полосы. Согласно одному варианту осуществления с телевизионной приставкой RF часть и ее связанный элемент обработки ввода принимает RF сигнал, переданный по проводной среде (например, кабелю), и выполняет выбор частоты путем фильтрации, преобразования с понижением частоты и повторной фильтрации до желаемой полосы частот. Согласно различным вариантам осуществления порядок вышеописанных (и других) элементов изменен, некоторые из этих элементов удалены и/или добавлены другие элементы, выполняющие аналогичные или другие функции. Добавление элементов может включать вставку элементов между существующими элементами, например, вставку усилителей и аналого-цифрового преобразователя. Согласно различным вариантам осуществления RF часть содержит антенну.
Дополнительно разъемы USB и/или HDMI могут содержать соответствующие процессоры интерфейса для соединения системы 1000 с другими электронными устройствами посредством соединений USB и/или HDMI. Следует понимать, что различные аспекты обработки ввода, например, исправления ошибок Рида Соломона, могут быть реализованы, например, в пределах отдельной 1С обработки ввода или внутри процессора 1010 при необходимости. Аналогично, аспекты обработки интерфейса USB или HDMI могут быть реализованы в отдельных IC интерфейса или в процессоре 1010 по мере необходимости. Демодулированный, с исправленными ошибками и демультиплексированный поток предоставляется в различные элементы обработки, в том числе, например, процессор 1010 и кодер/декодер 1030, которые работают в сочетании с запоминающим устройством элементами хранения для обработки потока данных по мере необходимости для представления на устройства вывода.
Различные элементы системы 1000 могут быть предусмотрены в интегрированном корпусе. В интегрированном корпусе, различные элементы могут быть взаимосвязаны и передавать данные между ними, используя подходящее соединение 1140, например, внутреннюю шину, как известно в данной области техники, включая шину между интегральными схемами (I2C), проводку и печатные платы.
Система 1000 содержит интерфейс 1050 связи, который обеспечивает связь с другими устройствами через канал 1060 связи. Интерфейс 1050 связи может содержать, без ограничения, приемопередатчик, выполненный с возможностью передачи и получения данных по каналу 1060 связи. Интерфейс 1050 связи может включать, без ограничения, модем или сетевую карту, а канал 1060 связи может быть реализован, например, в проводной и/или беспроводной среде.
Данные передаются в потоковом режиме или иным образом передаются в систему 1000 в различных вариантах осуществления с помощью беспроводной сети, такой как сеть Wi-Fi, например IEEE 802.11 (IEEE обозначает Институт инженеров по электротехнике и радиоэлектронике). Сигнал Wi-Fi этих вариантов осуществления получен по каналу 1060 связи и интерфейсу 1050 связи, которые адаптированы для передач по Wi-Fi. Канал 1060 связи этих вариантов осуществления обычно соединен с точкой доступа или маршрутизатором, которые обеспечивают доступ к внешним сетям, включая Интернет, для обеспечения потоковой передачи и другой передачи по технологии Over-the-top.Согласно другим вариантам осуществления потоковые данные передаются в систему 1000 с использованием телевизионной приставки, которая доставляет данные по подключению HDMI входного блока 1130. Согласно другим вариантам осуществления потоковые данные передаются в систему 1000 с помощью RF соединения с входным блоком 1130. Как указано выше, согласно различным вариантам осуществления данные передаются не в потоковом режиме. Дополнительно, согласно различным вариантам осуществления используются беспроводные сети, отличающиеся от Wi-Fi, например, сотовая сеть или сеть Bluetooth.
Система 1000 может выдавать выходной сигнал на различные устройства вывода, включая дисплей 1100, громкоговорители 1110 и другие периферийные устройства 1120. Дисплей 1100 согласно различным вариантам осуществления включает один или несколько из, например, сенсорного дисплея, дисплея на органических светодиодах (OLED), изогнутого дисплея и/или складного дисплея. Дисплей 1100 может быть предназначен для телевизора, планшета, ноутбука сотового телефона (мобильного телефона) или другого устройства. Дисплей 1100 также может объединен с другими компонентами (например, как в смартфоне) или быть отдельным (например, внешний монитор для ноутбука). Другие периферийные устройства 1120 включают в различных примерах вариантов осуществления одно или несколько из отдельного цифрового видеодиска (или цифрового универсального диска) (DVR, для обоих терминов), проигрывателя дисков, стереосистемы и/или системы подсветки. Согласно различным вариантам осуществления используется одно или несколько периферийных устройств 1120, которые обеспечивают функцию на основании вывода системы 1000. Например, проигрыватель дисков выполняет функцию воспроизведения вывода системы 1000.
Согласно различным вариантам осуществления управляющие сигналы передаются между системой 1000 и дисплеем 1100, громкоговорителями 1110 или другими периферийными устройствами 1120 с помощью такой сигнальной информации, как AV.Link, Consumer Electronics Control (CEC), или других протоколов связи, которые обеспечивают управление между устройствами с вмешательством пользователя или без него. Устройства вывода могут быть соединены с возможностью связи с системой 1000 посредством выделенных соединений через соответствующие интерфейсы 1070, 1080 и 1090. Альтернативно устройства вывода могут быть соединены с системой 1000 с помощью канала 1060 связи посредством интерфейса 1050 связи. Дисплей 1100 и громкоговорители 1110 могут быть встроены в один блок с другим компонентами системы 1000 в электронном устройстве, таком как, например, телевизор. Согласно различным вариантам осуществления интерфейс 1070 дисплея содержит драйвер дисплея, такой как, например, микросхема контроллера синхронизации (Т Con).
Дисплей 1100 и громкоговоритель 1110 могут альтернативно быть отделены от одного или нескольких из других компонентов, например, если RF часть ввода ИЗО является частью отдельной телевизионной приставки. Согласно различным вариантам осуществления, в которых дисплей 1100 и громкоговорители 1110 являются внешними компонентами, выходной сигнал может передаваться посредством выделенных выходных соединений, включая, например, порты HDMI, порты USB или выводы СОМР.
Варианты осуществления могут осуществляться посредством компьютерного программного обеспечения, реализованного процессором 1010, или аппаратного обеспечения, или посредством комбинации аппаратного обеспечения и программного обеспечения. В качестве неограничивающего примера варианты осуществления могут быть реализованы посредством одной или нескольких интегральных схем. Запоминающее устройство 1020 может представлять собой любой тип, соответствующий технической среде и, может быть реализовано с использованием любой подходящей технологии хранения данных, такой как оптические запоминающие устройства, магнитные запоминающие устройства, запоминающие устройства на полупроводниках, несъемное запоминающее устройство и съемное запоминающее устройство, в качестве неограничивающих примеров. Процессор 1010 может представлять собой любой тип, соответствующий технической среде, и может охватывать один или несколько из микропроцессоров, компьютеров общего назначения, компьютеров специального назначения и процессоров на основе многоядерной архитектуры, в качестве неограничивающих примеров.
Различные варианты реализации предусматривают декодирование. «Декодирование» в контексте настоящей заявки может охватывать все или часть процессов, выполняемых, например, в отношении принятой кодированной последовательности для получения конечного вывода, подходящего для отображения. Согласно различным вариантам осуществления такие процессы включают один или несколько из процессов, обычно выполняемых декодером, например, энтропийное декодирование, обратное квантование, обратное преобразование и дифференциальное декодирование. Согласно различным вариантам осуществления такие процессы такие процессы также или альтернативно включают процессы, выполняемые декодером различных вариантов реализации, описанных в настоящей заявке, например, активацию инструмента, зависящего от связи между компонентами, подлежащего использованию для блока цветности в соответствии с размером блока цветности и размером по меньшей мере одного блока яркости, совместно расположенного с по меньшей мере одним отсчетом блока цветности.
В качестве дополнительных примеров, согласно одному варианту осуществления «декодирование» относится только к энтропийному декодированию, согласно другому варианту осуществления «декодирование» относится только к дифференциальному декодированию, и согласно другому варианту осуществления «декодирование» относится к комбинации энтропийного декодирования и дифференциального декодирования. То, относится ли фраза «процесс декодирования» конкретно к подмножеству операций или в целом к процессу декодирования в более широком смысле, будет ясно на основе контекста конкретных описаний и, как полагается, будет понятно специалистам в данной области техники.
Различные варианты реализации предусматривают кодирование. Аналогично вышеприведенному описанию «декодирования», «кодирование», используемое в настоящей заявке, может охватывать все или часть процессов, выполняемых, например, в отношении входной видеопоследовательности для создания кодированного битового потока. Согласно различным вариантам осуществления такие процессы включают один или несколько из процессов, обычно выполняемых кодером, например, разбиение, дифференциальное кодирование, преобразование, квантование и энтропийное кодирование. Согласно различным вариантам осуществления такие процессы также или альтернативно включают процессы, выполняемые кодером различных вариантов реализации, описанных в настоящей заявке, например, активацию инструмента, зависящего от связи между компонентами, подлежащего использованию для блока цветности в соответствии с размером указанного блока цветности и размером по меньшей мере одного блока яркости, совместно расположенного с по меньшей мере одним отсчетом блока цветности.
В качестве дополнительных примеров, согласно одному варианту осуществления «кодирование» относится только к энтропийному кодированию, согласно другому варианту осуществления «кодирование» относится только к дифференциальному кодированию, и согласно другому варианту осуществления «кодирование» относится к комбинации дифференциального кодирования и энтропийного кодирования. То, относится ли фраза «процесс кодирования» конкретно к подмножеству операций или в целом к процессу кодирования в более широком смысле, будет ясно на основе контекста конкретных описаний и, как полагается, будет понятно специалистам в данной области техники.
Следует отметить, что используемые в настоящем документе элементы синтаксиса, например, индекс коэффициента масштабирования цветность, являются описательными терминами. Таким образом, они не препятствуют использованию других имен элементов синтаксиса.
Если фигура представлена в виде блок-схемы, следует понимать, что она также предоставляет структурную схему соответствующего устройства. Аналогично, когда фигура представлен в виде структурной схемы, следует понимать, что он также предоставляет блок-схему соответствующего способа/процесса.
Различные варианты осуществления относятся к оптимизации скорости-искажения. В частности, во время процесса кодирования обычно учитывается баланс или компромисс между скоростью и искажением, часто с учетом ограничения вычислительной сложности. Оптимизация скорости-искажения обычно сформулирована как минимизация функции скорости-искажения, которая представляет собой взвешенную сумму скорости и искажения. Существуют разные подходы к решению проблемы оптимизации скорости-искажения. Например, подходы могут быть основаны на обширном тестировании всех параметров кодирования, включая все рассмотренные режимы или значения параметров кодирования, с полной оценкой их стоимости кодирования и связанного искажения восстановленного сигнала после кодирования и декодирования. Также могут быть использованы более быстрые подходы для снижения сложности кодирования, в частности с вычислением аппроксимированного искажения на основе предсказания или остаточного сигнала предсказания, а не восстановленного. Также может использоваться комбинация этих двух подходов, например, с использованием аппроксимированного искажения только для некоторых возможных вариантов кодирования и полного искажения для других вариантов кодирования. Другие подходы оценивают только подмножество возможных вариантов кодирования. В целом многие подходы используют любой из различных методов для выполнения оптимизации, но оптимизация не обязательно является полной оценкой стоимости кодирования и связанного искажения.
Варианты реализации и аспекты, описанные в настоящем документе, могут быть реализованы, например, в способе или процессе, устройстве, программно реализованной программе, потоке данных или сигнале. Даже если описание ведется только в контексте единственной формы реализации (например, описание только в качестве способа), реализация описанных признаков также может быть выполнена в других формах (например, как устройство или программа). Устройство может быть реализовано, например, в виде соответствующего аппаратного обеспечения, программного обеспечения и программно-аппаратного обеспечения. Способы могут быть реализованы, например, процессором, который относится к устройствам обработки в целом, включая, например, компьютер, микропроцессор, интегральную схему или программируемое логическое устройство. Процессоры также включают устройства связи, такие как, например, компьютеры, сотовые телефоны, портативные/персональные цифровые ассистенты («PDA») и другие устройства, которые облегчают обмен информацией между конечными пользователями.
Ссылка на «один вариант осуществления» или «вариант осуществления» или «один вариант реализации» или «вариант реализации», а также другие их вариации, означает, что конкретный признак, структура, характеристика и т.д., описанные в связи с вариантом осуществления, включены по меньшей мере в один вариант осуществления. Таким образом, фразы «согласно одному варианту осуществления» или «согласно варианту осуществления» или «согласно одному варианту реализации» или «согласно варианту реализации», а также любые другие вариации в различных местах в настоящей заявке не обязательно все относятся к одному и тому же варианту осуществления.
Кроме того, настоящая заявка может относиться к «определению» различных фрагментов информации. Определение информации может включать одно или несколько из, например, оценки информации, вычисления информации, предсказания информации или извлечения информации из запоминающего устройства.
Кроме того, настоящая заявка может относиться к «осуществлению доступа» к различным фрагментам информации. Осуществление доступа к информации может включать одно или несколько из, например, получения информации, извлечения информации (например, из запоминающего устройства), сохранения информации, перемещения информации, копирования информации, вычисления информации, определения информации, предсказания информации или оценки информации.
Кроме того, настоящая заявка может относиться к «получению» различных фрагментов информации. Получение, как и «осуществление доступа», является широким термином. Получение информации может включать один или несколько из, например, осуществления доступа к информации или извлечение информации (например, из запоминающего устройства). Кроме того, «получение» обычно участвует, так или иначе, во время таких операций, как, например, хранение информации, обработка информации, передача информации, перемещение информации, копирование информации, стирание информации, вычисление информации, определение информации, предсказание информации или оценка информации.
Следует понимать, что использование любого из следующего: «/», «и/или» и «по меньшей мере один из», например, в случаях «А/В», «А и/или В» и «по меньшей мере одно из А и В», предназначено для охвата выбора только первого перечисленного варианта (А), или выбора только второго перечисленного варианта (В), или выбора обоих вариантов (А и В). В качестве дополнительного примера в случаях «А, В и/или С» и «по меньшей мере одно из А, В и С», такая фраза охватывает выбор только первого перечисленного варианта (А), выбор только второго перечисленного варианта (В), или выбор только третьего перечисленного варианта (С), или выбор первого и второго перечисленных вариантов (А и В), или выбор только первого и третьего перечисленных вариантов (А и С), или выбор только второго и третьего перечисленных вариантов (В и С), или выбор всех трех вариантов (А, В и С). Это объяснение может быть расширено, так как является очевидным для специалиста в данной области техники, на столько объектов, сколько перечислено.
Также в контексте настоящего документа выражение «сигнализация» относится, среди прочего, к указанию чего-либо соответствующему декодеру. Например, в некоторых вариантах осуществления кодер сигнализирует о конкретном из индексов коэффициента масштабирования цветности. Таким образом, согласно одному варианту осуществления одинаковый параметр используется как на стороне кодера, так и на стороне декодера. Таким образом, например, кодер может передавать (явным образом сигнализировать) конкретный параметр на декодер, вследствие чего декодер может использовать этот же конкретный параметр. И наоборот, если декодер уже имеет конкретный параметр, а также другие, то сигнализация может использоваться без передачи (неявно сигнализировать), чтобы просто дать знать декодеру и выбрать конкретный параметр. За счет избегания передачи любых фактических функций, согласно различным вариантам осуществления обеспечивается экономия битов. Следует понимать, что сигнализация может быть осуществлена различными способами. Например, один или несколько элементов синтаксиса, флагов и т.д. используются для сигнализации информации на соответствующий декодер согласно различным вариантам осуществления. Хотя выше описана глагольная форма слова «сигнализация», слово «сигнал» также может использоваться в данном документе как существительное.
Как будет очевидно специалисту в данной области техники, варианты реализации могут создавать различные сигналы, отформатированные для переноса информации, которая может быть, например, сохранена или передаваться. Информация может включать, например, инструкции для выполнения способа, или данные, созданные в одном из описанных вариантов реализации. Например, сигнал может быть отформатирован для переноса битового потока описанного варианта осуществления. Такой сигнал может быть отформатирован, например, в качестве электромагнитной волны (например, с использованием радиочастотной части спектра) или в качестве сигнала основной полосы. Форматирование может включать, например, кодирование потока данных и модулирование несущей с кодированным потоком данных. Информация о том, что сигнал несет, может представлять собой, например, аналоговую или цифровую информацию. Сигнал может быть передан по различным проводным или беспроводным каналам, как известно. Сигнал может храниться на носителе, который читается процессором.
Был описан ряд вариантов осуществления. Признаки этих вариантов осуществления могут быть предоставлены по отдельности или в любой комбинации, в различных категориях и типах пунктов формулы изобретения. Кроме того, варианты осуществления могут включать одно или несколько из следующих признаков, устройств или аспектов, по отдельности или в любой комбинации, в различных категориях и типах пунктов формулы изобретения.
• Активация инструмента, зависящего от связи между компонентами, в соответствии с размером блока цветности и, возможно, размером по меньшей мере одного блока яркости, совместно расположенного с блоком цветности.
• Активация инструмента, зависящего от связи между компонентами, в случае если блок цветности находится внутри одной прямоугольной области цветности, образованной в результате разбиения компонента цветности изображения на неперекрывающиеся прямоугольные области.
• Активация инструмента, зависящего от связи между компонентами, в случае, если по меньшей мере один совместно расположенный блок яркости находится внутри прямоугольной области яркости, совместно расположенной с первой прямоугольной областью цветности, причем указанная прямоугольная область яркости образуется в результате разбиения яркости указанного изображения на неперекрывающиеся прямоугольные области.
• Битовый поток или сигнал, который содержит один или несколько из описанных элементов синтаксиса или их вариации.
• Битовый поток или сигнал, который содержит информацию, передающую синтаксис, сгенерированную согласно любому из описанных вариантов осуществления.
• Введение в передачу элементов синтаксиса, которые позволяют декодеру активировать/деактивировать инструмент, зависящий от связи между компонентами, по принципу, соответствующему принципу, используемому кодером.
• Создание и/или передача и/или прием, и/или декодирование битового потока или сигнала, который содержит один или несколько из описанных элементов синтаксиса или их вариации.
• Создание и/или передача, и/или прием и/или декодирование согласно любому из описанных вариантов осуществления.
• Способ, процесс, устройство, носитель, на котором хранятся инструкции, носитель, на котором хранятся данные, или сигнал согласно любому из описанных вариантов осуществления.
• Телевизор, телевизионная приставка, сотовый телефон, планшет или другое электронное устройство, которое выполняет активацию/деактивацию инструмента, зависящего от связи между компонентами, согласно любому из описанных вариантов осуществления.
• Телевизор, телевизионная приставка, сотовый телефон, планшет или другое электронное устройство, которое выполняет активацию/деактивацию инструмента, зависящего от связи между компонентами, согласно любому из описанных вариантов осуществления, и которое отображает (например, с помощью монитора, экрана или дисплея другого типа) полученное в результате графическое изображение.
• Телевизор, телевизионная приставка, сотовый телефон, планшет или другое электронное устройство, которое выбирает (например, с помощью блока настройки) канал для получения сигнала, содержащего кодированное графическое изображение, и выполняет активацию/деактивацию инструмента, зависящего от связи между компонентами, согласно любому из описанных вариантов осуществления.
• Телевизор, телевизионная приставка, сотовый телефон, планшет или другое электронное устройство, которое получает (например, с помощью антенны) сигнал по беспроводной связи, который содержит кодированное графическое изображение, и выполняет активацию/деактивацию инструмента, зависящего от связи между компонентами, согласно любому из описанных вариантов осуществления.
Кроме того, варианты осуществления могут включать одно или несколько из следующих признаков, устройств или аспектов, по отдельности или в любой комбинации, в различных категориях и типах пунктов формулы изобретения.
Согласно общему аспекту по меньшей мере одного варианта осуществления предлагается способ декодирования, который предусматривает:
- активацию инструмента, зависящего от связи между компонентами, подлежащего использованию для блока цветности изображения в соответствии с размером указанного блока цветности и размером по меньшей мере одного блока яркости, совместно расположенного с блоком цветности;
- декодирование указанного блока цветности в соответствии с указанной активацией указанного инструмента, зависящего от связи между компонентами.
Согласно общему аспекту по меньшей мере одного варианта осуществления предлагается устройство для декодирования, которое содержит один или несколько процессоров, выполненных с возможностью выполнения следующего:
- активации инструмента, зависящего от связи между компонентами, подлежащего использованию для блока цветности изображения в соответствии с размером указанного блока цветности и размером по меньшей мере одного блока яркости, совместно расположенного с блоком цветности; и
- декодирования указанного блока цветности в соответствии с указанной активацией указанного инструмента, зависящего от связи между компонентами.
Согласно общему аспекту по меньшей мере одного варианта осуществления предлагается способ кодирования, который предусматривает:
- активацию инструмента, зависящего от связи между компонентами, подлежащего использованию для блока цветности изображения в соответствии с размером указанного блока цветности и размером по меньшей мере одного блока яркости, совместно расположенного с блоком цветности;
- кодирование указанного блока цветности в соответствии с указанной активацией указанного инструмента, зависящего от связи между компонентами.
Согласно общему аспекту по меньшей мере одного варианта осуществления предлагается устройство для кодирования, которое содержит один или несколько процессоров, выполненных с возможностью выполнения следующего:
- активации инструмента, зависящего от связи между компонентами, подлежащего использованию для блока цветности изображения в соответствии с размером указанного блока цветности и размером по меньшей мере одного блока яркости, совместно расположенного с блоком цветности; и
- кодирования указанного блока цветности в соответствии с указанной активацией указанного инструмента, зависящего от связи между компонентами.
Согласно одному или нескольким из вариантов осуществления настоящего изобретения также предлагается машиночитаемый носитель данных, на котором хранятся инструкции для кодирования или декодирования видеоданных согласно по меньшей мере части любого из способов, описанных выше. Согласно одному или нескольким вариантам осуществления также предлагается машиночитаемый носитель данных, на котором хранится битовый поток, сгенерированный согласно способам кодирования, описанным выше. Согласно одному или нескольким вариантам осуществления также предлагается способ и устройство для передачи или приема битового потока, сгенерированного согласно способам кодирования, описанным выше. Согласно одному или нескольким вариантам осуществления также предлагается компьютерный программный продукт для выполнения по меньшей мере части любого из способов, описанных выше.
Согласно одному варианту осуществления указанный инструмент, зависящий от связи между компонентами, представляет собой зависящее от яркости масштабирование остатков цветности.
Согласно одному варианту осуществления активация указанного зависящего от яркости масштабирования остатков цветности, подлежащего использованию для блока цветности изображения в соответствии с размером указанного блока цветности и размером по меньшей мере одного блока яркости, совместно расположенного с блоком цветности, предусматривает:
- активацию указанного зависящего от яркости масштабирования остатков цветности, в случае если:
• блок цветности находится внутри одной прямоугольной области цветности, причем указанная прямоугольная область цветности образована в результате разбиения компонента цветности указанного изображения на неперекрывающиеся прямоугольные области; и
• по меньшей мере один блок яркости, совместно расположенный с блоком цветности, находится внутри одной прямоугольной области яркости, совместно расположенной с указанной прямоугольной областью цветности, причем указанная прямоугольная область яркости образована в результате разбиения яркости указанного изображения на неперекрывающиеся прямоугольные области; и
- деактивацию указанного зависящего от яркости масштабирования остатков цветности в противном случае.
Согласно одному варианту осуществления активация указанного зависящего от яркости масштабирования остатков цветности, подлежащего использованию для блока цветности изображения в соответствии с размером указанного блока цветности и размером по меньшей мере одного блока яркости, совместно расположенного с блоком цветности, предусматривает:
- активацию указанного зависящего от яркости масштабирования остатков цветности, в случае если:
• блок цветности находится внутри одной прямоугольной области цветности, причем указанная прямоугольная область цветности образована в результате разбиения компонента цветности указанного изображения на неперекрывающиеся прямоугольные области; и
• все блоки яркости, совместно расположенные с блоком цветности, находятся внутри одной прямоугольной области яркости, совместно расположенной с указанной прямоугольной областью цветности, причем указанная прямоугольная область яркости образована в результате разбиения яркости указанного изображения на неперекрывающиеся прямоугольные области; и
- деактивацию указанного зависящего от яркости масштабирования остатков цветности в противном случае.
Согласно одному варианту осуществления активация указанного зависящего от яркости масштабирования остатков цветности, подлежащего использованию для блока цветности изображения в соответствии с размером указанного блока цветности и размером по меньшей мере одного блока яркости, совместно расположенного с блоком цветности, предусматривает:
- активацию указанного зависящего от яркости масштабирования остатков цветности, в случае если по меньшей мере один блок яркости, совместно расположенный с блоком цветности, находится внутри одной прямоугольной области яркости, совместно расположенной с первой прямоугольной областью цветности, причем указанная прямоугольная область цветности образована в результате разбиения компонента цветности указанного изображения на неперекрывающиеся прямоугольные области, и указанная прямоугольная область яркости образована в результате разбиения яркости указанного изображения на неперекрывающиеся прямоугольные области; и
- деактивацию указанного зависящего от яркости масштабирования остатков цветности в противном случае.
Согласно одному варианту осуществления, в случае если указанное зависящее от яркости масштабирование остатков цветности деактивировано, коэффициент масштабирования для указанного блока цветности определяется путем предсказания на основании коэффициента масштабирования цветности или на основании индекса, идентифицирующего коэффициент масштабирования цветности, связанный с по меньшей мере одним декодированным (кодированным, соответственно) блоком цветности, соседним с указанным блоком цветности.
Согласно одному варианту осуществления, в случае если указанное зависящее от яркости масштабирование остатков цветности деактивировано, параметр квантования Delta декодируется из (кодируется в, соответственно) битового потока для указанного блока цветности.
Согласно другому варианту осуществления инструмент, зависящий от связи между компонентами, представляет собой предсказание на основании межкомпонентной линейной модели.