СПОСОБ УСЛОВНОГО РАЗБИЕНИЯ ВИДЕО И ИЗОБРАЖЕНИЙ НА БЛОКИ БИНАРНОГО ДЕРЕВА ДЛЯ КОДИРОВАНИЯ
METHOD OF CONDITIONAL BREAKDOWN OF VIDEO AND IMAGES INTO BLOCKS OF A BINARY TREE FOR ENCODING

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
Приоритет испрашивается по заявке PCT/CN2015/084062, поданной 15 июля 2015 года, и включенной в качестве ссылки в полном объеме.
ОБЛАСТЬ ТЕХНИКИ
Изобретение в целом относится к обработке изображений и видео. В частности, настоящее изобретение относится к структуре разбиения на блоки с условиями уменьшения или удаления избыточности, связанной со структурой разбиения на блоки кодирования видео и изображений.
УРОВЕНЬ ТЕХНИКИ
Стандарт высокоэффективного кодирования видеоизображений (HEVC) разработан в рамках совместного видеопроекта Группы экспертов по кодированию видеосигнала (VCEG) ITU-T, Экспертной группы по киноизображению организации (MPEG) ISO/IEC, и партнерства, известного как Объединенная совместная группа по видеокодированию (JCT-VC).
В HEVC один фрагмент разбит на несколько блоков дерева кодирования (CTU). В основном профиле минимальные и максимальные размеры CTU определяются синтаксическими элементами в наборе параметров последовательности (SPS). Допустимый размер CTU может составлять 8x8, 16x16, 32x32 или 64x64. Для каждого фрагмента CTU внутри фрагмента обрабатываются в соответствии с порядком растровой развертки.
CTU дополнительно разбивается на несколько блоков кодирования (CU) для адаптации к различным локальным характеристикам. Квадродерево, обозначенное как дерево кодирования, используется для разбиения CTU на несколько CU. Пусть CTU имеет размер MxM, где M является одним из значений 64, 32 или 16. CTU может быть одним CU или может быть разбит на четыре меньших блока равного размера (то есть M/2 x M/2), которые являются узлами дерева кодирования. Если блоки являются конечными узлами дерева кодирования, блоки становятся CU. В противном случае разбиение квадрантов может повторяться до тех пор, пока размер узла не достигнет минимально допустимого размера CU, как указано в SPS. Это представление приводит к рекурсивной структуре, заданной деревом кодирования (также называемой структурой дерева разбиения) 120 на Фиг.1. Разбиение CTU 110 показано на Фиг.1, где сплошные линии обозначают границы CU. Решение о кодировании области изображения с использованием межкадрового (временного) или внутрикадрового (пространственного) предсказания принимается на уровне CU. Поскольку минимальный размер CU может быть 8x8, минимальная степень детализации для переключения между различными базовыми типами предсказания составляет 8x8.
Для каждого CU задается один или несколько блоков предсказания (PU). В сочетании с CU PU работает как основной репрезентативный блок для совместного использования информации предсказания. Внутри каждого PU применяется одно и то же предсказание, и соответствующая информация передается в декодер на основе PU. CU можно разбит на один, два или четыре PU в соответствии с типом разбиения PU. HEVC определяет восемь форм для разбиения CU на PU, как показано на Фиг. 2. В отличие от CU, PU может быть разбит только один раз. Разделы, показанные во второй строке, соответствуют асимметричным разделам, где две части имеют разные размеры.
После получения остаточного блока путем применения предсказания на основе типа разбиения PU, CU можно разбить на единицы преобразования (TU) в соответствии с другой структурой квадрантов, аналогичной дереву кодирования для CU. На Фиг.1 сплошные линии в блоке 110 указывают границы CU, а пунктирные линии в блоке 110 указывают границы TU. Аналогично, сплошные линии для структуры дерева 120 соответствуют структуре дерева разделов CU, а пунктирные линии для структуры дерева 120 соответствуют структуре дерева разделов TU. TU является основным репрезентативным блоком остаточных коэффициентов или коэффициентов преобразования для применения целочисленного преобразования и квантования. Для каждого TU одно целочисленное преобразование с тем же размером применяется к TU для получения остаточных коэффициентов. Эти коэффициенты передаются в декодер после квантования на основе TU.
Термины, блок дерева кодирования (CTB), блок кодирования (CB), блок предсказания (PB) и блок преобразования (TB) определены для задания двухмерного массива выборок одного цветового компонента, связанного с CTU, CU, PU и TU соответственно. Таким образом, CTU состоит из одного CTU яркости, двух CTU цветности и соответствующих синтаксических элементов. Аналогичное соотношение действительно для CU, PU и TU.
Разбиение дерева обычно применяется одновременно как к компонентам яркости, так и цветности, хотя исключения могут применяться при достижении определенных минимальных размеров для компонента цветности.
Однако из-за некоторых условий существующей структуры разбиения блоков HEVC эффективность кодирования может быть недостаточной для соответствия постоянно возрастающим требованиям к увеличению объема хранения и передачи видеоконтента. Условия существующей структуры разбиения блоков HEVC относятся к разбиению на квадранты от CTU до CU и от CU до TU и ограниченной глубине разбиения PU.
Бинарная структура дерева была раскрыта некоторыми общепринятыми изобретателями для разбиения блока на несколько меньших единиц, таких как разбиение кадра на CTU, CTU на CU, CU на PU или CU на TU в патентной заявке № PCT/CN2015/096761.
В структуре разбиения двоичного дерева, раскрытой в патентной заявке № PCT/CN2015/096761, блок может быть рекурсивно разбит на два меньших блока. Существуют различные типы двоичного разбиения, как показано на Фиг. 3. Простейшим является симметричное горизонтальное и вертикальное разбиение, как показано в верхней строке типов разбиения на Фиг.3. Поэтому в одном варианте осуществления патентной заявки № PCT/CN2015/096761 для двоичного разбиения используются только эти два типа. Для заданного блока размера MxN флаг указывает, будет ли блок разбит на два меньших блока. Если да, то другой синтаксический элемент указывает, какой тип разбиения используется. Если используется горизонтальное разбиение, он разбивается на два блока размера MxN/2. В противном случае он вертикально разбивается на два блока размера M/2xN.
Разбиение двоичного дерева может повторяться до тех пор, пока размер (то есть ширина или высота) блока разбиения не достигнет минимально допустимого. Минимальный допустимый размер блока может быть определен в синтаксисе высокого уровня, таком как SPS (набор параметров последовательности). Так как бинарное дерево имеет два типа разбиения (горизонтальное и вертикальное), должны быть указаны минимально допустимые значения как для ширины, так и для высоты блока. Негоризонтальное разбиение предполагается, когда оно должно привести к формированию блока, с высотой меньше указанного минимума. Невертикальное разбиение предполагается, когда должно привести к формированию блока с шириной меньше указанного минимума. Фиг.4 иллюстрирует пример блочного разбиения 410 и его соответствующей бинарной структуры дерева 420. В каждом делении (то есть неконечном) узле двоичной структуры дерева один флаг используется для указания используемого типа разбиения (горизонтального или вертикального), где 0 обозначает горизонтальное разбиение, а 1 – вертикальное.
Предложенную двоичную структуру дерева можно использовать для разбиения блока на несколько меньших блоков, таких как, разбиение кадра на CTU, CTU на CU, CU на PU или CU на TU и т.д. В одном варианте осуществления двоичное дерево используется для разбиения CTU на CU. Другими словами, корневой узел двоичного дерева является CTU, а конечные узлы двоичного дерева – это CU. Конечные узлы дополнительно обрабатываются путем предсказания и кодирования с преобразованием. В другом варианте осуществления последующего разбиения от CU до PU или от CU до TU отсутствует, чтобы упростить разбиение блоков. Это означает, что CU равен PU, а также TU. Поэтому конечные узлы двоичного дерева в этом случае также являются базовым элементом для предсказания и кодирования с преобразованием.
Бинарная структура дерева более гибкая, чем структура квадрантов, поскольку бинарная структура позволяет создавать больше форм разделов, что также является источником улучшения эффективности кодирования. Однако, сложность кодирования также будет увеличиваться из-за увеличения вариантов выбора наилучшей формы раздела. Чтобы сбалансировать сложность и эффективность кодирования, в патентной заявке № PCT/CN2015/096761 раскрывается способ объединения квадрантной и двоичной структуры дерева, которая называется структурой квадрантно-двоичного дерева (QTBT). В примерной структуре QTBT блок сначала разбивается на квадрантную структуру, и квадрантное разбиение может повторяться до тех пор, пока размер блока не достигнет минимально допустимого размера конечного узла квадранта. Если конечный блок квадрадерева не превышает максимально допустимый размер корневого узла двоичного дерева, его можно разбить на двоичную структуру дерева. Разбиение двоичного дерева может повторяться до тех пор, пока размер (то есть ширина или высота) блока не достигнет минимально допустимого для конечного узла двоичного дерева (по ширине или высоте), или глубина двоичного дерева не достигнет максимально допустимой глубины.
В структуре QTBT минимальный допустимый размер конечного узла квадрадерева, максимальный допустимый размер корневого узла двоичного дерева, ширина и высота минимального допустимого конечного узла двоичного дерева, а также максимальная допустимая глубина двоичного дерева могут быть указаны на синтаксисе высокого уровня, таком как SPS. На Фиг.5 приводится пример разбиения блоков 510 и соответствующая структура QTBT 520. Сплошные линии показывают разбиение квадродерева, а пунктирные линии показывают разбиение двоичного дерева. В каждом разбиении (то есть неконечном) узле двоичного дерева один флаг указывает, какой тип разбиения (горизонтальный или вертикальный) используется, где 0 указывает горизонтальное разбиение, а 1 – вертикальное.
Структура QTBT может использоваться для разбиения блока на несколько меньших блоков, как, например, разбиение кадра на CTU, CTU на CU, CU на PU или CU на TU и т.д. В одном варианте осуществления патентной заявки № PCT/CN2015/096761 QTBT используется для разбиения CTU на CU, где корневым узлом QTBT является CTU, который разбит на несколько CU структурой QTBT. CU далее обрабатываются путем предсказания и кодирования с преобразованием. Чтобы упростить процесс, последующее разбиение от CU до PU или от CU до TU отсутствует. Это означает, что каждый CU равен PU, а также TU. Другими словами, конечный узел структуры QTBT является базовой единицей для предсказания и преобразования.
Чтобы проиллюстрировать пример структуры QTBT, системные параметры устанавливаются следующим образом: CTU размером 128x128, разрешенный размер конечного узла квадродерева – 16x16, максимально допустимый размер корневого узла двоичного дерева – 64x64, минимальный разрешенная ширина и высота бинарного дерева - 4, и максимальная разрешенная глубина двоичного дерева – 4. Во-первых, CTU разбивается на структуру квадрадерева, а конечный блок квадрадерева может иметь размер от 16x16 (т. е. минимально допустимый размер конечного узла квадрадерева) до 128x128 (т. е. размер CTU без разбиения). Если конечный блок квадрадерева равен 128x128, его нельзя разбить далее бинарным деревом, так как размер превышает максимально допустимый размер корневого узла двоичного дерева, 64x64. В противном случае конечный блок квадрадерева может быть далее разбит на двоичное дерево, а каждый конечный блок квадрадерева также является корневым блоком двоичного дерева и имеет глубину двоичного дерева равную 0. Когда глубина двоичного дерева достигает 4 (т.е. указанного максимума), последующее разбиение не применимо. Соответственно, когда узел бинарного дерева имеет ширину, равную 4, предполагается негоризонтальное разбиение, а когда узел бинарного дерева имеет высоту, равную 4, предполагается невертикальное разбиение. Конечные узлы QTBT дополнительно обрабатываются путем предсказания (например, внутрикадрового или межкадрового предсказания) и кодирования с преобразованием.
Структура дерева применяется отдельно к яркости и цветности для I-кадра и применяется одновременно как к яркости, так и к цветности для P- и B-кадров, за исключением случаев, когда для компонента цветности достигаются определенные минимальные размеры. Другими словами, в I-кадре, у CTU яркости свое разбиение на блоки QTBT, а у двух CTU цветности другое разбиение на блоки QTBT. Тем не менее, два CTU цветности могут также иметь собственное разбиение на блоки QTBT.
Хотя структура QTBT обеспечивает большую гибкость, она может создавать некоторые избыточные структуры. На Фиг.6А-6С показаны примеры избыточных структур. На Фиг.6А блок разбит на 4 подблока с использованием квадратичного разбиения. На Фиг.6В блок разбит на верхний блок и нижний блок с использованием горизонтального двоичного разбиения, и каждый блок дополнительно разбит на левый блок и правый блок с использованием вертикального двоичного разбиения. На Фиг.6С блок разбит на левый блок и правый блок с использованием вертикального двоичного разбиения, и каждый блок дополнительно разбит на верхний блок и нижний блок с использованием горизонтального двоичного разбиения. Все пути разбиения на Фиг.6А-6С приводят к одному и тому же результату – четырем подблокам.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
Раскрыты способ и устройство разбиения видеоизображения на блоки кодирования или декодирования видеокодером или видеодекодером. В одном варианте осуществления определена структура дерева разбиения, соответствующая условному разбиению текущего блока видеоизображения на один или несколько конечных подблоков. Условное разбиение содержит условное двоичное разбиение, использующее, по меньшей мере, первое условие, если заданный блок структуры дерева разбиения (например, текущий блок) разбит на верхний и нижний блоки, или второе условие, если заданный блок разбивается на левый и правый блоки. Нижний блок не разрешается разбивать на первый нижний левый блок и первый нижний правый блок в соответствии с первым условием, а правый блок не разрешается разбивать на блок второй верхний правый блок и второй нижний правый блок согласно второму условию. Кодирование или декодирование, содержащее предсказание, преобразование или и то, и другое, затем применяется к текущему блоку видеоизображения путем применения кодирования или декодирования на уровне, соответствующем конечным подблокам.
На стороне видеокодера структура дерева разбиения определяется видеокодером, и информация, связанная со структурой дерева разбиения, передается от видеокодера к видеодекодеру. На стороне видеодекодера структура дерева разбиения определяется видеодекодером на основе информации, связанной со структурой дерева разбиения, передаваемой в цифровом потоке. Условное двоичное разбиение может быть применен к заданному блоку рекурсивно для создания двоичных конечных узлов дерева, принадлежащих указанному одному или нескольким конечным подблокам.
В одном варианте осуществления, если для данного блока структуры дерева разбиения разрешены как квадратичный, так и двоичный раздел, условное двоичное разбиение может использовать как первое, так и второе условие. В другом варианте осуществления, если для данного блока структуры дерева разбиения разрешен только двоичный раздел, условное двоичное разбиение использует только первое или только второе условие. Когда условное двоичное разбиение использует второе условие, для левого блока флаг указывает, что он разбит на второй верхний левый блок и второй нижний левый блок, а отсутствие флага указывает, что правый блок разбит на второй верхний правый блок и второй нижний правый блок. Аналогичным образом, когда в условном двоичном разбиении используется первое условие, один флаг указывает, что верхний блок разбит на первый верхний левый блок и первый верхний правый блок, а отсутствие флага указывает, что нижний блок разбит на первый нижний левый блок и первый нижний правый блок.
Независимо от того, использует ли условное двоичное разбиение первое условие, второе условие или оба условия, они могут быть основаны на типе текущего кадра, составляющего текущий блок видеоизображения. Например, условное двоичное разбиение использует только первое или второе условие, если текущий кадр относится к P-кадру или B-кадру, условное двоичное разбиение не использует ни первое, ни второе условие, если текущий кадр относится к I-кадру. В другом примере условное двоичное разбиение использует только первое или второе условие, если текущий кадр относится к I-кадру, условное двоичное разбиение не использует ни первое, ни второе условие, если текущий кадр относится к P -кадру или B-кадру.
Независимо от того, использует ли условное двоичное разбиение первое, второе условие или оба условия, они могут быть основаны на типе компонента цвета текущего блока видеоизображения. Например, условное двоичное разбиение использует только первое или второе условие, если текущий блок видеоизображения является компонентом яркости, условное двоичное разбиение не использует ни первое, ни второе условие, если текущий блок видеоизображения является компонентом цвета. В другом примере условное двоичное разбиение использует только первое или второе условие, если текущий блок видеоизображения является компонентом цветности, условное двоичное разбиение не использует ни первое, ни второе условие, если текущий блок видеоизображения является компонентом яркости.
По меньшей мере, один флаг устанавливается в VPS (набор параметров видео), SPS (набор параметров последовательности), PPS (набор параметров изображения), заголовок кадра или CU (блок кодирования), для указания, будет ли использоваться первое условие, второе или оба для условного двоичного разбиения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 иллюстрирует разбиение CTU на CU и TU с использованием соответствующего квадранта в HEVC (высокоэффективное кодирование видеоизображений).
На Фиг.2 показаны восемь типов разбиения блока CU (блока кодирования) на один или несколько PU (блоков предсказания) в HEVC (высокоэффективное кодирование видеоизображений).
Фиг.3 иллюстрирует возможные типы разбиения для двоичного дерева.
Фиг.4 иллюстрирует пример разбиения на блоки с использованием соответствующего двоичного дерева.
Фиг.5 иллюстрирует пример разбиения на блоки с использованием соответствующего квадрантно-двоичного дерева (QTBT).
Фиг. 6A-6C иллюстрируют примеры избыточной структуры кодирования с помощью различных путей разбиения.
Фиг.7 иллюстрирует пример недопустимого разбиения в нижнем блоке 2NxN согласно варианту осуществления настоящего изобретения.
Фиг.8 иллюстрирует пример недопустимого разбиения в правом блоке Nx2N согласно варианту осуществления настоящего изобретения.
Фиг.9 иллюстрирует блок-схему последовательности операций для примерной системы кодирования, включающей условное двоичное разбиение в соответствии с вариантом осуществления настоящего изобретения.
ПОДРОБНОЕ ОПИСАНИЕ ИЗОБРЕТЕНИЯ
Следующее описание представляет собой наилучший способ применения изобретения. Это описание создано с целью иллюстрации общих принципов изобретения и не должно приниматься в ограниченном смысле. Объем изобретения определен ссылкой на прилагаемую формулу изобретения.
Как упомянуто выше, существует некоторая избыточность в системе кодирования, предполагающей разбиение блоков, включая двоичное разбиение. В частности, для структуры квадрантно-двоичного дерева (QTBT) существует избыточность, которая может привести к потере эффективности кодирования. Для решения проблемы избыточности в системе, использующей двоичную структуру дерева, особенно структуру QTBT, раскрываются способы удаления или сокращения избыточности в двоичной структуре дерева. В одном варианте осуществления, когда блок разбит на верхний блок и нижний блок с использованием горизонтального двоичного разбиения (разбиение 710), и верхний блок разбит на левый и правый блок с использованием вертикального двоичного разбиения (разбиение 720), нижний блок не разрешается разбивать на левый блок и правый блок (разбиение 730 не разрешено). Это условие называется условием I или первым условием в этом раскрытии, как показано на Фиг.7. Например, когда текущий блок разбит на верхний и нижний блок, используется первое условие, если верхний блок разбит на верхний левый блок и верхний правый блок.
В другом варианте осуществления, когда блок разбит на левый и правый блок с использованием вертикального двоичного разбиения (разбиение 810), а левый блок разбит на верхний и нижний блок с использованием горизонтального двоичного разбиения (разбиение 820), то правый блок не может быть разбит на верхний и нижний блок (разбиение 830 не разрешено). Это условие называется условием II или вторым условием в этом раскрытии, как показано на Фиг.8. Например, когда текущий блок разбит на левый и правый блок, используется второе условие, если левый блок разбит на верхний левый блок и нижний левый блок.
Существуют различные способы применения условий I и II в зависимости от блока, который должен быть разбит. Например, когда блок можно разбить на четыре или два подблока (то есть, для этого блока возможны и квадратичное, и двоичное разбиение), применяются оба условия. В другом примере, когда блок можно разбить только на два подблока (т.е. для этого блока разрешено только двоичное разбиение), применяется условие I, а условие II не применяется. В другом случае, когда блок можно разбить только на два подблока, применяется условие II, а условие I не применяется.
Когда применяется условие I, выставляется только один флаг, указывающий режим разбиения для верхнего блока, поскольку нет необходимости подавать сигнал для нижнего блока (согласно условию I, нижний блок не разрешается разбивать на нижний левый блок и нижний правый блок). Флаг указывает, разбит ли дополнительно верхний блок на верхний левый блок и верхний правый блок или нет. Аналогично, когда применяется условие II, один флаг указывает режим разбиения для левого блока. Флаг указывает, разбит ли левый блок дополнительно на верхний левый блок и нижний левый блок или нет. Флаг не требуется для указания режима разбиения правого блока, поскольку правый блок не разрешается разбивать на верхний правый блок и нижний правый блок в соответствии с условием II. В этом варианте осуществления сохраняется флаг для вертикального / горизонтального разбиения в запрещенном случае.
В одном варианте осуществления применение двух условий зависит от типа кадра. Например, условие I можно применить для P/B-кадров, но не для I-кадров. В этом примере условие I используется для блока в P/B-кадре, но не используется для блока в I-кадре. В другом примере условие II может быть применено для P/B-кадра, но не для I-кадра. В этом примере условие II используется для блока в P/B-кадре, но не используется для блока в I-кадре. Условие I можно также применить для I-кадра, но не для P/B-кадре. Аналогично, условие II может применяться для I-кадра, но не для P/B-кадра.
В другом варианте осуществления применение двух условий зависит от компонента цвета. Например, условие I может применяться для компонента яркости, но не для компонента цветности. В этом примере условие I используется для блока яркости, но не используется для блока цветности. В другом примере условие II может применяться для компонента яркости, но не для компонента цветности. В этом примере условие II используется для блока яркости, но не используется для блока цветности. Условие I может также применяться для компонента цветности, но не для компонента яркости. Аналогично, условие II может применяться для компонента цветности, но не для компонента яркости.
В одном варианте осуществления флаг подает сигнал от кодера к декодеру, указывающий, применяется ли условие I. Флаг может подавать сигнал в VPS (набор видеопараметров), SPS (набор параметров последовательности), PPS (набор параметров изображения), заголовок кадра или CU. Аналогично, флаг может подавать сигнал от кодера к декодеру, указывающий, применяется ли условие II. Флаг может подавать сигнал в VPS, SPS, PPS, заголовок кадра или CU. В другом примере флаг может подавать сигнал от кодера к декодеру, указывающий, применяются ли условия I и II.
Фиг.9 иллюстрирует блок-схему последовательности операций для примерной системы кодирования, включающей условное двоичное разбиение в соответствии с вариантом осуществления настоящего изобретения. На основе этого способа данные ввода, связанные с текущим блоком видеоизображения, принимаются на этапе 910. На стороне кодера данные ввода могут соответствовать данным об элементе изображения, подлежащим кодированию или предсказанию, либо остаточным данным, подлежащим обработке посредством преобразования. На стороне декодера данные ввода соответствуют данным кодированного преобразования, которые должны быть преобразованными, либо кодированными данными об элементе изображения, подлежащими раскодированию или предсказанию. Структура дерева разбиения, соответствующая условному разбиению для разбиения текущего блока видеоизображения на один или несколько конечных подблоков, определяется на этапе 920. На своей стороне кодер определяет структуру дерева разбиения на основе, например, атрибута видеоизображения и обозначает информацию, связанную с ним в потоке битов. На своей стороне декодер может определять структуру дерева разбиения на основе информации, связанной со структурой дерева разбиения, обозначенной в потоке битов. Условное двоичное разбиение содержит условное двоичное разбиение, использующее, по меньшей мере, первое условие, если данный блок структуры дерева разбиения (например, текущий блок) разбит на верхний и нижний блок или второе условие, если данный блок структуры дерева разбиения (например, текущий блок) разбит на левый и правый блоки. Нижний блок нельзя разбивать на нижний левый блок и нижний правый блок в соответствии с первым условием, а правый блок нельзя разбивать на верхний правый блок и нижний правый блок в соответствии со вторым условием. Условное двоичное разбиение применяется к заданному блоку (например, текущему блоку) рекурсивно для генерации двоичных конечных узлов дерева, принадлежащих конечным подблокам. Кодирование или раскодирование, содержащее предсказание, преобразование или и то, и другое, применяется к текущему блоку видеоизображения путем применения кодирования или раскодирования на уровне, соответствующем конечным подблокам, как показано на этапе 930.
Представленная блок-схема последовательности операций предназначена для иллюстрации примера видеокодирования на основе настоящего изобретения. Специалист в данной области техники может модифицировать каждую стадию, изменить порядок этапов, разбивать этапы или комбинировать их при применении настоящего изобретения без отступления от его сущности. В описании конкретный синтаксис и семантика были использованы для иллюстрации примеров реализации вариантов осуществления настоящего изобретения. Квалифицированный специалист может использовать настоящее изобретение, заменяя синтаксис и семантику эквивалентным синтаксисом и семантикой без отклонения от сущности настоящего изобретения.
Вышеприведенное описание представлено, чтобы дать возможность специалисту в данной области техники применять настоящее изобретение, как это предусмотрено в контексте конкретного приложения и его требований. Различные модификации описанных вариантов осуществления будут очевидны специалистам, и общие принципы, определенные здесь, могут быть применены к другим вариантам осуществления. Следовательно, настоящее изобретение не ограничивается конкретными вариантами осуществления, показанными и описанными, но должно предоставляться в самом широком объеме, согласующемся с принципами и новыми функциями, раскрытыми в настоящем описании. В приведенном выше полном описании показаны различные конкретные детали, обеспечивающие полное понимание настоящего изобретения. Тем не менее, специалистам будет понятно, как настоящее изобретение может применяться на практике.
Вариант осуществления настоящего изобретения, как описано выше, может быть реализован в различных аппаратных средствах, программных кодах или их комбинации. Например, вариантом осуществления настоящего изобретения может быть одна или несколько схемных цепей, встроенных в микросхему сжатия видеоизображения или программный код, встроенный в программное обеспечение для сжатия видео в целях выполнения обработки, описанной в настоящем документе. Вариантом осуществления настоящего изобретения может быть также программный код, выполняемый на цифровом сигнальном процессоре (DSP) для выполнения описанной здесь обработки. Изобретение также может включать в себя ряд функций, которые должны выполняться процессором компьютера, процессором цифрового сигнала, микропроцессором или программируемой пользователем вентильной матрицей (FPGA). Эти процессоры могут быть сконфигурированы для выполнения конкретных задач в соответствии с изобретением путем выполнения машиночитаемого программного кода или кода прошивки, который определяет конкретные способы, воплощенные в изобретении. Программный код или код прошивки могут быть разработаны на разных языках программирования и в разных форматах или стилях. Код программного обеспечения также может быть скомпилирован для разных целевых платформ. Однако, различные форматы кода, стили и языки программных кодов и другие средства конфигурирования кода для выполнения задач в соответствии с изобретением не будут отходить от сущности и объема изобретения.
Изобретение может быть воплощено в других конкретных формах, не отступая от его смысла или существенных характеристик. Описанные примеры следует рассматривать во всех отношениях только как иллюстративные, а не ограничительные. Следовательно, объем изобретения указан в прилагаемой формуле изобретения, а не в предшествующем описании. Все изменения, которые входят в значение и диапазон эквивалентности формулы изобретения, должны охватываться в пределах их объема.