RU2792221C2 - Способ и устройство обработки видеосигнала - Google Patents
Способ и устройство обработки видеосигнала Download PDFInfo
- Publication number
- RU2792221C2 RU2792221C2 RU2020137839A RU2020137839A RU2792221C2 RU 2792221 C2 RU2792221 C2 RU 2792221C2 RU 2020137839 A RU2020137839 A RU 2020137839A RU 2020137839 A RU2020137839 A RU 2020137839A RU 2792221 C2 RU2792221 C2 RU 2792221C2
- Authority
- RU
- Russia
- Prior art keywords
- block
- merge candidate
- merge
- prediction
- motion information
- Prior art date
Links
Images
Abstract
Изобретение относится к способу и устройству обработки видеосигнала. Техническим результатом является эффективное выполнение межкадрового предсказания в отношении целевого блока кодирования/декодирования при кодировании/декодировании видеосигнала. Результат достигается тем, что получают кандидатов на слияние на основе по меньшей мере одного из следующих: пространственного соседнего блока или временного соседнего блока текущего блока, генерируют список кандидатов на слияние, получают первую информацию о движении текущего блока в списке кандидатов на слияние, причем первого кандидата на слияние указывают на основе первого индекса слияния, получают вторую информацию о движении текущего блока на основе второго кандидата на слияние в кандидатов на слияние, причем второй кандидат на слияние отличен от первого кандидата на слияние, и второго кандидата на слияние указывают на основе второго индекса слияния; получают первый и второй блоки предсказания текущих блоков, получают окончательный блок предсказания текущего блока на основе первого блока предсказания и второго блока предсказания. 3 н. и 6 з.п. ф-лы, 26 ил.
Description
Область техники, к которой относится изобретение
[0001] Настоящее изобретение относится к способу и устройству обработки видеосигнала.
Уровень техники
[0002] В последнее время в различных областях возросли потребности в изображениях высокого разрешения и высокого качества, например, в изображениях высокой четкости (англ. high definition (HD)) и сверхвысокой четкости (англ. ultra-high definition (UHD)). Однако, чем выше разрешение и качество изображения, тем больше количество данных по сравнению с данными обычного изображения. Поэтому возрастают затраты на передачу и хранение данных изображения при их передаче посредством таких традиционных физических сред, как проводные или беспроводные широкополосные сети, или их хранении на традиционном носителе. Решить проблемы, возникающие в связи с увеличением разрешения и качества данных изображения, позволяют высокоэффективные способы кодирования/декодирования изображения.
[0003] Технология сжатия изображений включает в себя разнообразные способы, в том числе: способ межкадрового предсказания значения пикселя, входящего в состав текущего изображения, по изображению, предшествующему текущему изображению или следующему за ним; способ внутрикадрового предсказания значения пикселя, входящего в состав текущего изображения, на основе информации о пикселях в текущем изображении; способ энтропийного кодирования, состоящий в присвоении короткого кода значению с высокой частотой появления и присвоении длинного кода значению с низкой частотой появления; и т.п. Указанная технология сжатия изображений позволяет эффективно сжимать видеоданные, а также передавать и хранить их.
[0004] С ростом потребностей в изображениях высокого разрешения также возросли потребности в части содержимого стереографических изображений - новой услуги передачи изображений. В настоящее время обсуждается способ сжатия видеоизображений для эффективного создания содержимого стереографического изображения с высоким разрешением и сверхвысоким разрешением.
Раскрытие сущности изобретения
Техническая задача
[0005] Настоящее изобретение направлено на создание способа и устройства для эффективного выполнения межкадрового предсказания в отношении целевого блока кодирования/декодирования при кодировании/декодировании видеосигнала.
[0006] Настоящее изобретение направлено на создание способа и устройства для получения двунаправленной информации о движении при кодировании/декодировании видеосигнала.
[0007] Настоящее изобретение направлено на создание способа и устройства для переупорядочивания кандидатов на слияние при кодировании/декодировании видеосигнала.
[0008] Технические задачи, которые можно решить с помощью настоящего изобретения, не ограничены вышеуказанной задачей, при этом после ознакомления с нижеследующим описанием средним специалистам в области техники настоящего изобретения станут ясны и другие, не указанные здесь, технические задачи.
Техническое решение
[0009] Предложенные способ и устройство декодирования видеосигнала позволяют получить по меньшей мере одного кандидата на слияние на основе по меньшей мере одного из следующих: пространственного соседнего блока или временного соседнего блока текущего блока, сгенерировать список кандидатов на слияние, включающий в себя указанного кандидата на слияние, получить информацию о движении LX текущего блока на основе первого кандидата на слияние, входящего в указанный список кандидатов на слияние, получить информацию о движении L(1-Х) текущего блока на основе второго кандидата на слияние, отличного от первого кандидата на слияние, и выполнить межкадровое предсказание на основе информации о движении LX и информации о движении L(1-Х).
[0010] Предложенные способ и устройство кодирования видеосигнала позволяют получить по меньшей мере одного кандидата на слияние на основе по меньшей мере одного из следующих: пространственного соседнего блока или временного соседнего блока текущего блока, сгенерировать список кандидатов на слияние, включающий в себя указанного кандидата на слияние, получить информацию о движении LX текущего блока на основе первого кандидата на слияние, входящего в указанный список кандидатов на слияние, получить информацию о движении L(1-Х) текущего блока на основе второго кандидата на слияние, отличного от первого кандидата на слияние, и выполнить межкадровое предсказание на основе информации о движении LX и информации о движении L(1-Х).
[0011] В способе и устройстве кодирования/декодирования видеосигнала согласно настоящему изобретению, если второй индекс слияния для указания второго кандидата на слияние меньше первого индекса слияния для указания первого кандидата на слияние, в качестве второго кандидата на слияние можно определить кандидата на слияние, соответствующего значению, полученному путем прибавления 1 ко второму индексу слияния.
[0012] В способе и устройстве кодирования/декодирования видеосигнала согласно настоящему изобретению второго кандидата на слияние можно выбрать из дополнительного списка кандидатов на слияние, сгенерированного путем извлечения из списка кандидатов на слияние только кандидатов на слияние с информацией о движении L(Х-1).
[0013] В способе и устройстве кодирования/декодирования видеосигнала согласно настоящему изобретению, если второй кандидат на слияние содержит двунаправленную информацию о движении, предсказание LX текущего блока выполняют на основе информации о движении LX и информации о движении LX второго кандидата на слияние.
[0014] В способе и устройстве кодирования/декодирования видеосигнала согласно настоящему изобретению, предсказание LX может включать в себя первое предсказание LX на основе информации о движении LX и второе предсказание LX на основе информации о движении LX второго кандидата на слияние.
[0015] В способе и устройстве кодирования/декодирования видеосигнала согласно настоящему изобретению, предсказание LX можно выполнять на основе первого вектора движения LX информации о движении LX и третьего вектора движения LX, полученного на основе второго вектора движения LX информации о движении LX второго кандидата на слияние.
[0016] В способе и устройстве кодирования/декодирования видеосигнала согласно настоящему изобретению, для первого сегмента текущего блока выполняют межкадровое предсказание на основе информации о движении LX, при этом для второго сегмента текущего блока выполняют межкадровое предсказание на основе информации о движении L(1-Х).
[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 - схема, иллюстрирующая an пример выполнения способа множественного межкадрового предсказания при наличии у кандидата на слияние двунаправленной информации.
Осуществление изобретения
[0044] Разнообразные изменения могут быть внесены в настоящее изобретение, несколько вариантов осуществления которого будут раскрыты ниже на примерах чертежей и подробно описаны. При этом настоящее изобретение не ограничено данными примерами осуществления, которые можно рассматривать как включающие в себя все изменения, эквивалентные решения или замены в отношении технического замысла и технического объема настоящего изобретения. Аналогичные номера позиций обозначают аналогичные элементы на чертежах.
[0045] Такие слова как «первый», «второй» и т.п. в тексте описания могут служить для описания различных компонентов, однако их не следует толковать как ограничивающие эти компоненты. Эти слова служат только для проведения различия между одним компонентом и другими компонентами. Например, «первый» компонент может быть назван «вторым» компонентом без отступления от объема настоящего изобретения, при этом «второй» компонент может, аналогичным образом, быть назван «первым» компонентом. Выражение «и/или» означает наличие комбинации множества единиц или любой из множества единиц.
[0046] Если в настоящем раскрытии сказано, что элемент «связан» или «соединен» с другим элементом, это может означать не только то, что этот элемент непосредственно связан или соединен с таким другим элементом, но и то, что между ними может быть еще один элемент. Если сказано, что элемент «непосредственно связан» или «непосредственно соединен» с другим элементом, это значит, что между ними отсутствуют какой-либо другой элемент.
[0047] Термины в тексте настоящего описания служат исключительно для раскрытия частных вариантов осуществления и не предназначены для ограничения настоящего изобретения. Выражение в единственном числе включает в себя значение множественного числа, если иное значение явно не следует из контекста. Следует понимать, что в настоящем описании такие выражения, как «включающий в себя», «имеющий» и т.п. служат для указания наличия признаков, количеств, этапов, действий, элементов, частей или их комбинаций, раскрытых в описании, но не исключают возможности наличия или добавления одного или нескольких других признаков, количеств, этапов, действий, элементов, частей или их комбинаций.
[0048] Далее будут подробно раскрыты предпочтительные варианты осуществления настоящего изобретения на примерах прилагаемых чертежей. Далее по тексту одни и те же составные части на чертежах обозначены одними и теми же номерами позиций, при этом одни и те же элементы не будут раскрываться повторно.
[0049]
[0050] ФИГ.1 - блок-схема, иллюстрирующая устройство кодирования видеоинформации по одному из вариантов осуществления настоящего изобретения.
[0051] Устройство 100 кодирования видеоинформации на ФИГ.1 может включать в себя: модуль 110 разбиения изображения, модули 120 и 125 предсказания, модуль 130 преобразования, модуль 135 квантования, модуль 160 переупорядочивания, модуль 165 энтропийного кодирования, модуль 140 обратного квантования, модуль 145 обратного преобразования, модуль 150 фильтрации и запоминающее устройство 155.
[0052] Составные части на ФИГ.1 изображены по отдельности, чтобы представить их характерные функции, отличные друг от друга, в устройстве кодирования видеоинформации. Однако это не означает, что каждая составная часть выполнена в виде составной единицы обособленного аппаратного или программного средства. Иными словами, каждая составная часть условно включает в себя каждую из перечисленных составных частей. То есть по меньшей мере две составные части каждой составной части могут быть объединены с образованием одной составной части или одна составная часть может быть поделена на множество составных частей для выполнения каждой функции. Варианты осуществления, в которых каждая составная часть является объединенной или одна составная часть является поделенной, также входят в объем настоящего изобретения, если это не является отступлением от его сущности.
[0053] Кроме того, некоторые составляющие могут быть не обязательными составляющими, выполняющими основные функции по настоящему изобретению, а выборочными составляющими, только улучшающими показатели работы. Настоящее изобретение можно реализовать посредством только обязательных составных частей для реализации сущности настоящего изобретения, исключив составляющие, служащие для улучшения показателей работы. Структура, включающая в себя только обязательные составляющие и не включающая в себя выборочные составляющие, служащие только для улучшения показателей работы, также входит в объем настоящего изобретения.
[0054] Модуль 110 разбиения изображения выполнен с возможностью разбиения вводного изображения на одну или несколько единиц обработки. В данном случае, единица обработки может представлять собой единицу предсказания (ЕП, англ. prediction unit (PU)), единицу преобразования (ЕПр, англ. transform unit (TU)) или единицу кодирования (ЕК, англ. coding unit (CU)). Модуль 110 разбиения изображения выполнен с возможностью разбиения одного изображения на комбинации нескольких единиц кодирования, единиц предсказания и единиц преобразования и с возможностью кодирования изображения путем выбора одной комбинации единиц кодирования, единиц предсказания и единиц преобразования по заранее заданному критерию (например, функции стоимости).
[0055] Например, одно изображение можно разбить на несколько единиц кодирования. Разбиение изображения на единицы кодирования можно осуществлять посредством рекурсивно-древовидной структуры, например, квадродревовидной структуры. Единицу кодирования, разбиваемую на другие единицы кодирования, с одним изображением или наибольшую единицу кодирования в качестве корня можно разбить посредством дочерних узлов, соответствующих числу разбитых единиц кодирования. Единица кодирования, не разбиваемая далее при достижении заранее определенного предела, служит в качестве листового узла. То есть, если для одной единицы кодирования возможно только квадратное разбиение, одну единицу кодирования можно разбить не более чем на четыре другие единицы кодирования.
[0056] Далее по тексту описания варианта осуществления настоящего изобретения «единица кодирования» может означать единицу выполнения кодирования или единицу выполнения декодирования.
[0057] Единица предсказания может представлять собой один из сегментов квадратной или прямоугольной структуры с одинаковым размером отдельной единицы кодирования или один из сегментов, полученный в результате разбиения таким образом, чтобы отдельные единицы кодирования имели разную форму / размер.
[0058] Если единица предсказания для внутри кадрового предсказания сгенерирована на основе единицы кодирования, а единица кодирования не является наименьшей единицей кодирования, внутрикадровое предсказание можно осуществлять без разбиения единицы кодирования на несколько единиц предсказания N×N.
[0059] В число модулей 120 и 125 предсказания могут входить модуль 120 межкадрового предсказания, осуществляющий межкадровое предсказание, и модуль 125 внутрикадрового предсказания, осуществляющий внутрикадровое предсказание. Можно определить то, какое предсказание - межкадровое или внутрикадровое - следует выполнить в отношении данной единицы предсказания, а также детальную информацию (например, режим внутрикадрового предсказания, вектор движения, опорное изображение и т.п.) в зависимости от способа предсказания. В данном случае единица обработки -объект предсказания может быть отлична от единицы обработки, для которой определяют способ предсказания и детальное содержание. Например, способ предсказания, режим предсказания и т.п.можно определять посредством единицы предсказания, а предсказание выполнять посредством единицы преобразования. Остаточное значение (остаточный блок), представляющее собой разность между сгенерированным блоком предсказания и исходным блоком, можно ввести в модуль 130 преобразования. Кроме того, информацию о режиме предсказания, информацию о векторе движения и т.п., используемую для предсказания, можно закодировать с остаточным значением посредством модуля 165 энтропийного кодирования и передать в устройство декодирования видеоинформации. При применении того или иного режима кодирования, передачу в устройство декодирования видеоинформации можно осуществлять, кодируя исходный блок как таковой, без генерирования блока предсказания посредством модулей 120 и 125 предсказания.
[0060] Модуль 120 межкадрового предсказания выполнен с возможностью предсказания единицы предсказания на основе информации о, по меньшей мере, изображении, предшествующем текущему изображению или следующем за ним, или, в некоторых случаях, на основе информации о некоторых закодированных областях в текущем изображении. Модуль 120 межкадрового предсказания может включать в себя модуль интерполяции опорного изображения, модуль предсказания движения и модуль компенсации движения.
[0061] Модуль интерполяции опорного изображения выполнен с возможностью приема информации опорного изображения из запоминающего устройства 155 и генерирования информации о целочисленном пикселе или пикселе меньше целочисленного на основе опорного изображения. В случае пикселей яркости, возможно применение 8-отводного интерполяционного фильтра на основе дискретного косинусного преобразования (ДКП, англ. discrete cosine transform (DCT)) с разными коэффициентами фильтра для генерирования информации о целочисленном пикселе или пикселе меньше целочисленного в единицах, составляющих 1/4 пикселя. В случае сигналов цветности, возможно применение 4-отводного интерполяционного фильтра на основе ДКП с другим коэффициентом фильтра для генерирования информации о целочисленном пикселе или пикселе меньше целочисленного в единицах, составляющих 1/8 пикселя.
[0062] Модуль предсказания движения выполнен с возможностью предсказания движения на основе опорного изображения, интерполированного модулем интерполяции опорного изображения. Возможно применение различных способов вычисления вектора движения, например, алгоритма сопоставления блоков с полным поиском (англ. full search-based block matching algorithm (FBMA)), трехступенчатого поиска (англ. three step search (TSS)), алгоритма нового трехступенчатого поиска (англ. new three-step search algorithm (NTS)) и т.п. Вектор движения может иметь значение вектора движения в единицах, составляющих 1/2 пикселя или 1/4 пикселя в зависимости от интерполированного пикселя. Модуль предсказания движения выполнен с возможностью предсказания для текущей единицы предсказания путем изменения способа предсказания движения. Возможно применение различных способов предсказания движения, например, способа пропуска, способа слияния, способа AMVP (улучшенного предсказания вектора движения), способа внутриблокового копирования и т.п.
[0063] Модуль 125 внутрикадрового предсказания выполнен с возможностью генерирования единицы предсказания на основе опорной информации о пикселях по соседству с текущим блоком, т.е. информации о пикселях в текущем изображении. Если соседний блок текущей единицы предсказания является блоком-объектом межкадрового предсказания, в связи с чем опорный пиксель является пикселем-объектом межкадрового предсказания, опорный пиксель, входящий в состав блока-объекта межкадрового предсказания, можно заменить опорной информацией о пикселях соседнего блока-объекта внутрикадрового предсказания. То есть, если опорный пиксель непригоден, по меньшей мере один опорный пиксель из пригодных опорных пикселей можно использовать вместо непригодной опорной информации о пикселях.
[0064] В число режимов внутрикадрового предсказания могут входить режим направленного предсказания с использованием опорной информации о пикселях в зависимости от направления предсказания и режим ненаправленного предсказания без использования информации о направлении при выполнении предсказания. Режим для предсказания яркостной информации может быть отличен от режима для предсказания цветностной информации, при этом для предсказания цветностной информации можно использовать информацию режима внутрикадрового предсказания, применяемую для предсказания яркостной информации, или предсказанную информацию сигнала яркости.
[0065] Если при выполнении внутрикадрового предсказания размер единицы предсказания тождествен размеру единицы преобразования, внутрикадровое предсказание в отношении единицы предсказания можно выполнять на основе пикселей, расположенных слева, слева сверху и сверху от единицы предсказания. При этом, если при выполнении внутрикадрового предсказания размер единицы предсказания отличен от размера единицы преобразования, внутрикадровое предсказание можно выполнять с использованием опорного пикселя на основе единицы преобразования. Кроме того, внутрикадровое предсказание с разбиением N×N можно применять только в отношении наименьшей единицы кодирования.
[0066] Согласно способу внутрикадрового предсказания, блок предсказания можно сгенерировать после применения фильтра ABC (адаптивного внутреннего сглаживания, англ. Adaptive Intra Smoothing (AIS)) к опорному пикселю в зависимости от режимов предсказания. К опорному пикселю можно применять фильтры ABC разных типов. Для выполнения способа внутрикадрового предсказания, режим внутрикадрового предсказания текущей единицы предсказания можно предсказывать по режиму внутрикадрового предсказания единицы предсказания по соседству с текущей единицей предсказания. При предсказании режима предсказания текущей единицы предсказания путем применения информации о режиме, предсказанной по соседней единице предсказания, если режим внутрикадрового предсказания текущей единицы предсказания является тем же, что и режим внутрикадрового предсказания соседней единицы предсказания, для передачи информации, указывающей, что режимы предсказания текущей единицы предсказания и соседней единицы предсказания одинаковы, можно использовать заранее определенную сигнальную информацию. Если режим предсказания текущей единицы предсказания отличен от режима предсказания соседней единицы предсказания, можно выполнить энтропийное кодирование для кодирования информации о режиме предсказания текущего блока.
[0067] Кроме того, можно сгенерировать остаточный блок, включающий в себя информацию об остаточном значении, представляющем собой разность между единицей предсказания - объектом предсказания и исходным блоком единицы предсказания, на основе единиц предсказания, сгенерированных модулями 120 и 125 предсказания. Сгенерированный остаточный блок можно ввести в модуль 130 преобразования.
[0068] Модуль 130 преобразования выполнен с возможностью преобразования остаточного блока, включающего в себя информацию об остаточном значении, представляющем собой разность между исходным блоком и единицей предсказания, сгенерированной модулями 120 и 125 предсказания, путем применения способа преобразования, например, дискретного косинусного преобразования (ДКП), дискретного синусного преобразования (ДСП, англ. discrete sine transform (DST)) и преобразования Карунена - Лоэва (ПКЛ, англ. Karhunen - Loeve transform (KLT)). To, какой из способов - ДКП, ДСП или ПКЛ - применить для преобразования остаточного блока, можно определять в зависимости от информации о режиме внутрикадрового предсказания единицы предсказания, применяемой для генерирования остаточного блока.
[0069] Модуль 135 квантования выполнен с возможностью квантования значений, преобразованных в частотную область модулем 130 преобразования. Возможно применение разных коэффициентов квантования в зависимости от блока или важности изображения. Значения, вычисленные модулем 135 квантования, можно вводить в модуль 140 обратного квантования и модуль 160 переупорядочивания.
[0070] Модуль 160 переупорядочивания выполнен с возможностью переупорядочивания коэффициентов квантованных остаточных значений.
[0071] Модуль 160 переупорядочивания выполнен с возможностью видоизменения коэффициента в форме двумерного блока в коэффициент в форме одномерного вектора каким-либо способом считывания коэффициентов. Например, модуль 160 переупорядочивания выполнен с возможностью считывания в диапазоне от коэффициента прямого кодирования (англ. DC -Direct coding) до коэффициента в высокочастотной области способом зигзагообразного считывания для видоизменения коэффициентов в форму одномерных векторов. В зависимости от размера единицы преобразования и режима внутрикадрового предсказания, вместо зигзагообразного считывания возможно считывание в вертикальном направлении, при котором коэффициенты в форме двумерных блоков считывают в направлении столбца, или считывания в горизонтальном направлении, при котором коэффициенты в форме двумерных блоков считывают в направлении строки. Таким образом, способ считывания - зигзагообразное считывание, считывание в вертикальном направлении или считывание в горизонтальном направлении - для применения можно определять в зависимости от размера единицы преобразования и режима внутрикадрового предсказания.
[0072] Модуль 165 энтропийного кодирования выполнен с возможностью выполнения энтропийного кодирования на основе значений, вычисленных модулем 160 переупорядочивания. При энтропийном кодировании возможно применение различных способов кодирования, например, экспоненциального кодирования Голомба, контекстно-зависимого адаптивного кодирования с переменной длиной кодового слова (англ. context-adaptive variable length coding (CAVLC)) и контекстно-зависимого двоичного арифметического кодирования (англ. context-adaptive binary arithmetic coding (CABAC)).
[0073] Модуль 165 энтропийного кодирования выполнен с возможностью кодирования разнообразной информации, например, информации о коэффициенте остаточного значения и информации о типе блока единицы кодирования, информации о режиме предсказания, информации о единице разбиения, информации о единице предсказания, информации о единице преобразования, информации о векторе движения, информация об опорном кадре, информации об интерполяции блока, информации о фильтрации и т.п. от модуля 160 переупорядочивания и модулей 120 и 125 предсказания.
[0074] Модуль 165 энтропийного кодирования выполнен с возможностью энтропийного кодирования коэффициентов единицы кодирования, введенных из модуля 160 переупорядочивания.
[0075] Модуль 140 обратного квантования выполнен с возможностью обратного квантования значений, квантованных модулем 135 квантования, а модуль 145 обратного преобразования - с возможностью обратного преобразования значений, преобразованных модулем 130 преобразования. Остаточное значение, сгенерированное модулем 140 обратного квантования и модулем 145 обратного преобразования, можно скомбинировать с единицей предсказания, предсказанной модулем оценки движения, модулем компенсации движения и модулем внутрикадрового предсказания модулей 120 и 125 предсказания, с возможностью генерирования восстановленного блока.
[0076] Модуль 150 фильтрации может включать в себя по меньшей мере одно из следующего: фильтр удаления блочности, узел коррекции смещения и адаптивный контурный фильтр (АКФ, англ. adaptive loop filter (ALF)).
[0077] Фильтр удаления блочности выполнен с возможностью устранения видимой блочности структуры ТВ-изображения, обусловленной наличием границ между блоками в восстановленном изображении. Основанием для определения того, нужно ли выполнить удаление блочности, т.е. нужно ли применить фильтр удаления блочности к текущему блоку, могут служить пиксели, входящие в несколько строк или столбцов в блоке. Применение фильтра удаления блочности к блоку может включать в себя применение строгого фильтра или нестрогого фильтра в зависимости от нужной строгости фильтрации для удаления блочности. Кроме того, при применении фильтра удаления блочности, обработка горизонтальной фильтрации и вертикальной фильтрации может происходить параллельно.
[0078] Модуль коррекции смещения выполнен с возможностью коррекции смещения относительно исходного изображения в единицах пикселя в изображении, подвергнутом процессу удаления блочности. Для выполнения коррекции смещения на конкретном изображении можно применить способ, при котором применяют смещение с учетом информации о краях каждого пикселя, или способ, при котором пиксели изображения разбивают на заранее определенное число областей, определяют область для выполнения смещения и применяют смещение к указанной определенной области.
[0079] Адаптивную контурную фильтрацию (АКФ) можно выполнять на основе значения, определенного путем сравнения отфильтрованного восстановленного изображения и исходного изображения. Можно поделить пиксели, входящие в состав изображения, на заранее определенные группы, определить фильтр для применения к каждой из групп и выполнить фильтрацию индивидуально для каждой группы. Передача информации о том, применять ли АКФ, и сигнала яркости может происходить посредством единицы кодирования (ЕК). Форма и коэффициент фильтра для АКФ могут быть разными для каждого блока. Кроме того, возможно применение фильтра для АКФ одной и той же формы (постоянной формы) независимо от назначения целевого блока.
[0080] Запоминающее устройство 155 выполнено с возможностью хранения восстановленного блока или изображения, вычисленного посредством модуля 150 фильтрации. Сохраненный восстановленный блок или изображение могут быть введены в модули 120 и 125 предсказания при выполнении межкадрового предсказания.
[0081]
[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]
[00104] Кодирование/декодирование одного изображения можно осуществлять путем деления на базовые блоки квадратной или неквадратной формы. На данном этапе базовый блок может именоваться «единица дерева кодирования». Единицу дерева кодирования можно охарактеризовать как единицу кодирования наибольшего размера, разрешенного в пределах последовательности или сектора. Информацию о том, имеет ли единица дерева кодирования квадратную форму или неквадратную форму, или информацию о размере единицы дерева кодирования можно сообщать посредством набора параметров последовательности, набора параметров изображения или заголовка сектора. Единицу дерева кодирования можно поделить на сегменты меньшего размера. На данном этапе, если глубина разбиения в результате деления единицы дерева кодирования принята равной 1, то глубину разбиения в результате деления сегмента с глубиной 1 можно принять равной 2. То есть глубину сегмента, сгенерированного путем деления сегмента с глубиной k в единице дерева кодирования, можно определить как k+1.
[00105] Сегмент произвольного размера, сгенерированный путем деления единицы дерева кодирования, можно задать в качестве единицы кодирования. Единицу кодирования можно рекурсивно делить или делить на базовые единицы для выполнения предсказания, квантования, преобразования или внутри контурной фильтрации и т.п. Например, сегмент произвольного размера, сгенерированный путем деления единицы кодирования, можно задать в качестве единицы кодирования, или единицы преобразования, или единицы предсказания, представляющей собой базовую единицу для выполнения предсказания, квантования, преобразования или внутри контурной фильтрации и т.п.
[00106] В качестве альтернативы, можно определить блок предсказания того же размера, что и блок кодирования, или меньшего размера, чем блок кодирования, путем разбиения блока кодирования для предсказания. Для разбиения блока кодирования для предсказания можно указать любой из потенциальных режимов разбиения (Part_mode), форма которого соответствует форме разбиения блока кодирования. Информацию для определения индекса разбиения, указывающего любой из потенциальных режимов разбиения, можно сообщать посредством битового потока. В качестве альтернативы, индекс разбиения блока кодирования можно определять на основе по меньшей мере одного из следующего: размера, формы или режима кодирования блока кодирования. Размер или форму блока предсказания можно определять на основе режима разбиения, указанного индексом разбиения. В число потенциальных режимов разбиения могут входить те, что имеют асимметричную форму разбиения (например, nL×2N, nR×2N, 2N×nU, 2N×nD). Число и тип потенциальных режимов асимметричного разбиения, пригодных для блока кодирования, можно определять на основе по меньшей мере одного из следующего: размера, формы или режима кодирования блока кодирования.
[00107] ФИГ.3 - схема, иллюстрирующая потенциальный режим разбиения с возможностью применения к блоку кодирования в случае кодирования блока кодирования путем межкадрового предсказания.
[00108] В случае кодирования блока кодирования путем межкадрового предсказания, к блоку кодирования можно применить любой из 8 потенциальных режимов разбиения на ФИГ.3.
[00109] При этом, в случае кодирования блока кодирования путем внутрикадрового предсказания, к блоку кодирования можно применить только разбиение на квадраты. Иными словами, в случае кодирования блока кодирования путем внутрикадрового предсказания, к блоку кодирования можно применить режим разбиения PART_2N×2N или PART_N×N.
[00110] PART_N×N можно применять, если блок кодирования имеет минимальный размер. В данном случае минимальный размер блока кодирования может быть заранее задан в кодере и в декодере. В качестве альтернативы, информацию о минимальном размере блока кодирования можно сообщать посредством битового потока. Водном примере минимальный размер блока кодирования можно сообщить посредством заголовка сектора. Следовательно, может быть определен разный минимальный размер блока кодирования для каждого сектора.
[00111] В другом примере потенциальный режим разбиения, пригодный для блока кодирования, можно определять по-разному в зависимости от, по меньшей мере, размера или формы блока кодирования. В одном примере число или тип потенциальных режимов разбиения, пригодных для блока кодирования, можно определять по-разному в зависимости от, по меньшей мере, размера или формы блока кодирования.
[00112] В качестве альтернативы, тип или число потенциальных режимов асимметричного разбиения, пригодных для блока кодирования, можно определять в зависимости от размера или формы блока кодирования. Число или тип потенциальных режимов асимметричного разбиения, пригодных для блока кодирования, можно определять по-разному в зависимости от, по меньшей мере, размера или формы блока кодирования. В одном примере, если блок кодирования имеет неквадратную форму, при которой ширина больше высоты, то по меньшей мере один из следующих: PART_2N×N, PART_2N×nU или PART_2N×nD не может быть потенциальным режимом разбиения блока кодирования. Если блок кодирования имеет неквадратную форму, при которой высота больше ширины, по меньшей мере один из следующих: PART_N×2N, PART_nL×2N, PART_nR×2N не может быть потенциальным режимом разбиения блока кодирования.
[00113] Обычно размер блока предсказания может составлять от 4×4 до 64×64. При этом, в случае кодирования блока кодирования путем межкадрового предсказания, размер блока предсказания можно ограничить так, чтобы он не составлял 4×4, для уменьшения ширины полосы пропускания запоминающего устройства при выполнении компенсации движения.
[00114] Блок кодирования можно рекурсивно разбивать в соответствии с режимом разбиения. Иными словами, в соответствии с режимом разбиения, определенном индексом разбиения, блок кодирования можно разбить, а каждый сегмент, сгенерированный путем разбиения блока кодирования, можно задать в качестве блока кодирования.
[00115] Далее будет подробнее раскрыт способ разбиения единицы кодирования. В нижеследующем примере выражение «единица кодирования» может означать единицу дерева кодирования или единицу кодирования, входящую в состав единицы дерева кодирования. Кроме того, «сегмент», сгенерированный путем разбиения блока кодирования, может означать «блок кодирования». Раскрытый ниже способ разбиения можно применять, если блок кодирования разбивают на множество блоков предсказания или блоков преобразования.
[00116] Единицу кодирования можно разбить по меньшей мере одной линией. В этом случае угол линии, разбивающей единицу кодирования, может составлять значение в диапазоне от 0 до 360 градусов. Например, угол горизонтальной линии может составлять 0 градусов, угол вертикальной линии может составлять 90 градусов, угол диагональной линии в направлении вправо вверх может составлять 45 градусов, а угол диагональной линии в направлении влево вверх - 135 градусов.
[00117] Если единица кодирования разбита множеством линий, все линии множества могут проходить под одним и тем же углом. В качестве альтернативы, угол по меньшей мере одной из линий множества может быть отличен от углов других линий. В качестве альтернативы, для множества линий, разбивающих единицу дерева кодирования или единицу кодирования, может быть заранее задана разность углов (например, 90 градусов).
[00118] Информацию о линии, разбивающей единицу кодирования, можно определять по режиму разбиения. В качестве альтернативы, информация о, по меньшей мере, одном из следующего: числе, направлении, угле или положении линии в блоке можно закодировать.
[00119] Для удобства раскрытия, в нижеследующем примере принято, что единица кодирования разбита на множество единиц кодирования, по меньшей мере, вертикальной линией или горизонтальной линией.
[00120] Число вертикальных линий или горизонтальных линий, разбивающих единицу кодирования, может составлять по меньшей мере одну или более. В одном примере единицу кодирования можно разбить на 2 сегмента посредством одной вертикальной линии или одной горизонтальной линии. В качестве альтернативы, единицу кодирования можно разбить на 3 сегмента посредством двух вертикальных линий или двух горизонтальных линий. В качестве альтернативы, единицу кодирования можно разбить на 4 сегмента, шириной и высотой, равными половине единицы кодирования, посредством одной вертикальной линии или одной горизонтальной линии.
[00121] В случае разбиения единицы кодирования на множество сегментов посредством по меньшей мере одной вертикальной линии или по меньшей мере одной горизонтальной линии, размер сегментов может быть единообразным. В качестве альтернативы, размер одного сегмента может быть отличен от размеров других сегментов, либо размеры всех сегментов могут быть отличны друг от друга. В одном примере, в случае разбиения единицы кодирования двумя горизонтальными линиями или двумя вертикальными линиями, единицу кодирования можно разбить на 3 сегмента. В этом случае соотношение ширины или высоты 3 сегментов может составлять n:2n:n, 2n:n:n или n:n:2n.
[00122] В нижеследующих примерах разбиение блока кодирования на 4 сегмента именуется «разбиение на основе квадродерева». При этом разбиение блока кодирования на 2 сегмента именуется «разбиение на основе двоичного дерева». Разбиение блока кодирования на 3 сегмента именуется «разбиение на основе троичного дерева».
[00123] На раскрытом ниже чертеже показано, что единица кодирования разбита одной вертикальной линией и/или одной горизонтальной линией, однако далее будет также раскрыто, что разбиение единицы кодирования на большее число сегментов посредством большего числа вертикальных линий и/или большего числа горизонтальных линий, чем показано, или разбиение единицы кодирования на меньшее число сегментов, чем показано, также входит в объем настоящего изобретения.
[00124] ФИГ.4 изображает пример иерархического разбиения блока кодирования на основе древовидной структуры в качестве варианта применения настоящего изобретения
[00125] Входной видеосигнал декодируют в заранее определенной единице блока, при этом базовая единица для декодирования входного видеосигнала именуется «блок кодирования». Блок кодирования может представлять собой единицу выполнения внутри-/межкадрового предсказания, преобразования и квантования. Кроме того, режим предсказания (например, режим внутрикадрового предсказания или режим межкадрового предсказания) можно определять в единице блока кодирования, при этом для блоков предсказания, входящих в блок кодирования, возможно применение одного и того же определенного режима предсказания. Блок кодирования может представлять собой квадратный или неквадратный блок произвольного размера в диапазоне от 8×8 до 64×64, либо квадратный или неквадратный блок размером 128×128, 256×256 или более.
[00126] В частности, иерархическое разбиение блока кодирования можно осуществлять по меньшей мере одним из следующих способов: разбиения на основе квадродерева, на основе двоичного дерева или на основе троичного дерева. Разбиение на основе квадродерева может означать способ, при котором блок кодирования 2N×2N разбивают на четыре блока кодирования N×N. Разбиение на основе двоичного дерева может означать способ, при котором один блок кодирования разбивают на два блока кодирования. Разбиение на основе троичного дерева может означать способ, при котором один блок кодирования разбивают на три блока кодирования. Даже в случае разбиения на основе троичного или двоичного дерева, на большей глубине может существовать квадратный блок кодирования.
[00127] Сегменты, генерируемые путем разбиения на основе двоичного дерева, могут быть симметричными или асимметричными. Кроме того, блок кодирования, разбитый на основе двоичного дерева, может представлять собой квадратный блок или неквадратный блок (например, прямоугольник).
[00128] ФИГ.5 - схема, иллюстрирующая форму разбиения блока кодирования на основе двоичного дерева. Форма разбиения блока кодирования на основе двоичного дерева быть симметричного типа, например, 2N×N (единица кодирования, неквадратная в горизонтальном направлении) или N×2N (единица кодирования, неквадратная в вертикальном направлении) и т.п., или асимметричного типа, например, nL×2N, nR×2N, 2N×nU или 2N×nD и т.п. Только один из типов - симметричный или асимметричный - может быть разрешен в качестве формы разбиения блока кодирования.
[00129] Форма разбиения на основе троичного дерева может включать в себя по меньшей мере одну из следующих форм: форму разбиение блока кодирования 2-мя вертикальными линиями или форму разбиения блока кодирования 2-мя горизонтальными линиями. 3 неквадратных сегмента можно сгенерировать путем разбиения на основе троичного дерева.
[00130] ФИГ.6 иллюстрирует форму разбиения на основе троичного дерева.
[00131] Форма разбиения на основе троичного дерева может представлять собой форму разбиения блока кодирования 2-мя горизонтальными линиями или форму разбиения блока кодирования 2-мя вертикальными линиями. Соотношение ширины или высоты сегментов, сгенерированных путем разбиения блока кодирования, может составлять n:2n:n, 2n:n:n или n:n:2n.
[00132] Положение сегмента с наибольшей из 3 сегментов шириной или высотой может быть заранее задано в кодере и декодере. В качестве альтернативы, информацию, указывающую сегмент с наибольшей из 3 сегментов шириной или высотой, можно сообщать посредством битового потока.
[00133] Разрешенными формами разбиения для единицы кодирования могут быть только квадратная и неквадратная симметричная формы. В этом случае разбиение единицы кодирования на квадратные сегменты может соответствовать разбиению ЕК на основе квадродерева, а разбиение единицы кодирования на неквадратные сегменты симметричной формы может соответствовать разбиению на основе двоичного дерева. Разбиение единицы дерева кодирования на квадратные сегменты и неквадратные сегменты симметричной формы может соответствовать разбиению ЕК на основе квадродерева и двоичного дерева (КДДД, англ. QTBT).
[00134] Разбиение на основе двоичного дерева или троичного дерева можно выполнять для блока кодирования, в котором не выполняют дальнейшее разбиение на основе квадродерева. Блок кодирования, сгенерированный путем разбиения на основе двоичного дерева или троичного дерева, можно разбить на более мелкие блоки кодирования. В этом случае может не быть разрешено применение по меньшей мере одного из следующего: разбиения на основе квадродерева, разбиения на основе троичного дерева или разбиения на основе двоичного дерева к блоку кодирования. В качестве альтернативы, для блока кодирования может не быть разрешено разбиение на основе двоичного дерева в заранее определенном направлении или разбиение на основе троичного дерева в заранее определенном направлении. В одном примере может не быть разрешено разбиение на основе квадродерева и разбиение на основе троичного дерева для блока кодирования, сгенерированного путем разбиения на основе двоичного дерева или троичного дерева. Для такого блока кодирования может быть разрешено только разбиение на основе двоичного дерева.
[00135] В качестве альтернативы, только наибольший из 3 блоков кодирования, сгенерированных путем разбиения на основе троичного дерева, можно разбить на более мелкие блоки кодирования. В качестве альтернативы, разбиение на основе двоичного дерева или разбиение на основе троичного дерева могут быть разрешены только для наибольшего из 3 блоков кодирования, сгенерированных путем разбиения на основе троичного дерева.
[00136] Форму разбиения сегмента более низкой глубины можно определять в зависимости от формы разбиения сегмента более высокой глубины. В одном примере, в случае разбиения верхнего сегмента и нижнего сегмента на основе двоичного дерева, для сегмента более низкой глубины может быть разрешено только разбиение на основе двоичного дерева в той же форме, что и разбиение сегмента более высокой глубины на основе двоичного дерева. Например, если форма разбиения сегмента более высокой глубины на основе двоичного дерева представляет собой 2N×N, для сегмента более низкой глубины также может быть задана форма разбиения на основе двоичного дерева 2N×N. В качестве альтернативы, если форма разбиения сегмента более высокой глубины на основе двоичного дерева представляет собой N×2N, для сегмента более низкой глубины также может быть задана форма разбиения N×2N.
[00137] В качестве альтернативы, может не быть разрешено разбиение на основе двоичного дерева в том же направлении разбиения, что и для сегмента более высокой глубины, или разбиения на основе троичного дерева в том же направлении разбиения, что и для сегмента более высокой глубины, для наибольшего из сегментов, сгенерированных путем разбиения на основе троичного дерева.
[00138] В качестве альтернативы, форму разбиения сегмента более низкой глубины можно определять с учетом формы разбиения сегмента более высокой глубины и формы разбиения соседнего сегмента более низкой глубины. А именно, если сегмент более высокой глубины разбит на основе двоичного дерева, форму разбиения сегмента более низкой глубины можно определять так, чтобы не был получен тот же результат, что и в результате разбиения сегмента более высокой глубины на основе квадродерева. В одном примере, если форма разбиения сегмента более высокой глубины представляет собой 2N×N, а форма разбиения соседнего сегмента более низкой глубины представляет собой N×2N, нельзя задать форму разбиения текущего сегмента более низкой глубины в виде N×2N. Это обусловлено тем, что, если форма разбиения текущего сегмента более низкой глубины представляет собой N×2N, то будет определен тот же результат, что и в результате разбиения сегмента более высокой глубины на основе квадродерева формы N×N. Если форма разбиения сегмента более высокой глубины представляет собой N×2N, а форма разбиения соседнего сегмента более низкой глубины - 2N×N, нельзя задать форму разбиения текущего сегмента более низкой глубины в виде 2N×N. Иными словами, если форма разбиения сегмента более высокой глубины на основе двоичного дерева отлична от формы разбиения соседнего сегмента более низкой глубины на основе двоичного дерева, можно задать форму разбиения текущего сегмента более низкой глубины на основе двоичного дерева такой же, как форма разбиения сегмента более высокой глубины на основе двоичного дерева.
[00139] В качестве альтернативы, можно задать форму разбиения сегмента более низкой глубины на основе двоичного дерева, отличную от формы разбиения сегмента более высокой глубины на основе двоичного дерева.
[00140] Форму сегмента, при которой разрешено разбиение на основе двоичного дерева, можно определять в единице последовательности, секторе или единице кодирования. В одном примере допустимые формы разбиения на основе двоичного дерева для единицы дерева кодирования могут быть ограничены формами 2N×N или N×2N. Допустимая форма разбиения может быть заранее задана в кодере или в декодере. В качестве альтернативы, информацию о допустимой форме разбиения или недопустимой форме разбиения можно закодировать и сообщить посредством битового потока.
[00141] ФИГ.7 - схема, иллюстрирующая пример, в котором разрешена только конкретная форма разбиения на основе двоичного дерева.
[00142] На ФИГ.7А представлен пример, в котором разрешена только форма N×2N разбиения на основе двоичного дерева, а на ФИГ.7 В - пример, в котором разрешена только форма 2N×N разбиения на основе двоичного дерева.
[00143] Различные формы разбиения могут быть представлены посредством информация о разбиении на основе квадродерева, информации о разбиении на основе двоичного дерева или информации о разбиении на основе троичного дерева. Информация о разбиении на основе квадродерева может включать в себя по меньшей мере одно из следующего: информацию, указывающую то, выполняют ли разбиение на основе квадродерева, или информацию о размере/глубине блока кодирования, в котором разрешено разбиение на основе квадродерева. Информация о разбиении на основе двоичного дерева может включать в себя по меньшей мере одно из следующего: информацию, указывающую то, выполняют ли разбиение на основе двоичного дерева, информацию о направлении разбиения на основе двоичного дерева - вертикальном или горизонтальном, информацию о размере/глубине блока кодирования, в котором разрешено разбиение на основе двоичного дерева, или информацию о размере/глубине блока кодирования, в котором разбиение на основе двоичного дерева не разрешено. Информация о разбиении на основе троичного дерева может включать в себя по меньшей мере одно из следующего: информацию, указывающую то, выполняют ли разбиение на основе троичного дерева, информацию о направлении разбиения на основе троичного дерева - вертикальном или горизонтальном, информацию о размере/глубине блока кодирования, в котором разбиение на основе троичного дерева разрешено, или информацию о размере/глубине блока кодирования, в котором разбиение на основе троичного дерева не разрешено. Информация о размере блока кодирования может включать в себя по меньшей мере одно минимальное или максимальное значение ширины, высоты, произведения ширины и высоты или соотношения ширины и высоты блока кодирования.
[00144] В одном примере, если ширина или высота блока кодирования меньше минимального размера, при котором разрешено разбиение на основе двоичного дерева, или если глубина разбиения блока кодирования больше разрешенной максимальной глубины разбиения на основе двоичного дерева, разбиение на основе двоичного дерева может не быть разрешено для этого блока кодирования.
[00145] В одном примере, если ширина или высота блока кодирования меньше минимального размера, при котором разрешено разбиение на основе троичного дерева, или если глубина разбиения блока кодирования больше разрешенной максимальной глубины разбиения на основе троичного дерева, разбиение на основе троичного дерева может не быть разрешено для этого блока кодирования.
[00146] Информацию об условии, при котором разрешено разбиение на основе двоичного дерева или троичного дерева, можно сообщать посредством битового потока. Информацию можно закодировать в единице последовательности, изображении или частичном изображении. «Частичное изображение» может означать по меньшей мере одно из следующего: сектор, группу плиток, плитку, визуальную конструкцию, блок кодирования, блок предсказания или блок преобразования.
[00147] В одном примере синтаксическую конструкцию 'max_mtt_depth_idx_minus1', представляющую разрешенную максимальную глубину разбиения на основе двоичного дерева/троичного дерева, можно кодировать/декодировать посредством битового потока. В данном случае, max_mtt_depth_idx_minus1+1 может указывать разрешенную максимальную глубину разбиения на основе двоичного дерева/троичного дерева.
[00148] В одном примере по меньшей мере одно из следующего: разрешенное число раз разбиения на основе двоичного дерева/троичного дерева, разрешенную максимальную глубину разбиения на основе двоичного дерева/троичного дерева или разрешенное число глубин разбиения на основе двоичного дерева/троичного дерева можно сообщать на уровне последовательности или сектора. Следовательно, по меньшей мере одно из следующего: разрешенное число раз разбиения на основе двоичного дерева/троичного дерева, разрешенная максимальная глубина разбиения на основе двоичного дерева/троичного дерева или разрешенное число глубин разбиения на основе двоичного дерева/троичного дерева могут быть разными для первого сектора и второго сектора. В одном примере, для первого сектора может быть разрешена только одна глубина разбиения на основе двоичного дерева/троичного дерева, а для второго сектора могут быть разрешены две глубины разбиения на основе двоичного дерева/троичного дерева.
[00149] В примере на ФИГ.8 показано, что разбиение на основе двоичного дерева выполняют для единицы кодирования с глубиной 2 и единицы кодирования с глубиной 3. Следовательно, по меньшей мере одно из следующего: информацию, представляющую число раз (2 раза) разбиения на основе двоичного дерева в единице дерева кодирования, информацию, представляющую максимальную глубину (глубина 3) сегмента, сгенерированного путем разбиения на основе двоичного дерева в единице дерева кодирования, или информацию, представляющую число глубин (2 глубины, глубина 2 и глубина 3) разбиения на основе двоичного дерева, применяемых в единице дерева кодирования, можно закодировать/декодировать посредством битового потока.
[00150] В качестве альтернативы, разрешенное число раз разбиения на основе двоичного дерева/троичного дерева, разрешенная глубина разбиения на основе двоичного дерева/троичного дерева или разрешенное число глубин разбиения на основе двоичного дерева/троичного дерева могут быть заранее заданы в кодере и декодере. В качестве альтернативы, разрешенное число раз разбиения на основе двоичного дерева/троичного дерева, разрешенную глубину разбиения на основе двоичного дерева/троичного дерева или разрешенное число глубин разбиения на основе двоичного дерева/троичного дерева можно определять на основе по меньшей мере одно из следующего: индекса последовательности или сектора или размера/формы единицы кодирования. В одном примере для первого сектора можно разрешить одну глубину разбиения на основе двоичного дерева/троичного дерева, а для второго сектора можно разрешить две глубины разбиения на основе двоичного дерева/троичного дерева.
[00151] В другом примере по меньшей мере одно из следующего: разрешенное число раз разбиения на основе двоичного дерева, разрешенную глубину разбиения на основе двоичного дерева или разрешенное число глубин разбиения на основе двоичного дерева можно задавать по-разному в соответствии с временным идентификатором уровня (TemporallD) сектора или изображения. В данном случае временной идентификатор уровня (TemporallD) служит для идентификации каждого из множества слоев в изображении, имеющем по меньшей мере одну или несколько возможностей масштабирования по виду, в пространстве, во времени или по качеству.
[00152] На ФИГ.4 показано, что первый блок 300 кодирования с глубиной к разбиения (глубиной дробления) можно разбить на несколько вторых блоков кодирования на основе квадродерева. Например, вторые блоки 310-340 кодирования могут представлять собой квадратный блок с шириной и высотой, составляющими половину ширины и высоты первого блока кодирования, при этом глубина разбиения второго блока кодирования может возрасти до k+1.
[00153] Второй блок 310 кодирования с глубиной k+1 разбиения можно разбить на несколько третьих блоков кодирования с глубиной k+2 разбиения. Разбиение второго блока 310 кодирования можно выполнить путем выборочного применения квадродерева или двоичного дерева в зависимости от способа разбиения. В этом случае способ разбиения можно определять на основе по меньшей мере одного из следующего: информации, указывающей разбиение на основе квадродерева, или информации, указывающей разбиение на основе двоичного дерева.
[00154] В случае разбиения второго блока 310 кодирования на основе квадродерева, второй блок 310 кодирования можно разбить на четыре третьих блока 310а кодирования с шириной и высотой, составляющими половину ширины и высоты второго блока кодирования, при этом глубина разбиения третьего блока 310а кодирования может возрасти до k+2. При этом, в случае разбиения второго блока 310 кодирования на основе двоичного дерева, второй блок 310 кодирования можно разбить на два третьих блока кодирования. В этом случае каждый из двух третьих блоков кодирования может представлять собой неквадратный блок с шириной или высотой, составляющей половину ширины или высоты, соответственно, второго блока кодирования, при этом глубина разбиения может возрасти до k+2. Второй блок кодирования можно охарактеризовать как неквадратный блок в горизонтальном или в вертикальном направлении в соответствии с направлением разбиения, при этом направление разбиения можно определять на основе информации о том, как выполняют разбиение на основе двоичного дерева: в вертикальном направлении или в горизонтальном направлении.
[00155] Второй блок 310 кодирования можно принять в качестве листового блока кодирования, дальнейшее разбиение которого на основе квадродерева или двоичного дерева не выполняют, и в этом случае соответствующий блок кодирования может служить в качестве блока предсказания или блока преобразования.
[00156] Как и в случае разбиения второго блока 310 кодирования, третий блок 310а кодирования можно принять в качестве листового блока кодирования, либо разбить его далее на основе квадродерева или двоичного дерева.
[00157] При этом третий блок 310b кодирования, разбитый на основе двоичного дерева, можно разбить далее на блоки 310b-2 кодирования в вертикальном направлении или блоки 310b-3 кодирования в горизонтальном направлении на основе двоичного дерева, при этом глубина разбиения соответствующего блока кодирования может возрасти до k+3. В качестве альтернативы, третий блок 310b кодирования можно принять в качестве листового блока 310b-1 кодирования, дальнейшее разбиение которого на основе двоичного дерева не выполняют, и в этом случае соответствующий блок 310b-1 кодирования может служить в качестве блока предсказания или блока преобразования. При этом раскрытый выше процесс разбиения можно выполнять ограниченно на основе по меньшей мере одного из следующего: информации о размере/глубине блока кодирования, при которых разрешено разбиение на основе квадродерева, информации о размере/глубине блока кодирования, при которых разрешено разбиение на основе двоичного дерева или информации о размере/глубине блока кодирования, при которых разбиение на основе двоичного дерева не разрешено.
[00158] Число потенциальных размеров блока кодирования может быть ограничено заранее определенным числом, либо размер блока кодирования в заранее определенной единице может иметь фиксированное значение. В одном примере размер блока кодирования в последовательности или изображении может быть ограничен любым из следующих: 256×256, 128×128 или 32×32. Информацию, представляющую размер блока кодирования в последовательности или изображении, можно сообщать посредством заголовка последовательности или заголовка изображения.
[00159] Результатом разбиения на основе квадродерева и двоичного дерева может быть единица кодирования квадратной или прямоугольной формы произвольного размера.
[00160] На ФИГ.4 показано, что первый блок 300 кодирования с глубиной к разбиения (глубиной дробления) можно разбить на несколько вторых блоков кодирования на основе квадродерева. Например, вторые блоки 310-340 кодирования могут представлять собой квадратный блок с шириной и высотой, составляющими половину ширины и высоты первого блока кодирования, при этом глубина разбиения второго блока кодирования может возрасти до k+1.
[00161] Второй блок 310 кодирования с глубиной k+1 разбиения можно разбить на несколько третьих блоков кодирования с глубиной k+2 разбиения. Разбиение второго блока 310 кодирования можно выполнить путем выборочного применения квадродерева или двоичного дерева в зависимости от способа разбиения. В этом случае способ разбиения можно определять на основе по меньшей мере одного из следующего: информации, указывающей разбиение на основе квадродерева, или информации, указывающей разбиение на основе двоичного дерева.
[00162] В случае разбиения второго блока 310 кодирования на основе квадродерева, второй блок 310 кодирования можно разбить на четыре третьих блоков 310а кодирования с шириной и высотой, составляющими половину ширины и высоты второго блока кодирования, при этом глубина разбиения третьего блока 310а кодирования может возрасти до k+2. При этом, в случае разбиения второго блока 310 кодирования на основе двоичного дерева, второй блок 310 кодирования можно разбить на два третьих блока кодирования. В этом случае каждый их двух третьих блоков кодирования может представлять собой неквадратный блок с шириной или высотой, составляющей половину ширины или высоты, соответственно, второго блока кодирования, при этом глубина разбиения может возрасти до k+2. Второй блок кодирования можно охарактеризовать как неквадратный блок в горизонтальном или вертикальном направлении в соответствии с направлением разбиения, при этом направление разбиения можно определять на основе информации о том, как выполняют разбиение на основе двоичного дерева: в вертикальном направлении или в горизонтальном направлении.
[00163] Второй блок 310 кодирования можно принять в качестве листового блока кодирования, дальнейшее разбиение которого на основе квадродерева или двоичного дерева не выполняют, и в этом случае соответствующий блок кодирования может служить в качестве блока предсказания или блока преобразования.
[00164] Как и в случае разбиения второго блока 310 кодирования, третий блок 310а кодирования можно принять в качестве листового блока кодирования, либо разбить его далее на основе квадродерева или двоичного дерева.
[00165] При этом третий блок 310b кодирования, разбитый на основе двоичного дерева, можно разбить далее на блоки 310b-2 кодирования в вертикальном направлении или блоки 310b-3 кодирования в горизонтальном направлении на основе двоичного дерева, при этом глубина разбиения соответствующего блока кодирования может возрасти до k+3. В качестве альтернативы, третий блок 310b кодирования можно принять в качестве листового блока 310b-1 кодирования, дальнейшее разбиение которого на основе двоичного дерева не выполняют, и в этом случае соответствующий блок 310b-1 кодирования может служить в качестве блока предсказания или блока преобразования. При этом раскрытый выше процесс разбиения можно выполнять ограниченно на основе по меньшей мере одно из следующего: информации о размере/глубине блока кодирования, при которых разрешено разбиение на основе квадродерева, информации о размере/глубине блока кодирования, при которых разрешено разбиение на основе двоичного дерева, или информации о размере/глубине блока кодирования, при которых разбиение на основе двоичного дерева не разрешено.
[00166] Число потенциальных размеров блока кодирования может быть ограничено заранее определенным числом, либо размер блока кодирования в заранее определенной единице может иметь фиксированное значение. В одном примере размер блока кодирования в последовательности или изображении может быть ограничен любым из следующих: 256×256, 128×128 или 32×32. Информацию, представляющую размер блока кодирования в последовательности или изображении, можно сообщать посредством заголовка последовательности или заголовка изображения.
[00167] Результатом разбиения на основе квадродерева и двоичного дерева может быть единица кодирования квадратной или прямоугольной формы произвольного размера.
[00168] Применение пропуска преобразования для единицы кодирования, сгенерированной путем разбиения на основе двоичного дерева или разбиения на основе троичного дерева, может не быть разрешено. В качестве альтернативы, можно задать применение пропуска преобразования к по меньшей мере одному из следующего: вертикальное направление или горизонтальное направление в неквадратной единице кодирования. В одном примере, в случае применения пропуска преобразования к горизонтальному направлению, в горизонтальном направлении выполняют только масштабирование без преобразования / обратного преобразования, а преобразование / обратное преобразование способом ДКП или ДСП выполняют в вертикальном направлении. Если пропуск преобразования применяют к вертикальному направлению, в вертикальном направлении выполняют только масштабирование без преобразования / обратного преобразования, а преобразование / обратное преобразование способом ДКП или ДСП выполняют в горизонтальном направлении.
[00169] Информацию о пропуске обратного преобразования для горизонтального направления или информацию о пропуске обратного преобразования для вертикального направления можно сообщать посредством битового потока. В одном примере информация о пропуске обратного преобразования для горизонтального направления может представлять собой 1-битовый флаг 'hor_transform_skip_flag', а информация о пропуске обратного преобразования для вертикального направления может представлять собой 1-битовый флаг 'ver_transform_skip_flag'.
[00170] Кодер может определять то, нужно ли кодировать '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 можно опустить.
[00171] В качестве альтернативы, по размеру и/или форме текущего блока можно определять возможность выполнения пропуска преобразования для горизонтального направления или пропуск преобразования для вертикального направления. В одном примере, если форма текущего блока представляет собой N×2N, возможно применение пропуска преобразования к горизонтальному направлению и выполнение преобразования / обратного преобразования для вертикального направления. Если форма текущего блока представляет собой 2N×N, возможно применение пропуска преобразования к вертикальному направлению и выполнение преобразования / обратного преобразования для горизонтального направления. Преобразование / обратное преобразование можно выполнять на основе по меньшей мере одного из следующих способов: ДКП или ДСП.
[00172] Сгенерированный в результате разбиения на основе квадродерева, двоичного дерева или троичного дерева блок кодирования, дальнейшее разбиение которого не выполняют, может служить в качестве блока предсказания или блока преобразования. Иными словами, блок кодирования, сгенерированный путем разбиения на основе квадродерева или разбиения на основе двоичного дерева, может служить в качестве блока предсказания или блока преобразования. В одном примере предсказанное изображение можно сгенерировать в единице блока кодирования, при этом остаточный сигнал - разность между исходным изображением и предсказанным изображением - можно преобразовать в единице блока кодирования. Чтобы сгенерировать предсказанное изображение в единице блока кодирования, можно определить информацию о движении на основе блока кодирования или определить режим внутрикадрового предсказания на основе блока кодирования. Следовательно, для кодирования блока кодирования можно применить по меньшей мере одно из следующего: режим пропуска, внутрикадровое предсказание или межкадровое предсказание.
[00173] В качестве альтернативы, для множества блоков кодирования, сгенерированных путем разбиения блока кодирования, можно задать совместное применение по меньшей мере одного из следующего: информации о движении, кандидата на слияние, опорного отсчета, ряда опорных отсчетов или режима внутрикадрового предсказания. В одном примере, в случае разбиения блока кодирования на основе троичного дерева, для сегментов, сгенерированных путем разбиения блока кодирования, возможно совместное применение по меньшей мере одного из следующего: информации о движении, кандидата на слияние, опорного отсчета, ряда опорных отсчетов или режима внутрикадрового предсказания в соответствии с размером или формой блока кодирования. В качестве альтернативы, можно задать совместное применение указанной информации только для части множества блоков кодирования, а для остальных блоков кодирования можно задать отсутствие совместного применения указанной информации.
[00174] В другом примере возможно применение блока предсказания или блока преобразования, меньшего, чем блок кодирования, путем разбиения блока кодирования.
[00175] Далее будет подробно раскрыт способ выполнения межкадрового предсказания для блока кодирования или блока предсказания, сгенерированного путем разбиения блока кодирования.
[00176]
[00177] ФИГ.9 - блок-схема способа межкадрового предсказания в качестве варианта применения настоящего изобретения.
[00178] В примере на ФИГ.9 информацию о движении текущего блока можно определить на этапе S910. Информация о движении текущего блока может включать в себя по меньшей мере одно из следующего: вектор движения текущего блока, индекс опорного изображения текущего блока, направление межкадрового предсказания или индекс веса взвешенного предсказания текущего блока. Направление межкадрового предсказания текущего блока указывает по меньшей мере одно из следующего: выполнять ли предсказание в направлении L0 или в направлении L1. Вес взвешенного предсказания может представлять собой вес, относящийся к опорному блоку L0, и вес, относящийся к опорному блоку L1. Индекс веса взвешенного предсказания указывает любой из множества потенциальных весов для взвешенного предсказания.
[00179] Вектор движения текущего блока можно определять на основе информации, сообщаемой посредством битового потока. Точность вектора движения представляет собой базовую единицу, характеризующую вектор движения текущего блока. Например, точность вектора движения текущего блока можно определять в виде одного из следующего: целочисленного пэла, 1/2 пэла, 1/4 пэла или 1/8 пэла. Точность вектора движения можно определять на уровне изображения, на уровне сектора, на уровне группы плиток, на уровне плитки или на уровне блока. Блок может представлять собой единицу дерева кодирования, единицу кодирования, единицу предсказания или единицу преобразования.
[00180] Информацию о движении текущего блока можно получать на основе по меньшей мере одного из следующего: информации, сообщаемой посредством битового потока, или информации о движении блока, соседнего текущему блоку.
[00181] ФИГ.10 - схема, иллюстрирующая процедуру получения информации о движении текущего блока в случае применения режима слияния к текущему блоку.
[00182] Режим слияния представляет собой способ получения информации о движении текущего блока на основе соседнего блока.
[00183] В случае применения к текущему блоку режима слияния, на этапе S1010 можно получить пространственного кандидата на слияние на основе пространственного блока, соседнего текущему блоку. Пространственный соседний блок может представлять собой по меньшей мере один из следующих: блок, примыкающий к верхней границе, левой границе или углу (например, по меньшей мере одному из следующих: верхнему левому углу, правому верхнему углу или левому нижнему углу) текущего блока.
[00184] ФИГ.11 - схема, иллюстрирующая пример пространственного соседнего блока.
[00185] В примере на ФИГ.11 пространственный соседний блок может представлять собой по меньшей мере один из следующих: соседний блок А1, примыкающий к левой стороне текущего блока, соседний блок В1, примыкающий к верху текущего блока, соседний блок A0, примыкающий нижнему левому углу текущего блока, соседний блок В0, примыкающий к верхнему правому углу текущего блока, и соседний блок В2, примыкающий к верхнему левому углу текущего блока. Например, примем положение отсчета в верхнем левом углу текущего блока равным (0, 0), ширину текущего блока равной W, а высоту текущего блока равной Н. Блок A1 может включать в себя отсчет в положении (-1, Н-1). Блок B1 может включать в себя отсчет в положении (W-1, -1). Блок А0 может включать в себя отсчет в положении (-1, Н). Блок В0 может включать в себя отсчет в положении (W, -1). Блок В2 может включать в себя отсчет в положении (-1, -1).
[00186] Дополнительно, в примере на ФИГ.11 пространственного кандидата на слияние можно получить на основе блока, примыкающего к верхнему левому отсчету текущего блока, или блока, примыкающего к верхнему центральному отсчету текущего блока. Например, блок, соседний верхнему левому отсчету текущего блока, может представлять собой, по меньшей мере, блок, включающий в себя отсчет в положении (0, -1), или блок, включающий в себя отсчет в положении (-1, 0). Или же пространственного простого кандидата можно получить на основе по меньшей мере одного из следующих: блока, соседнего верхнему центральному отсчету текущего блока, или блока, соседнего левому центральному отсчету текущего блока. Например, блок, соседний верхнему центральному отсчету текущего блока, может включать в себя отсчет в положении (W/2, -1). Блок, соседний левому центральному отсчету текущего блока, может включать в себя отсчет в положении (-1, Н/2).
[00187] В зависимости от размера и/или формы текущего блока можно определять положение верхнего соседнего блока и/или левого соседнего блока, на основе которых получают пространственного кандидата на слияние. В одном примере, если размер текущего блока больше порогового значения, пространственных кандидатов на слияние можно получать на основе блока, соседнего верхнему центральному отсчету текущего блока, и блока, соседнего левому центральному отсчету текущего блока. При этом, если размер текущего блока меньше порогового значения, пространственных кандидатов на слияние можно получать на основе блока, соседнего верхнему правому отсчету текущего блока, и блока, соседнего нижнему левому отсчету текущего блока. В данном случае размер текущего блока может быть выражен в виде по меньшей мере одного из следующего: ширины, высоты, суммы ширины и высоты, произведения ширины и высоты или соотношения ширины и высоты. Пороговое значение может представлять собой целое число, например, 2, 4, 8, 16, 32 или 128.
[00188] В зависимости от формы текущего блока можно определять пригодность увеличенного пространственного соседнего блока. В одном примере, если текущий блок представляет собой неквадратный блок, ширина которого больше его высоты, можно определить непригодность блока, примыкающего к верхнему левому отсчету текущего блока, блока, примыкающего к левому центральному отсчету, или блока, примыкающего к нижнему левому отсчету текущего блока. При этом, если текущий блок представляет собой блок, высота которого больше его ширины, можно определить непригодность блока, примыкающего к верхнему левому отсчету текущего блока, блока, примыкающего к верхнему центральному отсчету или блока, примыкающего к верхнему правому отсчету текущего блока.
[00189] Информацию о движении пространственного кандидата на слияние можно принять идентичной информации о движении пространственного соседнего блока.
[00190] Пространственного кандидата на слияние можно получать путем поиска по соседним блокам в заранее определенном порядке. В одном примере на ФИГ.11 поиск для определения пространственного кандидата на слияние можно выполнить в порядке блоков: А1, В1, В0, А0 и В2. Блок В2 можно использовать, если по меньшей мере один из остальных блоков (т.е. A1, B1, В0 и А0) отсутствует, либо по меньшей мере один закодирован в режиме внутрикадрового предсказания.
[00191] Порядок поиска пространственного кандидата на слияние может быть заранее задан в кодере/декодере. В качестве альтернативы, порядок поиска пространственного кандидата на слияние можно определять адаптивно в зависимости от размера или формы текущего блока. В качестве альтернативы, порядок поиска пространственного кандидата на слияние можно определять на основе информации, сообщаемой посредством битового потока.
[00192] Временного кандидата на слияние можно получить на основе временного соседнего блока текущего блока на этапе S1020. «Временной соседний блок» может означать совмещенный блок, входящий в состав совмещенного изображения. Совмещенное изображение имеет порядковый номер кадра (англ. Picture Order Count (РОС)), отличный от порядкового номера кадра текущего изображения, включающего в себя текущий блок. Совмещенное изображение можно определить как изображение с заранее заданным индексом в списке опорных изображений или изображение с минимальной разницей порядковых номеров кадров между ним и текущим изображением. В качестве альтернативы, совмещенное изображение можно определять по информации, сообщаемой посредством битового потока. Информация, сообщаемая посредством битового потока, может включать в себя по меньшей мере одно из следующего: информацию, указывающую список опорных изображений (например, список опорных изображений L0 или список опорных изображений L1), включающий в себя совмещенное изображение и индекс, указывающий совмещенное изображение в списке опорных изображений. Информацию для определения совмещенного изображения можно сообщать в по меньшей мере одном из следующего: наборе параметров изображения, заголовке сектора и на уровне блока.
[00193] Информацию о движении временного кандидата на слияние можно получать на основе информации о движении совмещенного блока. В одном примере вектор движения временного кандидата на слияние можно определять на основе вектора движения совмещенного блока. Например, вектор движения временного кандидата на слияние может быть принят идентичным вектору движения совмещенного блока. В качестве альтернативы, вектор движения временного кандидата на слияние можно получить путем масштабирования вектора движения совмещенного блока на основе по меньшей мере одно из следующего: разницы порядковых номеров кадров между текущим изображением и опорным изображением текущего блока и разницы порядковых номеров кадров совмещенного изображения и опорного изображения совмещенного блока.
[00194] ФИГ. 12 - схема, иллюстрирующая пример получения вектора движения временного кандидата на слияние.
[00195] В примере на ФИГ.12 tb обозначает разницу порядковых номеров кадров текущего изображения (curr_pic) и опорного изображения (curr_ref) текущего изображения, a td обозначает разницу порядковых номеров кадров совмещенного изображения col_pic и опорного изображения col_ref совмещенного блока. Вектор движения временного кандидата на слияние можно получить путем масштабирования вектора движения совмещенного блока col_PU на основе tb и/или td.
[00196] В качестве альтернативы, с учетом того, пригоден ли совмещенный блок для применения или нет, вектор движения совмещенного блока и вектор движения, полученный путем масштабирования вектора движения совмещенного блока, можно применять в качестве вектора движения временного кандидата на слияние. В одном примере вектор движения совмещенного блока принимают в качестве вектора движения первого временного кандидата на слияние, а значение, полученное путем масштабирования вектора движения совмещенного блока, можно принять в качестве вектора движения второго временного кандидата на слияние.
[00197] Направление межкадрового предсказания временного кандидата на слияние может быть принято идентичным направлению межкадрового предсказания временного соседнего блока. При этом индекс опорного изображения временного кандидата на слияние может иметь фиксированное значение. В одном примере индекс опорного изображения временного кандидата на слияние может быть принят равным "0". В качестве альтернативы, индекс опорного изображения временного кандидата на слияние можно определять адаптивно на основе по меньшей мере одного из следующего: индекса опорного изображения пространственного кандидата на слияние, индекса опорного изображения текущего изображения.
[00198] Конкретный блок, положение и размер которого являются такими же, как и положение и размер текущего блока в пределах совмещенного изображения, или блок, примыкающий к блоку, примыкающему к блоку, положение и размер которого являются такими же, как и положение и размер текущего блока, можно принять в качестве совмещенного блока.
[00199] ФИГ.13 - схема, иллюстрирующая положение блоков-кандидатов с возможностью применения в качестве совмещенного блока.
[00200] Блок-кандидат может представлять собой по меньшей мере один из следующих: блок, примыкающий к положению верхнего левого угла текущего блока в пределах совмещенного изображения, блок, примыкающий к положению центрального отсчета текущего блока в пределах совмещенного изображения, и блок, примыкающий к положению нижнего левого угла текущего блока в пределах совмещенного изображения.
[00201] В одном примере блок-кандидат может представлять собой по меньшей мере один из следующих: блок TL, включающий в себя положение верхнего левого отсчета текущего блока в пределах совмещенного изображения, блок BR, включающий в себя положение нижнего правого отсчета текущего блока в пределах совмещенного изображения, блок Н, примыкающий к нижнему правому углу текущего блока в пределах совмещенного изображения, блок СЗ, включающий в себя положение центрального отсчета текущего блока в пределах совмещенного изображения, и блок СО, примыкающий к центральному отсчету текущего блока (например, блок, включающий в себя положение отсчета, отстоящего от центрального отсчета текущего блока на (-1, -1)) в пределах совмещенного изображения.
[00202] В дополнение к примеру на ФИГ.13, блок, включающий в себя положение соседнего блока, примыкающего к заранее определенной границе текущего блока в пределах совмещенного изображения, может быть выбран в качестве совмещенного блока.
[00203] Число временных кандидатов на слияние может составлять 1 или более. В одном примере по меньшей мере одного временного кандидата на слияние можно получить на основе по меньшей мере одного совмещенного блока.
[00204] Информацию о максимальном числе временных кандидатов на слияние можно закодировать и сообщить посредством кодера. В качестве альтернативы, максимальное число временных кандидатов на слияние можно получить на основе максимального числа кандидатов на слияние и/или максимального числа возможных пространственных кандидатов на слияние, входящих в список кандидатов на слияние. В качестве альтернативы, максимальное число временных кандидатов на слияние можно получать на основе числа пригодных для применения совмещенных блоков.
[00205] То, пригодны ли блоки-кандидаты для применения или нет, можно определять согласно заранее определенному приоритету, при этом по меньшей мере один совмещенный блок можно определять по результату вышеуказанного определения и максимальному числу временных кандидатов на слияние. В одном примере, если блок СЗ, включающий в себя положение центрального отсчета текущего блока, и блок Н, примыкающий к нижнему правому углу текущего блока, являются блоками-кандидатами, любой из них -блок СЗ или блок Н - можно определить в качестве совмещенного блока. Если блок Н пригоден, блок Н можно определить в качестве совмещенного блока. При этом, если блок Н непригоден (например, если блок Н закодирован способом внутрикадрового предсказания, если блок Н не пригоден для применения, или если блок Н расположен за пределами наибольшей единицы кодирования (НЕK, англ. largest coding unit (LCU) и т.п.), блок СЗ можно определить в качестве совмещенного блока.
[00206] В другом примере, если по меньшей мере один из множества блоков, примыкающих к положению нижнего правого угла текущего блока в пределах совмещенного изображения, непригоден (например, блок Н и/или блок BR), непригодный блок можно заменить другим - пригодным - блоком. Другой - пригодный - блок, которым заменяют непригодный блок, может включать в себя по меньшей мере один блок (например, СО и/или СЗ), примыкающий к положению центрального отсчета текущего блока в пределах совмещенного изображения, и блок (например, TL), примыкающий нижнему левому углу текущего блока в пределах совмещенного изображения.
[00207] Если непригоден по меньшей мере один из множества блоков, примыкающих к положению центрального отсчета текущего блока в пределах совмещенного изображения, или если непригоден по меньшей мере один из множества блоков, примыкающих к положению верхнего левого угла текущего блока в пределах совмещенного изображения, непригодный блок можно заменить другим - пригодным - блоком.
[00208] Далее, на этапе S1030 можно сгенерировать список кандидатов на слияние, включающий в себя пространственного кандидата на слияние и временного кандидата на слияние. Конфигурирование списка кандидатов на слияние может включать в себя удаление кандидата на слияние с информацией о движении, идентичной информации о движении существующего кандидата на слияние, из списка кандидатов на слияние.
[00209] Информацию о максимальном числе кандидатов на слияние можно сообщать посредством битового потока. В одном примере информацию, указывающую максимальное число кандидатов на слияние, можно сообщать посредством параметра последовательности или параметра изображения. В одном примере, если максимальное число кандидатов на слияние составляет шесть, можно выбрать всего шесть из числа пространственных кандидатов на слияние и временных кандидатов на слияние. Например, можно выбрать пять пространственных кандидатов на слияние из пяти кандидатов на слияние и одного временного кандидата на слияние из двух временных кандидатов на слияние.
[00210] В качестве альтернативы, максимальное число кандидатов на слияние может быть заранее задано в кодере и декодере. Например, максимальное число кандидатов на слияние может составлять два, три, четыре, пять или шесть. В качестве альтернативы, максимальное число кандидатов на слияние можно определять в зависимости от по меньшей мере одного из следующего: выполняют ли слияние в режиме с разностью векторов движения (англ. Motion Vector Difference (MVD)) (средней величиной разности векторов (англ. Mean Magnitude of Vector Difference (MMVD)), выполняют ли комбинированное предсказание, или выполняют ли треугольное разбиение.
[00211] Если число кандидатов на слияние, входящих в список кандидатов на слияние, меньше максимального числа кандидатов на слияние, в список кандидатов на слияние можно добавить кандидата на слияние, входящего во второй список кандидатов на слияние.
[00212] Второй список кандидатов на слияние может включать в себя кандидата на слияние, полученного на основе информации о движении блока, закодированного/декодированного путем межкадрового предсказания прежде, чем текущий блок. В одном примере, в случае выполнения компенсации движения для блока, режимом кодирования которого является межкадровое предсказание, кандидата на слияние, полученного на основе информации о движении блока, можно добавить во второй список кандидатов на слияние. Если кодирование/декодирование текущего блока выполнено, информацию о движении текущего блока можно добавить во второй список кандидатов на слияние для межкадрового предсказания последующего блока.
[00213] Второй список кандидатов на слияние можно начать в единице ЕДК, плитки или сектора. Максимальное число кандидатов на слияние, которые могут входить во второй список кандидатов на слияние, может быть заранее задано в кодере и декодере. В качестве альтернативы, информацию о максимальном числе кандидатов на слияние, которые могут входить во второй список кандидатов на слияние, можно сообщать посредством битового потока.
[00214] Индексы кандидатов на слияние, входящих во второй список кандидатов на слияние, можно определять на основе порядка добавления во второй список кандидатов на слияние. В одном примере значение индекса, присвоенного N-ному кандидату на слияние, добавленному во второй список кандидатов на слияние, может быть меньше значения индекса, присвоенного N+1-ому кандидату на слияние, добавленному во второй список кандидатов на слияние. Например, индекс N+1-го кандидата на слияние может быть принят равным значению, увеличенному на 1 относительно индекса N-ого кандидата на слияние. В качестве альтернативы, индекс N-ого кандидата на слияние может быть принят равным индексу N+1-ого кандидата на слияние, при этом из значения индекса N-ого кандидата на слияние может можно вычесть 1.
[00215] В качестве альтернативы, значение индекса, присвоенного N-ому кандидату на слияние, добавленному во второй список кандидатов на слияние, может быть больше индекса, присвоенного N+1-ому кандидату на слияние, добавленному во второй список кандидатов на слияние. Например, индекс N-ого кандидата на слияние может быть принят равным индексу N+1-ого кандидата на слияние, при этом значение индекса N-ого кандидата на слияние можно увеличить на 1.
[00216] На основании того, что информация о движении блока, в отношении которого выполняют компенсацию движения, тождественна информации о движении кандидата на слияние, входящего во второй список кандидатов на слияние, можно определять то, добавлен ли кандидат на слияние, полученный на основе блока, во второй список кандидатов на слияние. В одном примере, если кандидат на слияние с информацией о движении, тождественной информации о движении блока, входит во второй список кандидатов на слияние, кандидата на слияние, полученного на основе информации о движении блока, нельзя добавить во второй список кандидатов на слияние. В качестве альтернативы, если кандидат на слияние с информацией о движении, тождественной информации о движении блока, входит во второй список кандидатов на слияние, кандидата на слияние можно удалить из второго списка кандидатов на слияние, а кандидата на слияние, полученного на основе информации о движении блока, можно добавить во второй список кандидатов на слияние.
[00217] Если число кандидатов на слияние, входящих во второй список кандидатов на слияние, равно максимальному числу кандидатов на слияние, кандидата на слияние с самым низким индексом или кандидата на слияние с самым высоким индексом можно удалить из второго списка кандидатов на слияние, а кандидата на слияние, полученного на основе информации о движении блока, можно добавить во второй список кандидатов на слияние. Иными словами, после удаления самого старого из кандидатов на слияние, входящих во второй список кандидатов на слияние, кандидата на слияние, полученного на основе информации о движении блока, можно добавить во второй список кандидатов на слияние.
[00218] Если число кандидатов на слияние, входящих в список кандидатов на слияние, еще не достигло максимального числа кандидатов на слияние, в список кандидатов на слияние можно включить комбинированного кандидата слияние, полученного путем комбинирования двух или более кандидатов на слияние, или кандидата на слияние с вектором движения (0,0) (нулевым вектором движения).
[00219] В качестве альтернативы, в список кандидатов на слияние можно добавить среднего кандидата слияние, полученного путем выведения среднего значения вектора движения двух или более кандидатов на слияние. Среднего кандидата на слияние можно получить путем выведения среднего значения вектора движения двух или более кандидатов на слияние, входящих в список кандидатов на слияние. В одном примере, если в список кандидатов на слияние добавляют первого кандидата на слияние и второго кандидата на слияние, можно вычислить среднее значение вектора движения первого кандидата на слияние и вектора движения второго кандидата на слияние для получения среднего кандидата на слияние. А именно, вектор движения L0 среднего кандидата на слияние можно получить путем вычисления среднего значения вектора движения L0 первого кандидата на слияние и вектора движения L0 второго кандидата на слияние, а вектор движения L1 среднего кандидата на слияние можно получить путем вычисления среднего значения вектора движения L1 первого кандидата на слияние и вектора движения L1 второго кандидата на слияние. В случае применения двунаправленного предсказания к любому из первого кандидата на слияние и второго кандидата на слияние и выполнения однонаправленного предсказания в отношении другого из них, вектор движения двунаправленного кандидата на слияние можно принять тождественным вектору движения L0 или вектору движения L1 среднего кандидата на слияние. В одном примере, если предсказания в направлении L0 и направлении L1 выполняют в отношении первого кандидата на слияние, а предсказание в направлении L0 - в отношении второго кандидата на слияние, вектор движения L0 среднего кандидата на слияние можно получить путем вычисления среднего значения вектора движения L0 первого кандидата на слияние и вектора движения L0 второго кандидата на слияние. При этом вектор движения L1 среднего кандидата на слияние можно получить как вектор движения L1 первого кандидата на слияние.
[00220] Если опорное изображение первого кандидата на слияние отлично от второго кандидата на слияние, вектор движения первого кандидата на слияние или второго кандидата на слияние можно масштабировать согласно расстоянию (т.е. разнице порядковых номеров кадров) между опорными изображениями соответствующих кандидатов на слияние и текущим изображением. Например, после масштабирования вектора движения второго кандидата на слияние, среднего кандидата на слияние можно получить путем вычисления среднего значения вектора движения первого кандидата на слияние и масштабированного вектора движения второго кандидата на слияние. В данном случае приоритеты можно установить на основе значения индекса опорного изображения каждого кандидата на слияние, расстояния между опорным изображением каждого кандидата на слияние и текущего блока, или того, применяют ли или нет двунаправленное предсказание, при этом масштабирование можно применять к вектору движения кандидата на слияние с высоким (или низким) приоритетом.
[00221] Индекс опорного изображения среднего кандидата на слияние можно задать с возможностью указания опорного изображения в конкретном положении в списке опорных изображений. В одном примере индекс опорного изображения среднего кандидата на слияние может указывать первое или последнее опорное изображение в списке опорных изображений. В качестве альтернативы, индекс опорного изображения среднего кандидата на слияние можно принять идентичным индексу опорного изображения первого кандидата на слияние или второго кандидата на слияние. В одном примере, если индекс опорного изображения первого кандидата на слияние идентичен индексу второго кандидата на слияние, индекс опорного изображения среднего кандидата на слияние можно принять идентичным индексу опорного изображения первого кандидата на слияние и второго кандидата на слияние. Если индекс опорного изображения первого кандидата на слияние отличен от индекса второго кандидата на слияние, приоритеты можно установить на основе значения индекса опорного изображения каждого кандидата на слияние, расстояния между опорным изображением каждого кандидата на слияние и текущего блока, или того, применяют ли двунаправленное предсказание или нет, при этом индекс опорного изображения кандидата на слияние с высоким (или низким) приоритетом можно принять в качестве индекса опорного изображения среднего кандидата на слияние. В одном примере, если двунаправленное предсказание применяют к первому кандидату на слияние, а однонаправленное предсказание применяют ко второму кандидату на слияние, индекс опорного изображения первого кандидата на слияние, к которому применяют двунаправленное предсказание, можно определить в качестве индекса опорного изображения среднего кандидата на слияние.
[00222] На основе приоритетов комбинаций кандидатов на слияние можно определить последовательность комбинаций для генерирования среднего кандидата на слияние. Приоритеты могут быть заранее заданы в кодере и декодере. В качестве альтернативы, последовательность комбинаций можно определить на основе того, выполняют ли двунаправленное предсказание кандидата на слияние. Например, для комбинации кандидатов на слияние, кодируемой с использованием двунаправленного предсказания, может быть установлен более высокий приоритет, чем для комбинации кандидатов на слияние, кодируемой с использованием однонаправленного предсказания. В качестве альтернативы, последовательность комбинаций можно определять на основе опорного изображения кандидата на слияние. Например, приоритет комбинации кандидатов на слияние с одним и тем же опорным изображением может быть выше, чем у комбинации кандидатов на слияние с разными опорными изображениями.
[00223] Включение кандидата на слияние в список кандидатов на слияние может происходить согласно заранее заданному приоритету. Кандидату на слияние с высоким приоритетом можно присвоить малое значение индекса. В одном примере пространственного кандидата на слияние можно добавить в список кандидатов на слияние прежде, чем временного кандидата на слияние. Кроме того, пространственных кандидатов на слияние можно добавлять в список кандидатов на слияние в следующем порядке: пространственный кандидат на слияние левого соседнего блока, пространственный кандидат на слияние верхнего соседнего блока, пространственный кандидат на слияние блока, примыкающего к верхнему правому углу, пространственный кандидат на слияние блока, примыкающего к нижнему левому углу, и пространственный кандидат на слияние блока, примыкающего к верхнему левому углу. В качестве альтернативы, можно задать порядок, при котором добавление пространственного кандидата на слияние, полученного на основе соседнего блока, примыкающего к верхнему левому углу текущего блока (В2 на ФИГ.11), в список кандидатов на слияние происходит позднее, чем добавление временного кандидата на слияние.
[00224] В другом примере приоритеты кандидатов на слияние можно определять согласно размеру или форме текущего блока. В одном примере, если текущий блок имеет форму прямоугольника, ширина которого больше его высоты, пространственного кандидата на слияние левого соседнего блока можно добавить в список кандидатов на слияние прежде, чем пространственного кандидата на слияние верхнего соседнего блока. При этом, если текущий блок имеет форму прямоугольника, в котором высота больше ширины, пространственного кандидата на слияние верхнего соседнего блока можно добавить в список кандидатов на слияние прежде, чем пространственного кандидата на слияние левого соседнего блока.
[00225] В другом примере приоритеты кандидатов на слияние можно определять согласно информации о движении соответствующих кандидатов на слияние. Водном примере приоритет кандидата на слияние с двунаправленной информацией о движении может быть выше, чем у кандидата на слияние с однонаправленной информацией о движении. Следовательно, кандидата на слияние с двунаправленной информацией о движении можно добавить в список кандидатов на слияние прежде, чем кандидата на слияние с однонаправленной информацией о движении.
[00226] В другом примере список кандидатов на слияние можно сгенерировать согласно заранее заданному приоритету, а затем кандидатов на слияние можно переупорядочить. Переупорядочивание можно выполнить на основе информации о движении кандидатов на слияние. В одном примере переупорядочивание можно выполнить на основе того, имеет ли кандидат на слияние двунаправленную информацию о движении или нет, а также размера вектора движения, точности вектора движения, или разницы порядковых номеров кадров между текущим изображением и опорным изображением кандидата на слияние. А именно, переупорядочивание можно выполнить так, чтобы кандидат на слияние с двунаправленной информацией о движении имел более высокий приоритет, чем кандидат на слияние с однонаправленной информацией о движении. В качестве альтернативы, переупорядочивание можно выполнить так, чтобы приоритет кандидата на слияние с вектором движения со значением точности в дробных пикселях был выше, чем у кандидата на слияние с вектором движения с точностью в целочисленных пикселях.
[00227] Когда список кандидатов на слияние будет сгенерирован, на этапе S1040 можно указать по меньшей мере одного кандидата на слияние, входящего в список кандидатов на слияние, на основе индекса кандидата на слияние. Индекс кандидата на слияние для указания по меньшей мере одного кандидата на слияние, входящего в список кандидатов на слияние, можно сообщать посредством битового потока.
[00228] На этапе S1050 информацию о движении текущего блока можно принять идентичной информации о движении кандидата на слияние, указанного посредством индекса кандидата на слияние. В одном примере, если пространственного кандидата на слияние выбирают по индексу кандидата на слияние, информацию о движении текущего блока можно принять идентичной информации о движении пространственного соседнего блока. В качестве альтернативы, если временного кандидата на слияние выбирают по индексу кандидата на слияние, информацию о движении текущего блока можно принять идентичной информации о движении временного соседнего блока.
[00229] Так как единицу кодирования разбивают, в одной единице кодирования может существовать множество сегментов. Сегмент может представлять собой единицу кодирования, единицу предсказания или единицу преобразования. Множество сегментов можно сгенерировать путем разбиения единицы кодирования на основе квадродерева, двоичного дерева, троичного дерева или треугольного разбиения. Сегмент может быть квадратным, неквадратным или треугольным. Порядок получения кандидата на слияние из множества сегментов может соответствовать приоритету или заранее определенному порядку сегментов. Приоритет или заранее определенный порядок можно определять на основе по меньшей мере одного из следующего: порядка кодирования/декодирования, порядка считывания блоков, порядка растрового считывания, размера, формы, индекса разбиения или положения сегментов. Например, порядок получения кандидата на слияние можно определять на основе порядка кодирования/декодирования. Например, получение кандидата на слияние для более раннего по порядку кодирования/декодирования сегмента может происходить раньше, чем для более позднего по порядку кодирования/декодирования сегмента. В раскрытом ниже примере осуществления более ранний по порядку получения кандидата на слияние сегмент именуется «первый сегмент», а более поздний по порядку получения кандидата на слияние сегмент именуется «второй сегмент».
[00230] Получение кандидата на слияние для множества сегментов может происходить последовательно. В данном случае, кандидата на слияние второго сегмента можно определять с учетом информации о движении, кандидата на слияние или индекса слияния первого сегмента. Например, можно не разрешить применение кандидата на слияние, применяемого для получения информации о движении первого сегмента (т.е. кандидата на слияние, указанного индексом слияния первого сегмента), в качестве кандидата на слияние второго сегмента. А именно, кандидата на слияние, применяемого для получения информации о движении первого сегмента, можно определять как непригодного в качестве кандидата на слияние второго сегмента.
[00231] В качестве альтернативы, можно не разрешить применение кандидата на слияние с информацией о движении, тождественной информации о движении первого сегмента из числа кандидатов на слияние второй единицы кодирования, в качестве кандидата на слияние второй единицы кодирования. А именно, кандидата на слияние с информацией о движении, тождественной информации о движении первого сегмента, можно определять как непригодного в качестве кандидата на слияние второго сегмента.
[00232] ФИГ.14 - схема, иллюстрирующая процесс получения информации о движении текущего блока в случае применения режима улучшенного предсказания вектора движения (англ. Advanced Motion Vector Prediction (AMVP)) к текущему блоку.
[00233] В случае применения к текущему блоку режима улучшенного предсказания вектора движения (AMVP), на этапе S1410 из битового потока можно декодировать по меньшей мере одно из следующего: направление межкадрового предсказания текущего блока и индекс опорного изображения. Иными словами, в случае применения режима улучшенного предсказания вектора движения (AMVP), по меньшей мере одно из следующего: направление межкадрового предсказания текущего блока и индекс опорного изображения можно определять на основе информации, закодированной посредством битового потока.
[00234] Пространственный вектор-кандидат движения можно определить на основе вектора движения пространственного соседнего блока текущего блока на этапе S1420. Пространственный вектор-кандидат движения может представлять собой по меньшей мере один из следующих: первый пространственный вектор-кандидат движения, полученный на основе верхнего соседнего блока текущего блока, и второй пространственный вектор-кандидат движения, полученный на основе левого соседнего блока текущего блока. В данном случае верхний соседний блок может представлять собой по меньшей мере один из блоков, примыкающих к верху и верхнему правому углу текущего блока, при этом левый соседний блок текущего блока представляет собой по меньшей мере один из блоков, примыкающих к левой стороне и левому нижнему углу текущего блока. Блок, примыкающий к левому верхнему углу текущего блока, может служить в качестве верхнего соседнего блока или левого соседнего блока.
[00235] В качестве альтернативы, пространственный вектор-кандидат движения можно получить на основе пространственного не-соседнего блока, не примыкающего к текущему блоку. В одном примере пространственный вектор-кандидат движения текущего блока можно получить путем применения по меньшей мере одного из следующего: блока, расположенного у той же вертикальной линии, что и блок, примыкающий к верху, верхнему правому углу или верхнему левому углу текущего блока; блока, расположенного у той же горизонтальной линии, что и блок, примыкающий к левой стороне, нижнему левому углу или верхнему левому углу текущего блока; и блока, расположенного у той же диагональной линии, что и блок, примыкающий к углу текущего блока. Если пространственный соседний блок непригоден, пространственный вектор-кандидат движения можно получить путем применения пространственного не-соседнего блока.
[00236] В другом примере по меньшей мере два пространственных вектора-кандидата движения можно получить путем применения пространственного соседнего блока и пространственных не-соседних блоков. В одном примере первый пространственный вектор-кандидат движения и второй пространственный вектор-кандидат движения можно получить путем применения соседних блоков, примыкающих к текущему блоку. При этом третий пространственный вектор-кандидат движения и/или четвертый пространственный вектор-кандидат движения можно получить на основе блоков, примыкающих не к текущему блоку, а к вышеуказанным соседним блокам.
[00237] Если текущий блок отличен, в части опорного изображения, от пространственного соседнего блока, пространственный вектор движения можно получить путем выполнения масштабирования для вектора движения пространственного соседнего блока. Временной вектор-кандидат движения можно получить на этапе S1430 на основе вектора движения временного соседнего блока текущего блока. Если текущий блок отличен, в части опорного изображения, от временного соседнего блока, временной вектор движения можно получить путем выполнения масштабирования вектора движения временного соседнего блока. В данном случае, если число пространственных векторов-кандидатов движения не превышает заранее определенное число, можно получить временной вектор-кандидат движения.
[00238] На этапе S1440 можно сгенерировать список векторов-кандидатов движения, включающий в себя пространственный вектор-кандидат движения и временной вектор-кандидат движения.
[00239] Когда список векторов-кандидатов движения будет сгенерирован, на этапе S1450 можно указать по меньшей мере один из векторов-кандидатов движения, входящих в список векторов-кандидатов движения, на основе информации, указывающей по меньшей мере один список векторов-кандидатов движения.
[00240] Вектор-кандидат движения, указанный посредством информации, можно принять в качестве значения предсказания вектора движения текущего блока, при этом вектор движения текущего блока можно получить путем прибавления остаточного значения вектора движения к значению предсказания вектора движения на этапе S1460. В данном случае остаточное значение вектора движения можно разобрать посредством битового потока.
[00241] Когда будет определена информация о движении текущего блока, на этапе S920 можно выполнить компенсацию движения для текущего блока на основе полученной информации о движении. А именно, компенсацию движения для текущего блока можно выполнить на основе направления межкадрового предсказания, индекса опорного изображения и вектора движения текущего блока. Направление межкадрового предсказания отражает выполняемое предсказание: L0, L1 или двунаправленное предсказание. Если текущий блок закодирован путем двунаправленного предсказания, блок предсказания текущего блока можно определить на основе операции взвешенной суммы или операции усреднения опорного блока L0 и опорного блока L1.
[00242] Когда путем выполнения компенсации движения будет получен предсказанный отсчет, можно восстановить текущий блок на основе сгенерированного предсказанного отсчета. А именно, восстановленный отсчет можно получить путем суммирования предсказанного отсчета текущего блока и остаточного отсчета.
[00243]
[00244] Как и в раскрытом выше примере, на основе информации о движении блока, закодированного/декодированного с использованием межкадрового предсказания прежде, чем текущий блок, можно получить кандидата на слияние текущего блока. Например, на основе информации о движении соседнего блока в заранее заданном положении, примыкающем к текущему блоку, можно получить кандидата на слияние текущего блока. В число примеров соседнего блока может входить по меньшей мере один из следующих: блок, примыкающий к левой стороне текущего блока, блок, примыкающий к верху текущего блока, блок, примыкающий к верхнему левому углу текущего блока, блок, примыкающий к верхнему правому углу текущего блока, и блок, примыкающий к нижнему левому углу текущего блока.
[00245] Кандидата на слияние текущего блока можно получить на основе информации о движении блока, не являющегося соседним блоком. Для удобства раскрытия, соседний блок в заранее заданном положении, примыкающий к текущему блоку, именуется «первый блок-кандидат на слияние», а блок в положении, отличном от положения первого блока-кандидата на слияние, именуется «второй блок-кандидат на слияние».
[00246] Второй блок-кандидат на слияние может представлять собой по меньшей мере один из следующих: блок, закодированный/декодированный с использованием межкадрового предсказания прежде, чем текущий блок, блок, примыкающий к первому блоку-кандидату на слияние или блоку, расположенному на той же линии, что и первый блок-кандидат на слияние. На ФИГ.15 изображен второй блок-кандидат на слияние, примыкающий к первому блоку-кандидату на слияние, а на ФИГ.16 - второй блок-кандидат на слияние, расположенный на той же линии, что и первый блок-кандидат на слияние.
[00247] Если первый блок-кандидат на слияние непригоден, в список кандидатов на слияние добавляют кандидата на слияние, полученного на основе информации о движении второго блока-кандидата на слияние. В качестве альтернативы, даже в случае добавления по меньшей мере пространственного кандидата на слияние или временного кандидата на слияние в список кандидатов на слияние, если число кандидатов на слияние, входящих в список кандидатов на слияние, меньше максимального числа кандидатов на слияние, в список кандидатов на слияние добавляют кандидата на слияние, полученного на основе информации о движении второго блока-кандидата на слияние.
[00248] ФИГ. 15 - схема, иллюстрирующая пример получения кандидата на слияние на основе второго блока-кандидата на слияние, если первый блок-кандидат на слияние непригоден.
[00249] Если первый блок-кандидат AN на слияние (в данном случае N составляет от 0 до 4) непригоден, кандидата на слияние текущего блока получают на основе информации о движении второго блока-кандидата ВМ на слияние (в данном случае М составляет от 0 до 6). Т.е. кандидата на слияние текущего блока можно получить путем замены непригодного первого блока-кандидата на слияние вторым блоком-кандидатом на слияние.
[00250] Из блоков, примыкающих к первому блоку-кандидату на слияние, в качестве второго блока-кандидата на слияние можно принять блок, расположенный в заранее заданном направлении от первого блока-кандидата на слияние. Заранее заданным направлением может быть направление влево, направление вправо, направление вверх, направление вниз или направление по диагонали. Заранее заданное направление может быть задано для каждого первого блока-кандидата на слияние. Например, заранее заданным направлением первого блока-кандидата на слияние, примыкающего к левой стороне текущего блока, может быть направление влево. Заранее заданным направлением первого блока-кандидата на слияние, примыкающего к верху текущего блока, может быть направление вверх. Заранее заданным направлением первого блока-кандидата на слияние, примыкающего к углу текущего блока, может быть по меньшей мере одно из следующих: направление влево, направление вверх или направление по диагонали.
[00251] Например, если А0, примыкающий к левой стороне текущего блока, непригоден, кандидата на слияние текущего блока получают на основе В0, примыкающего к А1. Если А1, примыкающий к верху текущего блока непригоден, кандидата на слияние текущего блока получают на основе В1, примыкающего к А1. Если А2, примыкающий к верхнему правому углу текущего блока непригоден, кандидата на слияние текущего блока получают на основе В2, примыкающего к А2. Если A3, примыкающий к нижнему левому углу текущего блока непригоден, кандидата на слияние текущего блока получают на основе ВЗ, примыкающего к A3. Если А4, примыкающий к верхнему левому углу текущего блока непригоден, кандидата на слияние текущего блока получают на основе по меньшей мере одного из блоков В4 - В6, примыкающих к А4.
[00252] Пример на ФИГ.15 служит исключительно для раскрытия одного из вариантов осуществления настоящего изобретения, но не ограничивает его. Положение второго блока-кандидата на слияние можно задать отличным от образца на ФИГ.15. Например, второй блок-кандидат на слияние, примыкающий к первому блоку-кандидату на слияние, примыкающему к левой стороне текущего блока, может быть расположен в направлении вверх или направлении вниз от первого блока-кандидата на слияние. В качестве альтернативы, второй блок-кандидат на слияние, примыкающий к первому блоку-кандидату на слияние, примыкающему к верху текущего блока, может быть расположен в направлении влево или направлении вправо от первого блока-кандидата на слияние.
[00253] ФИГ.16 - схема, иллюстрирующая пример получения кандидата на слияние на основе второго блока-кандидата на слияние, расположенного на той же линии, что и первый блок-кандидат на слияние.
[00254] Блок, расположенный на той же линии, что и первый блок-кандидат на слияние, может представлять собой по меньшей мере один из следующих: блок, расположенный на той же горизонтальной линии, что и первый блок-кандидат на слияние, блок, расположенный на той же вертикальной линии, что и первый блок-кандидат на слияние, или блок, расположенный на той же диагональной линии, что и первый блок-кандидат на слияние. Координаты положения по оси у блоков, расположенных на одной и той же горизонтальной линии, тождественны. Координаты положения по оси х блоков, расположенных на одной и той же вертикальной линии, тождественны. Значение разности между координатами положений по оси х блоков, расположенных на одной и той же диагональной линии, тождественно значению разности между координатами положений по оси у.
[00255] Предполагается, что верхний левый отсчет текущего блока расположен у (0,0), а ширина и высота текущего блока - это W и Н соответственно. На ФИГ.18 было показано, что положение вторых блоков-кандидатов на слияние (например, В4, С6), расположенных на той же вертикальной линии, что и первый блок-кандидат на слияние, определяют по крайнему правому блоку сверху от блока кодирования (например, блоку А1, включающему в себя координату (W-1, -1)). Кроме того, на ФИГ.18 было показано, что положение вторых блоков-кандидатов на слияние (например, В1, С1), расположенных на той же горизонтальной линии, что и первый блок-кандидат на слияние, определяют по самому нижнему блоку слева от блока кодирования (например, блоку А0, включающему в себя координату (-1, Н-1)).
[00256] В другом примере положение вторых блоков-кандидатов на слияние можно определять по крайнему левому блоку сверху от блока кодирования (например, блоку, включающему в себя координату (0, -1)) или блоку, расположенному сверху по центру блока кодирования (например, блоку, включающему в себя координату (W/2, -1)). Кроме того, положение вторых блоков-кандидатов на слияние можно определять по самому верхнему блоку слева от блока кодирования (например, блоку, включающему в себя координату (-1, 0)) или блоку, расположенному слева по центру блока кодирования (например, блоку, включающему в себя координату (-1, Н/2)).
[00257] В другом примере, при наличии множества верхних соседних блоков, примыкающих к верху текущего блока, второй блок-кандидат на слияние можно определять путем применения всех или нескольких из множества верхних соседних блоков. В одном примере второй блок-кандидат на слияние можно определять путем применения блока в конкретном положении (например, по меньшей мере одного из следующих: верхнего соседнего блока, расположенного крайним с левой стороны, верхнего соседнего блока, расположенного крайним с правой стороны, или верхнего соседнего блока, расположенного в центре) из множества верхних соседних блоков. Число верхних соседних блоков, применяемых для определения второго блока-кандидата на слияние из множества верхних соседних блоков, может составлять 1, 2, 3 или более. Кроме того, при наличии множества левых соседних блоков, примыкающих к левой стороне текущего блока, второй блок-кандидат на слияние можно определять путем применения всех или нескольких из множества левых соседних блоков. В одном примере второй блок-кандидат на слияние можно определять путем применения блока в конкретном положении (например, по меньшей мере одного из следующих: левого соседнего блока, расположенного крайним снизу, левого соседнего блока, расположенного крайним сверху, или левого соседнего блока, расположенного в центре) из множества левых соседних блоков. Число левых соседних блоков, применяемых для определения второго блока-кандидата на слияние из множества левых соседних блоков, может составлять 1, 2, 3 или более.
[00258] В зависимости от размера и/или формы текущего блока, положение и/или число верхних соседних блоков и/или левых соседних блоков, применяемых для определения второго блока-кандидата на слияние, можно определять по-разному. В одном примере, если размер текущего блока больше порогового значения, второй блок-кандидат на слияние можно определять по верхнему по центру блоку и/или левому по центру блоку. При этом, если размер текущего блока меньше порогового значения, второй блок-кандидат на слияние можно получать по крайнему правому сверху блоку и/или крайнему нижнему слева блоку. Пороговое значение может представлять собой целое число, например, 8, 16, 32, 64 или 128.
[00259] Можно построить первый список кандидатов на слияние и второй список кандидатов на слияние и выполнить компенсацию движения текущего блока на основе по меньшей мере одного из следующего: первого списка кандидатов на слияние или второго списка кандидатов на слияние.
[00260] Первый список кандидатов на слияние может включать в себя по меньшей мере одного из следующих: пространственного кандидата на слияние, полученного на основе информации о движении соседнего блока в заранее заданном положении, примыкающем к текущему блоку, или временного кандидата на слияние, полученного на основе информации о движении совмещенного блока.
[00261] Второй список кандидатов на слияние может включать в себя кандидата на слияние, полученного на основе информации о движении второго блока-кандидата на слияние.
[00262] В одном из вариантов осуществления настоящего изобретения можно построить первый список кандидатов на слияние, включающий в себя кандидата на слияние, полученного на основе первого блока-кандидата на слияние, и второй список кандидатов на слияние, включающий в себя кандидата на слияние, полученного на основе второго блока-кандидата на слияние. В одном примере на ФИГ.15, кандидатов на слияние, полученных на основе блоков А0 - А4, можно добавить в первый список кандидатов на слияние, а кандидатов на слияние, полученных на основе блоков В0 - В6, можно добавить во второй список кандидатов на слияние. В примере на ФИГ.16 кандидатов на слияние, полученных на основе блоков А0 - А4, можно добавить в первый список кандидатов на слияние, а кандидатов на слияние, полученных на основе блоков В0 - В5, С0 - С7, можно добавить во второй список кандидатов на слияние.
[00263] В качестве альтернативы, второй список кандидатов на слияние может включать в себя кандидата на слияние, полученного на основе информации о движении блока, закодированного/декодированного с использованием межкадрового предсказания прежде, чем текущий блок. Например, если выполняют компенсацию движения для блока, кодируемого в режиме межкадрового предсказания, кандидата на слияние, полученного на основе информации о движении блока, добавляют во второй список кандидатов на слияние. Когда кодирование/декодирование текущего блока будет выполнено, информацию о движении текущего блока добавляют во второй список кандидатов на слияние для межкадрового предсказания последующего блока.
[00264] Индексы кандидатов на слияние, входящих во второй список кандидатов на слияние, можно определять по порядку добавления кандидатов на слияние во второй список кандидатов на слияние. Например, значение индекса, присвоенного N-ому кандидату на слияние, добавленному во второй список кандидатов на слияние, может быть ниже, чем значение индекса, присвоенного N+1-ому кандидату на слияние, добавленному во второй список кандидатов на слияние. Например, индекс N+1-ого кандидата на слияние может быть задан таким образом, чтобы его значение было на единицу выше значения индекса N-ого кандидата на слияние. В качестве альтернативы, индекс N-ого кандидата на слияние может быть задан равным индексу N+1-ого кандидата на слияние, при этом значение индекса N-ого кандидата на слияние уменьшают путем вычитания единицы.
[00265] В качестве альтернативы, значение индекса, присвоенного N-ому кандидату на слияние, добавленному во второй список кандидатов на слияние, может быть выше значения индекса, присвоенного N+1-ому кандидату на слияние, добавленному во второй список кандидатов на слияние. Например, индекс N-ого кандидата на слияние может быть задан равным индексу N+1-ого кандидата на слияние, при этом значение индекса N-ого кандидата на слияние увеличивают на единицу.
[00266] В зависимости от того, тождественна ли информация о движении блока - объекта компенсации движения информации о движении кандидата на слияние, входящего во второй список кандидатов на слияние, можно определять, добавлять ли кандидата на слияние, полученного на основе блока, во второй список кандидатов на слияние. Например, если кандидат на слияние с информацией о движении, тождественной информации блока, входит во второй список кандидатов на слияние, кандидата на слияние, полученного на основе информации о движении блока, не добавляют во второй список кандидатов на слияние. В качестве альтернативы, если кандидат на слияние с информацией о движении, тождественной информации блока, входит во второй список кандидатов на слияние, кандидата на слияние удаляют из второго списка кандидатов на слияние, а кандидата на слияние, полученного на основе информации о движении блока, добавляют во второй список кандидатов на слияние.
[00267] Если число кандидатов на слияние, входящих во второй список кандидатов на слияние, равно максимальному числу кандидатов на слияние, кандидата на слияние с самым низким индексом или кандидата на слияние с самым высоким индексом удаляют из второго списка кандидатов на слияние, а кандидата на слияние, полученного на основе информации о движении блока, добавляют во второй список кандидатов на слияние. Т.е. после удаления самого старого из кандидатов на слияние, входящих во второй список кандидатов на слияние, в него можно добавить кандидата на слияние, полученного на основе информации о движении блока.
[00268] Второй список кандидатов на слияние можно начать в единице ЕДК, плитки или сектора. Иными словами, блок, входящий в состав ЕДК, плитки или сектора, отличный от текущего блока, может быть принят непригодным в качестве второго блока-кандидата на слияние. Максимальное число кандидатов на слияние, которых можно включить во второй список кандидатов на слияние, может быть заранее задано в кодере и декодере. В качестве альтернативы, информацию, отражающую максимальное число кандидатов на слияние, которых можно включить во второй список кандидатов на слияние, можно сообщать посредством битового потока.
[00269] Можно выбрать либо первый список кандидатов на слияние, либо второй список кандидатов на слияние и выполнить межкадровое предсказание текущего блока, используя выбранный список кандидатов на слияние. В частности, на основе информации об индексах можно выбрать любого из кандидатов на слияние, входящих в список кандидатов на слияние, и определить информацию о движении текущего блока на основе кандидата на слияние.
[00270] Информацию, указывающую либо первый список кандидатов на слияние, либо второй список кандидатов на слияние, можно сообщать посредством битового потока. На основе этой информации декодер может выбрать либо первый список кандидатов на слияние, либо второй список кандидатов на слияние.
[00271] В качестве альтернативы, из первого списка кандидатов на слияние и второго списка кандидатов на слияние можно выбрать тот, в котором число пригодных кандидатов на слияние больше.
[00272] В качестве альтернативы, первый список кандидатов на слияние или второй список кандидатов на слияние можно выбрать в зависимости от по меньшей мере одного из следующего: размера, формы и глубины разбиения текущего блока.
[00273] В качестве альтернативы, список кандидатов на слияние конфигурируют путем добавления (или присоединения) какого-либо списка кандидатов на слияние - первого или второго - к другому списку кандидатов на слияние.
[00274] Например, межкадровое предсказание можно выполнить на основе списка кандидатов на слияние, включающего в себя по меньшей мере одного кандидата на слияние, входящего в первый список кандидатов на слияние, и по меньшей мере одного кандидата на слияние, входящего во второй список кандидатов на слияние.
[00275] Например, кандидата на слияние, входящего во второй список кандидатов на слияние, можно добавить в первый список кандидатов на слияние. В качестве альтернативы, кандидата на слияние, входящего в первый список кандидатов на слияние, можно добавить во второй список кандидатов на слияние.
[00276] Если число кандидатов на слияние, входящих в первый список кандидатов на слияние, меньше максимального числа, или если первый блок-кандидат на слияние непригоден, кандидата на слияние, входящего во второй список кандидатов на слияние, добавляют в первый список кандидатов на слияние.
[00277] В качестве альтернативы, если первый блок-кандидат на слияние непригоден, кандидата на слияние, полученного на основе блока, примыкающего к первому блоку-кандидату на слияние, из числа кандидатов на слияние, входящих во второй список кандидатов на слияние, добавляют в первый список кандидатов на слияние. В примере на ФИГ.15, если А0 непригоден, кандидата на слияние, полученного на основе информации о движении В0, из числа кандидатов на слияние, входящих во второй список кандидатов на слияние, добавляют в первый список кандидатов на слияние. Если А1 непригоден, кандидата на слияние, полученного на основе информации о движении В1, из числа кандидатов на слияние, входящих во второй список кандидатов на слияние, добавляют в первый список кандидатов на слияние. Если А2 непригоден, кандидата на слияние, полученного на основе информации о движении В2, из числа кандидатов на слияние, входящих во второй список кандидатов на слияние, добавляют в первый список кандидатов на слияние. Если A3 непригоден, кандидата на слияние, полученного на основе информации о движении В3, из числа кандидатов на слияние, входящих во второй список кандидатов на слияние, добавляют в первый список кандидатов на слияние. Если А4 непригоден, кандидата на слияние, полученного на основе информации о движении В4, В5 или В6 из числа кандидатов на слияние, входящих во второй список кандидатов на слияние, добавляют в первый список кандидатов на слияние.
[00278] В качестве альтернативы, кандидата на слияние для добавления в первый список кандидатов на слияние можно определять согласно приоритетам кандидатов на слияние, входящих во второй список кандидатов на слияние. Приоритеты можно определять по значению индекса, присвоенного каждому из кандидатов на слияние. Например, если число кандидатов на слияние, входящих в первый список кандидатов на слияние, меньше максимального числа, или если первый блок-кандидат на слияние непригоден, кандидата на слияние с наименьшим значением индекса или кандидата на слияние с наибольшим значением индекса из числа кандидатов на слияние, входящих во второй список кандидатов на слияние, добавляют в первый список кандидатов на слияние.
[00279] Если кандидат на слияние с информацией о движении, тождественной информации кандидата на слияние с самым высоким из кандидатов на слияние, входящих во второй список кандидатов на слияние, приоритетом входит в первый список кандидатов на слияние, то кандидата на слияние с самым высоким приоритетом нельзя добавить в первый список кандидатов на слияние. При этом можно определить, можно ли добавить в первый список кандидатов на слияние кандидата на слияние с ближайшим приоритетом (например, кандидата на слияние, которому присвоено значение индекса, превышающее на 1 значение индекса, присвоенное кандидату на слияние с самым высоким приоритетом, или кандидата на слияние, которому присвоено значение индекса меньше на 1, чем значение индекса, присвоенное кандидату на слияние с самым высоким приоритетом).
[00280] В качестве альтернативы, можно сгенерировать список кандидатов на слияние, включающий в себя кандидата на слияние, полученного на основе информации о движении первого блока-кандидата на слияние, и кандидата на слияние, полученного на основе информации о движении второго блока-кандидата на слияние. Этот список кандидатов на слияние может представлять собой комбинацию первого списка кандидатов на слияние и второго списка кандидатов на слияние.
[00281] Например, согласно заранее определенному порядку поиска, можно сгенерировать список кандидатов на слияние путем поиска первого блока-кандидата на слияние и второго блока-кандидата на слияние.
[00282] ФИГ. 17-20 - схемы, иллюстрирующие порядок поиска блоков-кандидатов на слияние.
[00283] На ФИГ. 17-20 раскрыт следующий порядок поиска кандидатов на слияние.
[00284] А0 → А2 → A3 → А4 → В0 → В1 → В2 → В3 → В4 → (В5) → (В6)
[00285] Поиск блоков В5 и В6 может происходить только тогда, когда блок В4 непригоден, или если число кандидатов на слияние, входящих в список кандидатов на слияние, не превышает заранее установленное число.
[00286] Можно задать порядок поиска, отличный от примеров на ФИГ. 17-20.
[00287] Можно сгенерировать комбинированный список кандидатов на слияние, включающий в себя по меньшей мере одного кандидата на слияние, входящего в первый список кандидатов на слияние, и по меньшей мере одного кандидата на слияние, входящего во второй список кандидатов на слияние. Например, комбинированный список кандидатов на слияние может включать в себя N кандидатов на слияние, входящих в первый список кандидатов на слияние, и М кандидатов на слияние, входящих во второй список кандидатов на слияние. Буквы «N» и «М» могут обозначать одно и то число или разные числа. В качестве альтернативы, по меньшей мере одно из чисел N и М можно определять на основе по меньшей мере одного из следующих: числа кандидатов на слияние, входящих в первый список кандидатов на слияние, и числа кандидатов на слияние, входящих во второй список кандидатов на слияние. В качестве альтернативы, информацию для определения по меньшей мере одного из чисел N и М можно сообщать посредством битового потока. Любое из чисел N и М можно получить путем вычитания другого из них из максимального числа кандидатов на слияние в комбинированном списке кандидатов на слияние.
[00288] Кандидатов на слияние для добавления в комбинированный список кандидатов на слияние можно определять согласно заранее заданному приоритету. Заранее заданный приоритет можно определять на основе индексов, присвоенных кандидатам на слияние.
[00289] В качестве альтернативы, кандидата на слияние для добавления в комбинированный список кандидатов на слияние можно определять на основе взаимосвязи кандидатов на слияние. Например, если А0, входящий в первый список кандидатов на слияние, добавляют в комбинированный список кандидатов на слияние, кандидата на слияние (например, В0) в положении, примыкающем к А0, не добавляют в комбинированный список кандидатов на слияние.
[00290] Если число кандидатов на слияние, входящих в первый список кандидатов на слияние, меньше N, в комбинированный список кандидатов на слияние добавляют кандидатов на слияние из числа кандидатов на слияние, входящих во второй список кандидатов на слияние, числом более М. Например, если N равно четырем, а М равно двум, в комбинированный список кандидатов на слияние добавляют четырех кандидатов на слияние, входящих в первый список кандидатов на слияние, и двух кандидатов на слияние, входящих во второй список кандидатов на слияние. Если число кандидатов на слияние, входящих в первый список кандидатов на слияние, меньше четырех, в комбинированный список кандидатов на слияние добавляют двух или более кандидатов на слияние из числа кандидатов на слияние, входящих во второй список кандидатов на слияние. Если число кандидатов на слияние, входящих во второй список кандидатов на слияние меньше двух, в комбинированный список кандидатов на слияние добавляют четырех или более кандидатов на слияние, входящих в первый список кандидатов на слияние.
[00291] Т.е. значение N или М можно корректировать в зависимости от числа кандидатов на слияние, входящих в каждый из списков кандидатов на слияние. Коррекция значения N или М позволяет зафиксировать общее число кандидатов на слияние, входящих в комбинированный список кандидатов на слияние. Если общее число кандидатов на слияние, входящих в комбинированный список кандидатов на слияние, меньше максимального числа кандидатов на слияние, добавляют комбинированного кандидата на слияние, среднего кандидата на слияние или нулевой вектор-кандидат движения.
[00292]
[00293]
[00294] Прямоугольный блок можно разбить на несколько треугольных блоков. Кандидатов на слияние треугольных блоков можно получать на основе прямоугольного блока, включающего в себя треугольные блоки. Один и тот же кандидат на слияние может быть общим для треугольных блоков.
[00295] Индекс слияния можно сообщать для каждого треугольного блока. В этом случае можно установить запрет на применение одного и того же кандидата на слияние для треугольных блоков. В одном примере кандидат на слияние, применяемый для первого треугольного блока, не может быть кандидатом на слияние второго треугольного блока. Следовательно, индекс слияния второго треугольного блока может указывать любого из остальных кандидатов на слияние, кроме кандидата на слияние, выбранного для первого треугольного блока.
[00296]
[00297] Кандидата на слияние можно получить на основе блока заранее определенной формы или размера не меньше заранее определенного размера. Если форма текущего блока отлична от заранее определенной формы или если размер текущего блока меньше заранее определенного размера, кандидата на слияние текущего блока получают на основе блока, включающего в себя текущий блок и имеющего форму, являющуюся заранее определенной формой, или размер не меньше заранее определенного размера. Заранее определенная форма может представлять собой квадратную форму или неквадратную форму.
[00298] Если заранее определенная форма представляет собой квадратную форму, кандидата на слияние для единицы кодирования в неквадратной форме получают на основе единицы кодирования в квадратной форме, включающей в себя эту единицу кодирования в неквадратной форме.
[00299] ФИГ.21 - схема, иллюстрирующая пример, в котором кандидата на слияние неквадратного блока получают на основе квадратного блока.
[00300] Кандидата на слияние неквадратного блока можно получить на основе квадратного блока, включающего в себя этот неквадратный блок. Например, кандидата на слияние блока 0 кодирования в неквадратной форме и блока 1 кодирования в неквадратной форме можно получить на основе блока в квадратной форме, включающего в себя блок 0 кодирования и блок 1 кодирования. Т.е. положение пространственного соседнего блока можно определять на основе положения, ширины/высоты или размера блока в квадратной форме. Кандидата на слияние блока 0 кодирования и блока 1 кодирования можно получить на основе по меньшей мере одного из пространственных соседних блоков А0, А1, А2, A3 и А4, примыкающих к блоку в квадратной форме.
[00301] Временного кандидата на слияние можно получать на основе блока в квадратной форме. Т.е. временной соседний блок можно определять на основе положения, ширины/высоты или размера блока в квадратной форме. Например, кандидата на слияние блока 0 кодирования и блока 1 кодирования можно получить на основе временного соседнего блока, определенного на основе блока в квадратной форме.
[00302] В качестве альтернативы, любого из кандидатов на слияние - пространственного или временного - можно получить на основе квадратного блока, а другого кандидата на слияние можно получить на основе неквадратного блока. Например, пространственного кандидата на слияние блока 0 кодирования можно получить на основе квадратного блока, а временного кандидата на слияние блока 0 кодирования можно получить на основе блока 0 кодирования.
[00303] Несколько блоков, входящих в блок заранее определенной формы или размера не меньше заранее определенного размера, могут иметь общего кандидата на слияние. Например, в примере на ФИГ.21, по меньшей мере один из кандидатов на слияние - пространственный или временной - блока 0 кодирования и блока 1 кодирования может быть одним и тем же.
[00304] Заранее определенная форма может представлять собой неквадратную форму, например, 2N×N, N×2N и т.п. Если заранее определенная форма представляет собой неквадратную форму, кандидата на слияние текущего блока можно получить на основе неквадратного блока, включающего в себя текущий блок. Например, если форма текущего блока представляет собой 2N×n (в данном случае n - это 1/2N), кандидата на слияние текущего блока получают на основе неквадратного блока в форме 2N×N. В качестве альтернативы, если форма текущего блока представляет собой n×2N, кандидата на слияние текущего блока получают на основе неквадратного блока в форме N×2N.
[00305] Информацию, указывающую заранее определенную форму или заранее определенный размер, можно сообщать посредством битового потока. Например, посредством битового потока можно сообщать информацию, указывающую любую из форм - неквадратную или квадратную.
[00306] В качестве альтернативы, заранее определенную форму или заранее определенный размер можно определять согласно правилу, заранее заданному в кодере и декодере.
[00307]
[00308] Если дочерний узел не соответствует заранее заданному условию, кандидата на слияние дочернего узла получают на основе узла-родителя, соответствующего данному заранее заданному условию. В этом случае заранее заданное условие может включать в себя по меньшей мере одно из следующих: является ли блок блоком, сгенерированным в результате разбиения на основе квадродерева, имеет ли место превышение размера блока, формы блока и границы изображения, и превышает ли разность глубин дочернего узла и узла-родителя заранее определенное значение или равна ли она ему.
[00309] Например, заранее заданные условия могут включать в себя следующие: является ли блок блоком, сгенерированным в результате разбиения на основе квадродерева, и является ли блок блоком кодирования квадратной формы и размером не меньше заранее определенного размера. Если текущий блок сгенерирован путем разбиения на основе двоичного дерева или разбиения на основе троичного дерева, кандидата на слияние текущего блока получают на основе блока вышестоящего узла, включающего в себя текущий блок и соответствующего заранее заданным условиям. Если блок вышестоящего узла, соответствующий заранее заданным условиям отсутствует, кандидата на слияние текущего блока получают на основе текущего блока, блока, включающего в себя текущий блок и имеющего размер не меньше заранее определенного размера, или блока вышестоящего узла, включающего в себя текущий блок и имеющего разность глубин с текущим блоком, равную единице.
[00310] ФИГ.22 - схема, иллюстрирующая пример получения кандидата на слияние на основе блока вышестоящего узла.
[00311] Блок 0 и блок 1 генерируют путем разбиения квадратного блока на основе двоичного дерева. Кандидата на слияние блока 0 и блока 1 можно получить на основе соседнего блока (т.е. по меньшей мере одного из А0, А1, А2, A3 и А4), определяемого на основе блока вышестоящего узла, включающего в себя блок 0 и блок 1. В результате, возможно применение одного и того же пространственного кандидата на слияние для блока 0 и блока 1.
[00312] Блок вышестоящего узла, включающий в себя блок 2 и блок 3, а также блок 4, можно сгенерировать путем разбиения квадратного блока на основе двоичного дерева. Кроме того, блок 2 и блок 3 можно сгенерировать путем разбиения блока в неквадратной форме на основе двоичного дерева. Кандидата на слияние блока 2, блока 3 и блока 4 в неквадратных формах можно получить на основе блока вышестоящего узла, включающего их в себя. Т.е. кандидата на слияние можно получить на основе соседнего блока (например, по меньшей мере одного из В0, В1, В2, В3 и В4), определяемого на основе положения, ширины/высоты или размера квадратного блока, включающего в себя блок 2, блок 3 и блок 4. В результате, возможно применение одного и того же пространственного кандидата на слияние для блока 2, блока 3 и блока 4.
[00313] Временного кандидата на слияние для блока в неквадратной форме можно получить на основе блока вышестоящего узла. Например, временного кандидата на слияние для блока 0 и блока 1 можно получить на основе квадратного блока, включающего в себя блок 0 и блок 1. Временного кандидата на слияние для блока 2, блока 3 и блока 4 можно получить на основе квадратного блока, включающего в себя блок 2, блок 3 и блок 4. При этом возможно применение одного и того же временного кандидата на слияние, полученного на основе временного соседнего блока, определенного на основе блока квадродерева.
[00314] Для блоков нижестоящего узла, входящих в блок вышестоящего узла, по меньшей мере пространственный кандидат на слияние или временной кандидат на слияние может быть одним и тем же. Например, возможно применение одного и того же списка кандидатов на слияние для блоков нижестоящего узла, входящих в блок вышестоящего узла.
[00315] В качестве альтернативы, по меньшей мере пространственного кандидата на слияние или временного кандидата на слияние можно получить на основе блока нижестоящего узла, а другого из них можно получить на основе блока вышестоящего узла. Например, пространственного кандидата на слияние для блока 0 и блока 1 можно получить на основе блока вышестоящего узла. При этом временного кандидата на слияние для блока 0 можно получить на основе блока 0, а временного кандидата на слияние для блока 1 можно получить на основе блока 1.
[00316] В качестве альтернативы, если число отсчетов, входящих в блок нижестоящего узла, меньше заранее заданного числа, кандидата на слияние получают на основе блока вышестоящего узла, включающего в себя отсчеты числом не меньше заранее заданного числа. Например, в по меньшей мере одном из следующих случаев, когда соблюдены следующие условия: случай, в котором имеет место по меньшей мере одно из следующего: блоки нижестоящего узла, сгенерированные путем по меньшей мере одного из следующего: разбиения на основе квадродерева, разбиения на основе двоичного дерева и разбиения на основе троичного дерева, меньше заранее заданного размера; случай, в котором имеет место по меньшей мере одно из следующего: блоки нижестоящего узла представляют собой неквадратный блок; случай, в котором блок вышестоящего узла не выходит за границу изображения; и случай, в котором ширина или высота блока вышестоящего узла не меньше заранее заданного значения, кандидата на слияние получают на основе блока вышестоящего узла в квадратной или неквадратной форме, включающего в себя отсчеты числом не менее заранее заданного числа (например, 64, 128 или 256 отсчетов). Кандидаты на слияние, полученные на основе блока вышестоящего узла, могут быть общими для блоков нижестоящего узла, входящих в блок вышестоящего узла.
[00317] Кандидата на слияние можно получить на основе любого из блоков нижестоящего узла, при этом можно задать применение прочими блоками нижестоящего узла этого кандидата на слияние. Блоки нижестоящего узла могут входить в блок заранее определенной формы или размера не меньше заранее определенного размера. Например, возможно применение для блоков нижестоящего узла одного и того же списка кандидатов на слияние, полученного на основе любого из блоков нижестоящего узла. Информацию для блока нижестоящего узла, являющегося основой для получения кандидата на слияние, можно сообщать посредством битового потока. Информация может представлять собой информацию об индексе, указывающую любой из блоков нижестоящего узла. В качестве альтернативы, блок нижестоящего узла, являющийся основой для получения кандидата на слияние, можно определять на основе по меньшей мере одного из следующего: положений, размеров, форм и порядка считывания блоков нижестоящего узла.
[00318] Информацию, указывающую то, является ли список кандидатов на слияние, полученный на основе блока вышестоящего узла, общим для блоков нижестоящего узла, можно сообщать посредством битового потока. На основе этой информации можно определять, отлична ли форма кандидата на слияние блока от заранее определенной формы, или меньше ли размер блока, полученного на основе блока вышестоящего узла, включающего в себя блок, заранее определенного размера. В качестве альтернативы, согласно правилу, заранее заданному в кодере и декодере, можно определять то, получен ли кандидат на слияние на основе блока вышестоящего узла.
[00319] Если в пределах заранее заданной области присутствует соседний блок, примыкающий к текущему блоку, определяют, что этот соседний блок непригоден в качестве пространственного кандидата на слияние. Заранее заданная область может представлять собой область параллельной обработки, заданную для параллельной обработки нескольких блоков. Область параллельной обработки может именоваться «область оценки слияния» (ООС, англ. merge estimation region (MER)). Например, если соседний блок, примыкающий к текущему блоку, входит в ту же область оценки слияния, что и текущий блок, то определяют, что соседний блок непригоден. Можно выполнить операцию сдвига для определения того, входят ли текущий блок и соседний блок в одну и ту же область оценки слияния. В частности, в зависимости от того, тождественно ли значение, определенное путем сдвига положения верхнего левого опорного отсчета текущего блока, значению, определенному путем сдвига положения верхнего левого опорного отсчета соседнего блока, можно определить, входят ли текущий блок и соседний блок в одну и ту же область оценки слияния.
[00320] ФИГ.23 - схема, иллюстрирующая пример определения пригодности пространственного соседнего блока по области оценки слияния.
[00321] На ФИГ.23 показано, что форма области оценки слияния представляет собой N×2N.
[00322] Кандидата на слияние блока 1 можно получить на основе пространственного соседнего блока, примыкающего к блоку 1. В число пространственных соседних блоков могут входить В0, В1, В2, В3 и В4. В данном случае можно определить, что пространственные соседние блоки В0 и В3, входящие в туже область оценки слияния, что и блок 1, непригодны в качестве кандидатов на слияние. Следовательно, кандидата на слияние блока 1 можно получить на основе по меньшей мере одного из пространственных соседних блоков В1, В2, и В4, за исключением пространственных соседних блоков В0 и В3.
[00323] Кандидата на слияние блока 3 можно получить на основе пространственного соседнего блока, примыкающего к блоку 3. В число пространственных соседних блоков могут входить С0, С1, С2, С3 и С4. В данном случае можно определить, что пространственный соседний блок С0, входящий в ту же область оценки слияния, что и блок 3, непригоден в качестве кандидата на слияние. Следовательно, кандидата на слияние блока 3 можно получить на основе по меньшей мере одного из пространственных соседних блоков С1, С2, С3 и С4, за исключением пространственного соседнего блока С0.
[00324] На основе по меньшей мере одного из следующего: положения, размера, ширины и высоты области оценки слияния, можно получить кандидата на слияние блока, входящего в область оценки слияния. Например, кандидата на слияние нескольких блоков, входящих в область оценки слияния, можно получить на основе по меньшей мере одного из следующих: пространственного соседнего блока и временного соседнего блока, определяемых на основе по меньшей мере одного из следующего: положения, размера, ширины и высоты области оценки слияния. Один и тот же кандидат на слияние может быть общим для блоков, входящих в область оценки слияния.
[00325] ФИГ.24 - схема, иллюстрирующая пример, в котором кандидата на слияние получают на основе области оценки слияния.
[00326] Если в область оценки слияния входят несколько единиц кодирования, кандидата на слияние для этих нескольких единиц кодирования можно получить на основе области оценки слияния. Т.е. применение области оценки слияния в качестве единицы кодирования позволяет получить кандидата на слияние на основе положения, размера или ширины/высоты области оценки слияния.
[00327] Например, кандидата на слияние единицы 0 кодирования (ЕК0) и единицы 1 кодирования (ЕК1), и та и другая из которых имеют размер (n/2)×N (в данном случае n - это N/2) и входят в область оценки слияния размером (N/2)×N, можно получить на основе области оценки слияния. Т.е. кандидата на слияние для единицы 0 кодирования и единицы 1 кодирования можно получить на основе по меньшей мере одного из соседних блоков С0, С1, С2, С3 и С4, примыкающих к области оценки слияния.
[00328] Например, кандидата на слияние для единицы 2 кодирования (ЕК2), единицы 3 кодирования (ЕК3), единицы 4 кодирования (ЕК4) и единицы 5 кодирования (ЕК5) размером n×n, входящих в область оценки слияния размером N×N, можно получить на основе области оценки слияния. Т.е. кандидата на слияние для единицы 2 кодирования, единицы 3 кодирования, единицы 4 кодирования и единицы 5 кодирования можно получить на основе по меньшей мере одного из соседних блоков С0, С1, С2, С3 и С4, примыкающих к области оценки слияния.
[00329] Форма области оценки слияния может быть квадратной или неквадратной. Например, можно определить, что единица кодирования (или единица предсказания) в квадратной форме или единица кодирования (или единица предсказания) в неквадратной форме является областью оценки слияния. Соотношение ширины и высоты области оценки слияния можно ограничить так, чтобы оно не выходило за заранее определенный диапазон. Например, область оценки слияния не может иметь неквадратную форму с соотношением ширины и высоты, превышающим два, или неквадратную форму с соотношением ширины и высоты менее 1/2. Т.е. форма неквадратной области оценки слияния может представлять собой 2N×N или N×2N. Информацию о пределе соотношения ширины и высоты можно сообщать посредством битового потока. В качестве альтернативы, предел соотношения ширины и высоты может быть заранее задан в кодере и декодере.
[00330] По меньшей мере информацию, указывающую форму области оценки слияния, или информацию, указывающую размер области оценки слияния, можно сообщать посредством битового потока. Например, по меньшей мере, информацию, указывающую форму области оценки слияния, или информацию, указывающую размер области оценки слияния, можно сообщать посредством заголовка сектора, заголовка группы плиток, параметра изображения или параметра последовательности.
[00331] Форму области оценки слияния или размер области оценки слияния можно обновлять на уровне последовательности, на уровне изображения, на уровне сектора, на уровне группы плиток, на уровне плитки или на уровне блока (ЕДК). Если форма области оценки слияния или размер области оценки слияния отличны от формы или размера предыдущей единицы, информацию, указывающую новую форму области оценки слияния или новый размер области оценки слияния сообщают посредством битового потока.
[00332] По меньшей мере один блок может входить в область оценки слияния. Форма блока, входящего в область оценки слияния, может быть квадратной или неквадратной. Можно определить максимальное число или минимальное число блоков, которые область оценки слияния может включать в себя. Например, в область оценки слияния могут входить две, три, четыре или более единиц кодирования. Определение можно осуществлять на основе информации, сообщаемой посредством битового потока. В качестве альтернативы, максимальное число или минимальное число блоков, которые область оценки слияния может включать в себя, может быть заранее задано в кодере и декодере.
[00333] По меньшей мере, в случае, когда число блоков, входящих в область оценки слияния меньше максимального числа, или в случае, когда их число больше минимального числа, можно разрешить параллельную обработку блоков. Например, если число блоков, входящих в область оценки слияния, не больше максимального числа или если число блоков, входящих в область оценки слияния, не меньше минимального числа, кандидата на слияние блоков получают на основе области оценки слияния. Если число блоков, входящих в область оценки слияния, больше максимального числа или если число блоков, входящих в область оценки слияния, меньше минимального значения, кандидата на слияние для каждого из блоков получают исходя из размера, положения, ширины или высоты каждого из блоков.
[00334] Информация, указывающая форму области оценки слияния, может включать в себя однобитовый флаг. Например, синтаксическая конструкция "isrectagular_mer_flag" может указывать на то, что форма области кандидата на слияние является квадратной или неквадратной. Значение isrectagular_mer_flag, равное единице, может указывать на то, что форма области оценки слияния является неквадратной, а значение isrectagular_mer_flag, равное нулю, может указывать на то, что форма области оценки слияния является квадратной.
[00335] Если информация указывает на то, что форма области оценки слияния является неквадратной, то сообщают информацию, указывающую по меньшей мере одно из следующего: ширину, высоту и соотношение ширины и высоты области оценки слияния, посредством битового потока. На ее основе можно определить размер и/или форму области оценки слияния. В последовательности может существовать множество областей определения слияния разных размеров.
[00336]
[00337]
[00338] В случае применения к текущему блоку однонаправленного предсказания, можно выполнить предсказание L0 на основе информации о движении L0 или предсказание L1 на основе информации о движении L1. В этом случае информация о движении L0 включает в себя индекс опорного изображения L0 и/или вектор движения L0, а информация о движении L1 включает в себя индекс опорного изображения L1 и/или вектор движения L1. Индекс опорного изображения L0 может служить для указания опорного изображения L0 в списке L0 опорных изображений, а индекс опорного изображения L1 - для указания опорного изображения L1 в списке L1 опорных изображений.
[00339] Информацию о движении L0 или информацию о движении L1 текущего блока для выполнения однонаправленного предсказания можно получать в зависимости от заранее заданного режима межкадрового предсказания. В этом случае режим межкадрового предсказания может представлять собой по меньшей мере один из следующих: режим слияния, режим пропуска или режим AMVP.
[00340] В случае применения к текущему блоку однонаправленного предсказания, на основе кандидата на слияние можно получить дополнительную информацию о движении и применить к текущему блоку двунаправленное предсказание на основе полученной дополнительной информации о движении. Способ межкадрового предсказания, при котором выполняют двунаправленное предсказание на основе дополнительной информации о движении, может именоваться «способ множественного межкадрового предсказания». Для удобства разъяснения, однонаправленная информация о движении, полученная на основе кандидата на слияние, вектора-кандидата движения или информации, сообщенной посредством битового потока, будет именоваться «базовая информация о движении». Информация о движении, направление которой отлично от базовой информации о движении, полученной на основе кандидата на слияние, также будет именоваться «дополнительная информация о движении».
[00341] ФИГ.25 - схема, иллюстрирующая вариант осуществления способа множественного межкадрового предсказания.
[00342] Базовую информацию о движении для текущего блока можно получить на основе кандидата на слияние, вектора-кандидата движения или информации, сообщенной посредством битового потока. Если базовая информация о движении относится к направлению L0, предсказание L0 можно выполнять на основе полученной базовой информации о движении L0. Например, предсказание L0 можно выполнять на основе базового вектора mvL0 движения направления L0.
[00343] Кроме того, можно дополнительно получить информацию о движении L1 на основе кандидата на слияние текущего блока и выполнить предсказание L1 на основе дополнительной информации о движении L1. В частности, вектор движения L1 кандидата на слияние можно принять в качестве вектора движения L1 текущего блока, а индекс опорного изображения L1 кандидата на слияние можно принять в качестве индекса опорного изображения L1 текущего блока. Т.е., в случае применения однонаправленного предсказания с использованием базовой информации о движении L0 к текущему блоку, или при наличии у текущего блока только базовой информации о движении для направления L0, можно получить дополнительную информацию о движении L1 на основе информации о движении кандидата на слияние. На основе дополнительной информации о движении L1 можно выполнить предсказание L1. Например, предсказание L1 можно выполнять на основе дополнительного вектора mvL1 движения направления L1.
[00344] В отличие от проиллюстрированного примера, базовую информацию о движении для текущего блока можно получить на основе кандидата на слияние, вектора-кандидата движения или информации, сообщенной посредством битового потока. Если базовая информация о движении относится к направлению L1, предсказание L1 можно выполнять на основе полученной базовой информации о движении L1.
[00345] Кроме того, можно дополнительно получить информацию о движении L0 на основе кандидата на слияние текущего блока и выполнить предсказание L0 на основе дополнительной информации о движении L0. В частности, вектор движения L0 кандидата на слияние можно принять в качестве вектора движения L0 текущего блока, а индекс опорного изображения L0 кандидата на слияние можно принять в качестве индекса опорного изображения L0 текущего блока. Т.е., в случае применения однонаправленного предсказания с использованием базовой информации о движении L1 к текущему блоку, или при наличии у текущего блока только базовой информации о движении для направления L1, можно получить дополнительную информацию о движении L0 на основе информации о движении кандидата на слияние.
[00346] На основе результатов выполнения предсказания L1 и предсказания L0, к текущему блоку можно применить двунаправленное предсказание. Двунаправленное предсказание можно выполнять путем операции взвешенной суммы или операции усреднения предсказанного отсчета, полученного путем предсказания L1, и предсказанного отсчета, полученного путем предсказания L0.
[00347] В качестве альтернативы, текущий блок можно поделить на два сегмента и выполнить предсказание L1 в отношении первого сегмента и предсказание L0 в отношении второго сегмента. Предсказанные значения отсчетов, расположенных на границе между первым и вторым сегментами, можно получить на основе операции взвешенной суммы или операции усреднения предсказанного отсчета, полученного путем предсказания L1, и предсказанного отсчета, полученного путем предсказания L0. Первый сегмент и второй сегмент могут быть прямоугольными или треугольными.
[00348] Когда будет получена базовая информация о движении на основе кандидата на слияние, можно получить дополнительную информацию о движении на основе кандидата на слияние, отличного от вышеуказанного кандидата на слияние. Т.е., кандидат на слияние, на основе которого получают базовую информацию о движении, и кандидат на слияние, на основе которого получают дополнительную информацию о движении, могут быть отличны друг от друга.
[00349] Первый индекс слияния для указания кандидата на слияние для получения базовой информации о движении и второй индекс слияния для указания кандидата на слияние для получения дополнительной информации о движении можно сообщать посредством битового потока. В этом случае, второй индекс слияния может указывать любого из кандидатов на слияние, за исключением кандидата на слияние, указанного первым индексом слияния. Для этого, если второй индекс слияния не меньше первого индекса слияния, можно выбрать кандидата на слияние, значение индекса которого получено путем прибавления 1 ко второму индексу слияния, в качестве кандидата на слияние для получения дополнительной информации о движении.
[00350] При наличии у кандидата на слияние двунаправленной информации о движении, в качестве дополнительной информации о движении можно принять только информацию о движении, направление которой отлично от направления базовой информации о движении в составе двунаправленной информации о движении кандидата на слияние. Например, если базовая информация о движении относится к направлению L0, в качестве дополнительной информации о движении можно принять информацию о движении L1 кандидата на слияние.
[00351] В другом примере, при наличии у кандидата на слияние двунаправленной информации о движении, окончательный вектор движения текущего блока можно получить путем применения базового вектора движения и двунаправленного вектора движения кандидата на слияние.
[00352] ФИГ.26 - схема, иллюстрирующая пример выполнения способа множественного межкадрового предсказания при наличии у кандидата на слияние двунаправленной информации.
[00353] Получают базовую информацию о движении направления L0 для текущего блока, после чего можно указать кандидата на слияние для получения информации о движении направления L1. В этом случае, при наличии у указанного кандидата на слияние двунаправленной информации о движении, вектор движения L0 текущего блока можно получить на основе базовой информации о движении L0 и информации о движении L0 кандидата на слияние. Например, вектор движения L0 текущего блока можно получить на основе базового вектора mvL0 движения L0 и дополнительного вектора mvL2 движения L0 (или merge_mvL0), как в Уравнении 1 или 2.
[00354] [Уравнение 1]
mvL0 = mvL0+merge_mvL0
[00355] [Уравнение 2]
mvL0=mvL0+(merge_mvL0)>> k
[00356] В Уравнении 2, к представляет собой целое число, в том числе -0. k можно определять на основе по меньшей мере одного из следующего: порядка выдачи опорного изображения, указанного базовой информацией о движении, или порядка выдачи опорного изображения, указанного информацией о движении кандидата на слияние. Опорное изображение L0 текущего блока можно определять на основе базовой информации о движении L0 или информации о движении L0 кандидата на слияние.
[00357] В качестве альтернативы, можно выбрать только базовую информацию о движении L0 или только информацию о движении L0 кандидата на слияние. Например, из базовой информации о движении L0 и информации о движении L0 кандидата на слияние, можно выбрать базовую информацию о движении L0 и применить ее для предсказания L0, или выбрать информацию о движении L0 кандидата на слияние и применить ее для предсказания L0. Выбор можно делать на основе информации, сообщенной посредством битового потока. В качестве альтернативы, выбор можно делать на основе результата сравнения индекса опорного изображения или результата сравнения вектора движения.
[00358] В качестве альтернативы, можно выполнить первичное предсказание для направления L0 на основе базовой информации о движении L0 и выполнить вторичное предсказание для направления L0 на основе информации о движении L0 кандидата на слияние, а затем получить окончательный результат предсказания для направления L0 на основе результата выполнения первичного предсказания и вторичного предсказания. Например, изображение по предсказанию L0 можно получить на основе операции взвешенной суммы или операции усреднения первого изображения по предсказанию L0, сгенерированного в результате выполнения первичного предсказания, и второго изображения по предсказанию L0, сгенерированного в результате выполнения вторичного предсказания.
[00359] Предсказание L1 можно выполнить на основе информации о движении L1 кандидата на слияние. Т.е., информацию о движении L1 кандидата на слияние можно принять в качестве дополнительной информации о движении L1 текущего блока. Например, предсказание L1 можно выполнять на основе вектора mvL1 движения L1 кандидата на слияние.
[00360] Вектор движения кандидата на слияние можно масштабировать на основе коэффициента масштабирования. Например, вектор движения L0 кандидата на слияние можно масштабировать, а вектор движения L0 текущего блока можно получить на основе масштабированного вектора движения L0, или можно выполнить вторичное предсказание L0 для направления L0 на основе масштабированного вектора движения L0. Коэффициент масштабирования можно получить на основе по меньшей мере одного из следующего: расстояния между опорным изображением L0 и текущим изображением или расстояния между опорным изображением, указанным индексом опорного изображения L0 кандидата на слияние, и текущим изображением. Масштабирование можно выполнять только в том случае, когда опорное изображение, указанное базовой информацией о движении L0, и опорное изображение, указанное информацией о движении L0 кандидата на слияние, отличны друг от друга.
[00361] В другом примере, при наличии у кандидата на слияние двунаправленной информации о движении, можно выбирать и применить либо информацию о движении L0, либо информацию о движении L1. Выбор можно делать исходя из того, относится ли базовая информация о движении к направлению L0 или к направлению L1. Например, из информации о движении L0 и информации о движении L1 кандидата на слияние можно выбрать информацию о движении, относящуюся к направлению, противоположному направлению базовой информации о движении. Соответственно, если базовая информация о движении относится к направлению L0, из информации о движении L0 и информации о движении L1 кандидата на слияние для текущего блока можно применить только информацию о движении L1. Т.е., предсказание L0 для текущего блока можно выполнять на основе базовой информации о движении L0, а предсказание L1 для текущего блока можно выполнять на основе информации о движении L1 кандидата на слияние.
[00362] В качестве альтернативы, из информации о движении L0 и информации о движении L1 кандидата на слияние можно выбрать ту, что относится к тому же направлению, что и базовая информация о движении. Таким образом, если базовая информация о движении относится к направлению L0, из информации о движении L0 и информации о движении L1 кандидата на слияние для текущего блока можно применить только информацию о движении L0. Т.е., предсказание L0 для текущего блока можно выполнить на основе базовой информации о движении L0 и информации о движении L0 кандидата на слияние.
[00363] В примере на ФИГ.26 показано, что базовая информация о движении относится к направлению L0. Если базовая информация о движении относится к направлению L1, раскрытые выше варианты осуществления можно реализовать путем замены информации о движении L0 кандидата на слияние на информацию о движении L1 кандидата на слияние или замены информации о движении L1 кандидата на слияние на информацию о движении L0 кандидата на слияние. Например, если базовая информация о движении относится к направлению L1, вектор движения L1 текущего блока можно получить на основе базовой информации о движении L1 и информации о движении L1 кандидата на слияние. Например, вектор движения L1 текущего блока можно получить на основе базового вектора mvl_1 движения L1 и дополнительного вектора merge_mvL1 движения L0, как в Уравнении 3 или 4.
[00364] [Уравнение 3]
mvL1=mvL1+merge_mvL1
[00365] [Уравнение 4]
mvL1=mvL1+(merge_mvL1) >> k
[00366] Кандидата на слияние для получения дополнительной информации о движении можно указать на основе информации об индексе, указывающей любого из кандидатов на слияние, входящих в список кандидатов на слияние. В этом случае список кандидатов на слияние может состоять только из кандидатов на слияние с информацией о движении L0 или информацией о движении L1. В частности, можно извлечь кандидатов на слияние с информацией о движении L0 или информацией о движении L1 из числа кандидатов на слияние, полученных на основе пространственного соседнего блока и/или временного соседнего блока текущего блока, и переназначить индексы извлеченным кандидатам на слияние. Решение о построении списка кандидатов на слияние только из кандидатов на слияние с информацией о движении L0 или только из кандидатов на слияние с информацией о движении L1 можно принимать в зависимости от направления предсказания базовой информации о движении. Например, если базовая информация о движении относится к направлению L0, можно построить список кандидатов на слияние только из кандидатов на слияние с информацией о движении L1 (или L0). При этом, если базовая информация о движении относится к направлению L1, можно построить список кандидатов на слияние только из кандидатов на слияние с информацией о движении L0 (или L1).
[00367] В другом примере кандидатов на слияние в списке кандидатов на слияние можно переупорядочить в зависимости от наличия у кандидатов на слияние информации о движении L0 или информации о движении L1. В результате переупорядочивания, кандидаты на слияние с информацией о движении L0 можно упорядочить в списке кандидатов на слияние так, чтобы они шли перед кандидатами на слияние без информации о движении L0. В качестве альтернативы, кандидатов на слияние с информацией о движении L1 можно упорядочить в списке кандидатов на слияние так, чтобы они шли перед кандидатами на слияние без информации о движении L1. Решение о переупорядочивании на основе информации о движении L0 или на основе информации о движении L1 можно принимать в зависимости от направления предсказания базовой информации о движении. Например, если базовая информация о движении относится к направлению L0, кандидатов на слияние можно переупорядочить в зависимости от наличия у них информации о движении L1 (или L0). При этом, если базовая информация о движении относится к направлению L1, кандидатов на слияние можно переупорядочить в зависимости от наличия у них информации о движении L0 (или L1).
[00368] В раскрытом выше варианте осуществления предполагается, что для получения дополнительной информации о движении используют режим слияния. В отличие от того, что раскрыто выше, дополнительную информацию о движении можно получить на основе заранее заданного режима межкадрового предсказания. В этом случае режим межкадрового предсказания может представлять собой по меньшей мере один из следующих: режим пропуска, режим слияния или режим AMVP.
[00369] Режим межкадрового предсказания для получения дополнительной информации о движении можно определять на основе режима межкадрового предсказания, применяемого для получения базовой информации о движении. Например, дополнительную информацию о движении можно получать на основе того же режима межкадрового предсказания, что и для получения базового вектора движения. В качестве альтернативы, дополнительную информацию о движении можно получать на основе режима межкадрового предсказания, отличного от режима межкадрового предсказания для получения базового вектора движения.
[00370] В качестве альтернативы, информацию для указания режима межкадрового предсказания для получения дополнительной информации о движении можно сообщать посредством битового потока.
[00371] За счет получения дополнительной информации о движении, число n направлений предсказания можно увеличить до числа m направлений предсказания. Числа n и m представляют собой целые числа 1, 2, 3 или более, при этом n может быть меньше, чем m. Информацию, указывающую то, нужно ли увеличить число направлений предсказания, можно кодировать и сообщать посредством битового потока. Эту информацию можно сообщать на уровне видеопоследовательности, параметра изображения, заголовка сектора или блока. Уровень блока представляет собой блок кодирования, блок предсказания или блок преобразования.
[00372] В качестве альтернативы, решение об увеличении числа направлений предсказания можно принимать в зависимости от режима межкадрового предсказания для получения базовой информации о движении. Например, в случае применения режима пропуска, можно не разрешить увеличение числа направлений предсказания.
[00373]
[00374] Применение вариантов осуществления, раскрытых выше для процесса декодирования или процесса кодирования, к процессу кодирования или к процессу декодирования соответственно входит в объем настоящего изобретения. Изменение заранее определенного порядка раскрытия вариантов осуществления на другой порядок также входит в объем настоящего изобретения.
[00375] Несмотря на то, что варианты осуществления были раскрыты выше на примерах ряда этапов или принципиальных схем, они не предназначены для ограничения порядка временной последовательности по настоящему изобретению, при этом их можно выполнять одновременно или в каком-либо другом порядке. Кроме того, каждый из компонентов (например, единиц, модулей и т.п.) в составе блок-схемы раскрытого выше варианта осуществления может быть реализован в виде аппаратного устройства или программного средства, при этом множество компонентов можно скомбинировать с образованием аппаратного устройства или программного средства. Раскрытые выше варианты осуществления могут быть реализованы в виде программных инструкций с возможностью их исполнения посредством разнообразных электронно-вычислительных компонентов и записи в машиночитаемом носителе записей. Машиночитаемый носитель может включать в себя программную инструкцию, файл данных, структуру данных и т.п., либо по-отдельности, либо в комбинации. В число машиночитаемых носителей входят магнитные носители записей, например, жесткие диски, гибкие диски и магнитные ленты; оптические носители данных, например, постоянные запоминающие устройства на компакт-дисках (англ. compact disk read-only memory (CD-ROM)) или постоянные запоминающие устройства на универсальных цифровых дисках (англ. digital versatile disk read-only memory (DVD-ROM)), оперативное запоминающее устройство (ОЗУ, англ. random-access memory (RAM)) и флеш-память, конструктивно выполненные с возможностью хранения и реализации указанной программной инструкции. Аппаратные устройства могут быть выполнены с возможностью управления ими посредством одного или нескольких программных модулей или наоборот для выполнения процессов по настоящему изобретению. Промышленная применимость
[00376] Настоящее изобретение может найти применение в электронном устройстве, выполненном с возможностью кодирования/декодирования изображения.
Claims (38)
1. Способ декодирования видеоинформации, включающий в себя этапы, на которых:
получают кандидатов на слияние на основе по меньшей мере одного из следующих: пространственного соседнего блока или временного соседнего блока текущего блока;
генерируют список кандидатов на слияние, включающий в себя указанных кандидатов на слияние;
получают первую информацию о движении текущего блока на основе первого кандидата на слияние в указанном списке кандидатов на слияние, причем первого кандидата на слияние указывают на основе первого индекса слияния, явно сообщаемого посредством битового потока;
получают вторую информацию о движении текущего блока на основе второго кандидата на слияние в указанном списке кандидатов на слияние, причем второй кандидат на слияние отличен от первого кандидата на слияние, и причем второго кандидата на слияние указывают на основе второго индекса слияния, явно сообщаемого посредством битового потока;
получают первый блок предсказания текущего блока на основе первой информации о движении;
получают второй блок предсказания текущего блока на основе второй информации о движении; и
получают окончательный блок предсказания текущего блока на основе первого блока предсказания и второго блока предсказания.
2. Способ по п. 1, в котором, если второй кандидат на слияние имеет как информацию о движении L0, так и информацию о движении L1, только одну из информации о движении L0 и информации о движении L1 второго кандидата на слияние используют для второй информации о движении.
3. Способ по п. 1, в котором второго кандидата на слияние определяют путем сравнения второго индекса слияния с первым индексом слияния,
причем если второй индекс слияния меньше первого индекса слияния, второго кандидата на слияние определяют, среди кандидатов на слияние, в качестве кандидата на слияние со значением, равным второму индексу слияния, и
причем если второй индекс слияния больше или равен первому индексу слияния, второго кандидата на слияние определяют, среди кандидатов на слияние, в качестве кандидата на слияние со значением, полученным в результате прибавления 1 ко второму индексу слияния.
4. Способ по п. 1, в котором окончательный блок предсказания генерируют с помощью взвешенной суммы первого блока предсказания и второго блока предсказания.
5. Способ по п. 4, в котором текущий блок разбивают на первый сегмент и второй сегмент,
причем первый предсказанный отсчет в окончательном блоке предсказания генерируют путем применения первого веса к первому предсказанному отсчету в первом блоке предсказания и применения второго веса ко второму предсказанному отсчету во втором блоке предсказания, и
причем первый вес и второй вес адаптивно определяют на основе того, расположен ли окончательный отсчет предсказания в первом сегменте или во втором сегменте.
6. Способ по п. 5, в котором как первый сегмент, так и второй сегмент имеют треугольную форму.
7. Способ по п. 3, в котором, только если число отсчетов, принадлежащих текущему блоку, больше или равно 64, первую информацию о движении и вторую информацию о движении текущего блока получают из первого и второго кандидатов на слияние, соответственно, в одном и том же списке кандидатов на слияние.
8. Способ кодирования видеоинформации, включающий в себя этапы, на которых:
получают кандидатов на слияние на основе по меньшей мере одного из следующих: пространственного соседнего блока или временного соседнего блока текущего блока;
генерируют список кандидатов на слияние, включающий в себя указанных кандидатов на слияние;
получают первую информацию о движении текущего блока на основе первого кандидата на слияние, входящего в указанный список кандидатов на слияние, причем первый индекс слияния явно кодируют в битовый поток для указания первого кандидата на слияние;
получают вторую информацию о движении текущего блока на основе второго кандидата на слияние, входящего в указанный список кандидатов на слияние, причем второй индекс слияния явно кодируют в битовый поток для указания первого кандидата на слияние, причем второй кандидат на слияние отличен от первого кандидата на слияние;
получают первый блок предсказания текущего блока на основе первой информации о движении;
получают второй блок предсказания текущего блока на основе второй информации о движении; и
получают окончательный блок предсказания текущего блока на основе первого блока предсказания и второго блока предсказания,
причем если второй кандидат на слияние имеет как информацию о движении L0, так и информацию о движении L1, только одну из информации о движении L0 и информации о движении L1 второго кандидата на слияние используют для второй информации о движении.
9. Долговременный машиночитаемый носитель, на котором сохранены сжатые видеоданные, причем сжатые видеоданные содержат:
первый индекс слияния, закодированный для указания первого кандидата на слияние для текущего блока; и
второй индекс слияния, закодированный для указания второго кандидата на слияние для текущего блока,
причем предусмотрена возможность выбора первого кандидата на слияние и второго кандидата на слияние из списка кандидатов на слияние текущего блока,
причем список кандидатов на слияние включает в себя кандидатов на слияние, определенных на основе по меньшей мере одного из следующих: пространственного соседнего блока или временного соседнего блока текущего блока,
причем предусмотрена возможность получения первой информации о движении текущего блока на основе первого кандидата на слияние,
причем предусмотрена возможность получения второй информации о движении текущего блока на основе второго кандидата на слияние,
причем предусмотрена возможность получения первого блока предсказания текущего блока на основе первой информации о движении,
причем предусмотрена возможность получения второго блока предсказания текущего блока на основе второй информации о движении,
причем предусмотрена возможность генерирования окончательного блока предсказания текущего блока на основе первого блока предсказания и второго блока предсказания, и
причем если второй кандидат на слияние имеет как информацию о движении L0, так и информацию о движении L1, предусмотрена возможность использования для второй информации о движении только одной из информации о движении L0 и информации о движении L1 второго кандидата на слияние.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR10-2018-0075988 | 2018-06-29 |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
RU2023105434A Division RU2023105434A (ru) | 2018-06-29 | 2019-06-28 | Способ декодирования видеоинформации, способ кодирования видеоинформации и долговременный машиночитаемый носитель |
Publications (2)
Publication Number | Publication Date |
---|---|
RU2020137839A RU2020137839A (ru) | 2022-07-29 |
RU2792221C2 true RU2792221C2 (ru) | 2023-03-21 |
Family
ID=
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130095295A (ko) * | 2010-11-23 | 2013-08-27 | 미디어텍 인크. | 공간 움직임 벡터 예측 방법 및 장치 |
RU2014115340A (ru) * | 2011-09-17 | 2015-10-27 | Квэлкомм Инкорпорейтед | Определение вектора движения для видеокодировки |
US9282338B2 (en) * | 2011-06-20 | 2016-03-08 | Qualcomm Incorporated | Unified merge mode and adaptive motion vector prediction mode candidates selection |
WO2017003063A1 (ko) * | 2015-06-28 | 2017-01-05 | 엘지전자(주) | 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 |
US9621903B2 (en) * | 2011-11-08 | 2017-04-11 | Electronics And Telecommunications Research Institute | Method and device for sharing a candidate list |
WO2017084512A1 (en) * | 2015-11-20 | 2017-05-26 | Mediatek Inc. | Method and apparatus of motion vector prediction or merge candidate derivation for video coding |
KR20170073681A (ko) * | 2014-11-18 | 2017-06-28 | 미디어텍 인크. | 단방향 예측 및 병합 후보로부터의 모션 벡터에 기초한 양방향 예측 비디오 코딩 방법 |
RU2629359C1 (ru) * | 2013-01-18 | 2017-08-29 | ДжейВиСи КЕНВУД КОРПОРЕЙШН | Устройство и способ декодирования движущегося изображения, долговременный считываемый компьютером носитель записи для хранения программы декодирования движущегося изображения |
WO2017188509A1 (ko) * | 2016-04-28 | 2017-11-02 | 엘지전자(주) | 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 |
WO2017197126A1 (en) * | 2016-05-13 | 2017-11-16 | Qualcomm Incorporated | Merge candidates for motion vector prediction for video coding |
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20130095295A (ko) * | 2010-11-23 | 2013-08-27 | 미디어텍 인크. | 공간 움직임 벡터 예측 방법 및 장치 |
US9282338B2 (en) * | 2011-06-20 | 2016-03-08 | Qualcomm Incorporated | Unified merge mode and adaptive motion vector prediction mode candidates selection |
RU2014115340A (ru) * | 2011-09-17 | 2015-10-27 | Квэлкомм Инкорпорейтед | Определение вектора движения для видеокодировки |
US9621903B2 (en) * | 2011-11-08 | 2017-04-11 | Electronics And Telecommunications Research Institute | Method and device for sharing a candidate list |
RU2629359C1 (ru) * | 2013-01-18 | 2017-08-29 | ДжейВиСи КЕНВУД КОРПОРЕЙШН | Устройство и способ декодирования движущегося изображения, долговременный считываемый компьютером носитель записи для хранения программы декодирования движущегося изображения |
KR20170073681A (ko) * | 2014-11-18 | 2017-06-28 | 미디어텍 인크. | 단방향 예측 및 병합 후보로부터의 모션 벡터에 기초한 양방향 예측 비디오 코딩 방법 |
WO2017003063A1 (ko) * | 2015-06-28 | 2017-01-05 | 엘지전자(주) | 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 |
WO2017084512A1 (en) * | 2015-11-20 | 2017-05-26 | Mediatek Inc. | Method and apparatus of motion vector prediction or merge candidate derivation for video coding |
WO2017188509A1 (ko) * | 2016-04-28 | 2017-11-02 | 엘지전자(주) | 인터 예측 모드 기반 영상 처리 방법 및 이를 위한 장치 |
WO2017197126A1 (en) * | 2016-05-13 | 2017-11-16 | Qualcomm Incorporated | Merge candidates for motion vector prediction for video coding |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111149359B (zh) | 用于对图像进行编码/解码的方法和装置以及存储有比特流的记录介质 | |
CN113273213B (zh) | 图像编码/解码方法和设备以及存储比特流的记录介质 | |
CN112740697B (zh) | 图像编码/解码方法和装置及存储比特流的记录介质 | |
CN112106359B (zh) | 用于处理视频信号的方法和设备 | |
KR102083012B1 (ko) | 움직임 벡터 리스트 설정 방법 및 이러한 방법을 사용하는 장치 | |
CN109644267B (zh) | 视频信号处理方法和装置 | |
CN112204966B (zh) | 对图像进行解码、编码的方法和用于传送比特流的装置 | |
CN116366845A (zh) | 使用样点滤波的图像编码/解码方法和设备 | |
CN118075454A (zh) | 图像编码/解码方法、存储介质及图像数据的发送方法 | |
KR20190133629A (ko) | 비디오 신호 처리 방법 및 장치 | |
CN112189342B (zh) | 用于处理视频信号的方法和设备 | |
CN112204982B (zh) | 用于处理视频信号的方法和设备 | |
CN112740694A (zh) | 用于对图像进行编码/解码的方法和设备以及用于存储比特流的记录介质 | |
KR20190139786A (ko) | 비디오 신호 처리 방법 및 장치 | |
CN113228639A (zh) | 图像编码/解码方法和装置以及存储有比特流的记录介质 | |
CN113228645A (zh) | 图像编码/解码方法和装置以及存储有比特流的记录介质 | |
CN118158436A (zh) | 对图像进行解码的方法、对图像进行编码的方法以及用于发送通过对图像进行编码的方法生成的比特流的方法 | |
RU2792221C2 (ru) | Способ и устройство обработки видеосигнала | |
RU2795522C2 (ru) | Способ и устройство обработки видеосигнала | |
RU2786024C2 (ru) | Способ и устройство обработки видеосигнала | |
CN112740669A (zh) | 用于图像编码/解码的方法和设备、以及存储比特流的记录介质 | |
RU2824753C1 (ru) | Способ и устройство кодирования/декодирования изображения и носитель записи, хранящий битовый поток | |
RU2792225C2 (ru) | Способ и устройство обработки видеосигнала | |
RU2806878C2 (ru) | Способ и устройство кодирования/декодирования изображения и носитель записи, хранящий битовый поток | |
CN113261286B (zh) | 用于推导帧内预测模式的方法和设备 |