Кодирование и декодирование слайсов в изображениях видеопотока

Иллюстрации

Показать все

Изобретение относится к вычислительной технике. Технический результат заключается в уменьшении визуальных артефактов для некоторых трудных для кодирования видов контента. Способ кодирования, выполняемый кодером, осуществляет кодирование упомянутым кодером по меньшей мере одного слайса в по меньшей мере одном изображении видеопотока путем использования меньшего максимального размера преобразования для единиц интра-кодирования в интер-кодируемом слайсе по сравнению с максимальным размером преобразования для единиц интра-кодирования в интра-кодируемом слайсе и/или максимальным размером преобразования для единиц интер-кодирования. 9 н. и 30 з.п. ф-лы, 33 ил., 1 табл.

Реферат

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

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

УРОВЕНЬ ТЕХНИКИ

В стандарте видеокодирования, который называется Высокоэффективное Видеокодирование (HEVC), называемый также H.265, каждое изображение делится на единицы кодирования (CU). Типичный максимальный размер единицы составляет 64×64 пикселей. Единицы кодирования являются листьями иерархической древовидной четверичной структуры, что означает, что изображение может состоять из смеси единиц кодирования с размерами 64×64, 32×32, 16×16 и 8×8 пикселей. Каждая единица кодирования может быть разделена на единицы интра- или интер-кодирования. Единица кодирования может быть затем поделена на единицы предсказания (PU), каждая из которых имеет конкретный режим предсказания. Единица кодирования также может быть разделена на единицы преобразования (TU). Максимальный размер преобразования определяется в потоке битов. В стандарте HEVC одно и то же ограничение применяется как для интра-, так и для интер-кодированных блоков преобразования, и этот ограниченный размер преобразования фиксируется для целой видеопоследовательности. Максимальный размер преобразования в стандарте HEVC составляет 32×32 пикселя. Публикация JCTVC-K1003_v13, B. Bross et al., High Efficiency Video Coding (HEVC) text specification draft 9, Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 11th Meeting: Shanghai, China, 10-19 October 2012, в разделе 7,4,2,2 на стр. 67 обеспечивает больше информации о максимальном размере преобразования в соответствии с предшествующим уровнем техники.

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

Изображения в стандарте HEVC могут быть разделены на различные типы слайсов.

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

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

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

Слайсы, которые не являются слайсами I, называются интер-кодированными слайсами. Слайсы P и слайсы B являются примерами, интер-кодированных слайсов.

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

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

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

Эта и другие задачи решаются вариантами осуществления, раскрытыми в настоящем документе.

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

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

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

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

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

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

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

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

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

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Фиг. 25 иллюстрирует часть слайса в интра-кодируемом изображении;

Фиг. 26 иллюстрирует часть слайса в интер-кодируемом изображении;

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

Фиг. 28A и Фиг. 28B представляют собой гистограммы, показывающие распределение необработанных оценок (Фиг. 28A) и нормализованных оценок (Фиг. 28B);

Фиг. 29A и Фиг. 29B иллюстрируют результаты тестов на основе необработанных оценок (Фиг. 29A) и нормализованных оценок (Фиг. 29B); и

Фиг. 30A и Фиг. 30B иллюстрируют остаточные блочные артефакты для последовательности «Русло реки», базовый параметр квантования 37, для одного варианта осуществления (Фиг. 30A) и для предшествующего уровня техники (Фиг. 30B).

ПОДРОБНОЕ ОПИСАНИЕ

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

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

Видеокодирование и декодирование предшествующего уровня техники, такое как представленное стандартами HEVC и H.265, используют один и тот же максимальный размер преобразования для всех типов единиц кодирования, то есть для единиц и интра- и интер-кодирования, а также для интра- (I) и интер- (P и B) кодированных слайсов. Следовательно, в стандарте HEVC интра-кодированные единицы кодирования (CU) могут иметь преобразование размера 32×32, что является максимальным размером преобразования в стандарте HEVC. Однако разрешение единиц преобразования (TU) этого максимального размера преобразования, то есть 32×32 пикселя, может вызывать раздражающие визуальные артефакты, когда интра-кодированные CU используются в интер-кодированных слайсах, например в слайсах, отличающихся от интра-кодированных слайсов, для некоторых видов контента.

Соответственно, задачей вариантов осуществления является уменьшение таких визуальных артефактов. Эта задача решается путем ограничения использования больших преобразований, например преобразований размера 32×32, для единиц интра-кодирования в интер-кодированных слайсах, например в стандарте HEVC, меньшим размером преобразования, например 16×16. Предпочтительно максимальный размер преобразования для единиц интра-кодирования в интра-кодированных слайсах и/или для единиц интер-кодирования может быть сохранен равным максимальному размеру преобразования, определенному в стандарте HEVC, то есть 32×32, чтобы сохранить эффективность кодирования больших преобразований.

Обычно в видеокодировании, и в частности в стандарте HEVC, единица кодирования (CU) является блоком кодирования отсчетов яркости (свечения), также обозначаемых как пиксели в данной области техники, и двумя соответствующими блоками кодирования отсчетов насыщенности цвета (цветности) изображения, или блоком кодирования отсчетов монохромных изображений, или изображением, которое кодировано с использованием трех раздельных цветных плоскостей. Блок кодирования (CB) представляет собой блок отсчетов (блок пикселей) размера N×N, такой как N×N блок отсчетов яркости размера N×N или блок отсчетов цветности размера N×N.

Единица кодирования может иметь размер в пределах от максимального размера CU, то есть наибольшей единицы кодирования (LCU), такой как 64×64 пикселей или отсчетов, до самого малого размера CU, то есть наименьшей единицы кодирования (SCU), такой как 8×8 пикселей или отсчетов. Единицы кодирования могут быть иерархическим разбиением типа дерева квадрантов, который подразумевает, что данная CU из пикселей может быть разбиением на четыре CU из пикселей, каждая из которых может быть в свою очередь независимо разбита далее на четыре CU и так далее до достижения самого малого размера CU, то есть SCU.

Видеокодирование обычно использует цветовой формат, в котором представляются значения пикселей или отсчеты изображения. Примерами такого цветового формата является цветовой формат красного, зеленого, синего (RGB) и различные форматы яркости+цветности, такие как Y'CrCb, YUV, YIQ, xvYCC, и т.д. Яркость+цветность может быть, например, представлена как Y'CrCb 4:4:4 или, если используется субдискретизация цвета, как например Y'CrCb 4:2:2 или 4:2:0.

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

Соответственно, единица предсказания (PU) является блоком предсказания отсчетов яркости и двумя соответствующими блоками предсказания цветовых отсчетов изображения, или блоком предсказания монохроматического изображения для изображения, которое кодировано с использованием трех отдельных цветовых плоскостей. Блок предсказания (PB) представляет собой блок отсчетов размера M×N, к которому применяется одно предсказание, такой как блок отсчетов яркости размера M×N или блок отсчетов цветности размера M×N.

Это означает, что у каждой PU есть конкретный режим предсказания, то есть режим интра-предсказания или режим интер-предсказания. Режимы интра-предсказания обычно включают в себя так называемый интра-планарный режим, режим интра-DC и множество интра-угловых режимов, определяющих различные направления предсказания. Режимы интер-предсказания обычно включают в себя так называемые режимы 2N×2N, 2N×N, N×2N, 2N×nU, 2N×nD, nL×2N, nR×2N и N×N.

Единица преобразования (TU) является блоком преобразования отсчетов яркости или четырьмя блоками преобразования отсчетов яркости и двумя соответствующими блоками преобразования цветовых отсчетов изображения, или блоком преобразования отсчета яркости, или четырьмя блоками преобразования отсчетов яркости монохроматического изображения, или изображением, которое кодировано с использованием трех отдельных цветовых плоскостей. Блок преобразования (TB) представляет собой блок отсчетов размера M×N, к которому применяется одно и то же преобразование, такой как блок отсчетов яркости размера M×N или блок отсчетов цветности размера M×N.

В данной области техники элемент синтаксиса или кодовое слово log2_min_transform_block_size_minus2 используется для обозначения минимального размера блока преобразования для видеопотока изображений. Это означает, что переменная Log2MinTrafoSize, представляющая минимальный размер блока преобразования, предпочтительно равна log2_min_transform_block_size_minus2+2. Другой элемент синтаксиса или кодовое слово log2_diff_max_min_transform_block_size определяет разность между максимальным размером блока преобразования и минимальным размером блока преобразования. Это означает, что переменная Log2MaxTrafoSize, представляющая максимальный размер блока преобразования для видеопотока, предпочтительно равна log2_min_transform_block_size_minus2+2+log2_diff_max_min_transform_block_size. Максимальный размер преобразования, то есть максимальный размер блока преобразования, в стандарте HEVC составляет 32×32 пикселя или отсчета, соответствуя значению переменной Log2MaxTrafoSize, равному 5. Элементы синтаксиса log2_min_transform_block_size_minus2 и log2_diff_max_min_transform_block_size обычно определяются в наборе параметров последовательности (SPS), и тем самым применяются ко всей последовательности изображений в видеопотоке, относящейся к этому SPS.

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

Фиг. 1 представляет собой блок-схему, иллюстрирующую способ, выполняемый кодером в соответствии с одним вариантом осуществления. Этот способ содержит кодирование кодером на этапе S1 по меньшей мере одного слайса в по меньшей мере одном изображении видеопотока путем использования меньшего максимального размера преобразования для единиц интра-кодирования (CU) в интер-кодируемом слайсе (слайсе P/B) по сравнению с единицами интра-кодирования (CU) в интра-кодируемом слайсе (слайсе I) и/или единицами интер-кодирования (CU).

Таким образом, кодер тем самым позволяет больший максимальный размер преобразования для единиц интер-кодирования, которые присутствуют только в интер-кодированных слайсах, то есть слайсах P и B, и/или для единиц интра-кодирования в интра-кодированных слайсах по сравнению с максимальным размером преобразования для единиц интра-кодирования в интер-кодированных слайсах. Например, предположим, что максимальный размер преобразования для единицы интер-кодирования и/или единицы интра-кодирования в интра-кодируемом слайсе, используемый кодером, равен N1×N1 пикселей или отсчетов, тогда кодер ограничивает максимальный размер преобразования для единиц интра-кодирования в интер-кодируемом слайсе величиной N2×N2 пикселей или отсчетов, где N2<N1. Это означает, что единицы преобразования для единиц интра-кодирования в интер-кодируемом слайсе кодированного видеопотока будут иметь размер, равный или меньше чем N2×N2 пикселей, тогда как единицы преобразования для единиц интер-кодирования и/или единиц интра-кодирования в интра-кодируемом слайсе в кодированном видеопотоке могут иметь размер, равный или меньше чем N1×N1 пикселей.

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

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

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

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

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

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

Фиг. 2 представляет собой блок-схему дополнительной реализации варианта осуществления, показанного на Фиг. 1, в основном путем комбинирования двух описанных выше вариантов. В этой реализации варианта осуществления кодер кодирует на этапе S10 по меньшей мере один слайс путем использования меньшего максимального размера преобразования для единиц интра-кодирования (CU) в интер-кодируемом слайсе (слайсе P/B) по сравнению с единицами интра-кодирования (CU) в интра-кодируемом слайсе (слайсе I), и единицами интер-кодирования (CU).

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

Фиг. 3 представляет собой пример реализации способа, показанного на Фиг. 1. Этот способ содержит кодирование кодером на этапе S20 интер-слайса (слайса P/B) в по меньшей мере одном изображении путем использования максимального размера преобразования 16×16 пикселей (или отсчетов) для единиц интра-кодирования (CU) в интер-слайсе (слайсе P/B). Этап S21 соответственно содержит кодирование кодером слайса в этом по меньшей мере одном изображении путем использования максимального размера преобразования 32×32 пикселя (или отсчета) для единиц интра-кодирования (CU) в интра-слайсе (слайсе I) и/или в единицах интер-кодирования (CU), предпочтительно для единиц интра-кодирования в интра-слайсе и единиц интер-кодирования.

Этап S20 таким образом выполняется тогда, когда кодер кодирует интер-слайс, то есть слайс P или B, изображений в видеопотоке, и в частности при кодировании единиц интра-кодирования в таком интер-слайсе. Этап S21 выполняется кодером при кодировании интра-слайса и при кодировании единиц интер-кодирования в интер-слайсе.

таким образом, этот вариант осуществления ограничивает использование больших преобразований, например преобразований размера 32×32, для единиц интра-кодирования в интер-кодированных слайсах, например в стандарте HEVC, меньшим размером преобразования, например 16×16 в данном примере реализации. Максимальный размер преобразования для единиц интра-кодирования в интра-кодированных слайсах и для единиц интер-кодирования может быть сохранен равным 32×32 для того, чтобы сохранить эффективность кодирования больших преобразований.

В этом примере реализации блоки преобразования для единиц интра-кодирования в интер-кодированных слайсах могут иметь размер 8×8 или 16×16 и опционально 4×4. Соответственно, блоки преобразования для единицы интра-кодирования в интра-кодированных слайсах и единиц интер-кодирования могут иметь размер 8×8, 16×16 или 32×32 и опционально 4×4.

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

Представленные выше примеры максимальных размеров преобразования, то есть 16×16 и 32×32, должны рассматриваться как иллюстративные, но тем не менее предпочтительные примеры. Другие варианты осуществления включают использование максимального размера преобразования 8×8 на этапе S20 и использование максимального размера преобразования 32×32 на этапе S21, или максимального размера преобразования 8×8 на этапе S20 и использование максимального размера преобразования 16×16 на этапе S21. Действительные значения максимальных размеров преобразования не ограничиваются вариантами осуществления при условии, что максимальный размер преобразования, используемый на этапе S20, меньше максимального размера преобразования, используемого на этапе S21.

Фиг. 4 представляет собой блок-схему, иллюстрирующую другой пример реализации способа, показанного на Фиг. 1. Этот способ содержит генерирование кодером на этапе S30 кодированного потока битов, называемого также кодированной видеопоследовательностью или потоком (CVS), с кодированным представлением по меньшей мере одного слайса. На этом этапе S30 кодер генерирует закодированное представление или представления так, чтобы единицы интра-кодирования (CU) закодированного представления интер-слайса (слайса P/B) были ограничены меньшим максимальным размером преобразования по сравнению с единицами интра-кодирования (CU) закодированного представления интра-слайсов (слайсов I) и/или единиц интер-кодирования (CU) закодированного представления интер-слайса (слайса P/B), предпочтительно по сравнению с единицами интра-кодирования закодированного представления интра-слайса и единицами интер-кодирования закодированного представления интер-слайса.

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

Кодирование слайсов 9 в изображениях 8 видеопотока 7, см. Фиг. 27, выполняется путем генерирования кодированного потока битов на основе первоначальных пиксельных значений, то есть значений цвета, таких как значения яркости + цветности, пикселей в изображениях 8 видеопотока 7.

Таким образом, изображение 8 видеопотока 7 организуется в один или несколько слайсов 9, каждый из которых может быть слайсом I, слайсом P или слайсом B. Слайс 9 затем делится на единицы кодирования, каждая из которых может быть иерархически разбита в структуре дерева квадрантов в диапазоне от LCU и возможно до SCU. Фиг. 25 схематически иллюстрирует часть слайса в интра-кодируемом изображении. В этом примере показанная часть слайса делится на четыре LCU, из которых первая LCU разбивается на четыре меньших CU. Каждая из этих семи CU, показанных на Фиг. 25, кодируется с использованием интра-кодирования и режима предсказания, так как слайс является так называемым слайсом I. Фиг. 26 схематически иллюстрирует часть слайса в интер-кодируемом изображении. В этом случае по меньшей мере некоторые из CU могут кодироваться с использованием интер-кодирования и режима предсказания (обозначены как P на чертеже), тогда как другие CU могут кодироваться с использованием интра-кодирования и режима предсказания (обозначены как I на чертеже).

Интер-кодируемая CU может быть разбита на одну или несколько PU, где каждая такая PU имеет режим интер-предсказания. Такая PU обычно кодируется в процедуре оценки движения, включающей предсказание PU из опорной области в опорном изображении видеопотока или из двух опорных областей в двух опорных изображениях видеопотока. Одна или две опорных области находятся в так называемом процессе оценки движения, который выводит один или два вектора движения и опционально один или два индекса опорных изображений, позволяющих идентифицировать одну или две опорные области. Затем вычисляется разность между PU и опорной областью или комбинацией двух опорных областей. Эта разность представляет разность в значениях пикселей или отсчетов между PU и опорной областью или комбинацией двух опорных областей.

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

Интра-кодируемая CU может также быть разбита на одну или несколько PU и на одну или несколько TU. Каждая такая PU имеет режим интра-предсказания, который может быть планарным режимом или режимом DC или одним из доступных направлений предсказания. В последнем случае опорная область в пределах текущего слайса является используемым предсказанием для текущей PU, и разность вычисляется как обсуждено выше. Эта разность затем преобразуется, квантуется и кодируется.

Таким образом, варианты осуществления могут эффективно уменьшать количество видимых блочных артефактов в стандарте HEVC и сохранять эффективность кодирования за счет наличия отдельного максимального размера преобразования для единиц интра-кодирования в интер-кодированных слайсах и других единиц интра-кодирования (в интра-слайсах) и/или единиц интер-кодирования (в слайсах P и B).

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

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

Пример синтаксиса в SPS:

log2_diff_max_min_transform_block_size_intra ue(v)

Пример семантики:

log2_diff_max_min_transform_block_size_intra определяет разность между максимальным и минимальным размером блока преобразования для блока интра-преобразования в слайсах P или B.

log2_diff_max_min_transform_block_size определяет разность между максимальным и минимальным размером блока преобразования.

Для режима интра-предсказания, когда slice_type равен I, или для режимов интер-предсказания переменная Log2MaxTrafoSize устанавливается равной log2_min_transform_block_size_minus2+2+log2_diff_max_min_transform_block_size. В противном случае переменная Log2MaxTrafoSize устанавливается равной log2_min_transform_block_size_minus2+2+log2_diff_max_min_transform_block_size_intra.

Фиг. 5 представляет собой блок-схему, иллюстрирующую дополнительные, необязательные этапы способа, изображенного на Фиг. 1, в соответствии с этим подходом. Способ затем продолжается с этапа S1 на Фиг. 1. Следующий этап S40 включает в себя задание кодером (первой) информации, предпочтительно представленной элементом синтаксиса log2_diff_max_min_transform_block_size, представляющей разность между максимальным и минимальным размером блока преобразования для единиц интра-кодирования в интра-кодируемом слайсе и/или единиц интер-кодирования, предпочтительно для единиц интра-кодирования в интра-кодируемом слайсе и единиц интер-кодирования. Этап S41 соответственно включает в себя задание кодером (второй) информации, предпочтительно представленной элементом синтаксиса log2_diff_max_min_transform_block_size_intra, представляющей разность между максимальным и минимальным размером блока преобразования для единиц интра-кодирова