СПОСОБ И УСТРОЙСТВО ОБРАБОТКИ ВИДЕОСИГНАЛА Российский патент 2023 года по МПК H04N19/503 H04N19/52 H04N19/119 

Описание патента на изобретение RU2795522C2

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

[0001] Настоящее изобретение относится к способу и устройству обработки видеосигнала.

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

[0002] В последнее время в различных областях возросли потребности в изображениях высокого разрешения и высокого качества, например, в изображениях высокой четкости (англ. high definition (HD)) и сверхвысокой четкости (англ. ultra-high definition (UHD)). Однако, чем выше разрешение и качество изображения, тем больше количество данных по сравнению с данными обычного изображения. Поэтому возрастают затраты на передачу и хранение данных изображений при их передаче посредством таких традиционных физических сред, как проводные или беспроводные широкополосные сети, или их хранении на традиционном носителе. Решить проблемы, возникающие в связи с увеличением разрешения и качества данных изображений, позволяют высокоэффективные способы кодирования/декодирования изображений.

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

[0004] С ростом потребностей в изображениях высокого разрешения также возросли потребности в части содержимого стереографических изображений - новой услуги передачи изображений. В настоящее время обсуждается способ сжатия видеоизображений для эффективного создания содержимого стереографического изображения с высоким разрешением и сверхвысоким разрешением.

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

Техническая задача

[0005] Настоящее изобретение направлено на создание способа и устройства для эффективного выполнения межкадрового предсказания для кодируемого/декодируемого целевого блока при кодировании/декодировании видеосигнала.

[0006] Настоящее изобретение направлено на создание способа и устройства для выполнения компенсации движения путем применения множества списков кандидатов на слияние при кодировании/декодировании видеосигнала.

[0007] Настоящее изобретение направлено на создание способа и устройства переупорядочивания кандидатов на слияние при кодировании/декодировании видеосигнала.

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

Техническое решение

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

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

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

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

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

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

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

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

Полезные эффекты

[0017] Настоящее изобретение позволяет повысить эффективность межкадрового предсказания за счет выполнения компенсации движения путем применения множества списков кандидатов на слияние.

[0018] Настоящее изобретение позволяет повысить эффективность межкадрового предсказания за счет получения информации о движении на основе множества кандидатов на слияние.

[0019] Настоящее изобретение позволяет создать способ эффективного кодирования/декодирования индекса слияния за счет переупорядочивания кандидатов на слияние.

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

Краткое описание чертежей

[0021] ФИГ. 1 - блок-схема, иллюстрирующая устройство кодирования видеоинформации по одному из вариантов осуществления настоящего изобретения.

[0022] ФИГ. 2 - блок-схема, иллюстрирующая устройство декодирования видеоинформации по одному из вариантов осуществления настоящего изобретения.

[0023] ФИГ. 3 - схема, иллюстрирующая потенциальный режим разбиения с возможностью применения к блоку кодирования в случае кодирования блока кодирования путем межкадрового предсказания.

[0024] ФИГ. 4 изображает пример иерархического разбиения блока кодирования на основе древовидной структуры в качестве варианта применения настоящего изобретения.

[0025] ФИГ. 5 - схема, иллюстрирующая форму сегмента, при которой разрешено разбиение на основе двоичного дерева, в качестве варианта применения настоящего изобретения.

[0026] ФИГ. 6 иллюстрирует форму разбиения на основе троичного дерева.

[0027] ФИГ. 7 - схема, иллюстрирующая пример, в котором разрешена только конкретная форма разбиения на основе двоичного дерева.

[0028] ФИГ. 8 - схема для раскрытия примера, в котором информацию, относящуюся к разрешенному количеству раз разбиения на основе двоичного дерева, кодируют/декодируют по одному из вариантов осуществления настоящего изобретения.

[0029] ФИГ. 9 - блок-схема способа межкадрового предсказания в качестве варианта применения настоящего изобретения.

[0030] ФИГ. 10 - схема, иллюстрирующая процедуру получения информации о движении текущего блока в случае применения режима слияния к текущему блоку.

[0031] ФИГ. 11 - схема, иллюстрирующая пример пространственного соседнего блока.

[0032] ФИГ. 12 - схема, иллюстрирующая пример получения вектора движения временного кандидата на слияние.

[0033] ФИГ. 13 - схема, иллюстрирующая положение блоков-кандидатов с возможностью применения в качестве совмещенного блока.

[0034] ФИГ. 14 - схема, иллюстрирующая процесс получения информации о движении текущего блока в случае применения режима улучшенного предсказания вектора движения (англ. Advanced Motion Vector Prediction (AMVP)) к текущему блоку.

[0035] ФИГ. 15 - схема, иллюстрирующая пример получения кандидата на слияние на основе второго блока-кандидата на слияние, если первый блок-кандидат на слияние непригоден.

[0036] ФИГ. 16 - схема, иллюстрирующая пример получения кандидата на слияние на основе второго блока-кандидата на слияние, расположенного на той же линии, что и первый блок-кандидат на слияние.

[0037] ФИГ. 17-20 - схемы, иллюстрирующие порядок поиска блоков-кандидатов на слияние.

[0038] ФИГ. 21 - схема, иллюстрирующая пример, в котором кандидата на слияние неквадратного блока получают на основе квадратного блока.

[0039] ФИГ. 22 - схема, иллюстрирующая пример получения кандидата на слияние на основе блока вышестоящего узла.

[0040] ФИГ. 23 - схема, иллюстрирующая пример определения пригодности пространственного соседнего блока по области оценки слияния.

[0041] ФИГ. 24 - схема, иллюстрирующая пример, в котором кандидата на слияние получают на основе области оценки слияния.

[0042] ФИГ. 25 - схема, иллюстрирующая пример определения списка кандидатов на слияние текущего блока на основе индекса слияния соседнего блока.

[0043] ФИГ. 26 и 27 - схемы, иллюстрирующие пример, в котором изменяют порядок кандидатов на слияние.

[0044] ФИГ. 28 - схема, иллюстрирующая пример получения информации о движении текущего блока на основе множества кандидатов на слияние.

[0045] ФИГ. 29 - схема, иллюстрирующая пример получения информации о движении текущего блока из множества кандидатов на слияние.

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

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

[0047] Такие слова как «первый», «второй» и т.п. в тексте описания могут служить для описания различных компонентов, однако их не следует толковать как ограничивающие эти компоненты. Эти слова служат только для проведения различия между одним компонентом и другими компонентами. Например, «первый» компонент может быть назван «вторым» компонентом без отступления от объема настоящего изобретения, при этом «второй» компонент может, аналогичным образом, быть назван «первым» компонентом. Выражение «и/или» означает наличие комбинации множества единиц или любой из множества единиц.

[0048] Если в настоящем раскрытии сказано, что элемент «связан» или «соединен» с другим элементом, это может означать не только то, что этот элемент непосредственно связан или соединен с таким другим элементом, но и то, что между ними может быть еще один элемент. Если сказано, что элемент «непосредственно связан» или «непосредственно соединен» с другим элементом, это значит, что между ними отсутствуют какой-либо другой элемент.

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

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

[0051] ФИГ. 1 - блок-схема, иллюстрирующая устройство кодирования видеоинформации по одному из вариантов осуществления настоящего изобретения.

[0052] Устройство 100 кодирования видеоинформации на ФИГ. 1 может включать в себя: модуль 110 разбиения изображения, модули 120 и 125 предсказания, модуль 130 преобразования, модуль 135 квантования, модуль 160 переупорядочивания, модуль 165 энтропийного кодирования, модуль 140 обратного квантования, модуль 145 обратного преобразования, модуль 150 фильтрации и запоминающее устройство 155.

[0053] Составные части на ФИГ. 1 изображены по отдельности, чтобы представить их характерные функции, отличные друг от друга, в устройстве кодирования видеоинформации. Однако это не означает, что каждая составная часть выполнена в виде составной единицы отдельного аппаратного или программного средства. Иными словами, каждая составная часть условно включает в себя каждую из перечисленных составных частей. То есть по меньшей мере две составные части каждой составной части могут быть объединены с образованием одной составной части или одна составная часть может быть поделена на множество составных частей для выполнения каждой функции. Варианты осуществления, в которых каждая составная часть является объединенной или одна составная часть является поделенной, также входят в объем настоящего изобретения, если это не является отступлением от его сущности.

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

[0055] Модуль 110 разбиения изображения выполнен с возможностью разбиения вводного изображения на одну или несколько единиц обработки. В данном случае, единица обработки может представлять собой единицу предсказания (ЕП, англ. prediction unit (PU)), единицу преобразования (ЕПр, англ. transform unit (TU)) или единицу кодирования (ЕК, англ. coding unit (CU)). Модуль 110 разбиения изображения выполнен с возможностью разбиения одного изображения на комбинации нескольких единиц кодирования, единиц предсказания и единиц преобразования и с возможностью кодирования изображения путем выбора одной комбинации единиц кодирования, единиц предсказания и единиц преобразования по заранее заданному критерию (например, функции стоимости).

[0056] Например, одно изображение можно разбить на несколько единиц кодирования. Разбиение изображения на единицы кодирования можно осуществлять посредством рекурсивно-древовидной структуры, например, квадродревовидной структуры. Единицу кодирования, разбиваемую на другие единицы кодирования, с одним изображением или наибольшую единицу кодирования в качестве корня можно разбить посредством дочерних узлов, соответствующих числу разбитых единиц кодирования. Единица кодирования, не разбиваемая далее при достижении заранее определенного предела, служит в качестве листового узла. То есть, если для одной единицы кодирования возможно только квадратное разбиение, одну единицу кодирования можно разбить не более чем на четыре другие единицы кодирования.

[0057] Далее по тексту описания варианта осуществления настоящего изобретения «единица кодирования» может означать единицу выполнения кодирования или единицу выполнения декодирования.

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

[0059] Если единица предсказания для внутрикадрового предсказания сгенерирована на основе единицы кодирования, а единица кодирования не является наименьшей единицей кодирования, внутрикадровое предсказание можно осуществлять без разбиения единицы кодирования на несколько единиц предсказания N×N.

[0060] В число модулей 120 и 125 предсказания могут входить модуль 120 межкадрового предсказания, осуществляющий межкадровое предсказание, и модуль 125 внутрикадрового предсказания, осуществляющий внутрикадровое предсказание. Можно определить то, какое предсказание - межкадровое или внутрикадровое - следует выполнить в отношении данной единицы предсказания, а также детальную информацию (например, режим внутрикадрового предсказания, вектор движения, опорное изображение и т.п.) в зависимости от способа предсказания. В данном случае единица обработки для предсказания может быть отлична от единицы обработки, для которой определяют способ предсказания и детальное содержание. Например, способ предсказания, режим предсказания и т.п. можно определять для единицы предсказания, а предсказание выполнять в отношении единицы преобразования. Остаточное значение (остаточный блок), представляющее собой разность между сгенерированным блоком предсказания и исходным блоком, можно ввести в модуль 130 преобразования. Кроме того, информацию о режиме предсказания, информацию о векторе движения и т.п., используемую для предсказания, можно закодировать с остаточным значением посредством модуля 165 энтропийного кодирования и передать в устройство декодирования видеоинформации. При применении того или иного режима кодирования, передачу в устройство декодирования видеоинформации можно осуществлять, кодируя исходный блок как таковой, без генерирования блока предсказания посредством модулей 120 и 125 предсказания.

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

[0062] Модуль интерполяции опорного изображения выполнен с возможностью приема информации опорного изображения из запоминающего устройства 155 и генерирования информации о целочисленном пикселе или пикселе меньше целочисленного из опорного изображения. В случае пикселей яркости, возможно применение 8-отводного интерполяционного фильтра на основе дискретного косинусного преобразования (ДКП, англ. discrete cosine transform (DCT)) с разными коэффициентами фильтра для генерирования информации о целочисленном пикселе или пикселе меньше целочисленного в единицах, составляющих 1/4 пикселя. В случае сигналов цветности, возможно применение 4-отводного интерполяционного фильтра на основе ДКП с другим коэффициентом фильтра для генерирования информации о целочисленном пикселе или пикселе меньше целочисленного в единицах, составляющих 1/8 пикселя.

[0063] Модуль предсказания движения выполнен с возможностью предсказания движения на основе опорного изображения, интерполированного модулем интерполяции опорного изображения. Возможно применение различных способов вычисления вектора движения, например, алгоритма сопоставления блоков с полным поиском (англ. full search-based block matching algorithm (FBMA)), трехступенчатого поиска (англ. three step search (TSS)), алгоритма нового трехступенчатого поиска (англ. new three-step search algorithm (NTS)) и т.п. Вектор движения может иметь значение вектора движения в единицах, составляющих 1/2 пикселя или 1/4 пикселя в зависимости от интерполированного пикселя. Модуль предсказания движения выполнен с возможностью предсказания для текущей единицы предсказания путем изменения способа предсказания движения. Возможно применение различных способов предсказания движения, например, способа пропуска, способа слияния, способа AMVP (улучшенного предсказания вектора движения), способа внутриблокового копирования и т.п.

[0064] Модуль 125 внутрикадрового предсказания выполнен с возможностью генерирования единицы предсказания на основе опорной информации о пикселях по соседству с текущим блоком, т.е. информации о пикселях в текущем изображении. Если соседний блок текущей единицы предсказания является блоком-объектом межкадрового предсказания, в связи с чем опорный пиксель является пикселем-объектом межкадрового предсказания, опорный пиксель, входящий в состав блока-объекта межкадрового предсказания, можно заменить опорной информацией о пикселях соседнего блока-объекта внутрикадрового предсказания. То есть, если опорный пиксель непригоден, по меньшей мере один опорный пиксель из пригодных опорных пикселей можно использовать вместо непригодной опорной информации о пикселях.

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

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

[0067] Согласно способу внутрикадрового предсказания, блок предсказания можно сгенерировать после применения фильтра ABC (адаптивного внутреннего сглаживания, англ. Adaptive Intra Smoothing (AIS)) к опорному пикселю в зависимости от режимов предсказания. К опорному пикселю можно применять фильтры ABC разных типов. Для выполнения способа внутрикадрового предсказания, режим внутрикадрового предсказания текущей единицы предсказания можно предсказывать по режиму внутрикадрового предсказания единицы предсказания по соседству с текущей единицей предсказания. При предсказании режима предсказания текущей единицы предсказания путем применения информации о режиме, предсказанной по соседней единице предсказания, если режим внутрикадрового предсказания текущей единицы предсказания является тем же, что и режим внутрикадрового предсказания соседней единицы предсказания, для передачи информации, указывающей, что режимы предсказания текущей единицы предсказания и соседней единицы предсказания одинаковы, можно использовать заранее определенную сигнальную информацию. Если режим предсказания текущей единицы предсказания отличен от режима предсказания соседней единицы предсказания, можно выполнить энтропийное кодирование для кодирования информации о режиме предсказания текущего блока.

[0068] Кроме того, можно сгенерировать остаточный блок, включающий в себя информацию об остаточном значении, представляющем собой разность между единицей предсказания - объектом предсказания и исходным блоком единицы предсказания, на основе единиц предсказания, сгенерированных модулями 120 и 125 предсказания. Сгенерированный остаточный блок можно ввести в модуль 130 преобразования.

[0069] Модуль 130 преобразования выполнен с возможностью преобразования остаточного блока, включающего в себя информацию об остаточном значении, представляющем собой разность между исходным блоком и единицей предсказания, сгенерированной модулями 120 и 125 предсказания, путем применения способа преобразования, например, дискретного косинусного преобразования (ДКП), дискретного синусного преобразования (ДСП, англ. discrete sine transform (DST)) и преобразования Карунена-Лоэва (ПКЛ, англ. Karhunen-Loeve transform (KLT)). To, какой из способов - ДКП, ДСП или ПКЛ - применить для преобразования остаточного блока, можно определять в зависимости от информации о режиме внутрикадрового предсказания единицы предсказания, применяемой для генерирования остаточного блока.

[0070] Модуль 135 квантования выполнен с возможностью квантования значений, преобразованных в частотную область модулем 130 преобразования. Возможно применение разных коэффициентов квантования в зависимости от блока или важности изображения. Значения, вычисленные модулем 135 квантования, можно вводить в модуль 140 обратного квантования и модуль 160 переупорядочивания.

[0071] Модуль 160 переупорядочивания выполнен с возможностью переупорядочивания коэффициентов квантованных остаточных значений.

[0072] Модуль 160 переупорядочивания выполнен с возможностью видоизменения коэффициента в форме двумерного блока в коэффициент в форме одномерного вектора способом считывания коэффициентов. Например, модуль 160 переупорядочивания выполнен с возможностью считывания в диапазоне от коэффициента прямого кодирования (англ. DC - Direct coding) до коэффициента в высокочастотной области способом зигзагообразного считывания для видоизменения коэффициентов в форму одномерных векторов. В зависимости от размера единицы преобразования и режима внутрикадрового предсказания, вместо зигзагообразного считывания возможно считывание в вертикальном направлении, при котором коэффициенты в форме двумерных блоков считывают в направлении столбца, или считывания в горизонтальном направлении, при котором коэффициенты в форме двумерных блоков считывают в направлении строки. Таким образом, способ считывания - зигзагообразное считывание, считывание в вертикальном направлении или считывание в горизонтальном направлении - для применения можно определять в зависимости от размера единицы преобразования и режима внутрикадрового предсказания.

[0073] Модуль 165 энтропийного кодирования выполнен с возможностью выполнения энтропийного кодирования на основе значений, вычисленных модулем 160 переупорядочивания. При энтропийном кодировании возможно применение различных способов кодирования, например, экспоненциального кодирования Голомба, контекстно-зависимого адаптивного кодирования с переменной длиной кодового слова (англ. context-adaptive variable length coding (CAVLC)) и контекстно-зависимого двоичного арифметического кодирования (англ. context-adaptive binary arithmetic coding (CABAC)).

[0074] Модуль 165 энтропийного кодирования выполнен с возможностью кодирования разнообразной информации, например, информации о коэффициенте остаточного значения и информации о типе блока единицы кодирования, информации о режиме предсказания, информации о единице разбиения, информации о единице предсказания, информации о единице преобразования, информации о векторе движения, информация об опорном кадре, информации об интерполяции блока, информации о фильтрации и т.п. от модуля 160 переупорядочивания и модулей 120 и 125 предсказания.

[0075] Модуль 165 энтропийного кодирования выполнен с возможностью энтропийного кодирования коэффициентов единицы кодирования, введенных из модуля 160 переупорядочивания.

[0076] Модуль 140 обратного квантования выполнен с возможностью обратного квантования значений, квантованных модулем 135 квантования, а модуль 145 обратного преобразования - с возможностью обратного преобразования значений, преобразованных модулем 130 преобразования. Остаточное значение, сгенерированное модулем 140 обратного квантования и модулем 145 обратного преобразования, можно скомбинировать с единицей предсказания, предсказанной модулем оценки движения, модулем компенсации движения и модулем внутрикадрового предсказания модулей 120 и 125 предсказания, с возможностью генерирования восстановленного блока.

[0077] Модуль 150 фильтрации может включать в себя по меньшей мере одно из следующего: фильтр удаления блочности, узел коррекции смещения и адаптивный контурный фильтр (АКФ, англ. adaptive loop filter (ALF)).

[0078] Фильтр удаления блочности выполнен с возможностью устранений видимой блочности структуры ТВ-изображения, обусловленной наличием границ между блоками в восстановленном изображении. Основанием для определения того, нужно ли выполнить удаление блочности, т.е. нужно ли применить фильтр удаления блочности к текущему блоку, могут служить пиксели, входящие в несколько строк или столбцов в блоке. Применение фильтра удаления блочности к блоку может включать в себя применение строгого фильтра или нестрогого фильтра в зависимости от нужной строгости фильтрации для удаления блочности. Кроме того, при применении фильтра удаления блочности, обработка горизонтальной фильтрации и вертикальной фильтрации может происходить параллельно.

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

[0080] Адаптивную контурную фильтрацию (АКФ) можно выполнять на основе значения, определенного путем сравнения отфильтрованного восстановленного изображения и исходного изображения. Пиксели, входящие в состав изображения, можно поделить на заранее определенные группы, определить фильтр для применения к каждой из групп и выполнить фильтрацию индивидуально для каждой группы. Передача информации о том, применять ли АКФ, и сигнала яркости может происходить посредством единицы кодирования (ЕК). Форма и коэффициент фильтра для АКФ могут быть разными для каждого блока. Кроме того, возможно применение фильтра для АКФ одной и той же формы (постоянной формы) независимо от назначения целевого блока.

[0081] Запоминающее устройство 155 выполнено с возможностью хранения восстановленного блока или изображения, вычисленного посредством модуля 150 фильтрации. Сохраненный восстановленный блок или изображение могут быть введены в модули 120 и 125 предсказания при выполнении межкадрового предсказания.

[0082] ФИГ. 2 - блок-схема, иллюстрирующая устройство декодирования видеоинформации по одному из вариантов осуществления настоящего изобретения.

[0083] Устройство 200 декодирования видеоинформации на ФИГ. 2 может включать в себя: модуль 210 энтропийного декодирования, модуль 215 переупорядочивания, модуль 220 обратного квантования, модуль 225 обратного преобразования, модули 230 и 235 предсказания, модуль 240 фильтрации и запоминающее устройство 245.

[0084] Когда происходит ввод битового видеопотока от устройства кодирования видеоинформации, процесс декодирования входного битового потока может быть обратен тому, что происходит в устройстве кодирования видеоинформации.

[0085] Модуль 210 энтропийного декодирования выполнен с возможностью осуществления процесса энтропийного декодирования, обратного процессу энтропийного кодирования модулем энтропийного кодирования устройства кодирования видеоинформации. Например, возможно применение таких способов, как экспоненциальное кодирование Голомба, контекстно-зависимое адаптивное кодирование с переменной длиной кодового слова (CAVLC) и контекстно-зависимое двоичное арифметическое кодирование (САВАС), в соответствии со способами, выполняемыми устройством кодирования видеоинформации.

[0086] Модуль 210 энтропийного декодирования выполнен с возможностью декодирования информации, относящейся к внутрикадровому предсказанию и межкадровому предсказанию, выполняемым устройством кодирования видеоинформации.

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

[0088] Модуль 220 обратного квантования выполнен с возможностью обратного квантования на основе параметра квантования, полученного от устройства кодирования видеоинформации, и переупорядоченных коэффициентов блока.

[0089] Модуль 225 обратного преобразования выполнен с возможностью обратного преобразования, т.е. обратного ДКП, обратного ДСП и обратного ПКЛ - процессов, обратных процессам преобразования, т.е. ДКП, ДСП и ПКЛ, выполняемым модулем преобразования в отношении результата квантования устройством кодирования видеоинформации. Обратное преобразование можно выполнять на основе единицы преобразования, определенной устройством кодирования видеоинформации. Модуль 225 обратного преобразования устройства декодирования видеоинформации может выборочно выполнять схемы преобразования (например, ДКП, ДСП и ПКЛ) с учетом множества сведений, например, способа предсказания, размера текущего блока, направления предсказания и т.п.

[0090] Модули 230 и 235 предсказания выполнены с возможностью генерирования блока предсказания на основе информации о генерировании блока предсказания, полученной от модуля 210 энтропийного декодирования и информации о ранее декодированном блоке или изображении, полученной из запоминающего устройства 245.

[0091] Аналогично работе устройства кодирования видеоинформации, раскрытой выше, если при выполнении внутрикадрового предсказания размер единицы предсказания тождествен размеру единицы преобразования, внутрикадровое предсказание в отношении единицы предсказания можно выполнять на основе пикселей, расположенных слева, слева сверху и сверху от единицы предсказания. Если при выполнении внутрикадрового предсказания размер единицы предсказания отличен от размера единицы преобразования, внутрикадровое предсказание можно выполнять с использованием опорного пикселя на основе единицы преобразования. Кроме того, внутрикадровое предсказание с разбиением N×N можно применять только в отношении наименьшей единицы кодирования.

[0092] Модули 230 и 235 предсказания могут включать в себя модуль определения единицы предсказания, модуль межкадрового предсказания и модуль внутрикадрового предсказания. Модуль определения единицы предсказания выполнен с возможностью приема разнообразной информации, например, информации о единице предсказания, информации о режиме предсказания способа внутрикадрового предсказания, информации о предсказании движения способа межкадрового предсказания и т.п. от модуля 210 энтропийного декодирования, с возможностью деления текущей единицы кодирования на единицы предсказания и определения того, какое именно предсказание - межкадровое или внутрикадровое - выполняют в отношении единицы предсказания. Применении информации, нужной для межкадрового предсказания текущей единицы предсказания, принятой от устройства кодирования видеоинформации, обеспечивает возможность выполнения модулем 230 межкадрового предсказания межкадрового предсказания в отношении текущей единицы предсказания на основе информации по меньшей мере одного из изображений - предшествующего текущему изображению, содержащему текущую единицу предсказания, или следующего за ним. В качестве альтернативы, межкадровое предсказание можно выполнять на основе информации некоторых заранее восстановленных областей в текущем изображении, содержащем текущую единицу предсказания.

[0093] Для выполнения межкадрового предсказания можно определять, какой из режимов - режим пропуска, режим слияния, режим улучшенного предсказания вектора движения (AMVP) или режим внутриблокового копирования - используется для единицы кодирования в качестве способа предсказания движения единицы предсказания, входящей в состав единицы кодирования.

[0094] Модуль 235 внутрикадрового предсказания выполнен с возможностью генерирования блока предсказания на основе информации о пикселях в текущем изображении. Если единица предсказания представляет собой единицу предсказания - объект внутрикадрового предсказания, внутрикадровое предсказание можно выполнять на основе информации о режиме внутрикадрового предсказания единицы предсказания, принятой от устройства кодирования видеоинформации. Модуль 235 внутрикадрового предсказания может включать в себя фильтр адаптивного внутреннего сглаживания (ABC), модуль интерполяции опорного пикселя и фильтр прямого кодирования. Фильтр ABC осуществляет фильтрацию в отношении опорного пикселя текущего блока, при этом определять то, нужно ли применить данный фильтр, можно в зависимости от режима предсказания текущей единицы предсказания. Фильтрацию с ABC в отношении опорного пикселя текущего блока можно выполнять путем применения информации о режиме предсказания единицы предсказания и фильтре ABC, принятой от устройства кодирования видеоинформации. Если режим предсказания текущего блока представляет собой режим без применения фильтра ABC, фильтр ABC можно не применять.

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

[0096] Восстановленный блок или изображение можно ввести в модуль 240 фильтрации. Модуль 240 фильтрации может включать в себя фильтр удаления блочности, модуль коррекции смещения и АКФ.

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

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

[0099] АКФ можно применять к единице кодирования на основе информации о том, нужно ли применять АКФ, информации о коэффициенте АКФ и т.п., принятой от устройства кодирования видеоинформации. Информация об АКФ может быть предоставлена в составе особого набора параметров.

[00100] Запоминающее устройство 245 выполнено с возможностью хранения восстановленного изображения или блока для применения в качестве опорного изображения или блока и предоставления восстановленного изображения в модуль вывода.

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

[00102] Кроме того, текущий блок может представлять собой целевой блок, подлежащий кодированию/декодированию. Текущий блок также может представлять собой блок дерева кодирования (или единицу дерева кодирования), блок кодирования (или единицу кодирования), блок преобразования (или единицу преобразования), блок предсказания (или единицу предсказания) или нечто подобное в зависимости от этапа кодирования/декодирования. В настоящем описании слово «единица» может означать базовую единицу для выполнения конкретного процесса кодирования/декодирования, а «блок» может означать массив отсчетов заранее определенного размера. Если особо не указано иное, слова «блок» и «единица» могут употребляться в одинаковом значении. В приведенном ниже примере можно понять, что «блок кодирования» и «единица кодирования» имеют одинаковое значение.

[00103] Кодирование/декодирование одного изображения можно осуществлять путем деления на базовые блоки квадратной или неквадратной формы. На данном этапе базовый блок может именоваться «единица дерева кодирования». Единицу дерева кодирования можно охарактеризовать как единицу кодирования наибольшего размера, разрешенного в пределах последовательности или сектора. Информацию о том, имеет ли единица дерева кодирования квадратную форму или неквадратную форму, или информацию о размере единицы дерева кодирования можно сообщать посредством набора параметров последовательности, набора параметров изображения или заголовка сектора. Единицу дерева кодирования можно поделить на сегменты меньшего размера. На данном этапе глубину разбиения в результате деления единицы дерева кодирования принимают равной 1, при этом глубину разбиения в результате деления сегмента с глубиной 1 можно принять равной 2. То есть глубину сегмента, сгенерированного путем деления сегмента с глубиной k в единице дерева кодирования, можно определить как k+1.

[00104] Сегмент произвольного размера, сгенерированный путем деления единицы дерева кодирования, можно охарактеризовать как «единицу кодирования». Единицу кодирования можно рекурсивно делить или делить на базовые единицы для выполнения предсказания, квантования, преобразования или внутри контурной фильтрации и т.п. Например, сегмент произвольного размера, сгенерированный путем деления единицы кодирования, можно охарактеризовать как единицу кодирования, или единицу преобразования, или единицу предсказания, представляющую собой базовую единицу для выполнения предсказания, квантования, преобразования или внутриконтурной фильтрации и т.п.

[00105] В качестве альтернативы, блок предсказания того же размера, что и блок кодирования, или меньшего размера, чем блок кодирования, можно определять путем разбиения блока кодирования для предсказания. Для разбиения блока кодирования для предсказания можно указать любой из потенциальных режимов разбиения (Part_mode), форма которого соответствует форме разбиения блока кодирования. Информацию для определения индекса разбиения, указывающего любой из потенциальных режимов разбиения, можно сообщать посредством битового потока. В качестве альтернативы, индекс разбиения блока кодирования можно определять на основе по меньшей мере одного из следующего: размера, формы или режима кодирования блока кодирования. Размер или форму блока предсказания можно определять на основе режима разбиения, указанного индексом разбиения. В число потенциальных режимов разбиения могут входить те, что имеют асимметричную форму разбиения (например, nL×2N, nR×2N, 2N×nU, 2N×nD). Число и тип асимметричных потенциальных режимов разбиения, пригодных для блока кодирования, можно определять на основе по меньшей мере одного из следующего: размера, формы или режима кодирования блока кодирования.

[00106] ФИГ. 3 - схема, иллюстрирующая потенциальный режим разбиения с возможностью применения к блоку кодирования в случае кодирования блока кодирования путем межкадрового предсказания.

[00107] В случае кодирования блока кодирования путем межкадрового предсказания, к блоку кодирования можно применить любой из 8 потенциальных режимов разбиения на ФИГ. 3.

[00108] При этом, в случае кодирования блока кодирования путем внутрикадрового предсказания, к блоку кодирования можно применить только разбиение на квадраты. Иными словами, в случае кодирования блока кодирования путем внутрикадрового предсказания, к блоку кодирования можно применить режим разбиения PART_2N×2N или PART_N×N.

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

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

[00111] В качестве альтернативы, тип или число асимметричных потенциальных режимов разбиения, пригодных для блока кодирования, можно определять в зависимости от размера или формы блока кодирования. Число или тип асимметричных потенциальных режимов разбиения, пригодных для блока кодирования, можно определять по-разному в зависимости от, по меньшей мере, размера или формы блока кодирования. В одном примере, если блок кодирования имеет неквадратную форму, при которой ширина больше высоты, то по меньшей мере один из следующих: PART_2N×N, PART_2N×nU или PART_2N×nD не может быть потенциальным режимом разбиения блока кодирования. Если блок кодирования имеет неквадратную форму, при которой высота больше ширины, по меньшей мере один из следующих: PART_N×2N, PART_nL×2N, PART_nR×2N не может быть потенциальным режимом разбиения блока кодирования.

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

[00113] Блок кодирования можно рекурсивно разбивать в соответствии с режимом разбиения. Иными словами, в соответствии с режимом разбиения, определенном индексом разбиения, блок кодирования можно разбить, а каждый сегмент, сгенерированный путем разбиения блока кодирования, можно задать в качестве блока кодирования.

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

[00115] Единицу кодирования можно разбить по меньшей мере одной линией. В этом случае угол линии, разбивающей единицу кодирования, может составлять значение в диапазоне от 0 до 360 градусов. Например, угол горизонтальной линии может составлять 0 градусов, угол вертикальной линии может составлять 90 градусов, угол диагональной линии в направлении вправо вверх может составлять 45 градусов, а угол диагональной линии в направлении влево вверх - 135 градусов.

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

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

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

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

[00120] В случае разбиения единицы кодирования на множество сегментов посредством по меньшей мере одной вертикальной линии или по меньшей мере одной горизонтальной линии, размер сегментов может быть единообразным. В качестве альтернативы, размер одного сегмента может быть отличен от размеров других сегментов, либо размеры всех сегментов могут быть отличны друг от друга. В одном примере, в случае разбиения единицы кодирования двумя горизонтальными линиями или двумя вертикальными линиями, единицу кодирования можно разбить на 3 сегмента. В этом случае соотношение ширины или высоты 3 сегментов может составлять n:2n:n, 2n:n:n или n:n:2n.

[00121] В нижеследующих примерах разбиение блока кодирования на 4 сегмента именуется «разбиение на основе квадродерева». При этом разбиение блока кодирования на 2 сегмента именуется «разбиение на основе двоичного дерева». Разбиение блока кодирования на 3 сегмента именуется «разбиение на основе троичного дерева».

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

[00123] ФИГ. 4 изображает пример иерархического разбиения блока кодирования на основе древовидной структуры в качестве варианта применения настоящего изобретения

[00124] Входной видеосигнал декодируют в заранее определенной единице блока, при этом базовая единица для декодирования входного видеосигнала именуется «блок кодирования». Блок кодирования может представлять собой единицу выполнения внутри-/межкадрового предсказания, преобразования и квантования. Кроме того, режим предсказания (например, режим внутрикадрового предсказания или режим межкадрового предсказания) можно определять в единице блока кодирования, при этом для блоков предсказания, входящих в блок кодирования, возможно применение одного и того же определенного режима предсказания. Блок кодирования может представлять собой квадратный или неквадратный блок произвольного размера в диапазоне от 8×8 до 64×64, либо квадратный или неквадратный блок размером 128×128, 256×256 или более.

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

[00126] Сегменты, генерируемые путем разбиения на основе двоичного дерева, могут быть симметричными или асимметричными. Кроме того, блок кодирования, разбитый на основе двоичного дерева, может представлять собой квадратный блок или неквадратный блок (например, прямоугольник).

[00127] ФИГ. 5 - схема, иллюстрирующая форму разбиения блока кодирования на основе двоичного дерева. Форма разбиения блока кодирования на основе двоичного дерева быть симметричного типа, например, 2N×N (единица кодирования, неквадратная в горизонтальном направлении) или N×2N (единица кодирования, неквадратная в вертикальном направлении) и т.п., или асимметричного типа, например, nL×2N, nR×2N, 2N×nU или 2N×nD и т.п. Только один из типов - симметричный или асимметричный - может быть разрешен в качестве формы разбиения блока кодирования.

[00128] Форма разбиения на основе троичного дерева может включать в себя по меньшей мере одну из следующих форм: форму разбиение блока кодирования на 2 вертикальные линии или форму разбиения блока кодирования на 2 горизонтальные линии. 3 неквадратных сегмента можно сгенерировать путем разбиения на основе троичного дерева.

[00129] ФИГ. 6 иллюстрирует форму разбиения на основе троичного дерева.

[00130] Форма разбиения на основе троичного дерева может представлять собой форму разбиения блока кодирования на 2 горизонтальные линии или форму разбиения блока кодирования на 2 вертикальные линии. Соотношение ширины или высоты сегментов, сгенерированных путем разбиения блока кодирования, может составлять n:2n:n, 2n:n:n или n:n:2n.

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

[00132] Разрешенными формами разбиения для единицы кодирования могут быть только квадратная и неквадратная симметричная формы. В этом случае разбиение единицы кодирования на квадратные сегменты может соответствовать разбиению ЕК на основе квадродерева, а разбиение единицы кодирования на неквадратные сегменты симметричной формы может соответствовать разбиению на основе двоичного дерева. Разбиение единицы дерева кодирования на квадратные сегменты и неквадратные сегменты симметричной формы может соответствовать разбиению ЕК на основе квадродерева и двоичного дерева (КДДД, англ. QTBT).

[00133] Разбиение на основе двоичного дерева или троичного дерева можно осуществлять для блока кодирования, в котором не выполняют дальнейшее разбиение на основе квадродерева. Блок кодирования, сгенерированный путем разбиения на основе двоичного дерева или троичного дерева, можно разбить на более мелкие блоки кодирования. В этом случае может не быть разрешено применение по меньшей мере одного из следующего: разбиения на основе квадродерева, разбиения на основе троичного дерева или разбиения на основе двоичного дерева к блоку кодирования. В качестве альтернативы, для блока кодирования может не быть разрешено разбиение на основе двоичного дерева в заранее определенном направлении или разбиение на основе троичного дерева в заранее определенном направлении. В одном примере может быть не быть разрешено разбиение на основе квадродерева и разбиение на основе троичного дерева для блока кодирования, сгенерированного путем разбиения на основе двоичного дерева или троичного дерева. Для такого блока кодирования может быть разрешено только разбиение на основе двоичного дерева.

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

[00135] Форму разбиения сегмента более низкой глубины можно определять в зависимости от формы разбиения сегмента более высокой глубины. В одном примере, в случае разбиения верхнего сегмента и нижнего сегмента на основе двоичного дерева, для сегмента более низкой глубины может быть разрешено только разбиение на основе двоичного дерева в той же форме, что и разбиение сегмента более высокой глубины на основе двоичного дерева. Например, если форма разбиения сегмента более высокой глубины на основе двоичного дерева представляет собой 2N×N, для сегмента более низкой глубины также может быть задана форма разбиения на основе двоичного дерева 2N×N. В качестве альтернативы, если форма разбиения сегмента более высокой глубины на основе двоичного дерева представляет собой N×2N, для сегмента более низкой глубины также может быть задана форма разбиения N×2N.

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

[00137] В качестве альтернативы, форму разбиения сегмента более низкой глубины можно определять с учетом формы разбиения сегмента более высокой глубины и формы разбиения соседнего сегмента более низкой глубины. А именно, если разбиение сегмента более высокой глубины осуществляют на основе двоичного дерева, форму разбиения сегмента более низкой глубины можно определять так, чтобы не был получен тот же результат, что и в результате разбиения сегмента более высокой глубины на основе квадродерева. В одном примере, если форма разбиения сегмента более высокой глубины представляет собой 2N×N, а форма разбиения соседнего сегмента более низкой глубины представляет собой N×2N, нельзя задать форму разбиения текущего сегмента более низкой глубины в виде N×2N. Это обусловлено тем, что, если форма разбиения текущего сегмента более низкой глубины представляет собой N×2N, то будет определен тот же результат, что и в результате разбиения сегмента более высокой глубины на основе квадродерева формы N×N. Если форма разбиения сегмента более высокой глубины представляет собой N×2N, а форма разбиения соседнего сегмента более низкой глубины - 2N×N, нельзя задать форму разбиения текущего сегмента более низкой глубины в виде 2N×N. Иными словами, если форма разбиения сегмента более высокой глубины на основе двоичного дерева отлична от формы разбиения соседнего сегмента более низкой глубины на основе двоичного дерева, можно задать форму разбиения текущего сегмента более низкой глубины на основе двоичного дерева такой же, как форма разбиения сегмента более высокой глубины на основе двоичного дерева.

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

[00139] Форму сегмента, при которой разрешено разбиение на основе двоичного дерева, можно определять в единице последовательности, секторе или единице кодирования. В одном примере допустимые формы разбиения на основе двоичного дерева для единицы дерева кодирования могут быть ограничены формами 2N×N или N×2N. Допустимая форма разбиения может быть заранее задана в кодере или в декодере. В качестве альтернативы, информацию о допустимой форме разбиения или недопустимой форме разбиения можно закодировать и сообщить посредством битового потока.

[00140] ФИГ. 7 - схема, иллюстрирующая пример, в котором разрешена только конкретная форма разбиения на основе двоичного дерева.

[00141] На ФИГ. 7А представлен пример, в котором разрешена только форма N×2N разбиения на основе двоичного дерева, а на ФИГ. 7В - пример, в котором разрешена только форма 2N×N разбиения на основе двоичного дерева.

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

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

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

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

[00146] В одном примере синтаксическую конструкцию 'max_mtt_depth_idx_minus1', представляющую разрешенную максимальную глубину разбиения на основе двоичного дерева/троичного дерева, можно кодировать/декодировать посредством битового потока. В данном случае, max_mtt_depth_idx_minus1+1 может указывать разрешенную максимальную глубину разбиения на основе двоичного дерева/троичного дерева.

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

[00148] В примере на ФИГ. 8 показано, что разбиение на основе двоичного дерева выполняют для единицы кодирования с глубиной 2 и единицы кодирования с глубиной 3. Следовательно, по меньшей мере одно из следующего: информацию, представляющую число раз (2 раза) разбиения на основе двоичного дерева в единице дерева кодирования, информацию, представляющую максимальную глубину (глубина 3) сегмента, сгенерированного путем разбиения на основе двоичного дерева в единице дерева кодирования, или информацию, представляющую число глубин (2 глубины, глубина 2 и глубина 3) разбиения на основе двоичного дерева, применяемых в единице дерева кодирования, можно закодировать/декодировать посредством битового потока.

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

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

[00151] На ФИГ. 4 показано, что первый блок 300 кодирования с глубиной к разбиения (глубиной дробления) можно разбить на несколько вторых блоков кодирования на основе квадродерева. Например, вторые блоки 310-340 кодирования могут представлять собой квадратный блок с шириной и высотой, составляющими половину ширины и высоты первого блока кодирования, при этом глубина разбиения второго блока кодирования может возрасти до k+1.

[00152] Второй блок 310 кодирования с глубиной k+1 разбиения можно разбить на несколько третьих блоков кодирования с глубиной k+2 разбиения. Разбиение второго блока 310 кодирования можно выполнить путем выборочного применения квадродерева или двоичного дерева в зависимости от способа разбиения. В этом случае способ разбиения можно определять на основе по меньшей мере одного из следующего: информации, указывающей разбиение на основе квадродерева, или информации, указывающей разбиение на основе двоичного дерева.

[00153] Если второй блок 310 кодирования разбивают на основе квадродерева, второй блок 310 кодирования можно разбить на четыре третьих блока 310а кодирования с шириной и высотой, составляющими половину ширины и высоты второго блока кодирования, при этом глубина разбиения третьего блока 310а кодирования может возрасти до k+2. При этом, если второй блок 310 кодирования разбивают на основе двоичного дерева, второй блок 310 кодирования можно разбить на два третьих блока кодирования. В этом случае каждый из двух третьих блоков кодирования может представлять собой неквадратный блок с шириной или высотой, составляющей половину ширины или высоты, соответственно, второго блока кодирования, при этом глубина разбиения может возрасти до k+2. Второй блок кодирования можно охарактеризовать как неквадратный блок в горизонтальном или в вертикальном направлении в соответствии с направлением разбиения, при этом направление разбиения можно определять на основе информации о том, как выполняют разбиение на основе двоичного дерева: в вертикальном направлении или в горизонтальном направлении.

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

[00155] Как и в случае разбиения второго блока 310 кодирования, третий блок 310а кодирования можно принять в качестве листового блока кодирования, либо разбить его далее на основе квадродерева или двоичного дерева.

[00156] При этом третий блок 310b кодирования, разбитый на основе двоичного дерева, можно разбить далее на блоки 310b-2 кодирования в вертикальном направлении или блоки 310b-3 кодирования в горизонтальном направлении на основе двоичного дерева, при этом глубина разбиения соответствующего блока кодирования может возрасти до k+3. В качестве альтернативы, третий блок 310b кодирования можно принять в качестве листового блока 310b-1 кодирования, дальнейшее разбиение которого на основе двоичного дерева не выполняют, и в этом случае соответствующий блок 310b-1 кодирования может служить в качестве блока предсказания или блока преобразования. При этом раскрытый выше процесс разбиения можно выполнять ограниченно на основе по меньшей мере одного из следующего: информации о размере/глубине блока кодирования, при которых разрешено разбиение на основе квадродерева, информации о размере/глубине блока кодирования, при которых разрешено разбиение на основе двоичного дерева или информации о размере/глубине блока кодирования, при которых разбиение на основе двоичного дерева не разрешено.

[00157] Число потенциальных размеров блока кодирования может быть ограничено заранее определенным числом, либо размер блока кодирования в заранее определенной единице может иметь фиксированное значение. В одном примере размер блока кодирования в последовательности или изображении может быть ограничен любым из следующих: 256×256, 128×128 или 32×32. Информацию, представляющую размер блока кодирования в последовательности или изображении, можно сообщать посредством заголовка последовательности или заголовка изображения.

[00158] Результатом разбиения на основе квадродерева и двоичного дерева может быть единица кодирования квадратной или прямоугольной формы произвольного размера.

[00159] На ФИГ. 4 показано, что первый блок 300 кодирования с глубиной k разбиения (глубиной дробления) можно разбить на несколько вторых блоков кодирования на основе квадродерева. Например, вторые блоки 310-340 кодирования могут представлять собой квадратный блок с шириной и высотой, составляющими половину ширины и высоты первого блока кодирования, при этом глубина разбиения второго блока кодирования может возрасти до k+1.

[00160] Второй блок 310 кодирования с глубиной k+1 разбиения можно разбить на несколько третьих блоков кодирования с глубиной k+2 разбиения. Разбиение второго блока 310 кодирования можно выполнить путем выборочного применения квадродерева или двоичного дерева в зависимости от способа разбиения. В этом случае способ разбиения можно определять на основе по меньшей мере одного из следующего: информации, указывающей разбиение на основе квадродерева, или информации, указывающей разбиение на основе двоичного дерева.

[00161] Если второй блок 310 кодирования разбивают на основе квадродерева, второй блок 310 кодирования можно разбить на четыре третьих блоков 310а кодирования с шириной и высотой, составляющими половину ширины и высоты второго блока кодирования, при этом глубина разбиения третьего блока 310а кодирования может возрасти до k+2. При этом, если второй блок 310 кодирования разбивают на основе двоичного дерева, второй блок 310 кодирования можно разбить на два третьих блока кодирования. В этом случае каждый их двух третьих блоков кодирования может представлять собой неквадратный блок с шириной или высотой, составляющей половину ширины или высоты, соответственно, второго блока кодирования, при этом глубина разбиения может возрасти до k+2. Второй блок кодирования можно охарактеризовать как неквадратный блок в горизонтальном или вертикальном направлении в соответствии с направлением разбиения, при этом направление разбиения можно определять на основе информации о том, как выполняют разбиение на основе двоичного дерева: в вертикальном направлении или в горизонтальном направлении.

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

[00163] Как и в случае разбиения второго блока 310 кодирования, третий блок 310а кодирования можно принять в качестве листового блока кодирования, либо разбить его далее на основе квадродерева или двоичного дерева.

[00164] При этом третий блок 310b кодирования, разбитый на основе двоичного дерева, можно разбить далее на блоки 310b-2 кодирования в вертикальном направлении или блоки 310b-3 кодирования в горизонтальном направлении на основе двоичного дерева, при этом глубина разбиения соответствующего блока кодирования может возрасти до k+3. В качестве альтернативы, третий блок 310b кодирования можно принять в качестве листового блока 310b-1 кодирования, дальнейшее разбиение которого на основе двоичного дерева не выполняют, и в этом случае соответствующий блок 310b-1 кодирования может служить в качестве блока предсказания или блока преобразования. При этом раскрытый выше процесс разбиения можно выполнять ограниченно на основе по меньшей мере одно из следующего: информации о размере/глубине блока кодирования, при которых разрешено разбиение на основе квадродерева, информации о размере/глубине блока кодирования, при которых разрешено разбиение на основе двоичного дерева, или информации о размере/глубине блока кодирования, при которых разбиение на основе двоичного дерева не разрешено.

[00165] Число потенциальных размеров блока кодирования может быть ограничено заранее определенным числом, либо размер блока кодирования в заранее определенной единице может иметь фиксированное значение. В одном примере размер блока кодирования в последовательности или изображении может быть ограничен любым из следующих: 256×256, 128×128 или 32×32. Информацию, представляющую размер блока кодирования в последовательности или изображении, можно сообщать посредством заголовка последовательности или заголовка изображения.

[00166] Результатом разбиения на основе квадродерева и двоичного дерева может быть единица кодирования квадратной или прямоугольной формы произвольного размера.

[00167] Применение пропуска преобразования для единицы кодирования, сгенерированной путем разбиения на основе двоичного дерева или разбиения на основе троичного дерева, может не быть разрешено. В качестве альтернативы, можно задать применение пропуска преобразования к по меньшей мере одному из следующего: вертикальное направление или горизонтальное направление в неквадратной единице кодирования. В одном примере, в случае применения пропуска преобразования к горизонтальному направлению, в горизонтальном направлении выполняют только масштабирование без преобразования/обратного преобразования, а преобразование/обратное преобразование способом ДКП или ДСП выполняют в вертикальном направлении. Если пропуск преобразования применяют к вертикальному направлению, в вертикальном направлении выполняют только масштабирование без преобразования/обратного преобразования, а преобразование/обратное преобразование способом ДКП или ДСП выполняют в горизонтальном направлении.

[00168] Информацию о пропуске обратного преобразования для горизонтального направления или информацию о пропуске обратного преобразования для вертикального направления можно сообщать посредством битового потока. В одном примере информация о пропуске обратного преобразования для горизонтального направления может представлять собой 1-битовый флаг 'hor_transform_skip_flag', а информация о пропуске обратного преобразования для вертикального направления может представлять собой 1-битовый флаг 'ver_transform_skip_flag'.

[00169] Кодер может определять то, нужно ли кодировать 'hor_transform_skip_flag' или 'ver_transform_skip_flag' по размеру и/или форме текущего блока. В одном примере, если форма текущего блока представляет собой N×2N, можно закодировать hor_transform_skip_flag, а кодирование ver_transform_skip_flag можно опустить. Если форма текущего блока представляет собой 2N×N, можно закодировать ver_transform_skip_flag, а hor_transform_skip_flag можно опустить.

[00170] В качестве альтернативы, по размеру и/или форме текущего блока можно определять, выполняют ли пропуск преобразования для горизонтального направления или пропуск преобразования для вертикального направления. В одном примере, если форма текущего блока представляет собой N×2N, возможно применение пропуска преобразования к горизонтальному направлению и выполнение преобразования/обратного преобразования для вертикального направления. Если форма текущего блока представляет собой 2N×N, возможно применение пропуска преобразования к вертикальному направлению и выполнение преобразования/обратного преобразования для горизонтального направления. Преобразование/обратное преобразование можно выполнять на основе по меньшей мере одного из следующих способов: ДКП или ДСП.

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

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

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

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

[00175]

[00176] ФИГ. 9 - блок-схема способа межкадрового предсказания в качестве варианта применения настоящего изобретения.

[00177] В примере на ФИГ. 9 информацию о движении текущего блока можно определить на этапе S910. Информация о движении текущего блока может включать в себя по меньшей мере одно из следующего: вектор движения текущего блока, индекс опорного изображения текущего блока, направление межкадрового предсказания или индекс веса взвешенного предсказания текущего блока. Направление межкадрового предсказания текущего блока указывает по меньшей мере одно из следующего: выполнять ли предсказание в направлении L0 или в направлении L1. Вес взвешенного предсказания может представлять собой вес, относящийся к опорному блоку L0, и вес, относящийся к опорному блоку L1. Индекс веса взвешенного предсказания указывает один из потенциальных весов для взвешенного предсказания.

[00178] Вектор движения текущего блока можно определять на основе информации, сообщаемой посредством битового потока. Точность вектора движения представляет собой базовую единицу, характеризующую вектор движения текущего блока. Например, точность вектора движения текущего блока можно определять в виде одного из следующего: целочисленного пэла, 1/2 пэла, 1/4 пэла или 1/8 пэла. Точность вектора движения можно определять на уровне изображения, на уровне сектора, на уровне группы плиток, на уровне плитки или на уровне блока. Блок может представлять собой единицу дерева кодирования, единицу кодирования, единицу предсказания или единицу преобразования.

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

[00180] ФИГ. 10 - схема, иллюстрирующая процедуру получения информации о движении текущего блока в случае применения режима слияния к текущему блоку.

[00181] Режим слияния представляет собой способ получения информации о движении текущего блока на основе соседнего блока.

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

[00183] ФИГ. 11 - схема, иллюстрирующая пример пространственного соседнего блока.

[00184] В примере на ФИГ. 11 пространственный соседний блок может включать в себя по меньшей мере один из следующих: соседний блок A1, примыкающий к левой стороне текущего блока, соседний блок В1, примыкающий к верху текущего блока, соседний блок А0, примыкающий нижнему левому углу текущего блока, соседний блок В0, примыкающий к верхнему правому углу текущего блока, и соседний блок В2, примыкающий к верхнему левому углу текущего блока. Например, примем положение отсчета в верхнем левом углу текущего блока равным (0, 0), ширину текущего блока равной W, а высоту текущего блока равной Н. Блок A1 может включать в себя отсчет в положении (-1, Н-1). Блок B1 может включать в себя отсчет в положении (W-1, -1). Блок А0 может включать в себя отсчет в положении (-1, Н). Блок В0 может включать в себя отсчет в положении (W, -1). Блок В2 может включать в себя отсчет в положении (-1, -1).

[00185] Далее, в примере на ФИГ. 11 пространственного кандидата на слияние можно получить на основе блока, примыкающего к верхнему левому отсчету текущего блока, или блока, примыкающего к верхнему центральному отсчету текущего блока. Например, блок, соседний верхнему левому отсчету текущего блока, может представлять собой, по меньшей мере, блок, включающий в себя отсчет в положении (0, -1), или блок, включающий в себя отсчет в положении (-1, 0). Или же пространственного простого кандидата можно получить на основе по меньшей мере одного из следующих: блока, соседнего верхнему центральному отсчету текущего блока, или блока, соседнего левому центральному отсчету текущего блока. Например, блок, соседний верхнему центральному отсчету текущего блока, может включать в себя отсчет в положении (W/2, -1). Блок, соседний левому центральному отсчету текущего блока, может включать в себя отсчет в положении (-1, Н/2).

[00186] В зависимости от размера и/или формы текущего блока можно определять положение верхнего соседнего блока и/или левого соседнего блока, на основе которых получают пространственного кандидата на слияние. В одном примере, если размер текущего блока больше порогового значения, пространственных кандидатов на слияние можно получать на основе блока, соседнего верхнему центральному отсчету текущего блока, и блока, соседнего левому центральному отсчету текущего блока. При этом, если размер текущего блока меньше порогового значения, пространственных кандидатов на слияние можно получать на основе блока, соседнего верхнему правому отсчету текущего блока, и блока, соседнего нижнему левому отсчету текущего блока. В данном случае размер текущего блока может быть выражен в виде по меньшей мере одного из следующего: ширины, высоты, суммы ширины и высоты, произведения ширины и высоты или соотношения ширины и высоты. Пороговое значение может представлять собой целое число, например, 2, 4, 8, 16, 32 или 128.

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

[00188] Информацию о движении пространственного кандидата на слияние можно принять идентичной информации о движении пространственного соседнего блока.

[00189] Пространственного кандидата на слияние можно получать путем поиска по соседним блокам в заранее определенном порядке. В одном примере на ФИГ. 11 поиск для определения пространственного кандидата на слияние можно выполнить в порядке блоков: А1, В1, В0, А0 и В2. Блок В2 можно использовать в по меньшей мере одном из следующих случаев: остальные блоки (т.е. A1, B1, В0 и А0) отсутствуют, либо по меньшей мере один закодирован в режиме внутрикадрового предсказания.

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

[00191] Временного кандидата на слияние можно получить на основе временного соседнего блока текущего блока на этапе S1020. «Временной соседний блок» может означать совмещенный блок, входящий в состав совмещенного изображения. Совмещенное изображение имеет порядковый номер кадра (англ. Picture Order Count (РОС)), отличный от порядкового номера кадра текущего изображения, включающего в себя текущий блок. Совмещенное изображение можно определить как изображение с заранее заданным индексом в списке опорных изображений или изображение с минимальной разницей порядковых номеров кадров между ним и текущим изображением. В качестве альтернативы, совмещенное изображение можно определять на основе информации, сообщаемой посредством битового потока. Информация, сообщаемая посредством битового потока, может включать в себя по меньшей мере одно из следующего: информацию, указывающую список опорных изображений (например, список опорных изображений L0 или список опорных изображений L1), включающий в себя совмещенное изображение и индекс, указывающий совмещенное изображение в списке опорных изображений. Информацию для определения совмещенного изображения можно сообщать в по меньшей мере одном из следующего: наборе параметров изображения, заголовке сектора и на уровне блока.

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

[00193] ФИГ. 12 - схема, иллюстрирующая пример получения вектора движения временного кандидата на слияние.

[00194] В примере на ФИГ. 12 tb обозначает разницу порядковых номеров кадров текущего изображения (curr_pic) и опорного изображения (curr_ref) текущего изображения, a td обозначает разницу порядковых номеров кадров совмещенного изображения col_pic и опорного изображения col_ref совмещенного блока. Вектор движения временного кандидата на слияние можно получить путем масштабирования вектора движения совмещенного блока col_PU на основе tb и/или td.

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

[00196] Направление межкадрового предсказания временного кандидата на слияние может быть принято идентичным направлению межкадрового предсказания временного соседнего блока. При этом индекс опорного изображения временного кандидата на слияние может иметь фиксированное значение. В одном примере индекс опорного изображения временного кандидата на слияние может быть принят равным "0". В качестве альтернативы, индекс опорного изображения временного кандидата на слияние можно определять адаптивно на основе по меньшей мере одного из следующего: индекса опорного изображения пространственного кандидата на слияние, индекса опорного изображения текущего изображения.

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

[00198] ФИГ. 13 - схема, иллюстрирующая положение блоков-кандидатов с возможностью применения в качестве совмещенного блока.

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

[00200] В одном примере блок-кандидат может включать в себя по меньшей мере один из следующих: блок TL, включающий в себя положение верхнего левого отсчета текущего блока в пределах совмещенного изображения, блок BR, включающий в себя положение нижнего правого отсчета текущего блока в пределах совмещенного изображения, блок Н, примыкающий к нижнему правому углу текущего блока в пределах совмещенного изображения, блок С3, включающий в себя положение центрального отсчета текущего блока в пределах совмещенного изображения, и блок С0, примыкающий к центральному отсчету текущего блока (например, блок, включающий в себя положение отсчета, отстоящего от центрального отсчета текущего блока на (-1, -1)) в пределах совмещенного изображения.

[00201] В дополнение к примеру на ФИГ. 13, блок, включающий в себя положение соседнего блока, примыкающего к заранее определенной границе текущего блока в пределах совмещенного изображения, может быть выбран в качестве совмещенного блока.

[00202] Число временных кандидатов на слияние может составлять 1 или более. В одном примере по меньшей мере одного временного кандидата на слияние можно получить на основе по меньшей мере одного совмещенного блока.

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

[00204] То, пригодны ли блоки-кандидаты для применения или нет, можно определять согласно заранее определенному приоритету, при этом по меньшей мере один совмещенный блок можно определять по результату вышеуказанного определения и максимальному числу временных кандидатов на слияние. В одном примере, если блок С3, включающий в себя положение центрального отсчета текущего блока, и блок Н, примыкающий к нижнему правому углу текущего блока, являются блоками-кандидатами, любой из них - блок С3 или блок Н - можно определить в качестве совмещенного блока. Если блок Н пригоден, блок Н можно определить в качестве совмещенного блока. При этом, если блок Н непригоден (например, если блок Н закодирован способом внутрикадрового предсказания, если блок Н не пригоден для применения, или если блок Н расположен за пределами наибольшей единицы кодирования (НЕК, англ. largest coding unit (LCU) и т.п.), блок С3 можно определить в качестве совмещенного блока.

[00205] В другом примере, если по меньшей мере один из множества блоков, примыкающих к положению нижнего правого угла текущего блока в пределах совмещенного изображения, непригоден (например, блок Н и/или блок BR), непригодный блок можно заменить другим пригодным блоком. Другой пригодный блок, которым заменяют непригодный блок, может включать в себя по меньшей мере один блок (например, С0 и/или С3), примыкающий к положению центрального отсчета текущего блока в пределах совмещенного изображения, и блок (например, TL), примыкающий нижнему левому углу текущего блока в пределах совмещенного изображения.

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

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

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

[00209] В качестве альтернативы, максимальное число кандидатов на слияние может быть заранее задано в кодере и декодере. Например, максимальное число кандидатов на слияние может составлять два, три, четыре, пять или шесть. В качестве альтернативы, максимальное число кандидатов на слияние можно определять на основе по меньшей мере одного из следующего: выполняют ли слияние в режиме с разностью векторов движения (англ. Motion Vector Difference (MVD)) (средней величиной разности векторов (англ. Mean Magnitude of Vector Difference (MMVD)), выполняют ли комбинированное предсказание, или выполняют ли треугольное разбиение.

[00210] Если число кандидатов на слияние, входящих в список кандидатов на слияние, меньше максимального числа кандидатов на слияние, в список кандидатов на слияние можно добавить кандидата на слияние, входящего во второй список кандидатов на слияние.

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

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

[00213] Индексы кандидатов на слияние, входящих во второй список кандидатов на слияние, можно определять на основе порядка добавления во второй список кандидатов на слияние. В одном примере значение индекса, присвоенного N-ному кандидату на слияние, добавленному во второй список кандидатов на слияние, может быть меньше значения индекса, присвоенного N+1-ому кандидату на слияние, добавленному во второй список кандидатов на слияние. Например, индекс N+1-го кандидата на слияние может быть принят равным значению, увеличенному на 1 относительно индекса N-ого кандидата на слияние. В качестве альтернативы, индекс N-ого кандидата на слияние может быть принят равным индексу N+1-ого кандидата на слияние, при этом из значения индекса N-ого кандидата на слияние может можно вычесть 1.

[00214] В качестве альтернативы, значение индекса, присвоенного N-ому кандидату на слияние, добавленному во второй список кандидатов на слияние, может быть больше индекса, присвоенного N+1-ому кандидату на слияние, добавленному во второй список кандидатов на слияние. Например, индекс N-ого кандидата на слияние может быть принят равным индексу N+1-ого кандидата на слияние, при этом значение индекса N-ого кандидата на слияние можно увеличить на 1.

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

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

[00217] Если число кандидатов на слияние, входящих в список кандидатов на слияние, еще не достигло максимального числа кандидатов на слияние, в список кандидатов на слияние можно включить комбинированного кандидата слияние, полученного путем комбинирования двух или более кандидатов на слияние, или кандидата на слияние с вектором движения (0,0) (нулевым вектором движения).

[00218] В качестве альтернативы, в список кандидатов на слияние можно добавить среднего кандидата слияние, полученного путем выведения среднего значения вектора движения двух или более кандидатов на слияние. Среднего кандидата на слияние можно получить путем выведения среднего значения вектора движения двух или более кандидатов на слияние, входящих в список кандидатов на слияние. В одном примере, если в список кандидатов на слияние добавляют первого кандидата на слияние и второго кандидата на слияние, можно вычислить среднее значение вектора движения первого кандидата на слияние и вектора движения второго кандидата на слияние для получения среднего кандидата на слияние. А именно, вектор L0 движения среднего кандидата на слияние можно получить путем вычисления среднего значения вектора L0 движения первого кандидата на слияние и вектора L0 движения второго кандидата на слияние, а вектор L1 движения среднего кандидата на слияние можно получить путем вычисления среднего значения вектора L1 движения первого кандидата на слияние и вектора L1 движения второго кандидата на слияние. В случае применения двунаправленного предсказания к любому из первого кандидата на слияние и второго кандидата на слияние и выполнения однонаправленного предсказания в отношении другого из них, вектор движения двунаправленного кандидата на слияние можно принять тождественным вектору L0 движения или вектору L1 движения среднего кандидата на слияние. В одном примере, если предсказания в направлении LO и направлении L1 выполняют в отношении первого кандидата на слияние, а предсказание в направлении LO - в отношении второго кандидата на слияние, вектор L0 движения среднего кандидата на слияние можно получить путем вычисления среднего значения вектора L0 движения первого кандидата на слияние и вектора L0 движения второго кандидата на слияние. При этом вектор L1 движения среднего кандидата на слияние можно получить как вектор L1 движения первого кандидата на слияние.

[00219] Если опорное изображение первого кандидата на слияние отлично от второго кандидата на слияние, вектор движения первого кандидата на слияние или второго кандидата на слияние можно масштабировать согласно расстоянию (т.е. разнице порядковых номеров кадров) между опорными изображениями соответствующих кандидатов на слияние и текущим изображением. Например, после масштабирования вектора движения второго кандидата на слияние, среднего кандидата на слияние можно получить путем вычисления среднего значения вектора движения первого кандидата на слияние и масштабированного вектора движения второго кандидата на слияние. В данном случае приоритеты можно установить на основе значения индекса опорного изображения каждого кандидата на слияние, расстояния между опорным изображением каждого кандидата на слияние и текущего блока, или того, применяют ли или нет двунаправленное предсказание, при этом масштабирование можно применять к вектору движения кандидата на слияние с высоким (или низким) приоритетом.

[00220] Индекс опорного изображения среднего кандидата на слияние можно задать с возможностью указания опорного изображения в конкретном положении в списке опорных изображений. В одном примере индекс опорного изображения среднего кандидата на слияние может указывать первое или последнее опорное изображение в списке опорных изображений. В качестве альтернативы, индекс опорного изображения среднего кандидата на слияние можно принять идентичным индексу опорного изображения первого кандидата на слияние или второго кандидата на слияние. В одном примере, если индекс опорного изображения первого кандидата на слияние идентичен индексу второго кандидата на слияние, индекс опорного изображения среднего кандидата на слияние можно принять идентичным индексу опорного изображения первого кандидата на слияние и второго кандидата на слияние. Если индекс опорного изображения первого кандидата на слияние отличен от индекса второго кандидата на слияние, приоритеты можно установить на основе значения индекса опорного изображения каждого кандидата на слияние, расстояния между опорным изображением каждого кандидата на слияние и текущего блока, или того, применяют ли двунаправленное предсказание или нет, при этом индекс опорного изображения кандидата на слияние с высоким (или низким) приоритетом можно принять в качестве индекса опорного изображения среднего кандидата на слияние. В одном примере, если двунаправленное предсказание применяют к первому кандидату на слияние, а однонаправленное предсказание применяют ко второму кандидату на слияние, индекс опорного изображения первого кандидата на слияние, к которому применяют двунаправленное предсказание, можно определить в качестве индекса опорного изображения среднего кандидата на слияние.

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

[00222] Включение кандидата на слияние в список кандидатов на слияние может происходить согласно заранее заданному приоритету. Кандидату на слияние с высоким приоритетом можно присвоить низкое значение индекса. В одном примере пространственного кандидата на слияние можно добавить в список кандидатов на слияние прежде, чем временного кандидата на слияние. Кроме того, пространственных кандидатов на слияние можно добавлять в список кандидатов на слияние в следующем порядке: пространственный кандидат на слияние левого соседнего блока, пространственный кандидат на слияние верхнего соседнего блока, пространственный кандидат на слияние блока, примыкающего к верхнему правому углу, пространственный кандидат на слияние блока, примыкающего к нижнему левому углу, и пространственный кандидат на слияние блока, примыкающего к верхнему левому углу. В качестве альтернативы, можно указать порядок, при котором добавление пространственного кандидата на слияние, полученного на основе соседнего блока, примыкающего к верхнему левому углу текущего блока (В2 на ФИГ. 11), в список кандидатов на слияние происходит позднее, чем добавление временного кандидата на слияние.

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

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

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

[00226] Когда список кандидатов на слияние будет сгенерирован, на этапе S1040 можно указать по меньшей мере одного кандидата на слияние, входящего в список кандидатов на слияние, на основе индекса кандидата на слияние.

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

[00228] Так как единицу кодирования разбивают, в одной единице кодирования может существовать множество сегментов. Сегмент может представлять собой единицу кодирования, единицу предсказания или единицу преобразования. Множество сегментов можно сгенерировать путем разбиения единицы кодирования на основе квадродерева, двоичного дерева, троичного дерева или треугольного разбиения. Сегмент может быть квадратным, неквадратным или треугольным. Порядок получения кандидата на слияние из множества сегментов может соответствовать приоритету или заранее определенному порядку сегментов. Приоритет или заранее определенный порядок можно определять на основе по меньшей мере одного из следующего: порядка кодирования/декодирования, порядка считывания блоков, порядка растрового считывания, размера, формы, индекса разбиения или положения сегментов. Например, порядок получения кандидата на слияние можно определять на основе порядка кодирования/декодирования. Например, получение кандидата на слияние для более раннего по порядку кодирования/декодирования сегмента может происходить раньше, чем для более позднего по порядку кодирования/декодирования сегмента. В раскрытом ниже примере осуществления более ранний по порядку получения кандидата на слияние сегмент именуется «первый сегмент», а более поздний по порядку получения кандидата на слияние сегмент именуется «второй сегмент».

[00229] Получение кандидата на слияние для множества сегментов может происходить последовательно. В данном случае, кандидата на слияние второго сегмента можно определять с учетом информации о движении, кандидата на слияние или индекса слияния первого сегмента. Например, можно не разрешить применение кандидата на слияние, применяемого для получения информации о движении первого сегмента (т.е. кандидата на слияние, указанного индексом слияния первого сегмента), в качестве кандидата на слияние второго сегмента. А именно, кандидата на слияние, применяемого для получения информации о движении первого сегмента, можно определять как непригодного в качестве кандидата на слияние второго сегмента.

[00230] В качестве альтернативы, можно не разрешить применение кандидата на слияние с информацией о движении, тождественной информации о движении первого сегмента из числа кандидатов на слияние второй единицы кодирования, в качестве кандидата на слияние второй единицы кодирования. А именно, кандидата на слияние с информацией о движении, тождественной информации о движении первого сегмента, можно определять как непригодного в качестве кандидата на слияние второго сегмента.

[00231] ФИГ. 14 - схема, иллюстрирующая процесс получения информации о движении текущего блока в случае применения режима улучшенного предсказания вектора движения (англ. Advanced Motion Vector Prediction (AMVP)) к текущему блоку.

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

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

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

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

[00236] Если текущий блок отличен, в части опорного изображения, от пространственного соседнего блока, пространственный вектор движения можно получить путем выполнения масштабирования для вектора движения пространственного соседнего блока. Временной вектор-кандидат движения можно получить на этапе S1430 на основе вектора движения временного соседнего блока текущего блока. Если текущий блок отличен, в части опорного изображения, от временного соседнего блока, временной вектор движения можно получить путем выполнения масштабирования вектора движения временного соседнего блока. В данном случае, если число пространственных векторов-кандидатов движения не превышает заранее определенное число, можно получить временной вектор-кандидат движения.

[00237] На этапе S1440 можно сгенерировать список векторов-кандидатов движения, включающий в себя пространственный вектор-кандидат движения и временной вектор-кандидат движения.

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

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

[00240] Когда будет определена информация о движении текущего блока, на этапе S920 можно выполнить компенсацию движения для текущего блока на основе полученной информации о движении. А именно, компенсацию движения для текущего блока можно выполнить на основе направления межкадрового предсказания, индекса опорного изображения и вектора движения текущего блока. Направление межкадрового предсказания отражает то, какое предсказание выполнено: предсказание L0, предсказание L1 или двунаправленное предсказание. Если текущий блок закодирован путем двунаправленного предсказания, блок предсказания текущего блока можно определить на основе операции взвешенной суммы или операции усреднения опорного блока L0 и опорного блока L1.

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

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

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

[00244] Второй блок-кандидат на слияние может включать в себя по меньшей мере один из следующих: блок, закодированный/декодированный с использованием межкадрового предсказания прежде, чем текущий блок, блок, примыкающий к первому блоку-кандидату на слияние или блоку, расположенному на той же линии, что и первый блок-кандидат на слияние. На ФИГ. 15 изображен второй блок-кандидат на слияние, примыкающий к первому блоку-кандидату на слияние, а на ФИГ. 16 - второй блок-кандидат на слияние, расположенный на той же линии, что и первый блок-кандидат на слияние.

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

[00246] ФИГ. 15 - схема, иллюстрирующая пример получения кандидата на слияние на основе второго блока-кандидата на слияние, если первый блок-кандидат на слияние непригоден.

[00247] Если первый блок-кандидат AN на слияние (в данном случае N составляет от 0 до 4) непригоден, кандидата на слияние текущего блока получают на основе информации о движении второго блока-кандидата ВМ на слияние (в данном случае М составляет от 0 до 6). Т.е. кандидата на слияние текущего блока можно получить путем замены непригодного первого блока-кандидата на слияние вторым блоком-кандидатом на слияние.

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

[00249] Например, если А0, примыкающий к левой стороне текущего блока, непригоден, кандидата на слияние текущего блока получают на основе В0, примыкающего к А1. Если А1, примыкающий к верху текущего блока непригоден, кандидата на слияние текущего блока получают на основе В1, примыкающего к А1. Если А2, примыкающий к верхнему правому углу текущего блока непригоден, кандидата на слияние текущего блока получают на основе B2, примыкающего к А. Если A3, примыкающий к нижнему левому углу текущего блока непригоден, кандидата на слияние текущего блока получают на основе B3, примыкающего к A3. Если А4, примыкающий к верхнему левому углу текущего блока непригоден, кандидата на слияние текущего блока получают на основе по меньшей мере одного из блоков В4-В6, примыкающих к А4.

[00250] Пример на ФИГ. 15 служит исключительно для раскрытия одного из вариантов осуществления настоящего изобретения, но не ограничивает его. Положение второго блока-кандидата на слияние можно задать отличным от образца на ФИГ. 15. Например, второй блок-кандидат на слияние, примыкающий к первому блоку-кандидату на слияние, примыкающему к левой стороне текущего блока, может быть расположен в направлении вверх или направлении вниз от первого блока-кандидата на слияние. В качестве альтернативы, второй блок-кандидат на слияние, примыкающий к первому блоку-кандидату на слияние, примыкающему к верху текущего блока, может быть расположен в направлении влево или направлении вправо от первого блока-кандидата на слияние.

[00251] ФИГ. 16 - схема, иллюстрирующая пример получения кандидата на слияние на основе второго блока-кандидата на слияние, расположенного на той же линии, что и первый блок-кандидат на слияние.

[00252] Блок, расположенный на той же линии, что и первый блок-кандидат на слияние, может включать в себя по меньшей мере один из следующих: блок, расположенный на той же горизонтальной линии, что и первый блок-кандидат на слияние, блок, расположенный на той же вертикальной линии, что и первый блок-кандидат на слияние, или блок, расположенный на той же диагональной линии, что и первый блок-кандидат на слияние. Координаты положения по оси у блоков, расположенных на одной и той же горизонтальной линии, тождественны. Координаты положения по оси х блоков, расположенных на одной и той же вертикальной линии, тождественны. Значение разности между координатами положений по оси х блоков, расположенных на одной и той же диагональной линии, тождественно значению разности между координатами положений по оси у.

[00253] Предполагается, что верхний левый отсчет текущего блока расположен у (0,0), а ширина и высота текущего блока - это W и Н соответственно. На ФИГ. 18 было показано, что положение вторых блоков-кандидатов на слияние (например, В4, С6), расположенных на той же вертикальной линии, что и первый блок-кандидат на слияние, определяют по крайнему правому блоку сверху от блока кодирования (например, блоку А1, включающему в себя координату (W-1, -1)). Кроме того, на ФИГ. 18 было показано, что положение вторых блоков-кандидатов на слияние (например, В1, С1), расположенных на той же горизонтальной линии, что и первый блок-кандидат на слияние, определяют по самому нижнему блоку слева от блока кодирования (например, блоку А0, включающему в себя координату (-1, Н-1)).

[00254] В другом примере положение вторых блоков-кандидатов на слияние можно определять по крайнему левому блоку сверху от блока кодирования (например, блоку, включающему в себя координату (0, -1)) или блоку, расположенному сверху по центру блока кодирования (например, блоку, включающему в себя координату (W/2, -1)). Кроме того, положение вторых блоков-кандидатов на слияние можно определять по самому верхнему блоку слева от блока кодирования (например, блоку, включающему в себя координату (-1, 0)) или блоку, расположенному слева по центру блока кодирования (например, блоку, включающему в себя координату (-1, Н/2)).

[00255] В другом примере, при наличии множества верхних соседних блоков, примыкающих к верху текущего блока, второй блок-кандидат на слияние можно определять путем применения всех или нескольких из множества верхних соседних блоков. В одном примере второй блок-кандидат на слияние можно определять путем применения блока в конкретном положении (например, по меньшей мере одного из следующих: верхнего соседнего блока, расположенного крайним с левой стороны, верхнего соседнего блока, расположенного крайним с правой стороны, или верхнего соседнего блока, расположенного в центре) из множества верхних соседних блоков. Число верхних соседних блоков, применяемых для определения второго блока-кандидата на слияние из множества верхних соседних блоков, может составлять 1, 2, 3 или более. Кроме того, при наличии множества левых соседних блоков, примыкающих к левой стороне текущего блока, второй блок-кандидат на слияние можно определять путем применения всех или нескольких из множества левых соседних блоков. В одном примере второй блок-кандидат на слияние можно определять путем применения блока в конкретном положении (например, по меньшей мере одного из следующих: левого соседнего блока, расположенного крайним снизу, левого соседнего блока, расположенного крайним сверху, или левого соседнего блока, расположенного в центре) из множества левых соседних блоков. Число левых соседних блоков, применяемых для определения второго блока-кандидата на слияние из множества левых соседних блоков, может составлять 1, 2, 3 или более.

[00256] В зависимости от размера и/или формы текущего блока, положение и/или число верхних соседних блоков и/или левых соседних блоков, применяемых для определения второго блока-кандидата на слияние, можно определять по-разному. В одном примере, если размер текущего блока больше порогового значения, второй блок-кандидат на слияние можно определять по верхнему по центру блоку и/или левому по центру блоку. При этом, если размер текущего блока меньше порогового значения, второй блок-кандидат на слияние можно получать по крайнему правому сверху блоку и/или крайнему нижнему слева блоку. Пороговое значение может представлять собой целое число, например, 8, 16, 32, 64 или 128.

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

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

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

[00260] В одном из вариантов осуществления настоящего изобретения можно построить первый список кандидатов на слияние, включающий в себя кандидата на слияние, полученного на основе первого блока-кандидата на слияние, и второй список кандидатов на слияние, включающий в себя кандидата на слияние, полученного на основе второго блока-кандидата на слияние. В одном примере на ФИГ. 15, кандидатов на слияние, полученных на основе блоков А0-А4, можно добавить в первый список кандидатов на слияние, а кандидатов на слияние, полученных на основе блоков В0-В6, можно добавить во второй список кандидатов на слияние. В примере на ФИГ. 16 кандидатов на слияние, полученных на основе блоков А0-А4, можно добавить в первый список кандидатов на слияние, а кандидатов на слияние, полученных на основе блоков В0-В5, С0-С7, можно добавить во второй список кандидатов на слияние.

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

[00262] Индексы кандидатов на слияние, входящих во второй список кандидатов на слияние, можно определять по порядку добавления кандидатов на слияние во второй список кандидатов на слияние. Например, значение индекса, присвоенного N-ому кандидату на слияние, добавленному во второй список кандидатов на слияние, может быть ниже, чем значение индекса, присвоенного N+1-ому кандидату на слияние, добавленному во второй список кандидатов на слияние. Например, индекс N+1-ого кандидата на слияние может быть задан таким образом, чтобы его значение было на единицу выше значения индекса N-ого кандидата на слияние. В качестве альтернативы, индекс N-ого кандидата на слияние может быть задан равным индексу N+1-ого кандидата на слияние, при этом значение индекса N-ого кандидата на слияние уменьшают путем вычитания единицы.

[00263] В качестве альтернативы, значение индекса, присвоенного N-ому кандидату на слияние, добавленному во второй список кандидатов на слияние, может быть выше значения индекса, присвоенного N+1-ому кандидату на слияние, добавленному во второй список кандидатов на слияние. Например, индекс N-ого кандидата на слияние может быть задан равным индексу N+1-ого кандидата на слияние, при этом значение индекса N-ого кандидата на слияние увеличивают на единицу.

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

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

[00266] Второй список кандидатов на слияние можно начать в единице ЕДК, плитки или сектора. Иными словами, блок, входящий в состав ЕДК, плитки или сектора, отличный от текущего блока, может быть принят непригодным в качестве второго блока-кандидата на слияние. Максимальное число кандидатов на слияние, которых можно включить во второй список кандидатов на слияние, может быть заранее задано в кодере и декодере. В качестве альтернативы, информацию, отражающую максимальное число кандидатов на слияние, которых можно включить во второй список кандидатов на слияние, можно сообщать посредством битового потока.

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

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

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

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

[00271] В качестве альтернативы, список кандидатов на слияние конфигурируют путем добавления (или присоединения) какого-либо списка кандидатов на слияние - первого или второго - к другому списку кандидатов на слияние.

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

[00273] Например, кандидата на слияние, входящего во второй список кандидатов на слияние, можно добавить в первый список кандидатов на слияние. В качестве альтернативы, кандидата на слияние, входящего в первый список кандидатов на слияние, можно добавить во второй список кандидатов на слияние.

[00274] Если число кандидатов на слияние, входящих в первый список кандидатов на слияние, меньше максимального числа, или если первый блок-кандидат на слияние непригоден, кандидата на слияние, входящего во второй список кандидатов на слияние, добавляют в первый список кандидатов на слияние.

[00275] В качестве альтернативы, если первый блок-кандидат на слияние непригоден, кандидата на слияние, полученного на основе блока, примыкающего к первому блоку-кандидату на слияние, из числа кандидатов на слияние, входящих во второй список кандидатов на слияние, добавляют в первый список кандидатов на слияние. В примере на ФИГ. 15, если А0 непригоден, кандидата на слияние, полученного на основе информации о движении В0, из числа кандидатов на слияние, входящих во второй список кандидатов на слияние, добавляют в первый список кандидатов на слияние. Если А1 непригоден, кандидата на слияние, полученного на основе информации о движении В1, из числа кандидатов на слияние, входящих во второй список кандидатов на слияние, добавляют в первый список кандидатов на слияние. Если А2 непригоден, кандидата на слияние, полученного на основе информации о движении В2, из числа кандидатов на слияние, входящих во второй список кандидатов на слияние, добавляют в первый список кандидатов на слияние. Если A3 непригоден, кандидата на слияние, полученного на основе информации о движении В3, из числа кандидатов на слияние, входящих во второй список кандидатов на слияние, добавляют в первый список кандидатов на слияние. Если А4 непригоден, кандидата на слияние, полученного на основе информации о движении В4, В5 или В6 из числа кандидатов на слияние, входящих во второй список кандидатов на слияние, добавляют в первый список кандидатов на слияние.

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

[00277] Если кандидат на слияние с информацией о движении, тождественной информации кандидата на слияние с самым высоким из кандидатов на слияние, входящих во второй список кандидатов на слияние, приоритетом входит в первый список кандидатов на слияние, то кандидата на слияние с самым высоким приоритетом нельзя добавить в первый список кандидатов на слияние. При этом можно определить, можно ли добавить в первый список кандидатов на слияние кандидата на слияние с ближайшим приоритетом (например, кандидата на слияние, которому присвоено значение индекса, превышающее на 1 значение индекса, присвоенное кандидату на слияние с самым высоким приоритетом, или кандидата на слияние, которому присвоено значение индекса меньше на 1, чем значение индекса, присвоенное кандидату на слияние с самым высоким приоритетом).

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

[00279] Например, согласно заранее определенному порядку поиска, можно сгенерировать список кандидатов на слияние путем поиска первого блока-кандидата на слияние и второго блока-кандидата на слияние.

[00280] ФИГ. 17-20 - схемы, иллюстрирующие порядок поиска блоков-кандидатов на слияние.

[00281] На ФИГ. 17-20 раскрыт следующий порядок поиска кандидатов на слияние.

[00282] А0 → А1 → А2 → A3 → А4 → В0 → В1 → В2 → В3 → В4 → (В5) → (В6)

[00283] Поиск блоков В5 и В6 может происходить только тогда, когда блок В4 непригоден, или если число кандидатов на слияние, входящих в список кандидатов на слияние, не превышает заранее установленное число.

[00284] Можно задать порядок поиска, отличный от примеров на ФИГ. 17-20.

[00285] Можно сгенерировать комбинированный список кандидатов на слияние, включающий в себя по меньшей мере одного кандидата на слияние, входящего в первый список кандидатов на слияние, и по меньшей мере одного кандидата на слияние, входящего во второй список кандидатов на слияние. Например, комбинированный список кандидатов на слияние может включать в себя N кандидатов на слияние, входящих в первый список кандидатов на слияние, и М кандидатов на слияние, входящих во второй список кандидатов на слияние. Буквы «N» и «М» могут обозначать одно и то число или разные числа. В качестве альтернативы, по меньшей мере одно из чисел N и М можно определять на основе по меньшей мере одного из следующих: числа кандидатов на слияние, входящих в первый список кандидатов на слияние, и числа кандидатов на слияние, входящих во второй список кандидатов на слияние. В качестве альтернативы, информацию для определения по меньшей мере одного из чисел N и М можно сообщать посредством битового потока. Любое из чисел N и М можно получить путем вычитания другого из них из максимального числа кандидатов на слияние в комбинированном списке кандидатов на слияние.

[00286] Кандидатов на слияние для добавления в комбинированный список кандидатов на слияние можно определять согласно заранее заданному приоритету. Заранее заданный приоритет можно определять на основе индексов, присвоенных кандидатам на слияние.

[00287] В качестве альтернативы, кандидата на слияние для добавления в комбинированный список кандидатов на слияние можно определять на основе взаимосвязи кандидатов на слияние. Например, если А0, входящий в первый список кандидатов на слияние, добавляют в комбинированный список кандидатов на слияние, кандидата на слияние (например, В0) в положении, примыкающем к А0, не добавляют в комбинированный список кандидатов на слияние.

[00288] Если число кандидатов на слияние, входящих в первый список кандидатов на слияние, меньше N, в комбинированный список кандидатов на слияние добавляют кандидатов на слияние из числа кандидатов на слияние, входящих во второй список кандидатов на слияние, числом более М. Например, если N равно четырем, а М равно двум, в комбинированный список кандидатов на слияние добавляют четырех кандидатов на слияние, входящих в первый список кандидатов на слияние, и двух кандидатов на слияние, входящих во второй список кандидатов на слияние. Если число кандидатов на слияние, входящих в первый список кандидатов на слияние, меньше четырех, в комбинированный список кандидатов на слияние добавляют двух или более кандидатов на слияние из числа кандидатов на слияние, входящих во второй список кандидатов на слияние. Если число кандидатов на слияние, входящих во второй список кандидатов на слияние меньше двух, в комбинированный список кандидатов на слияние добавляют четырех или более кандидатов на слияние, входящих в первый список кандидатов на слияние.

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

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

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

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

[00293] Если заранее определенная форма представляет собой квадратную форму, кандидата на слияние для единицы кодирования в неквадратной форме получают на основе единицы кодирования в квадратной форме, включающей в себя эту единицу кодирования в неквадратной форме.

[00294] ФИГ. 21 - схема, иллюстрирующая пример, в котором кандидата на слияние неквадратного блока получают на основе квадратного блока.

[00295] Кандидата на слияние неквадратного блока можно получить на основе квадратного блока, включающего в себя этот неквадратный блок. Например, кандидата на слияние блока 0 кодирования в неквадратной форме и блока 1 кодирования в неквадратной форме можно получить на основе блока в квадратной форме, включающего в себя блок 0 кодирования и блок 1 кодирования. Т.е. положение пространственного соседнего блока можно определять на основе положения, ширины/высоты или размера блока в квадратной форме. Кандидата на слияние блока 0 кодирования и блока 1 кодирования можно получить на основе по меньшей мере одного из пространственных соседних блоков А0, А1, А2, A3 и А4, примыкающих к блоку в квадратной форме.

[00296] Временного кандидата на слияние можно получать на основе блока в квадратной форме. Т.е. временной соседний блок можно определять на основе положения, ширины/высоты или размера блока в квадратной форме. Например, кандидата на слияние блока 0 кодирования и блока 1 кодирования можно получить на основе временного соседнего блока, определенного на основе блока в квадратной форме.

[00297] В качестве альтернативы, любого из кандидатов на слияние - пространственного или временного - можно получить на основе квадратного блока, а другого кандидата на слияние можно получить на основе неквадратного блока. Например, пространственного кандидата на слияние блока 0 кодирования можно получить на основе квадратного блока, а временного кандидата на слияние блока 0 кодирования можно получить на основе блока 0 кодирования.

[00298] Несколько блоков, входящих в блок заранее определенной формы или размера не меньше заранее определенного размера, могут иметь общего кандидата на слияние. Например, в примере на ФИГ. 21, по меньшей мере один из кандидатов на слияние - пространственный или временный - блока 0 кодирования и блока 1 кодирования может быть одним и тем же.

[00299] Заранее определенная форма может представлять собой неквадратную форму, например, 2N×N, N×2N и т.п. Если заранее определенная форма представляет собой неквадратную форму, кандидата на слияние текущего блока можно получить на основе неквадратного блока, включающего в себя текущий блок. Например, если форма текущего блока представляет собой 2N×n (в данном случае n - это 1/2N), кандидата на слияние текущего блока получают на основе неквадратного блока в форме 2N×N. В качестве альтернативы, если форма текущего блока представляет собой n×2N, кандидата на слияние текущего блока получают на основе неквадратного блока в форме N×2N.

[00300] Информацию, указывающую заранее определенную форму или заранее определенный размер, можно сообщать посредством битового потока. Например, посредством битового потока можно сообщать информацию, указывающую любую из форм - неквадратную или квадратную.

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

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

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

[00304] ФИГ. 22 - схема, иллюстрирующая пример получения кандидата на слияние на основе блока вышестоящего узла.

[00305] Блок 0 и блок 1 генерируют путем разбиения квадратного блока на основе двоичного дерева. Кандидата на слияние блока 0 и блока 1 можно получить на основе соседнего блока (т.е. по меньшей мере одного из А0, А1, А2, A3 и А4), определяемого на основе блока вышестоящего узла, включающего в себя блок 0 и блок 1. В результате, возможно применение одного и того же пространственного кандидата на слияние для блока 0 и блока 1.

[00306] Блок вышестоящего узла, включающий в себя блок 2 и блок 3, а также блок 4, можно сгенерировать путем разбиения квадратного блока на основе двоичного дерева. Кроме того, блок 2 и блок 3 можно сгенерировать путем разбиения блока в неквадратной форме на основе двоичного дерева. Кандидата на слияние блока 2, блока 3 и блока 4 в неквадратных формах можно получить на основе блока вышестоящего узла, включающего их в себя. Т.е. кандидата на слияние можно получить на основе соседнего блока (например, по меньшей мере одного из В0, В1, В2, В3 и В4), определяемого на основе положения, ширины/высоты или размера квадратного блока, включающего в себя блок 2, блок 3 и блок 4. В результате, возможно применение одного и того же пространственного кандидата на слияние для блока 2, блока 3 и блока 4.

[00307] Временного кандидата на слияние для блока в неквадратной форме можно получить на основе блока вышестоящего узла. Например, временного кандидата на слияние для блока 0 и блока 1 можно получить на основе квадратного блока, включающего в себя блок 0 и блок 1. Временного кандидата на слияние для блока 2, блока 3 и блока 4 можно получить на основе квадратного блока, включающего в себя блок 2, блок 3 и блок 4. При этом возможно применение одного и того же временного кандидата на слияние, полученного на основе временного соседнего блока, определенного на основе блока квадродерева.

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

[00309] В качестве альтернативы, по меньшей мере пространственного кандидата на слияние или временного кандидата на слияние можно получить на основе блока нижестоящего узла, а другого из них можно получить на основе блока вышестоящего узла. Например, пространственного кандидата на слияние для блока 0 и блока 1 можно получить на основе блока вышестоящего узла. При этом временного кандидата на слияние для блока 0 можно получить на основе блока 0, а временного кандидата на слияние для блока 1 можно получить на основе блока 1.

[00310] В качестве альтернативы, если число отсчетов, входящих в блок нижестоящего узла, меньше заранее заданного числа, кандидата на слияние получают на основе блока вышестоящего узла, включающего в себя отсчеты числом не меньше заранее заданного числа. Например, в по меньшей мере одном из следующих случаев, когда соблюдены следующие условия: случай, в котором имеет место по меньшей мере одно из следующего: блоки нижестоящего узла, сгенерированные путем по меньшей мере одного из следующего: разбиения на основе квадродерева, разбиения на основе двоичного дерева и разбиения на основе троичного дерева, меньше заранее заданного размера; случай, в котором имеет место по меньшей мере одно из следующего: блоки нижестоящего узла представляют собой неквадратный блок; случай, в котором блок вышестоящего узла не выходит за границу изображения; и случай, в котором ширина или высота блока вышестоящего узла не меньше заранее заданного значения, кандидата на слияние получают на основе блока вышестоящего узла в квадратной или неквадратной форме, включающего в себя отсчеты числом не менее заранее заданного числа (например, 64, 128 или 256 отсчетов). Кандидаты на слияние, полученные на основе блока вышестоящего узла, могут быть общими для блоков нижестоящего узла, входящих в блок вышестоящего узла.

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

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

[00313] Если в пределах заранее заданной области присутствует соседний блок, примыкающий к текущему блоку, определяют, что этот соседний блок непригоден в качестве пространственного кандидата на слияние. Заранее заданная область может представлять собой область параллельной обработки, заданную для параллельной обработки нескольких блоков. Область параллельной обработки может именоваться «область оценки слияния» (ООС, англ. merge estimation region (MER)). Например, если соседний блок, примыкающий к текущему блоку, входит в ту же область оценки слияния, что и текущий блок, то определяют, что соседний блок непригоден. Можно выполнить операцию сдвига для определения того, входят ли текущий блок и соседний блок в одну и ту же область оценки слияния. В частности, в зависимости от того, тождественно ли значение, определенное путем сдвига положения верхнего левого опорного отсчета текущего блока, значению, определенному путем сдвига положения верхнего левого опорного отсчета соседнего блока, можно определить, входят ли текущий блок и соседний блок в одну и ту же область оценки слияния.

[00314] ФИГ. 23 - схема, иллюстрирующая пример определения пригодности пространственного соседнего блока по области оценки слияния.

[00315] На ФИГ. 23 показано, что форма области оценки слияния представляет собой N×2N.

[00316] Кандидата на слияние блока 1 можно получить на основе пространственного соседнего блока, примыкающего к блоку 1. В число пространственных соседних блоков могут входить В0, В1, В2, В3 и В4. В данном случае можно определить, что пространственные соседние блоки В0 и В3, входящие в туже область оценки слияния, что и блок 1, непригодны в качестве кандидатов на слияние. Следовательно, кандидата на слияние блока 1 можно получить на основе по меньшей мере одного из пространственных соседних блоков В1, В2, и В4, за исключением пространственных соседних блоков В0 и В3.

[00317] Кандидата на слияние блока 3 можно получить на основе пространственного соседнего блока, примыкающего к блоку 3. В число пространственных соседних блоков могут входить С0, С1, С2, С3 и С4. В данном случае можно определить, что пространственный соседний блок С0, входящий в ту же область оценки слияния, что и блок 3, непригоден в качестве кандидата на слияние. Следовательно, кандидата на слияние блока 3 можно получить на основе по меньшей мере одного из пространственных соседних блоков С1, С2, С3 и С4, за исключением пространственного соседнего блока С0.

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

[00319] ФИГ. 24 - схема, иллюстрирующая пример, в котором кандидата на слияние получают на основе области оценки слияния.

[00320] Если в область оценки слияния входят несколько единиц кодирования, кандидата на слияние для этих нескольких единиц кодирования можно получить на основе области оценки слияния. Т.е. путем применения области оценки слияния в качестве единицы кодирования, кандидата на слияние можно получить на основе положения, размера или ширины/высоты области оценки слияния.

[00321] Например, кандидата на слияние единицы 0 кодирования (ЕК0) и единицы 1 кодирования (ЕК1), и та и другая из которых имеют размер (n/2)×N (в данном случае n - это N/2) и входят в область оценки слияния размером (N/2)×N, можно получить на основе области оценки слияния. Т.е. кандидата на слияние для единицы 0 кодирования и единицы 1 кодирования можно получить на основе по меньшей мере одного из следующих: соседних блоков С0, С1, С2, С3 и С4, примыкающих к области оценки слияния.

[00322] Например, кандидата на слияние для единицы 2 кодирования (ЕК2), единицы 3 кодирования (ЕК3), единицы 4 кодирования (ЕК4) и единицы 5 кодирования (ЕК5) размером n×n, входящих в область оценки слияния размером N×N, можно получить на основе области оценки слияния. Т.е. кандидата на слияние для единицы 2 кодирования, единицы 3 кодирования, единицы 4 кодирования и единицы 5 кодирования можно получить на основе по меньшей мере одно из соседних блоков С0, С1, С2, С3 и С4, примыкающих к области оценки слияния.

[00323] Форма области оценки слияния может быть квадратной или неквадратной. Например, можно определить, что единица кодирования (или единица предсказания) в квадратной форме или единица кодирования (или единица предсказания) в неквадратной форме является областью оценки слияния. Соотношение ширины и высоты области оценки слияния можно ограничить так, чтобы оно не выходило за заранее определенный диапазон. Например, область оценки слияния не может иметь неквадратную форму с соотношением ширины и высоты, превышающим два, или неквадратную форму с соотношением ширины и высоты менее 1/2. Т.е. форма неквадратной области оценки слияния может представлять собой 2N×N или N×2N. Информацию о пределе соотношения ширины и высоты можно сообщать посредством битового потока. В качестве альтернативы, предел соотношения ширины и высоты может быть заранее задан в кодере и декодере.

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

[00325] Форму области оценки слияния или размер области оценки слияния можно обновлять на уровне последовательности, на уровне изображения, на уровне сектора, на уровне группы плиток, на уровне плитки или на уровне блока (ЕДК). Если форма области оценки слияния или размер области оценки слияния отличны от формы или размера предыдущей единицы, информацию, указывающую новую форму области оценки слияния или новый размер области оценки слияния сообщают посредством битового потока.

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

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

[00328] Информация, указывающая форму области оценки слияния, может включать в себя однобитовый флаг. Например, синтаксическая конструкция "isrectagular_mer_flag" может указывать на то, что форма области кандидата на слияние является квадратной или неквадратной. Значение isrectagular_mer_flag, равное единице, может указывать на то, что форма области оценки слияния является неквадратной, а значение isrectagular_mer_flag, равное нулю, может указывать на то, что форма области оценки слияния является квадратной.

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

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

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

[00332] ФИГ. 25 - схема, иллюстрирующая пример определения списка кандидатов на слияние текущего блока на основе индекса слияния соседнего блока.

[00333] Блок 0 и блок 1 могут представлять собой блоки, входящие в одну область параллельного получения. В качестве альтернативы, блок 0 и блок 1 могут входить в блок вышестоящего узла, который должен стать критерием для получения кандидата на слияние. На ФИГ. 25 блоки 0 и 1 проиллюстрированы как неквадратные блоки. При этом, даже если блоки 0 и 1 являются треугольными или квадратными блоками, возможно применение раскрытого ниже варианта осуществления.

[00334] Кандидата на слияние блока 0 можно получить на основе квадратного блока, включающего в себя блок 0. Например, кандидата на слияние блока 0 можно получить на основе по меньшей мере одного из А0, А1, А2, A3 или А4, примыкающих к квадратному блоку, включающему в себя блок 0. Индекс слияния для блока 0 можно закодировать, а информацию о движении кандидата на слияние, указанного индексом слияния, можно принять в качестве информации о движении блока 0.

[00335] Кандидата на слияние блока 1 можно получить на основе квадратного блока, включающего в себя блок 1. Например, кандидата на слияние блока 1 можно получить на основе по меньшей мере одного из А0, А1, А2, A3 или А4, примыкающих к квадратному блоку, включающему в себя блок 1. В данном случае можно определить, что кандидат на слияние с информацией о движении, тождественной информации о движении блока 0, или кандидат на слияние, указанный индексом слияния блока 0, непригоден в качестве кандидата на слияние блока 1. Например, если индекс слияния блока 0 указывает, что А1, А1 нельзя включить в список кандидатов на слияние блока 1, то список кандидатов на слияние блока 0, за исключением кандидата на слияние, указанного индексом слияния блока 0, можно принять в качестве списка кандидатов на слияние блока 1.

[00336] Например, если индекс слияния блока 1 меньше индекса слияния блока 0, информацию о движении блока 1 можно получить на основе кандидата на слияние, указанного индексом слияния блока 1. При этом, если индекс слияния блока 1 не меньше индекса слияния блока 0, информацию о движении блока 1 можно получить на основе кандидата на слияние, соответствующего значению, полученному путем прибавления 1 к индексу слияния блока 1.

[00337] Даже если блок 0 не кодируют в режиме слияния, кандидата на слияние с информацией о движении, тождественной информации блока 0, можно принять непригодным в качестве кандидата на слияние блока 1.

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

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

[00340] Кандидатов на слияние для включения в список кандидатов на слияние можно определять согласно заранее определенному порядку. Заранее определенный порядок по меньше мере одного из следующего: распределение приоритетов между пространственными соседними блоками или распределение приоритетов между пространственным кандидатом на слияние и временным кандидатом на слияние. Например, приоритет пространственного кандидата на слияние может быть выше, чем у временного кандидата на слияние. Кроме того, распределение приоритетов между пространственными соседними блоками можно определять по порядку поиска пространственных соседних блоков. Более высокий приоритет может иметь пространственный соседний блок с более быстрым порядком поиска. Присвоение индексов слияния кандидатам на слияние, входящим в список кандидатов на слияние, может происходить последовательно согласно нисходящей очередности приоритетов. То есть наименьший индекс слияния можно присвоить кандидату на слияние с самым высоким приоритетом.

[00341] Можно изменить порядок (или переупорядочить) кандидатов на слияние, входящих в список кандидатов на слияние. В результате изменения порядка, может произойти изменение индекса слияния, присвоенного кандидату на слияние. Изменение порядка можно выполнять исходя из по меньшей мере одного из следующего: того, выполняют ли двунаправленное предсказание, направления предсказания, размера вектора движения или разности порядка выдачи (например, порядкового номера кадра) текущего и опорного изображений. Например, приоритет кандидата на слияние, выполняющего двунаправленное предсказание, может быть выше, чем у кандидата на слияние, выполняющего однонаправленное предсказание. Поэтому, значение индекса, присвоенного кандидату на слияние, выполняющему двунаправленное предсказание, может быть меньше значения индекса, присвоенного кандидату на слияние, выполняющему однонаправленное предсказание.

[00342] ФИГ. 26 и 27 - схемы, иллюстрирующие пример, в котором изменяют порядок кандидатов на слияние.

[00343] На ФИГ. 26 и 27 предполагается, что кандидаты на слияние расположены в порядке А0, А1, А2, A3, А4 в исходном списке кандидатов на слияние. На ФИГ. 26 предполагается, что существует множество кандидатов на слияние, представляющих двунаправленное предсказание, а на ФИГ. 27, предполагается, что существует множество кандидатов на слияние, представляющих однонаправленное предсказание.

[00344] В примере на ФИГ. 26, если А2 указывает на однонаправленное предсказание, а А0, А1, A3 и А4 указывают на двунаправленное предсказание, А2, указывающий на однонаправленное предсказание, можно поместить в конец списка кандидатов на слияние.

[00345] В случае наличия множества кандидатов на слияние, указывающих на двунаправленное предсказание, распределение приоритетов между множеством кандидатов на слияние может соответствовать приоритету в исходном списке кандидатов на слияние. В результате, порядок расположения кандидатов на слияние в исходном списке кандидатов на слияние можно изменить на следующий: А0, А1, A3, А4, А2.

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

[00347] В примере на ФИГ. 27, если А2 и A3 указывают на однонаправленное предсказание, а А0, А1 и А4 указывают на двунаправленное предсказание, А2 и A3, указывающие на однонаправленное предсказание, можно поместить в конец списка кандидатов на слияние.

[00348] В случае наличия множества кандидатов на слияние, указывающих на однонаправленное предсказание, распределение приоритетов между множеством кандидатов на слияние может соответствовать приоритету в исходном списке кандидатов на слияние. В результате, порядок расположения кандидатов на слияние в исходном списке кандидатов на слияние можно изменить на следующий: А0, А1, А4, А2, A3.

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

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

[00351] Информацию о движении текущего блока можно получать на основе множества кандидатов на слияние. То есть информацию о движении текущего блока можно получить путем выбора двух или более кандидатов на слияние, входящих в список кандидатов на слияние текущего блока.

[00352] ФИГ. 28 - схема, иллюстрирующая пример получения информации о движении текущего блока на основе множества кандидатов на слияние.

[00353] Список кандидатов на слияние единицы 0 кодирования может включать в себя кандидата на слияние, полученного на основе соседнего блока, примыкающего к единице 0 кодирования. Например, список кандидатов на слияние единицы 0 кодирования может включать в себя по меньшей мере одного из С0, С1, С2, С3 или С4.

[00354] Для получения информации о движении единицы 0 кодирования, можно выбрать множество кандидатов на слияние. Например, из кандидатов на слияние, входящих в список кандидатов на слияние, можно выбрать С0 и С2 и определить информацию о движении единицы 0 кодирования на основе выбранных кандидатов на слияние.

[00355] Список кандидатов на слияние единицы 1 кодирования может включать в себя кандидата на слияние, полученного на основе соседнего блока, примыкающего к единице 0 кодирования. Например, список кандидатов на слияние единицы 1 кодирования может включать в себя по меньшей мере одного из В0, В1, В2, В3 или В4.

[00356] Для получения информации о движении единицы 1 кодирования, можно выбрать множество кандидатов на слияние. Например, из кандидатов на слияние, входящих в список кандидатов на слияние, можно выбрать В1 и В3 и определить информацию о движении единицы 1 кодирования на основе выбранных кандидатов на слияние.

[00357] В раскрытом ниже варианте осуществления N кандидатов на слияние, выбранных для определения вектора движения текущего блока из множества кандидатов на слияние, входящих в список кандидатов на слияние, именуются соответственно «первый кандидат на слияние», «второй кандидат на слияние»…, «N-ый кандидат на слияние». Указанный порядок могут определять индексы слияния кандидатов на слияние. Например, первый кандидат на слияние представляет собой кандидата на слияние с наименьшим из N кандидатов на слияние индексом слияния, а N-ый кандидат на слияние представляет собой кандидата на слияние с наибольшим из N кандидатов на слияние индексом слияния.

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

[00359] Уравнение 1 представляет пример получения вектора движения текущего блока путем суммирования векторов движения первого кандидата на слияние и второго кандидата на слияние.

[00360] [Уравнение 1]

[00361] mvL0=mvL0_1+mvL0_2

[00362] mvL1=mvL1_1+mvL1_2

[00363] В Уравнении 1 mvL0 представляет вектор L0 движения текущего блока, a mvL1 - вектор L1 движения текущего блока. mvL0_N (N составляет 1 или 2) представляет вектор L0 движения N-ого кандидата на слияние, a mvL1_N представляет вектор L1 движения N-ого кандидата на слияние.

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

[00365] [Уравнение 2]

[00366] mvL0=mvL0_1+(mvL0_2>>M)

[00367] mvL1=mvL1_1+(mvL1_2>>M)

[00368] В Уравнении 2 M представляет параметр масштаба. Информацию для определения параметра масштаба можно сообщать посредством битового потока. Параметр масштаба можно определять в единицах секторов или блоков. В качестве альтернативы, параметр масштаба можно определять на основе разности порядка выдачи (например, порядкового номера кадра) опорного изображения первого кандидата на слияние и опорного изображения второго кандидата на слияние. В качестве альтернативы, параметр масштаба можно определять на основе разности индексов слияния первого кандидата на слияние и второго кандидата на слияние. Например, если индекс слияния первого кандидата на слияние представляет собой n, а индекс слияния второго кандидата на слияние представляет собой m, параметр М масштаба можно определить как (m-n).

[00369] Среднее значение векторов движения множества кандидатов на слияние можно определить в качестве вектора движения текущего блока. Уравнение 3 представляет пример, в котором среднее значение векторов движения первого кандидата на слияние и второго кандидата на слияние определяют в качестве вектора движения текущего блока. Приведен пример получения вектора движения текущего блока путем суммирования вектора движения первого кандидата на слияние и масштабированного вектора движения второго кандидата на слияние.

[00370] [Уравнение 3]

[00371] mvL0=(mvL0_1+mvL0_2)>>1

[00372] mvL1=(mvL1_1+mvL1_2)>>1

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

[00374] Информацию, указывающую то, определяют ли информацию о движении текущего блока на основе множества кандидатов на слияние, можно сообщать посредством битового потока. Информация может представлять собой 1-битовый флаг. В качестве альтернативы, информация может указывать число кандидатов на слияние для определения информации о движении текущего блока. Например, информация, равная 1, может указывать то, что информацию о движении текущего блока определяют на основе одного кандидата на слияние. Информация, равная 01, может указывать то, что информацию о движении текущего блока определяют на основе двух кандидатов на слияние. Информация, равная 11, может указывать то, что информацию о движении текущего блока определяют на основе трех кандидатов на слияние. Возможно применение более трех кандидатов на слияние.

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

[00376] ФИГ. 29 - схема, иллюстрирующая пример получения информации о движении текущего блока из множества кандидатов на слияние.

[00377] Если информация о движении первого кандидата на слияние указывает на применение однонаправленного предсказания (L0) и списка опорных изображений L0, информацию о движении в направлении L0 текущего блока можно получить на основе первого кандидата на слияние.

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

[00379] Однонаправленную информацию второго кандидата на слияние можно применять к двум направлениям текущего блока. Например, список опорных изображений L0 и список опорных изображений L1 текущего блока можно получить на основе информации однонаправленного предсказания второго кандидата на слияние. Если вектор движения текущего блока определяют на основе Уравнения 2, значения mvLX0_1 и mvLX0_2 можно принять тождественными. В случае применения информации однонаправленного предсказания второго кандидата к двум направлениям текущего блока, можно установить разные параметр масштабирования для направления L0 и параметр масштабирования для направления L1.

[00380] [Уравнение 4]

[00381] mvLX0=mvLX0_1+(mvLX0_2>>М)

[00382] mvLX1=mvLX1_1+(mvLX1_2>>N)

[00383] Например, в случае применения однонаправленного предсказания и списка опорных изображений L0 для второго кандидата на слияние, значение параметра М масштабирования в Уравнении 4 может быть меньше N. В случае применения однонаправленного предсказания и списка опорных изображений L1 для второго кандидата на слияние, значение параметра М масштабирования в Уравнении 4 может быть больше N.

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

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

[00386] В качестве альтернативы, первого кандидата на слияние можно определить на основе информации об индексе, а второго кандидата на слияние можно определять путем прибавления/вычитания поправки к индексу слияния первого кандидата на слияние. Поправка может представлять собой натуральное число, например, 1, 2, 3 или 4. Значение поправки может быть заранее задано в кодере и декодере. В качестве альтернативы, информацию для определения значения поправки можно сообщать посредством битового потока.

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

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

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

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

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

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

[00393] Применение вариантов осуществления, раскрытых выше для процесса декодирования или процесса кодирования, к процессу кодирования или к процессу декодирования соответственно входит в объем настоящего изобретения. Изменение заранее определенного порядка раскрытия вариантов осуществления на другой порядок также входит в объем настоящего изобретения.

[00394] Несмотря на то, что варианты осуществления были раскрыты выше на примерах ряда этапов или принципиальных схем, они не предназначены для ограничения порядка временной последовательности по настоящему изобретению, при этом их можно выполнять одновременно или в каком-либо другом порядке. Кроме того, каждый из компонентов (например, единиц, модулей и т.п.) в составе блок-схемы раскрытого выше варианта осуществления может быть реализован в виде аппаратного устройства или программного средства, при этом множество компонентов можно скомбинировать с образованием аппаратного устройства или программного средства. Раскрытые выше варианты осуществления могут быть реализованы в виде программных инструкций с возможностью их исполнения посредством разнообразных электронно-вычислительных компонентов и записи в машиночитаемом носителе записей. Машиночитаемый носитель может включать в себя программную инструкцию, файл данных, структуру данных и т.п., либо по-отдельности, либо в комбинации. В число машиночитаемых носителей входят магнитные носители записей, например, жесткие диски, гибкие диски и магнитные ленты; оптические носители данных, например, постоянные запоминающие устройства на компакт-дисках (англ. compact disk read-only memory (CD-ROM)) или постоянные запоминающие устройства на универсальных цифровых дисках (англ. digital versatile disk read-only memory (DVD-ROM)); магнитооптические носители, например, гибкие магнитооптические диски; и аппаратные устройства, например, постоянное запоминающее устройство (ПЗУ, англ. read-only memory (ROM)), оперативное запоминающее устройство (ОЗУ, англ. random-access memory (RAM)) и флеш-память, конструктивно выполненные с возможностью хранения и реализации указанной программной инструкции. Аппаратные устройства могут быть выполнены с возможностью управления ими посредством одного или нескольких программных модулей или наоборот для выполнения процессов по настоящему изобретению.

Промышленная применимость

[00395] Настоящее изобретение может найти применение в электронном устройстве, выполненном с возможностью кодирования/декодирования изображения.

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

название год авторы номер документа
СПОСОБ И УСТРОЙСТВО ОБРАБОТКИ ВИДЕОСИГНАЛА 2019
  • Лэе, Бэ Кын
RU2792221C2
СПОСОБ И УСТРОЙСТВО ОБРАБОТКИ ВИДЕОСИГНАЛА 2019
  • Лэе, Бэ Кын
RU2786024C2
СПОСОБ И УСТРОЙСТВО ОБРАБОТКИ ВИДЕОСИГНАЛА 2019
  • Лэе, Бэ Кын
RU2792225C2
СПОСОБ И УСТРОЙСТВО ОБРАБОТКИ ВИДЕОСИГНАЛА 2019
  • Лэе, Бэ Кын
RU2793836C2
СПОСОБ ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ, СПОСОБ КОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И МАШИНОЧИТАЕМЫЙ НОСИТЕЛЬ 2019
  • Лэе, Бэ Кын
RU2817565C1
СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И НОСИТЕЛЬ ЗАПИСИ, ХРАНЯЩИЙ БИТОВЫЙ ПОТОК 2023
  • Канг, Дзунг Вон
  • Ли, Ха Хиун
  • Лим, Сунг Чанг
  • Ли, Дзин Хо
  • Ким, Хой Йонг
  • Парк, Гван Хоон
  • Ким, Тае Хиун
  • Ли, Дэ Йоун
RU2824753C1
СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И НОСИТЕЛЬ ЗАПИСИ, ХРАНЯЩИЙ БИТОВЫЙ ПОТОК 2022
  • Канг, Дзунг Вон
  • Ли, Ха Хиун
  • Лим, Сунг Чанг
  • Ли, Дзин Хо
  • Ким, Хой Йонг
  • Парк, Гван Хоон
  • Ким, Тае Хиун
  • Ли, Дэ Йоун
RU2806878C2
СПОСОБ И УСТРОЙСТВО КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ ИЗОБРАЖЕНИЯ И НОСИТЕЛЬ ЗАПИСИ, ХРАНЯЩИЙ БИТОВЫЙ ПОТОК 2019
  • Канг, Дзунг Вон
  • Ли, Ха Хиун
  • Лим, Сунг Чанг
  • Ли, Дзин Хо
  • Ким, Хой Йонг
  • Парк, Гван Хоон
  • Ким, Тае Хиун
  • Ли, Дэ Йоун
RU2775829C1
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ СИГНАЛОВ ИЗОБРАЖЕНИЙ 2019
  • Ли, Пэ Кхын
RU2818972C2
СПОСОБ И УСТРОЙСТВО ДЛЯ КОДИРОВАНИЯ/ДЕКОДИРОВАНИЯ СИГНАЛОВ ИЗОБРАЖЕНИЙ 2019
  • Ли, Пэ Кхын
RU2801585C2

Иллюстрации к изобретению RU 2 795 522 C2

Реферат патента 2023 года СПОСОБ И УСТРОЙСТВО ОБРАБОТКИ ВИДЕОСИГНАЛА

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

Формула изобретения RU 2 795 522 C2

1. Способ декодирования видеоинформации, включающий в себя этапы, на которых:

получают множество кандидатов на слияние для текущего блока;

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

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

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

3. Способ по п. 1, в котором то, выбирают ли только первого кандидата на слияние из списка кандидатов на слияние, или и первого, и второго кандидатов на слияние выбирают из списка кандидатов на слияние, определяют на основе 1-битового флага, явно сообщенного посредством битового потока.

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

5. Способ кодирования видеоинформации, включающий в себя этапы, на которых:

получают множество кандидатов на слияние для текущего блока;

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

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

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

Документы, цитированные в отчете о поиске Патент 2023 года RU2795522C2

US 2018103264 A1, 2018.04.12
JIE ZHAO et al, CE4-related: Simplification to HMVP, Joint Video Experts Team (JVET) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, JVET-L0309, 12th Meeting: Macao, 3-12 Oct
Способ получения цианистых соединений 1924
  • Климов Б.К.
SU2018A1
US 2017310990 A1, 2017.10.26
US 2017332099 A1, 2017.11.16
Устройство кодирования движущегося изображения, способ кодирования движущегося изображения и программа кодирования движущегося изображения, а также устройство декодирования движущегося изображения, способ декодирования движущегося изображения и программа декодирования движущегося изображения 2013
  • Накамура Хиройя
  • Фукусима Сигеру
  • Такехара Хидеки
RU2617920C9
WO 2017052081 A1, 2017.03.30
US 2015172695 A1,

RU 2 795 522 C2

Авторы

Лэе, Бэ Кын

Даты

2023-05-04Публикация

2019-06-07Подача