EA043161B1 - Декодер потоков битов - Google Patents

Декодер потоков битов Download PDF

Info

Publication number
EA043161B1
EA043161B1 EA202190496 EA043161B1 EA 043161 B1 EA043161 B1 EA 043161B1 EA 202190496 EA202190496 EA 202190496 EA 043161 B1 EA043161 B1 EA 043161B1
Authority
EA
Eurasian Patent Office
Prior art keywords
prediction mode
directional
block
subsequent
directional prediction
Prior art date
Application number
EA202190496
Other languages
English (en)
Inventor
Саверио Блази
Андре Сеиксас Диас
Госала Кулупана
Original Assignee
Бритиш Бродкастинг Корпорейшн
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Бритиш Бродкастинг Корпорейшн filed Critical Бритиш Бродкастинг Корпорейшн
Publication of EA043161B1 publication Critical patent/EA043161B1/ru

Links

Description

Область техники, к которой относится изобретение
Данное изобретение относится к кодированию и декодированию изображений, и в частности, изобретение относится к способу декодирования потока битов, представляющего изображение.
Уровень техники
В кодеке изображений или видеокодеке использование пространственной избыточности обеспечивает более эффективное кодирование изображения. Одна из самых успешных схем внутреннего предсказания состоит в выполнении так называемого направленного внутреннего предсказания. Каждое предсказание формируется в качестве среднего взвешенного одной или более опорных выборок; выбор того, какие опорные выборки следует использовать, а также весовые коэффициенты, применяемые для того, чтобы вычислять среднее, зависят от конкретного направления внутреннего предсказания. Также предусмотрены ненаправленные режимы внутреннего предсказания. Это раскрытие сущности относится к внутреннему предсказанию, и нижеприведенное использование терминов предсказание и т.п. должно пониматься соответствующим образом.
Сущность изобретения
Согласно по меньшей мере одному аспекту настоящего раскрытия сущности в данном документе описывается способ декодирования в декодере потока битов, представляющего изображение, причем поток битов содержит множество блоков остаточных выборок, причем блок восстановленных выборок изображений получается посредством суммирования блока остаточных выборок с блоком предсказаний, причем предсказания формируются посредством применения выбранного процесса предсказания к опорным выборкам в восстановленном изображении, при этом способ содержит этапы приема потока битов; для каждого блока: формирования предсказаний; и суммирования соответствующего предсказания с каждой остаточной выборкой для того, чтобы формировать восстановленную выборку изображений; предоставления восстановленного изображения из восстановленных выборок изображений; и вывода восстановленного изображения; при этом этап формирования предсказаний для текущего блока содержит применение первого режима направленного или ненаправленного предсказания к опорным выборкам для того, чтобы формировать, по меньшей мере, первый набор из одного или более предсказаний для текущего блока; применение одного или более последующих отличающихся режимов направленного или ненаправленного предсказания к идентичным опорным выборкам для того, чтобы формировать по меньшей мере один последующий набор из одного или более предсказаний для текущего блока, причем любой последующий режим направленного предсказания отличается от любого первого режима направленного предсказания по пространственному направлению предсказания; при этом по меньшей мере один из следующих параметров предсказания определяется в декодере для текущего блока и явно не передается в служебных сигналах в потоке битов: первый режим ненаправленного предсказания; направление первого режима направленного предсказания; последующий режим ненаправленного предсказания; направление последующего режима направленного предсказания; местоположение в блоке первого набора предсказаний; местоположение в блоке последующего набора предсказаний. Этот способ обеспечивает возможность декодирования выборок в различных частях блока с использованием различных режимов и/или направлений внутреннего предсказания, что обеспечивает более точное предсказание и в силу этого уменьшение требуемых остатков и уменьшение числа битов, требуемых для того, чтобы задавать изображение. Этот способ может использоваться для декодирования изображений в видеопотоке таким образом, что изображение может передаваться с более низкой скоростью передачи битов.
Предпочтительно поток битов содержит данные, связанные с предсказанием, например индикатор конечного режима внутреннего предсказания и/или направление конечного режима направленного предсказания.
Необязательно, последующий режим ненаправленного предсказания представляет собой конечный режим ненаправленного предсказания и/или при этом направление последующего режима направленного предсказания представляет собой направление конечного режима направленного предсказания.
Предпочтительно по меньшей мере один из параметров предсказания определяется на основе соответствующего параметра в смежном блоке. Предпочтительно параметр представляет собой конечный соответствующий параметр, используемый в смежном блоке. Это обеспечивает возможность логического вывода первого направления и/или режима предсказания в качестве направления и режима предсказания предыдущего блока, так что они не должны обязательно передаваться в служебных сигналах в потоке битов.
Предпочтительно по меньшей мере один из параметров предсказания определяется посредством интерполяции между одним направлением и/или режимом предсказания и другим отличающимся направлением и/или режимом предсказания.
Предпочтительно, по меньшей мере, один из параметров предсказания определяется посредством интерполяции между начальным направлением и/или режимом предсказания и конечным направлением и/или режимом предсказания. Предпочтительно интерполяция содержит линейную интерполяцию.
Предпочтительно по меньшей мере один из параметров предсказания определяется посредством получения значения из таблицы поиска. Таблица поиска может содержать индикатор функции, используемой для интерполяции, по меньшей мере, между одним из: начального режима ненаправленного пред- 1 043161 сказания и последующего режима ненаправленного предсказания; и/или направления начального режима направленного предсказания и направления последующего режима направленного предсказания.
Предпочтительно поток битов задает процесс для того, чтобы извлекать один или более последующих режимов направленного или ненаправленного предсказания с учетом отличающегося режима направленного или ненаправленного предсказания.
Предпочтительно поток битов содержит дельту, связанную с разностью между направлением первого режима направленного предсказания и направлением последующего режима направленного предсказания.
Предпочтительно поток битов содержит дельту, связанную с разностью, по меньшей мере, между одним из: первого режима ненаправленного предсказания и последующего режима ненаправленного предсказания; и/или направления начального режима направленного предсказания и направления последующего режима направленного предсказания.
Предпочтительно поток битов содержит индикатор изменения между режимом ненаправленного предсказания и режимом направленного предсказания, при этом предпочтительно индикатор идентифицирует местоположение, в котором возникает изменение.
Также в данном документе раскрывается компьютерный программный продукт, выполненный с возможностью инструктировать программируемому оборудованию реализовывать способ по любому из предшествующих пунктов.
Согласно другому аспекту раскрытия сущности в данном документе, описывается оборудование для декодирования потока битов, представляющего изображение, причем поток битов содержит множество блоков остаточных выборок, причем оборудование содержит приемное устройство, выполненное с возможностью приема потока битов; процессор, выполненный с возможностью для каждого блока формировать предсказания; суммировать соответствующие предсказания с остаточными выборками для того, чтобы формировать восстановленные выборки изображений; предоставлять восстановленное изображение из восстановленных выборок изображений; и выводить восстановленное изображение; при этом выполнение с возможностью формировать предсказания содержит выполнение с возможностью: применять первый режим направленного или ненаправленного предсказания к опорным выборкам для того, чтобы формировать, по меньшей мере, первый набор из одного или более предсказаний для текущего блока; применять один или более последующих отличающихся режимов направленного или ненаправленного предсказания к идентичным опорным выборкам для того, чтобы формировать по меньшей мере один последующий набор из одного или более предсказаний для текущего блока, причем любой последующий режим направленного предсказания отличается от любого первого режима направленного предсказания по пространственному направлению предсказания; определять по меньшей мере один из следующих параметров предсказания, который явно не передается в служебных сигналах в потоке битов: первый режим ненаправленного предсказания; направление первого режима направленного предсказания; последующий режим ненаправленного предсказания; направление последующего режима направленного предсказания; местоположение в блоке первого набора предсказаний; местоположение в блоке последующего набора предсказаний.
Может предоставляться компьютерный программный продукт, выполненный с возможностью инструктировать программируемому оборудованию реализовывать любой из этих способов.
Может предоставляться оборудование, выполненное с возможностью реализовывать способ согласно любому из этих способов.
В общем, настоящее раскрытие сущности относится, по меньшей мере, к способу использования различных режимов внутреннего предсказания в блоке видеокадра, причем он является применимым для того, чтобы использовать пространственную избыточность в блоках, и приводит к уменьшению размера потока битов. В примере, каждая выборка блока подвергается внутреннему предсказанию с использованием различного направления, причем изменение направления может логически выводиться, например, на основе направлений, используемых на границах блока.
Также в данном документе описывается способ декодирования потока видеобитов, содержащий этапы приема потока битов, связанного с видеокадром; при этом поток битов связан с множеством блоков пикселов; определения начального признака внутреннего предсказания, связанного с одним блоком из множества блоков; определения изменения признака внутреннего предсказания между множеством пикселов в блоке; определения матрицы внутреннего предсказания по меньшей мере для одного пиксела в блоке в зависимости от идентифицированного начального признака внутреннего предсказания и идентифицированного изменения признака внутреннего предсказания; при этом матрица внутреннего предсказания является применимой для того, чтобы предсказывать значение по меньшей мере для одного пиксела в зависимости от опорных значений опорного набора пикселов. Связывание с множеством блоков пикселов может содержать включение остатков, связанных со значениями пикселов.
Краткое описание чертежей
Далее изобретение описывается в качестве примера со ссылкой на прилагаемые чертежи, на которых фиг. 1 показывает декодер потоков видеобитов;
- 2 043161 фиг. 2(a)-(b) показывают примерное блочное предсказание с использованием традиционного направленного внутреннего предсказания;
фиг. 3(а)-(b) показывают примерное блочное предсказание с использованием многонаправленного внутреннего предсказания;
фиг. 4 показывает многонаправленное внутреннее предсказание, в котором начальное направление логически выводится;
фиг. 5 является блок-схемой последовательности операций для способа выполнения многонаправленного внутреннего предсказания;
фиг. 6 является блок-схемой последовательности операций для подробного примерного способа логического вывода направлений внутреннего предсказания;
фиг. 7 является примерной блок-схемой последовательности операций для способа дополнительного логического вывода режима предсказания, который должен использоваться для внутреннего предсказания; и фиг. 8 показывает видеокодер.
Подробное описание вариантов осуществления
На фиг 1 показан типичный декодер, в котором поток битов, представляющий видеоизображения, принимается и обрабатывается для того, чтобы получать видеопоток. Декодер содержит каскад 102 энтропийного декодирования, каскад 104 обратного квантования и каскад 106 обратного преобразования, через которые принимаемый поток битов обычно последовательно обрабатывается для того, чтобы получать остатки.
Остатки суммируются с соответствующими предсказаниями для того, чтобы получать выходные изображения, которые формируют выходной видеопоток.
В случае взаимного предсказания предыдущее изображение или изображения, становящиеся доступными в буфере 110 декодированных кадров, подвергаются компенсации 112 движения, с использованием векторов движения, указываемых в потоке битов.
Это раскрытие сущности относится к блоку 108 внутреннего предсказания, который традиционно использует режим внутреннего предсказания, указываемый в потоке битов, как подробнее описано со ссылкой на фиг. 2а и 2b.
Фиг. 2а показывает способ традиционного направленного внутреннего предсказания. Значения каждой выборки в блоке предсказываются в качестве среднего взвешенного опорных выборок, извлеченных из буфера опорных выборок. Выбор того, какие опорные выборки следует использовать, а также весовые коэффициенты, применяемые к каждой опорной выборке, зависят от направления внутреннего предсказания, которое указывается. Направление, используемое на фиг. 2, представляет собой режим предсказания влево по вертикали. Также может использоваться диапазон других направленных режимов, например, горизонтального или вниз по горизонтали, и/или режимов ненаправленного внутреннего предсказания, таких как DC- и планарные режимы стандарта высокоэффективного кодирования видео (HEVC). Режим, который следует использовать, передается в служебных сигналах в потоке битов, связанном с каждым блоком.
Например, левая верхняя выборка в текущем блоке на чертеже предсказывается с использованием среднего взвешенного опорных выборок r1 и r2, которые в этом примере извлекаются из блоков выше текущего блока. Согласно направлению, указываемому посредством режима внутреннего предсказания, выборка r1 имеет большее влияние при предсказании, что означает то, что ее весовой коэффициент должен быть выше весового коэффициента, применяемого к r2 при вычислении среднего.
В данной области техники известны режимы внутреннего DC-предсказания, в которых среднее значение набора опорных выборок (например, r1-r4 и соответствующих вертикальных значений по фиг. 2а) используется для каждой предсказанной выборки, и режимы планарного внутреннего предсказания.
Опорные выборки здесь показаны как извлеченные из одной строки выше и одного столбца слева от текущего блока. В некоторых вариантах осуществления, набор опорных выборок может быть большим, например, может быть предусмотрено две или более опорных строки или столбца. Опорные выборки типично получаются из блоков, которые уже восстановлены в декодере и в силу этого являются доступными для того, чтобы предсказывать текущий блок. Такие блоки традиционно иллюстрируются как находящиеся выше или слева от текущего блока. Это не исключает возможность работы при других схемах сканирования блоков либо определенную степень параллельной работы.
Фиг. 2b показывает способ внутреннего предсказания, описанный со ссылкой на фиг. 2а, используемый для того, чтобы предсказывать значения в блоке, содержащем искривленный объект. Традиционное внутреннее предсказание использует однонаправленный режим, применяемый к опорным выборкам для того, чтобы предсказывать текущий блок, что приводит к направленному внутреннему предсказанию, показанному в правой части на фиг. 2b. Это предсказание существенно отличается от фактического контента блока, что приводит к высоким остаткам и в силу этого к более высоким скоростям передачи битов при сжатии ассоциированного потока битов.
Фиг. 3а показывает способ многонаправленного внутреннего предсказания, как описано в данном документе, который состоит из использования различных режимов внутреннего предсказания и/или раз- 3 043161 личных направлений внутреннего предсказания для того, чтобы предсказывать выборки в различных областях блока. Этот способ может использоваться для того, чтобы получать внутренне предсказанный блок, который находится ближе к контенту фактического блока.
Многонаправленное внутреннее предсказание не требует загрузки дополнительных выборок в буферы внутреннего предсказания (в силу чего имеет требования к запоминающему устройству, идентичные требованиям к запоминающему устройству традиционного направленного предсказания), и идентичные интерполяционные фильтры, используемые в традиционном внутреннем предсказании, могут использоваться для каждой выборки в блоке. Кроме того, процесс не вводит дополнительной зависимости на стороне декодера, в силу этого не затрагивая пропускную способность декодера. Процесс оказывает очень ограниченное влияние на сложность декодера, поскольку число интерполяций, идентичное числу интерполяций в традиционном направленном предсказании, требуется для того, чтобы выполнять многонаправленное внутреннее предсказание.
Предсказание, полученное с использованием примерного способа выполнения многонаправленного внутреннего предсказания, показано на фиг. 3b, который рассматривает предсказание на основе текущего блока и опорных выборок, показанное в рамках фиг. 2b. Здесь проиллюстрировано то, как использование различных направлений предсказания является применимым для того, чтобы достигать более близкого предсказания и, соответственно, более низких остатков, чем традиционное внутреннее предсказание по фиг. 2b.
В некоторых вариантах осуществления многонаправленное внутреннее предсказание может использоваться посредством задания начального режима внутреннего предсказания и конечного режима внутреннего предсказания, которые могут использоваться для того, чтобы уменьшать скорость передачи битов, ассоциированную с многонаправленным внутренним предсказанием. Без потери общности вариант осуществления описывается со ссылкой на фиг. 3а, который связан с вертикальными направлениями. Способ работает посредством постепенного изменения направления предсказания в каждой строке в блоке предсказания. Если обобщить, идентичный процесс может применяться к горизонтальным направлениям, при замене строк столбцами в блоке предсказания.
В этом варианте осуществления текущий блок предсказывается с помощью режима вертикального внутреннего предсказания; блок сверху от текущего блока также предсказывается с использованием режима вертикального внутреннего предсказания. Объект в блоке выше может продолжать распространение в текущем блоке с определенным искривлением. Посредством использования режима внутреннего предсказания, извлеченного из блока сверху, для того, чтобы задавать начальный режим внутреннего предсказания для текущего блока, и надлежащей передачи служебных сигналов для конечного режима внутреннего предсказания (например, после передачи служебных сигналов при традиционном режиме внутреннего предсказания), предсказание может выполняться таким образом, что оно близко придерживается искривления объекта в блоке. Более конкретно, может задаваться вектор D направлений, при этом длина вектора соответствует числу Н строк в блоке. Каждый элемент в векторе содержит направление, используемое для того, чтобы предсказывать данную строку. Первый элемент в векторе задается таким образом, что он представляет собой направление блока выше, т.е. d(1)=dabove. Последний элемент в векторе задается таким образом, что он представляет собой режим внутреннего предсказания, передаваемый в служебных сигналах в потоке битов, или d(H-1)=dsignalled. Промежуточные элементы могут вычисляться с использованием увеличения или уменьшения направлений, полученных посредством суммирования или вычитания шага, полученного в зависимости от разности между начальным и конечным режимом, а также в зависимости от высоты текущего блока Н. Различные технологии могут использоваться для того, чтобы вычислять элементы D.
Этот вариант осуществления описанного способа может предоставлять точные предсказания за счет одного дополнительного двоичного флага, который используется для того, чтобы передавать в служебных сигналах то, используется или нет технология для данного блока. То же самое может применяться в случае рассмотрения горизонтального предсказания, причем в этом случае способ может применяться в случае, если блок сразу слева от текущего блока предсказывается с использованием горизонтального режима. Примерный способ проиллюстрирован на фиг. 4. Следует отметить, что информация, требуемая для того, чтобы вычислять вектор D, а именно режим внутреннего предсказания соседних блоков, уже требуется посредством декодера для того, чтобы вычислять список наиболее вероятных режимов, используемых при синтаксическом анализе режима внутреннего предсказания из потока битов, и в силу этого использование этой информации не добавляет дополнительной зависимости в декодер.
В случаях, в которых соседние блоки недоступны или предсказываются с использованием режима, который не может использоваться в качестве начального режима внутреннего предсказания, дополнительные ссылки могут использоваться для того, чтобы активировать многонаправленное внутреннее предсказание. В некоторых вариантах осуществления, таблицы поиска используются для того, чтобы идентифицировать совокупность начальных режимов внутреннего предсказания, в других вариантах осуществления начальный режим внутреннего предсказания по умолчанию задается посредством декодера 1 и/или в потоке битов.
В различных вариантах осуществления конкретные таблицы поиска конструируются для блоков
- 4 043161 для различных случаев, к примеру для различных размеров блоков или различных конечных режимов внутреннего предсказания. В этих случаях, в дополнение к флагу, используемому для того, чтобы передавать в служебных сигналах то, следует или нет использовать многонаправленное внутреннее предсказание, индекс передается в служебных сигналах для того, чтобы выбирать корректный элемент в таблице.
Некоторые варианты осуществления рассматривают фиксированную дельту, которая суммируется или вычитается из конечного режима внутреннего предсказания для того, чтобы получать начальный режим внутреннего предсказания. В этом случае, в дополнение к флагу, используемому для того, чтобы передавать в служебных сигналах то, следует или нет использовать многонаправленное внутреннее предсказание, дополнительный флаг должен отправляться в потоке битов для того, чтобы передавать в служебных сигналах то, какое начальное внутреннее предсказание следует использовать (конечное+дельта или конечное-дельта). Передача служебных сигналов должна учитывать случаи, в которых полученный начальный режим внутреннего предсказания не представляет собой допустимое направление, причем в этом случае дополнительная передача служебных сигналов не требуется. Значение дельта может задаваться в зависимости от конкретных характеристик блока, таких как, например, ширина и высота или текущий используемый конечный режим предсказания. Значение дельта также может задаваться в потоке битов.
Признаки нескольких вариантов осуществления могут комбинироваться между собой для того, чтобы задавать способы синтаксического анализа информации, требуемой для того, чтобы выполнять многонаправленное внутреннее предсказание. Информация, связанная с соседними блоками, доступна на стороне декодера во время синтаксического анализа потока битов, и в силу этого декодер может использовать эту информацию для того, чтобы определять то, сколько битов следует декодировать в связи с многонаправленным внутренним предсказанием.
Описанный способ отличается от способа, полученного посредством сегментации текущего блока на меньшие блоки и последующего использования различных режимов внутреннего предсказания в каждом сегменте, не в последнюю очередь в силу того, что использование одного блока и изменение направления в блоке обеспечивает возможность декодеру выполнять предсказание с очень небольшим объемом служебной информации с точки зрения передачи служебных сигналов, необходимой для того, чтобы описывать направленность. В некоторых описанных вариантах осуществления, направление, которое следует применять во многих линиях блока, логически выводится и в силу этого не требует дополнительной передачи служебных сигналов для синтаксического анализа из потока битов. Кроме того, сегментация блока на меньшие блоки требует от кодека выполнения дополнительных операций (с тем чтобы восстанавливать каждый из субблоков). Использование предложенного способа вместо этого не добавляет объема служебной информации с точки зрения восстановления, сохраняя сложность декодера почти неизменной относительно традиционного внутреннего предсказания, применяемого ко всему блоку. В завершение, некоторые варьирования предложенного способа используют информацию, извлеченную из соседних блоков, с тем чтобы варьировать направленность предсказания в текущем блоке, что не используется в традиционном внутреннем предсказании, в котором направление предсказания остается неварьирующимся во всем блоке предсказания.
Фиг. 5 показывает блок-схему последовательности операций для способа вычисления внутренне предсказанных выборок.
На первом этапе 502 начальный режим внутреннего предсказания обнаруживается. В некоторых вариантах осуществления это содержит обнаружение секции в принимаемом потоке битов, которая идентифицирует режим внутреннего предсказания. В этом варианте осуществления обнаружение начального режима внутреннего предсказания содержит обнаружение режима внутреннего предсказания, используемого для предшествующего блока.
На втором этапе 504 дельта-значение обнаруживается. В некоторых вариантах осуществления это содержит обнаружение секции в принимаемом потоке битов, которая содержит дельта-значение. В некоторых вариантах осуществления это содержит обнаружение конечного режима внутреннего предсказания, например, через секцию принимаемого потока битов. Дельта-значение указывает изменение режима внутреннего предсказания, который должен использоваться, между выборками, например дельтазначение может указывать изменение взвешиваний, применяемых к опорным выборкам, и/или направления предсказания.
На третьем этапе 506 выборочные значения для текущего блока предсказываются с использованием начального режима внутреннего предсказания и обнаруженного дельта-значения.
Фиг. 6 представляет примерную блок-схему последовательности операций способа для синтаксического анализа в декодере 1, информации, требуемой для того, чтобы выполнять многонаправленное внутреннее предсказание.
На первом этапе 602, декодер 1 синтаксически анализирует текущий режим внутреннего предсказания для текущего блока Dcurr. Если обнаруженный режим соответствует одному из режимов, в которых многонаправленное внутреннее предсказание деактивируется, то декодер не анализирует синтаксически дополнительные биты и выполняет 612 традиционное внутреннее предсказание.
- 5 043161
Если текущий режим внутреннего предсказания соответствует одному из режимов, в которых многонаправленное внутреннее предсказание активируется, на втором этапе 604, декодер 1 синтаксически анализирует флаг bMIP, чтобы выбирать то, следует выполнять многонаправленное внутреннее предсказание или нет. Если bMIP=false, декодер выполняет 612 традиционное внутреннее предсказание.
Если флаг многонаправленного внутреннего предсказания задается, на третьем этапе 606, конечный режим Dfinal внутреннего предсказания, который следует использовать в многонаправленном внутреннем предсказании, задается в качестве режима внутреннего предсказания, синтаксически проанализированного для текущего блока: Dfinal=Dcurr.
Если Dcurr классифицируется в качестве режима вертикального внутреннего предсказания, то декодер осуществляет доступ к информации относительно режима внутреннего предсказания, который используется в соседнем блоке сверху от текущего блока. Если эта информация доступна в качестве Dtop, и если Dtop классифицируется в качестве режима вертикального внутреннего предсказания, то декодер 1 задает начальный режим внутреннего предсказания в качестве этого режима, или Dstart=Dtop.
Если Dcurr классифицируется в качестве режима горизонтального внутреннего предсказания, то декодер 1 осуществляет доступ к информации относительно режима внутреннего предсказания, который используется в соседнем блоке слева от текущего блока. Если эта информация доступна в качестве Dleft, и если Dleft классифицируется в качестве режима горизонтального внутреннего предсказания, то декодер 1 задает начальный режим внутреннего предсказания в качестве этого режима, или Dstart=Dleft.
На четвертом этапе 608 декодер 1 логически выводит значение дельта (Δ), которое зависит от размера текущего блока и Dfinal.
В некоторых вариантах осуществления декодер 1 рассматривает два возможных варианта начального режима внутреннего предсказания: Dstart,1=(Dfinal+Δ) и Dstart,2=(Dfinal-Δ). Если Dstart,1 не представляет собой допустимый режим направленного внутреннего предсказания, декодер 1 задает начальный режим внутреннего предсказания в качестве Dstart=Dstart,2. Если Dstart,2 не представляет собой допустимый режим направленного внутреннего предсказания, декодер 1 задает начальный режим внутреннего предсказания в качестве Dstart=Dstart,i. В некоторых вариантах осуществления декодер 1 синтаксически анализирует дополнительный флаг bMIP_DIR. Если bMIP_DIR==0, то Dstart=Dstart,1, иначе Dstart=Dstart,2.
В некоторых вариантах осуществления значение А логически выводится в качестве разности между начальными и конечными режимами внутреннего предсказания либо его коэффициента, т.е. Δ=Dfinal-Dstart.
На пятом этапе 610 декодер 1 использует Dfinal, Dstart и ширину и высоту блока для того, чтобы вычислять вектор D направлений, который указывает направление внутреннего предсказания для каждой выборки. Декодер 1 выполняет многонаправленное внутреннее предсказание с использованием D и выходит из этого контура.
В некоторых вариантах осуществления, логический вывод дельта-значения 608 может содержать логический вывод режима внутреннего предсказания, способ которого описывается со ссылкой на фиг. 7. Если обобщить, логический вывод режима внутреннего предсказания может содержать интерполяцию между начальным режимом внутреннего предсказания и конечным режимом внутреннего предсказания.
Фиг. 7 показывает примерную блок-схему последовательности операций для способа логического вывода режима внутреннего предсказания.
На первом этапе 702, декодер 1 обнаруживает предыдущий режим внутреннего предсказания. Он, например, может представлять собой режим, который применяется к блоку слева от текущего блока или к блоку сверху от текущего блока.
На втором этапе 704 конечный режим внутреннего предсказания обнаруживается. В этом варианте осуществления конечный режим внутреннего предсказания передается в служебных сигналах в потоке битов, принимаемом посредством декодера 1.
На третьем этапе 706 параметр расстояния обнаруживается. В этом варианте осуществления этот параметр расстояния кодируется в потоке битов. В некоторых вариантах осуществления параметр расстояния логически выводится из начальных и конечных режимов внутреннего предсказания.
Параметр расстояния указывает K-ую выборку, при этом K-ая выборка представляет собой выборку, в которой режим предсказания изменяется с начального режима предсказания на конечный режим предсказания. Типично, этот параметр расстояния представляет собой пропорцию от блока или числа выборок (например, строк или столбцов).
На четвертом этапе 708 первое дельта-значение логически выводится для первой части блока, причем первая часть содержит выборки перед K-ой выборкой. Этот логический вывод продолжается, как описано со ссылкой на четвертый этап 608 по фиг. 6. Логический вывод дельта-значения типично содержит интерполяцию между начальным режимом внутреннего предсказания и конечным режимом внутреннего предсказания.
На пятом этапе 710 декодер логически выводит второе дельта-значение. Этот логический вывод продолжается, как описано со ссылкой на четвертый этап 608 по фиг. 6.
В общем, логический вывод первого дельта-значения и второго дельта-значения зависит от указываемых режимов внутреннего предсказания. В качестве примера, если начальный режим внутреннего
- 6 043161 предсказания представляет собой DC-режим, и конечный режим внутреннего предсказания представляет собой направленный режим, первое дельта-значение равно нулю, т.е. каждая выборка перед K-ой выборкой представляет собой среднее опорных выборок. Второе дельта-значение логически выводится посредством интерполяции между DC-режимом и конечным направленным режимом.
Аналогично, если конечный режим внутреннего предсказания представляет собой DC-режим и начальный режим внутреннего предсказания представляет собой направленный режим, второе дельтазначение равно нулю, и первое дельта-значение логически выводится посредством интерполяции между начальным направленным режимом и DC-режимом.
В некоторых вариантах осуществления задается K-ая выборка, в которой способ логического вывода изменяется. Могут обнаруживаться начальный режим направленного внутреннего предсказания и конечный режим направленного внутреннего предсказания, а также параметр расстояния, который указывает K-ую выборку, в которой способ логического вывода дельты изменяется, например, с линейной на экспоненциальную интерполяцию.
В некоторых вариантах осуществления каждое дельта-значение указывается в потоке битов, принимаемом посредством декодера 1.
Фиг. 8 показывает кодер 8, который может использоваться для того, чтобы получать поток битов, который является считываемым посредством декодера 1, описанного со ссылкой на фиг. 1.
Входной видеопоток имеет выполняемые оценку 802 внутреннего предсказания и/или оценку 806 движения, которые идентифицируют пространственную и/или временную избыточность. Они приводят к внутреннему предсказанию 804 и предсказанию 808 движения, при этом предсказание движения зависит от кадра из буфера 810 кадров, который хранит кадр, эквивалентный предыдущему кинокадру, кодированному посредством кодера 8.
Внутреннее предсказание 804 и/или предсказание 808 движения комбинируются с входным видео и затем преобразуются 812, квантуются 814 и энтропийно кодируются 816 для того, чтобы получать поток битов. Преобразованный 812 и квантованный 814 поток данных подвергается обратному квантованию 818 и обратному преобразованию 820 для того, чтобы получать опорный кинокадр, который используется посредством буфера 810 кадров для последующих кинокадров.
В различных вариантах осуществления каскад внутреннего предсказания содержит одно или более из следующего: бит, который указывает то, используется или нет многонаправленное внутреннее предсказание; секция, которая указывает, по меньшей мере, один из начальных и конечных режимов предсказания, которые следует использовать; секция, которая задает способы логического вывода/интерполяции, которые должны использоваться; секция, которая указывает K-ую выборку, в которой режим внутреннего предсказания изменяется.
Альтернативы и модификации
В различных вариантах осуществления блок при использовании в данном документе означает единицу предсказания (PU), единицу кодирования (CU) и/или единицу преобразования (TU), например, как задано в стандарте HEVC/H.265 версия 5 от 13 февраля 2018 г. Если обобщить, блок может означать любую группу пикселов. Предпочтительно блок означает группу соединенных пикселов, в которой они могут пространственно соединяться.
В некоторых вариантах осуществления блок связан с группой пикселов, которые совместно используют общие опорные выборки для целей внутреннего предсказания. Это не требует предсказания каждого пиксельного значения в блоке непосредственно из опорных выборок; в некоторых вариантах осуществления, пиксельные значения в блоке могут предсказываться с использованием других пиксельных значений в идентичном блоке, причем эти другие пиксельные значения предсказываются с использованием общих опорных выборок. В этих вариантах осуществления предсказанные пиксельные значения могут рассматриваться как извлекаемые из опорных выборок.
Подробное описание главным образом рассматривает способы, описанные в данном документе как используемые для того, чтобы определять изменение направления внутреннего предсказания, выполняемого для блока, и способ описывается в данном документе в качестве многонаправленного внутреннего предсказания. Если обобщить, способы являются применимыми для того, чтобы указывать изменение в режиме внутреннего предсказания. В качестве примера, начальные выборки в блоке могут предсказываться с использованием режима предсказания влево по вертикали, и конечные выборки могут предсказываться с использованием режима внутреннего DC-предсказания. В блоке, может возникать плавный переход между этими режимами, или переход между режимами может задаваться с использованием таблицы поиска. В связи с этим, при многонаправленном внутреннем предсказании может не возникать изменения направления, например, вместо этого может возникать изменение режима.
В вариантах осуществления, в которых используется таблица поиска, таблица может адресоваться различными способами, например, первая строка битов в принимаемом потоке битов может ссылаться на конечный режим внутреннего предсказания, и вторая строка битов может ссылаться на способ перехода (например, линейный, экспоненциальный). Начальный режим внутреннего предсказания может включаться в этот поток битов или логически выводиться, например, из смежных блоков.
Хотя способ описывается со ссылкой на использование для кинокадров в видеопотоке, он может
- 7 043161 аналогично использоваться для неподвижных изображений, к таких как неподвижные изображения, которые соответствуют стандартам Объединенной экспертной группы по фотографии (JPEG).
Если способ описывается со ссылкой на направление режима предсказания, следует принимать во внимание, что оно может представлять собой любое направление и не ограничено направлениями режимов традиционного направленного предсказания. Например, хотя стандарт HEVC/H.265 версия 5 от 13 февраля 2018 г. рассматривает 33 угловых режима, и они могут представлять собой режимы, указываемые посредством традиционного кодера/декодера, следует принимать во внимание, что, способы, используемые в данном документе, могут использоваться с определением предсказания не в рамках этого или других стандартов. Если определяется то, что начальные и/или конечные направления внутреннего предсказания соответствуют одному из этих стандартных режимов, промежуточные направления внутреннего предсказания не должны быть ограничены стандартными режимами (эти промежуточные нестандартные направления, в некоторых вариантах осуществления, также могут рассматриваться как направления режимов внутреннего предсказания).

Claims (11)

1. Способ декодирования в декодере потока битов, представляющего изображение, причем поток битов содержит множество блоков остаточных выборок, причем блок восстановленных выборок изображений получается посредством суммирования блока остаточных выборок с блоком предсказаний, причем предсказания формируются посредством применения выбранного процесса предсказания к опорным выборкам в восстановленном изображении, при этом способ содержит этапы, на которых пр инимают поток битов;
для каждого блока формируют предсказания и су ммируют соответствующее предсказание с каждой остаточной выборкой для того, чтобы формировать восстановленную выборку изображений;
пр едоставляют восстановленное изображение из восстановленных выборок изображений и выводят восстановленное изображение;
при этом этап формирования предсказаний содержит этапы, на которых пр именяют первый режим направленного или ненаправленного предсказания к опорным выборкам для того, чтобы формировать, по меньшей мере, первый набор из одного или более предсказаний для текущего блока;
пр именяют один или более последующих отличающихся режимов направленного или ненаправленного предсказания к идентичным опорным выборкам для того, чтобы формировать по меньшей мере один последующий набор из одного или более предсказаний для текущего блока, причем любой последующий режим направленного предсказания отличается от любого первого режима направленного предсказания по пространственному направлению предсказания;
при этом по меньшей мере один из следующих параметров предсказания логически выводится в декодере для текущего блока:
пе рвый режим ненаправленного предсказания;
на правление первого режима направленного предсказания;
по следующий режим ненаправленного предсказания;
нап равление последующего режима направленного предсказания;
местоположение в блоке первого набора предсказаний и местоположение в блоке последующего набора предсказаний.
2. Способ по п.1, в котором поток битов содержит одно или более из следующего: данные, связанные с предсказанием;
индикатор конечного режима внутреннего предсказания и направление конечного режима направленного предсказания.
3. Способ по любому из предшествующих пунктов, в котором последующий режим ненаправленного предсказания представляет собой конечный режим ненаправленного предсказания, и/или при этом направление последующего режима направленного предсказания представляет собой направление конечного режима направленного предсказания.
4. Способ по любому из предшествующих пунктов, в котором по меньшей мере один из параметров предсказания определяется на основе соответствующего параметра в смежном блоке, предпочтительно конечного соответствующего параметра, используемого в смежном блоке; и/или посредством интерполяции между одним направлением и/или режимом предсказания и другим отличающимся направлением и/или режимом предсказания, при этом предпочтительно интерполяция содержит линейную интерполяцию; и/или посредством интерполяции между первым направлением и/или режимом предсказания и конечным направлением и/или режимом предсказания, при этом предпочтительно интерполяция содержит линей
- 8 043161 ную интерполяцию.
5. Способ по любому из предшествующих пунктов, в котором по меньшей мере один из параметров предсказания определяется посредством получения значения из таблицы поиска, при этом предпочтительно таблица поиска содержит индикатор функции, используемой для интерполяции по меньшей мере между одним из: любого первого режима ненаправленного предсказания и любого последующего режима ненаправленного предсказания и/или направления любого первого режима направленного предсказания и направления любого последующего режима направленного предсказания.
6. Способ по любому из предшествующих пунктов, в котором поток битов задает процесс для того, чтобы извлекать один или более последующих режимов направленного или ненаправленного предсказания с учетом отличающегося режима направленного или ненаправленного предсказания.
7. Способ по любому из предшествующих пунктов, в котором поток битов содержит дельту, связанную с разностью между одним или более из следующего:
на правление любого первого режима направленного предсказания и направление любого последующего режима направленного предсказания;
на правление любого первого режима ненаправленного предсказания и направление любого последующего режима ненаправленного предсказания;
направление любого первого режима ненаправленного предсказания и направление любого последующего режима направленного предсказания и направление любого первого направленного режима и направление любого последующего режима ненаправленного предсказания.
8. Способ по любому из предшествующих пунктов, в котором поток битов содержит индикатор изменения между любым режимом ненаправленного предсказания и любым режимом направленного предсказания, при этом предпочтительно индикатор идентифицирует местоположение, в котором возникает изменение.
9. Способ по любому предшествующему пункту, в котором первый режим предсказания используется для того, чтобы предсказывать по меньшей мере одну строку в блоке, и любой последующий режим предсказания используется для того, чтобы предсказывать по меньшей мере одну или более других строк в блоке; и/или первый режим предсказания используется для того, чтобы предсказывать по меньшей мере один столбец в блоке, и любые последующие режимы предсказания используются для того, чтобы предсказывать по меньшей мере один или более других столбцов в блоке.
10. Способ декодирования изображений в видеопотоке с использованием способа по любому из пп. 1-9.
11. Оборудование для декодирования потока битов, представляющего изображение, причем поток битов содержит множество блоков остаточных выборок, причем оборудование содержит при емное устройство, выполненное с возможностью приема потока битов;
процессор, выполненный с возможностью формировать предсказания и сум мировать соответствующие предсказания с остаточной выборкой для того, чтобы формировать восстановленные выборки изображений;
предоставлять восстановленное изображение из восстановленных выборок изображений; и выв одить восстановленное изображение;
при этом выполнение с возможностью формировать предсказания содержит выполнение с возможностью при менять первый режим направленного или ненаправленного предсказания к опорным выборкам для того, чтобы формировать, по меньшей мере, первый набор из одного или более предсказаний для текущего блока;
применять один или более последующих отличающихся режимов направленного или ненаправленного предсказания к идентичным опорным выборкам для того, чтобы формировать по меньшей мере один последующий набор из одного или более предсказаний для текущего блока, причем любой последующий режим направленного предсказания отличается от любого первого режима направленного предсказания по пространственному направлению предсказания; и логически выводить по меньшей мере один из следующих параметров предсказания:
пер вый режим ненаправленного предсказания;
нап равление первого режима направленного предсказания;
пос ледующий режим ненаправленного предсказания;
нап равление последующего режима направленного предсказания;
местоположение в блоке первого набора предсказаний и местоположение в блоке последующего набора предсказаний.
EA202190496 2018-09-11 2019-08-07 Декодер потоков битов EA043161B1 (ru)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
GB1814755.3 2018-09-11

Publications (1)

Publication Number Publication Date
EA043161B1 true EA043161B1 (ru) 2023-04-27

Family

ID=

Similar Documents

Publication Publication Date Title
JP7104188B2 (ja) Dmvrのためのブロックサイズ制限
EP3518544B1 (en) Video decoding with improved motion vector diversity
US20080107180A1 (en) Method and apparatus for video predictive encoding and method and apparatus for video predictive decoding
US20120230405A1 (en) Video coding methods and video encoders and decoders with localized weighted prediction
US8619859B2 (en) Motion estimation apparatus and method and image encoding apparatus and method employing the same
KR20110009141A (ko) 비디오 부호화 및 복호화에서의 템플릿 매칭 예측을 위한 방법 및 장치
RU2519525C2 (ru) Способ кодирования с предсказанием вектора движения, способ декодирования с предсказанием вектора движения, устройство кодирования фильма, устройство декодирования фильма и их программы
CN114900691B (zh) 编码方法、编码器及计算机可读存储介质
EA043161B1 (ru) Декодер потоков битов
US20210306662A1 (en) Bitstream decoder
US11616950B2 (en) Bitstream decoder
WO2023193769A1 (en) Implicit multi-pass decoder-side motion vector refinement
WO2023186040A1 (en) Bilateral template with multipass decoder side motion vector refinement
RU2808075C1 (ru) Способ кодирования и декодирования изображений, устройство кодирования и декодирования и соответствующие компьютерные программы
WO2023198187A1 (en) Template-based intra mode derivation and prediction
JP2013077865A (ja) 画像符号化装置、画像復号装置、画像符号化方法及び画像復号方法
EA043315B1 (ru) Декодирование потоков битов
KR101647484B1 (ko) 영상 부호화 방법 및 장치