RU2684200C2 - Способ и устройство для кодирования вектора при кодировании и декодировании видео - Google Patents

Способ и устройство для кодирования вектора при кодировании и декодировании видео Download PDF

Info

Publication number
RU2684200C2
RU2684200C2 RU2018126868A RU2018126868A RU2684200C2 RU 2684200 C2 RU2684200 C2 RU 2684200C2 RU 2018126868 A RU2018126868 A RU 2018126868A RU 2018126868 A RU2018126868 A RU 2018126868A RU 2684200 C2 RU2684200 C2 RU 2684200C2
Authority
RU
Russia
Prior art keywords
block
blocks
image
mode
encoding
Prior art date
Application number
RU2018126868A
Other languages
English (en)
Other versions
RU2018126868A (ru
RU2018126868A3 (ru
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 RU2018126868A publication Critical patent/RU2018126868A/ru
Publication of RU2018126868A3 publication Critical patent/RU2018126868A3/ru
Application granted granted Critical
Publication of RU2684200C2 publication Critical patent/RU2684200C2/ru

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T9/00Image coding
    • G06T9/40Tree coding, e.g. quadtree, octree
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/102Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or selection affected or controlled by the adaptive coding
    • H04N19/103Selection of coding mode or of prediction mode
    • H04N19/105Selection of the reference unit for prediction within a chosen coding or prediction mode, e.g. adaptive choice of position and number of pixels used for prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/156Availability of hardware or computational resources, e.g. encoding based on power-saving criteria
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/134Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the element, parameter or criterion affecting or controlling the adaptive coding
    • H04N19/157Assigned coding mode, i.e. the coding mode being predefined or preselected to be further used for selection of another element or parameter
    • H04N19/159Prediction type, e.g. intra-frame, inter-frame or bidirectional frame prediction
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/174Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a slice, e.g. a line of blocks or a group of blocks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/17Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object
    • H04N19/176Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being an image region, e.g. an object the region being a block, e.g. a macroblock
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/10Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding
    • H04N19/169Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding
    • H04N19/182Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using adaptive coding characterised by the coding unit, i.e. the structural portion or semantic portion of the video signal being the object or the subject of the adaptive coding the unit being a pixel
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/42Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation
    • H04N19/436Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation using parallelised computational arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/44Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/50Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding
    • H04N19/593Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using predictive coding involving spatial prediction techniques
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/70Methods or arrangements for coding, decoding, compressing or decompressing digital video signals characterised by syntax aspects related to video coding, e.g. related to compression standards
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N19/00Methods or arrangements for coding, decoding, compressing or decompressing digital video signals
    • H04N19/90Methods or arrangements for coding, decoding, compressing or decompressing digital video signals using coding techniques not provided for in groups H04N19/10-H04N19/85, e.g. fractals
    • H04N19/96Tree coding, e.g. quad-tree coding

Abstract

Изобретение относится к области кодирования/декодирования видео. Технический результат – обеспечение возможности выполнения параллельной обработки волновых фронтов при кодировании/декодировании изображения за счет определения области, из которой блок-предиктор может быть получен. Способ кодирования изображения, в котором изображение содержит множество блоков дерева кодирования, состоящих из блоков пикселей, причем каждый блок пикселей кодируется согласно режиму из множества режимов, причем один такой режим является режимом, в котором блок кодируется на основе блока-предиктора, являющегося блоком текущего изображения, при этом способ содержит этап, на котором определяют область поиска для вышеуказанного одного режима как область, образованную доступными реконструированными блоками текущего блока дерева кодирования, причем доступность реконструированных блоков определяется на основе порядка сканирования, и блоками дерева кодирования, имеющими координаты (X,Y), где Y≤Yи (X-X)≤-(Y-Y), причем X представляет собой горизонтальную координату, Y представляет собой вертикальную координату, начало координат находится в верхнем левом углу изображения, и (X,Y) являются координатами текущего блока дерева кодирования. 7 н.п. ф-лы, 14 ил., 2 табл.

Description

Настоящее изобретение имеет отношение к способу и устройству для кодирования или декодирования блоков пикселей в процессе кодирования или декодирования видео. Более конкретно, оно имеет отношение к способам для обработки распараллеливания при использовании режима копирования внутреннего блока для расширения контента экрана для HEVC. Оно основывается на управлении областью, доступной для предоставления блоков-предикторов в режиме копирования внутреннего блока.
Оно применяется более конкретно к режиму кодирования, где блок пикселей кодируется с предсказанием на основе блока-предиктора, имеющего отношение к тому же изображению. Этот режим кодирования блока пикселей обычно называется режимом копирования внутреннего блока. Он рассматривается как возможный инструмент для расширения контента экрана для международного стандарта высокоэффективного кодирования видео (HEVC: ISO/IEC 23008-2 MPEG-H Часть 2/ ITU-T H.265) и теперь в расширении контента экрана там же.
При кодировании изображения в видеопоследовательности, изображение сначала разделяется на элементы кодирования, которые являются образованиями пикселей с равным размером, называемыми блоком дерева кодирования (Coding Tree Block). Размер блока дерева кодирования обычно составляет 64 на 64 пикселей. Каждый блок дерева кодирования может быть затем разобран на иерархическое дерево меньших блоков, размер которых может варьироваться, и которые являются фактическими блоками для кодирования. Эти меньшие блоки для кодирования называются единицей кодирования (CU).
Кодирование конкретной единицы кодирования обычно осуществляется с предсказанием. Это означает, что сначала определяется блок-предиктор. Затем, вычисляется разница между блоком-предиктором и единицей кодирования. Эта разница называется остатком. Затем, этот остаток сжимается. Фактически кодированная информация единицы кодирования образована из некоторой информации для указания способа определения блока-предиктора и сжатого остатка. Наилучшими блоками-предикторами являются блоки, наиболее схожие с единицей кодирования, для того, чтобы получить небольшой остаток, который может быть эффективно сжат.
Кодирование может быть с потерями, означая, что информация потеряна в процессе кодирования. Декодированный блок пикселей не является точно таким как первоначальная единица кодирования. Обычно, потеря информации происходит из квантования, применяемого к остатку перед энтропийным кодированием. Это квантование обеспечивает возможность более высокой степени сжатия за счет потери точности. Обычно, высокие частоты, а именно, высокий уровень деталей, удаляются в блоке.
Кодирование может быть без потерь, означая, что остаток не квантуется. Этот вид кодирования обеспечивает возможность извлечения точной копии первоначальных выборок единицы кодирования. Кодирование без потерь получается в ущерб степени сжатия, которая гораздо меньше по сравнению со сжатием с потерями.
Режим кодирования задается на основе способа, используемого для определения блока-предиктора для способа кодирования с предсказанием для единицы кодирования.
Первый режим кодирования называется внутренним режимом. Согласно внутреннему режиму, блок-предиктор строится на основе значения пикселей, непосредственно окружающих единицу кодирования внутри текущего изображения. Следует отметить, что блок-предиктор является не блоком текущего изображения, а конструкцией. Направление используется для определения, какие пиксели границы фактически используются для построения блока-предиктора, и как они используются. Идея за внутренним режимом состоит в том, что из-за общей когерентности естественных изображений, пиксели, непосредственно окружающие единицу кодирования, вероятно должны быть схожи с пикселями текущего блока кодирования. Вследствие этого, возможно получить хорошее предсказание значения пикселей единицы кодирования с использованием блока-предиктора, основанного на этих окружающих пикселях.
Второй режим кодирования называется внешним режимом. Согласно внешнему режиму, блок-предиктор является блоком другого изображения. Идея за внешним режимом состоит в том, что последовательные изображения в последовательности в основном очень похожи. Главное различие происходит обычно из движения между этими изображениями из-за непрерывного перемещения камеры или из-за перемещения объектов в сцене. Блок-предиктор определяется вектором, дающим свое размещение в опорном изображении относительно размещения единицы кодирования внутри текущего изображения. Этот вектор называется вектором движения. Согласно этому режиму, кодирование такой единицы кодирования с использованием этого режима содержит информацию движения, содержащую вектор движения и сжатый остаток.
В этом документе сфокусируемся на третьем режиме кодирования, называемом режимом копирования внутреннего блока. Согласно режиму копирования внутреннего блока, предсказатель блока является фактическим блоком текущего изображения. Вектор блока используется для локализации блока-предиктора. Этот вектор блока дает размещение в текущем изображении блока-предиктора относительно размещения единицы кодирования в том же текущем изображении. Выходит, что этот вектор блока имеет часть некоторых сходств с вектором движения из внешнего режима. По аналогии иногда называется вектором движения. Так как тут не может быть движения внутри изображения, строго говоря, и для ясности, в этом документе вектор движения всегда относится к внешнему режиму, тогда как вектор блока используется для режима копирования внутреннего блока.
Казуальным принципом является принцип, который утверждает, что вся информация для декодирования конкретной единицы кодирования должна быть основана на уже реконструированных единицах кодирования. При кодировании, вся информация может считаться доступной. А именно, чтобы кодировать данную единицу кодирования, будет возможно использовать любую информацию из всех текущих изображений или их всех декодированных и доступных других изображений в последовательности. При декодировании, все иначе. Декодирование текущих изображений обычно выполняется посредством последовательного декодирования всех единиц кодирования. Порядок декодирования обычно следует порядку растрового сканирования, а именно, начиная в верхней левой части изображения, продвигаясь слева направо и сверху вниз. Получается, что при декодировании данной единицы кодирования, уже была декодирована только часть текущего изображения, размещенная сверху или слева от текущей единицы кодирования. Это единственная доступная информация для декодирования текущего блока кодирования. Это следует учитывать при кодировании. Например, блок-предиктор в режиме копирования внутреннего блока, должен иметь отношение к части изображения, которая будет доступна при декодировании.
При декодировании, чтобы извлечь блок, кодированный с использованием режима копирования внутреннего блока, прежде всего, с использованием вектора блока определяется блок-предиктор. Затем декодируется остаток и применяется к предиктору, чтобы получить необработанный реконструированный блок.
Когда было реконструировано целое изображение, применяется некоторая обработка постфильтром. Обычно первый фильтр применяется для удаления некоторых артефактов в реконструированном изображении в результате кодирования блока. Этот фильтр называется фильтром удаления блочности. Обычно, хотя необязательно, тогда применяется адаптивный к выборке контурный фильтр (SAO), чтобы получить итоговое изображение.
При некоторой архитектуре декодирования, обработка распараллеливается для того, чтобы ускорить процесс. В этой ситуации, конкретный блок дерева кодирования реконструируется, тогда как предыдущий блок дерева кодирования фильтруется, например. А именно, реконструкция некоторого блока дерева кодирования и фильтрация других совершаются параллельно.
Стандарт HEVC предлагает некоторый высокий уровень параллельности, как волновой фронт или мозаику или слайсы, для параллельности кадров и гибкого управления опорными кадрами для внешней параллельности. Эти инструменты не являются обязательными, пока, декодер должен декодировать относящийся к ним синтаксис, даже если они необязательны.
В этом документе сфокусируемся на параллельной обработке волновых фронтов и том, как она может эффективно комбинироваться с режимом копирования внутреннего блока для кодирования конкретной единицы кодирования.
Параллельная обработка волновых фронтов основывается на распараллеливании реконструкции линий блоков дерева кодирования. А именно, некоторое число блоков дерева кодирования реконструируются параллельно. Задержка вносится между обработкой каждой линии из-за того факта, что реконструкция последовательной линии блоков дерева кодирования требует некоторую информацию из предыдущей линии. Это означает, что реконструкция разных линий, которые распараллеливают, происходит с задержкой между каждой линией.
Параллельная обработка волновых фронтов может подтвердить наличие проблемы при реконструировании конкретной единицы кодирования, кодированной согласно режиму копирования внутреннего блока. Фактически, предсказатель блока для единицы кодирования, кодированной согласно режиму копирования внутреннего блока, может быть локализован везде во всей казуальной области, а именно предыдущих линиях блоков дерева кодирования и предыдущих блоков дерева кодирования в текущей линии. Так как предыдущие линии реконструируются параллельно с рассматриваемой линией, может случиться, что блок-предиктор не был еще реконструирован в то время, когда он нужен для реконструкции единицы кодирования, кодированной согласно режиму копирования внутреннего блока. Поэтому режим копирования внутреннего блока не полностью совместим с параллельной реконструкцией волновых фронтов.
Настоящее изобретение было разработано для решения одного или более вышеприведенных вопросов.
Согласно первому аспекту настоящего изобретения, предусматривается способ кодирования изображения, причем изображение содержит множество блоков дерева кодирования, состоящих из блоков пикселей, причем каждый блок пикселей кодируется согласно режиму из множества режимов, причем один такой режим является режимом в котором блок кодируется на основе блока-предиктора, являющегося блоком текущего изображения, причем способ, содержащий: определение области поиска для вышеуказанного одного режима как области, образованной любыми реконструированными блоками текущего блока дерева кодирования и блоками дерева кодирования, имеющими координаты (X,Y), где:
Y≤Y0 и (X-X0)≤ -(Y-Y0)
где X представляет собой горизонтальную координату, Y представляет собой вертикальную координату, причем начало координат находится в верхнем левом углу изображения, и (X0,Y0) являются координатами текущего блока дерева кодирования.
В варианте осуществления кодирование выполняется с использованием параллельной обработки волновых фронтов.
Во втором аспекте настоящего изобретения, предусматривается способ декодирования изображения, причем изображение содержит множество блоков дерева кодирования, состоящих из блоков пикселей, причем каждый блок пикселей кодируется согласно режиму из множества режимов, причем один такой режим является режимом, в котором блок декодируется на основе блока-предиктора, являющегося блоком текущего изображения, причем способ, содержащий: ограничение области, из которой вышеуказанный блок-предиктор может быть получен для вышеуказанного одного режима, областью, образованной любыми реконструированными блоками текущего блока дерева кодирования и блоками дерева кодирования, имеющими координаты (X,Y), где:
Y≤Y0 и (X-X0)≤-(Y-Y0)
где X представляет собой горизонтальную координату, Y представляет собой вертикальную координату, причем начало координат находится в верхнем левом углу изображения, и (X0,Y0) являются координатами текущего блока дерева кодирования.
В варианте осуществления декодирование выполняется с использованием параллельной обработки волновых фронтов.
В третьем аспекте настоящего изобретения, предусматривается устройство для кодирования изображения, причем изображение содержит множество блоков дерева кодирования, состоящих из блоков пикселей, причем каждый блок пикселей кодируется согласно режиму из множества режимов, причем один такой режим является режимом, в котором блок кодируется на основе блока-предиктора, являющегося блоком текущего изображения, причем устройство, содержащее: средство для определения области поиска для вышеуказанного одного режима как области, образованной любыми реконструированными блоками текущего блока дерева кодирования и блоками дерева кодирования, имеющими координаты (X,Y), где:
Y≤Y0 и (X-X0)≤-(Y-Y0)
где X представляет собой горизонтальную координату, Y представляет собой вертикальную координату, причем начало координат находится в верхнем левом углу изображения, и (X0,Y0) являются координатами текущего блока дерева кодирования.
В четвертом аспекте настоящего изобретения, предусматривается устройство для декодирования изображения, причем изображение содержит множество блоков дерева кодирования, состоящих из блоков пикселей, причем каждый блок пикселей декодируется согласно режиму из множества режимов, причем один такой режим является режимом, в котором блок декодируется на основе блока-предиктора, являющегося блоком текущего изображения, причем устройство, содержащее: средство для ограничения области, из которой может быть получен вышеуказанный блок-предиктор, областью, образованной реконструированными блоками текущего блока дерева кодирования и блоками дерева кодирования с координатами (X,Y), где:
Y≤Y0 и (X-X0)≤-(Y-Y0)
где X представляет собой горизонтальную координату, Y представляет собой вертикальную координату, причем начало координат находится в верхнем левом углу изображения, и (X0,Y0) являются координатами текущего блока дерева кодирования. Например, ограничение области может принять вид не выполнения (например, приостановки) процесса декодирования, если обнаружено, что область, из которой должен быть получен блок-предиктор, находится вне области, образованной реконструированными блоками текущего блока дерева кодирования и блоками дерева кодирования с координатами (X,Y), где:
Y≤Y0 и (X-X0)≤-(Y-Y0)
где X представляет собой горизонтальную координату, Y представляет собой вертикальную координату, причем начало координат находится в верхнем левом углу изображения, и (X0,Y0) являются координатами текущего блока дерева кодирования.
В пятом аспекте настоящего изобретения, предусматривается система для кодирования и декодирования изображения, причем система содержит устройство для кодирования изображения согласно предыдущим аспектам кодера и устройство для декодирования изображения согласно предыдущим аспектам декодера.
Устройство для кодирования и устройство для декодирования могут быть выполнены с возможностью использования параллельной обработки волновых фронтов.
Устройство для кодирования и устройство для декодирования могут быть выполнены с возможностью использования одинакового числа синхронизированных потоков соответственно для кодирования и декодирования изображения.
Согласно шестому аспекту настоящего изобретения, предусматривается битовый поток, содержащий кодированные изображения, при этом кодированные изображения были кодированы согласно предыдущим аспектам кодирования.
Согласно седьмому аспекту настоящего изобретения, предусматривается битовый поток, содержащий кодированную последовательность изображений, причем каждое из изображений, содержит множество блоков дерева кодирования, состоящих из блоков пикселей, причем каждый блок пикселей, кодированных согласно режиму из множества режимов, причем один режим является режимом, в котором блок кодируется на основе блока-предиктора, являющегося блоком текущего изображения, при этом положение любого блока-предиктора, указанного битовым потоком, ограничивается областью, образованной любыми реконструированными блоками текущего блока дерева кодирования и блоками дерева кодирования, имеющими координаты (X,Y), где:
Y≤Y0 и (X-X0)≤-(Y-Y0)
где X представляет собой горизонтальную координату, Y представляет собой вертикальную координату, причем начало координат находится в верхнем левом углу кодированного изображения, и (X0,Y0) являются координатами текущего блока дерева кодирования.
Согласно восьмому аспекту настоящего изобретения, предусматривается машиночитаемый носитель или носитель информации, имеющий сохраненный битовый поток, согласно предыдущим аспектам битового потока. Носителем может также быть сигнал, на котором осуществлен вышеуказанный битовый поток.
Согласно девятому аспекту настоящего изобретения, предусматривается компьютерный программный продукт для программируемого устройства, причем компьютерный программный продукт, содержащий последовательность инструкций для реализации способа согласно любому из предшествующих аспектов способа, при загрузке в программируемое устройство и исполнении им же.
Согласно десятому аспекту настоящего изобретения, предусматривается компьютерно-читаемый носитель информации, хранящий инструкции компьютерной программы для реализации способа согласно любому одному из предшествующих аспектов способа.
Согласно дополнительному аспекту данного изобретения, предусматривается способ кодирования изображения, причем изображение, содержащее множество блоков дерева кодирования, состоящих из блоков пикселей, причем каждый блок пикселей кодируется согласно режиму из множества режимов, причем один режим называется режимом копирования внутреннего блока, в котором блок кодируется на основе блока-предиктора, являющегося фактическим блоком текущего изображения, причем способ, содержащий: определение диапазона поиска для режима копирования внутреннего блока как области, образованной блоками дерева кодирования с координатами (X,Y), такими как:
Y≤Y0 и X≤X0
где X представляет собой горизонтальную координату, Y представляет собой вертикальную координату, причем начало координат находится в верхнем левом углу изображения, и где (X0,Y0) являются координатами текущего блока дерева кодирования, плюс реконструированные блоки текущего блока дерева кодирования.
Соответственно, реализация является простой для того, чтобы обеспечить возможность процесса с волновыми фронтами.
Согласно другому аспекту данного изобретения, предусматривается способ кодирования изображения, причем изображение, содержащее множество блоков дерева кодирования, состоящих из блоков пикселей, причем каждый блок пикселей кодируется согласно режиму из множества режимов, причем один режим называется режимом копирования внутреннего блока, в котором блок кодируется на основе блока-предиктора, являющегося фактическим блоком текущего изображения, причем способ, содержащий: определение диапазона поиска для режима копирования внутреннего блока как области, образованной блоками дерева кодирования с координатами (X,Y), такими как:
Y≤Y0 и (X-X0)≤-(Y-Y0)
где X представляет собой горизонтальную координату, Y представляет собой вертикальную координату, причем начало координат находится в верхнем левом углу изображения, и где (X0,Y0) являются координатами текущего блока дерева кодирования, плюс реконструированные блоки текущего блока дерева кодирования.
Соответственно, область поиска является большей, что приводит к лучшему кодированию.
Согласно другому аспекту данного изобретения, предусматривается способ кодирования изображения, причем изображение, содержащее множество блоков дерева кодирования, состоящих из блоков пикселей, причем каждый блок пикселей кодируется согласно режиму из множества режимов, причем один режим называется режимом копирования внутреннего блока, в котором блок кодируется на основе блока-предиктора, являющегося фактическим блоком текущего изображения, причем способ, содержащий: определение диапазона поиска для режима копирования внутреннего блока как области, образованной блоками дерева кодирования с координатами (X,Y), такими как:
Y≤Y0 и (X-X0)≤-2*(Y-Y0)
где X представляет собой горизонтальную координату, Y представляет собой вертикальную координату, причем начало координат находится в верхнем левом углу изображения, и где (X0, Y0) являются координатами текущего блока дерева кодирования, плюс реконструированные блоки текущего блока дерева кодирования.
Соответственно, область поиска является большей, что приводит к лучшему кодированию.
Согласно другому аспекту данного изобретения, предусматривается способ кодирования изображения, причем изображение, содержащее множество блоков дерева кодирования, состоящих из блоков пикселей, причем каждый блок пикселей кодируется согласно режиму из множества режимов, причем один режим называется режимом копирования внутреннего блока, в котором блок кодируется на основе блока-предиктора, являющегося фактическим блоком текущего изображения, причем способ, содержащий: определение диапазона поиска для режима копирования внутреннего блока как области, образованной блоками дерева кодирования с координатами (X,Y), такими как:
Y≤Y0 и (X-X0)<-2*(Y-Y0)
где X представляет собой горизонтальную координату, Y представляет собой вертикальную координату, причем начало координат находится в верхнем левом углу изображения, и где (X0, Y0) являются координатами текущего блока дерева кодирования, плюс реконструированные блоки текущего блока дерева кодирования.
Соответственно, реализация является более простой.
Согласно другому аспекту данного изобретения, предусматривается способ кодирования изображения, причем изображение, содержащее множество блоков дерева кодирования, состоящих из блоков пикселей, причем каждый блок пикселей кодируется согласно режиму из множества режимов, причем один режим называется режимом копирования внутреннего блока, в котором блок кодируется на основе блока-предиктора, являющегося фактическим блоком текущего изображения, причем способ, содержащий: определение диапазона поиска для режима копирования внутреннего блока как области, образованной блоками дерева кодирования с координатами (X,Y), такими как:
X≤X0 и Y=Y0
где X представляет собой горизонтальную координату, Y представляет собой вертикальную координату, причем начало координат находится в верхнем левом углу изображения, и где (X0,Y0) являются координатами текущего блока дерева кодирования, плюс реконструированные блоки текущего блока дерева кодирования.
Согласно другому аспекту данного изобретения предусматривается способ кодирования изображения, причем изображение, содержащее множество блоков дерева кодирования, состоящих из блоков пикселей, причем каждый блок пикселей кодируется согласно режиму из множества режимов, причем один режим называется режимом копирования внутреннего блока, в котором блок кодируется на основе блока-предиктора, являющегося фактическим блоком текущего изображения, причем кодирование осуществляется множеством параллельных потоков кодирования, причем каждый из потоков выделяется для кодирования линии блоков дерева кодирования, причем способ, содержащий: определение диапазона поиска для режима копирования внутреннего блока как области, образованной, для текущего блока с копированием внутреннего блока, всеми данными, реконструированными всеми потоками предыдущих линий блоков дерева кодирования и текущей линии блоков дерева кодирования.
Согласно другому аспекту данного изобретения предусматривается способ кодирования изображения, причем изображение, содержащее множество блоков дерева кодирования, состоящих из блоков пикселей, причем каждый блок пикселей кодируется согласно режиму из множества режимов, причем один режим называется режимом копирования внутреннего блока, в котором блок кодируется на основе блока-предиктора, являющегося фактическим блоком текущего изображения, причем кодирование осуществляется множеством синхронизированных параллельных потоков кодирования, причем каждый из потоков выделяется для кодирования линии блоков дерева кодирования, причем способ, содержащий: определение диапазона поиска для режима копирования внутреннего блока как области, образованной, для текущего блока с копированием внутреннего блока, всеми данными, реконструированными всеми потоками (включая текущий блок дерева кодирования).
В варианте осуществления кодирование совершается согласно распараллеленному режиму с волновыми фронтами.
Согласно другому аспекту данного изобретения предусматривается способ декодирования изображения, причем изображение, содержащее множество блоков дерева кодирования, состоящих из блоков пикселей, причем каждый блок пикселей декодируется согласно режиму из множества режимов, причем один режим называется режимом копирования внутреннего блока, в котором блок кодируется на основе блока-предиктора, являющегося фактическим блоком текущего изображения, причем декодирование осуществляется множеством параллельных потоков декодирования, причем каждый из потоков выделяется для декодирования линии блоков дерева кодирования, при этом вышеуказанное множество потоков синхронизируются.
Согласно другому аспекту данного изобретения предусматривается устройство для кодирования изображения, причем изображение, содержащее множество блоков дерева кодирования, состоящих из блоков пикселей, причем каждый блок пикселей кодируется согласно режиму из множества режимов, причем один режим называется режимом копирования внутреннего блока, в котором блок кодируется на основе блока-предиктора, являющегося фактическим блоком текущего изображения, причем устройство, содержащее: средство для определения диапазона поиска для режима копирования внутреннего блока как области, образованной блоками дерева кодирования с координатами (X,Y), такими как:
Y≤Y0 и X≤X0
где X представляет собой горизонтальную координату, Y представляет собой вертикальную координату, причем начало координат находится в верхнем левом углу изображения, и где (X0,Y0) являются координатами текущего блока дерева кодирования, плюс реконструированные блоки текущего блока дерева кодирования.
Согласно другому аспекту данного изобретения предусматривается устройство для кодирования изображения, причем изображение, содержащее множество блоков дерева кодирования, состоящих из блоков пикселей, причем каждый блок пикселей кодируется согласно режиму из множества режимов, причем один режим называется режимом копирования внутреннего блока, в котором блок кодируется на основе блока-предиктора, являющегося фактическим блоком текущего изображения, причем устройство, содержащее: средство для определения диапазона поиска для режима копирования внутреннего блока как области, образованной блоками дерева кодирования с координатами (X,Y) такими как:
Y≤Y0 и (X-X0≤-(Y-Y0)
где X представляет собой горизонтальную координату, Y представляет собой вертикальную координату, причем начало координат находится в верхнем левом углу изображения, и где (X0,Y0) являются координатами текущего блока дерева кодирования, плюс реконструированные блоки текущего блока дерева кодирования.
Согласно другому аспекту данного изобретения предусматривается устройство для кодирования изображения, причем изображение, содержащее множество блоков дерева кодирования, состоящих из блоков пикселей, причем каждый блок пикселей кодируется согласно режиму из множества режимов, причем один режим называется режимом копирования внутреннего блока, в котором блок кодируется на основе блока-предиктора, являющегося фактическим блоком текущего изображения, причем устройство, содержащее: средство для определения диапазона поиска для режима копирования внутреннего блока как области, образованной блоками дерева кодирования с координатами (X,Y), такими как:
Y≤Y0 и (X-X0)≤-2*(Y-Y0)
где X представляет собой горизонтальную координату, Y представляет собой вертикальную координату, причем начало координат находится в нижнем левом углу изображения, и где (X0, Y0) являются координатами текущего блока дерева кодирования, плюс реконструированные блоки текущего блока дерева кодирования.
Согласно другому аспекту данного изобретения предусматривается устройство для кодирования изображения, причем изображение, содержащее множество блоков дерева кодирования, состоящих из блоков пикселей, причем каждый блок пикселей кодируется согласно режиму из множества режимов, причем один режим называется режимом копирования внутреннего блока, в котором блок кодируется на основе блока-предиктора, являющегося фактическим блоком текущего изображения, причем устройство, содержащее: средство для определения диапазона поиска для режима копирования внутреннего блока как области, образованной блоками дерева кодирования с координатами (X,Y), такими как:
Y≤Y0 и (X-X0)<-2*(Y-Y0)
где X представляет собой горизонтальную координату, Y представляет собой вертикальную координату, причем начало координат находится в верхнем левом углу изображения, и где (X0,Y0) являются координатами текущего блока дерева кодирования, плюс реконструированные блоки текущего блока дерева кодирования.
Согласно другому аспекту данного изобретения предусматривается устройство для кодирования изображения, причем изображение, содержащее множество блоков дерева кодирования, состоящих из блоков пикселей, причем каждый блок пикселей кодируется согласно режиму из множества режимов, причем один режим называется режимом копирования внутреннего блока, в котором блок кодируется на основе блока-предиктора, являющегося фактическим блоком текущего изображения, причем устройство, содержащее: средство для определения диапазона поиска для режима копирования внутреннего блока как области, образованной блоками дерева кодирования с координатами (X,Y), такими как:
X≤X0 и Y=Y0
где X представляет собой горизонтальную координату, Y представляет собой вертикальную координату, причем начало координат находится в верхнем левом углу изображения, и где (X0,Y0) являются координатами текущего блока дерева кодирования, плюс реконструированные блоки текущего блока дерева кодирования.
Согласно другому аспекту данного изобретения предусматривается устройство для кодирования изображения, причем изображение, содержащее множество блоков дерева кодирования, состоящих из блоков пикселей, причем каждый блок пикселей кодируется согласно режиму из множества режимов, причем один режим называется режимом копирования внутреннего блока, в котором блок кодируется на основе блока-предиктора, являющегося фактическим блоком текущего изображения, причем кодирование осуществляется множеством параллельных потоков кодирования, причем каждый из потоков выделяется для кодирования линии блоков дерева кодирования, причем устройство, содержащее средство для определения диапазона поиска для режима копирования внутреннего блока как области, образованной, для текущего блока с копированием внутреннего блока, всеми данными, реконструированными всеми потоками предыдущих линий блоков дерева кодирования и текущей линии блоков дерева кодирования.
Согласно другому аспекту данного изобретения предусматривается устройство для кодирования изображения, причем изображение, содержащее множество блоков дерева кодирования, состоящих из блоков пикселей, причем каждый блок пикселей кодируется согласно режиму из множества режимов, причем один режим называется режимом копирования внутреннего блока, в котором блок кодируется на основе блока-предиктора, являющегося фактическим блоком текущего изображения, причем кодирование осуществляется множеством синхронизированных параллельных потоков кодирования, причем каждый поток выделен для кодирования линии блоков дерева кодирования, причем устройство, содержащее: средство для определения диапазона поиска для режима копирования внутреннего блока как области, образованной, для текущего блока с копированием внутреннего блока, всеми данными, реконструированными всеми потоками.
Согласно другому аспекту данного изобретения предусматривается устройство для декодирования изображения, причем изображение, содержащее множество блоков дерева кодирования, состоящих из блоков пикселей, причем каждый блок пикселей декодируется согласно режиму из множества режимов, причем один режим называется режимом копирования внутреннего блока, в котором блок кодируется на основе блока-предиктора, являющегося фактическим блоком текущего изображения, причем устройство, содержащее: средство для обработки множества параллельных потоков декодирования, причем каждый поток выделяется для декодирования линии блоков дерева кодирования; и при этом средство для синхронизации вышеуказанного множества потоков.
Согласно другому аспекту данного изобретения предусматривается система для кодирования и декодирования изображения, причем система, содержащая кодер согласно данному изобретению и декодер согласно данному изобретению.
В варианте осуществления, кодер и декодер используют одинаковое число синхронизированных потоков соответственно для кодирования и декодирования изображения.
Согласно другому аспекту данного изобретения предусматривается битовый поток, содержащий кодированные изображения, при этом кодированные изображения были кодированы согласно данному изобретению.
Согласно другому аспекту данного изобретения предусматривается компьютерный программный продукт для программируемого устройства, причем компьютерный программный продукт, содержащий последовательность инструкций для реализации способа согласно данному изобретению, при загрузке в программируемое устройство и исполнении им же.
Согласно другому аспекту данного изобретения предусматривается компьютерно-читаемый носитель информации, хранящий инструкции компьютерной программы для реализации способа согласно данному изобретению.
Некоторые аспекты данного изобретения, перечисленные выше, упоминают, что режимом из множества режимов является режим копирования внутреннего блока, однако, как будет понятно, это лишь произвольное название для этого режима и не предназначено для ограничения. Соответственно, эти аспекты имеют внутри своего предназначенного объема любой режим, в котором блок кодируется (или декодируется) на основе блока-предиктора, являющегося фактическим блоком текущего изображения, которое кодируется (или декодируется), называется ли этот режим режимом копирования внутреннего блока или иначе.
По меньшей мере части способов согласно данному изобретению могут быть реализованы компьютером. Соответственно, настоящее изобретение может принять форму полностью аппаратного варианта осуществления, полностью программного варианта осуществления (включая программно-аппаратные средства, резидентное программное обеспечение, микрокод и т.д.) или варианта осуществления, объединяющего программные и аппаратные аспекты, которые все в общем могут называться как "схема", "модуль" или "система". Кроме того, настоящее изобретение может принять форму компьютерного программного продукта, осуществленного в любой материальной среде с представлением, имеющим используемый компьютером программный код, осуществленный в среде.
Так как настоящее изобретение может быть реализовано программно, настоящее изобретение может быть осуществлено как компьютерно-читаемый код для представления в программируемое устройство в любой подходящей несущей среде. Материальная несущая среда может содержать носитель информации, такой как floppy-диск, CD-ROM, накопитель на жестких дисках, устройство на магнитной пленке или устройство на твердотельной памяти, или подобную. Временная несущая среда может включать в себя сигнал, такой как электрический сигнал, электронный сигнал, оптический сигнал, акустический сигнал, магнитный сигнал или электромагнитный сигнал, например, микроволновый или радиочастотный сигнал.
Теперь, только в качестве примера, будут описаны варианты осуществления данного изобретения, и со ссылкой на нижеследующие чертежи, на которых:
Фигура 1 иллюстрирует архитектуру HEVC-кодера;
Фигура 2 иллюстрирует архитектуру HEVC-декодера;
Фигура 3 иллюстрирует декомпозицию уровней видеокадра;
Фигура 4 иллюстрирует принцип обработки волновых фронтов;
Фигура 5 иллюстрирует размещение блока для инициализации контекстной переменной при помощи волнового фронта;
Фигура 6 иллюстрирует концепцию казуальной области;
Фигура 7 иллюстрирует область поиска при копировании внутреннего блока;
Фигура 8 иллюстрирует проблему, решаемую данным изобретением;
Фигура 9 иллюстрирует один вариант осуществления данного изобретения;
Фигура 10 иллюстрирует один вариант осуществления данного изобретения;
Фигура 11 иллюстрирует один вариант осуществления данного изобретения;
Фигура 12 иллюстрирует один вариант осуществления данного изобретения;
Фигура 13 иллюстрирует один вариант осуществления данного изобретения; и
Фигура 14 принципиальной блок-схемой вычислительного устройства для реализации одного или более вариантов осуществления данного изобретения.
Фигура 1 иллюстрирует архитектуру HEVC-кодера. В видеокодере, первоначальная последовательность 101 делится на блоки пикселей 102. Режим кодирования затем воздействует на каждый блок. Есть два семейства режимов кодирования, обычно используемых в HEVC: режимы, основанные на пространственном предсказании, или внутренние режимы 103, и режимы, основанные на временном предсказании, или внешние режимы, основанные на оценке 104 движения и компенсации 105 движения. Единица внутреннего кодирования обычно предсказывается исходя из кодированных пикселей на своей казуальной границе посредством процесса, называемого внутренним предсказанием.
Временное предсказание сперва состоит в обнаружении в предыдущем или будущем кадре, называемом опорным кадром 116, опорной области, которая наиболее близко совпадает с единицей кодирования на этапе 104 оценки движения. Эта опорная область образует блок-предиктор. Затем эта единица кодирования предсказывается с использованием блока-предиктора для вычисления остатка на этапе 105 компенсации движения.
В обоих случаях, пространственного и временного предсказания, остаток вычисляется посредством вычитания единицы кодирования из первоначального блока-предиктора.
При внутреннем предсказании, кодируется направление предсказания. При временном предсказании, кодируется по меньшей мере один вектор движения. Однако, для того, чтобы дополнительно уменьшить издержки скорости передачи битов, относящиеся к кодированию вектора движения, вектор движения кодируется ненапрямую. На самом деле, предполагая, что движение является однородным, особенно интересно кодировать вектор движения как разницу между этим вектором движения и вектором движения в его окружении. В стандарте кодирования H.264/AVC, например, векторы движения кодируются относительно среднего вектора, вычисленного между 3 блоками, размещенными над и слева от текущего блока. В битовом потоке кодируется только разница, также называемая остаточным вектором движения, вычисленная между средним вектором и вектором движения текущего блока. Это обрабатывается в модуле 117 "предсказания и кодирования Mv". Значение каждого кодированного вектора сохраняется в поле 118 векторов движения. Соседние векторы движения, используемые для предсказания, извлекаются из поля 118 векторов движения.
Затем, в модуле 106 выбирается режим, оптимизирующий показатели искажения в зависимости от скорости передачи. Для того, чтобы дополнительно уменьшить избыточности, преобразование, обычно DCT, применяется к остаточному блоку в модуле 107, и квантование применяется к коэффициентам в модуле 108. Квантованный блок коэффициентов затем энтропийно кодируется в модуле 109, и результат вставляется в битовый поток 110.
Кодер затем выполняет декодирование кодированного кадра для будущей оценки движения в модулях 111-116. Эти этапы обеспечивают кодеру и декодеру возможность иметь одинаковые опорные кадры. Чтобы реконструировать кодированный кадр, осуществляется обратное квантования остатка в модуле 111 и осуществляется обратное преобразование в модуле 112, для того, чтобы обеспечить "реконструированный" остаток в пиксельной области. Согласно режиму кодирования (внешнему или внутреннему), этот остаток добавляется к внешнему предиктору 114 или внутреннему предиктору 113.
Затем, эта первая реконструкция фильтруется в модуле 115 посредством одного или нескольких видов обработки постфильтром. Эти постфильтры интегрированы в кодированный и декодированный контур. Это означает, что они должны быть применены в отношении реконструированного кадра на стороне кодера и декодера, для того, чтобы одинаковый опорный кадр на стороне кодера и декодера. Цель этой обработки постфильтром состоит в удалении артефактов сжатия.
На Фигуре 2, представлен принцип декодера. Видеопоток 201 сначала энтропийно декодируется в модуле 202. Затем осуществляется обратное квантование остаточных данных в модуле 203, и осуществляется обратное преобразование в модуле 204, чтобы получить значения пикселей. Данные режима также энтропийно декодируются с учетом режима, выполняется декодирование внутреннего типа или декодирование внешнего типа. В случае внутреннего режима, определяется внутренний предиктор с учетом режима внутреннего предсказания, точно определенного в битовом потоке 205. Если режим является внешним, информация движения извлекается из битового потока 202. Она состоит из индекса опорного кадра и остатка вектора движения. Предиктор вектора движения добавляется к остатку вектора движения для получения вектора 210 движения. Вектор движения затем используется для локализации опорной области в опорном кадре 206. Следует отметить, что данные 211 поля вектора движения обновляются при помощи декодированного вектора движения, для того, чтобы использоваться для предсказания следующих декодированных векторов движения. Эта первая реконструкция декодированного кадра затем обрабатывается 207 постфильтром с помощью точно такого же постфильтра, который использовался на стороне кодера. Выводом декодера является распакованное видео 209.
Этот режим кодирования с копированием внутреннего блока особенно хорошо подходит для крайне повторяющихся шаблонов. В частности, известно, что он помогает при кодировании графических элементов, таких как глифы, графическое представление символа или обыкновенные GUI-элементы, которые очень трудно кодировать с использованием обыкновенных способов внутреннего предсказания.
Следует отметить, что предсказание основывается на когерентности между соседними единицами кодирования. Эта когерентность может быть географической, при рассмотрении внутри текущего кадра, или временной, при рассмотрении среди последовательных кадров. Этот вид когерентности возникает в естественных изображениях. Так как режим кодирования с копированием внутреннего блока рассматривается как режим, выделенный для текстовых или символических изображений, предсказание считается бесполезным для этого вида изображения. Например, нет причин иметь две последовательные единицы кодирования в изображении, представляющем текст, имеющие хорошие предикторы, близкие к друг другу. Первая единица кодирования может быть частью буквы "A", хороший блок-предиктор будет вследствие этого происходить от другой "A" в тексте. Тогда как следующей единицей кодирования будет буква "P", имеющая блок-предиктор от другой "P" в тексте. Нет причины, априори, иметь два блока-предиктора в одной и той же окрестности. Поэтому предшествующий уровень техники не предполагает введение предсказания в режим кодирования с копированием внутреннего блока.
В HEVC, возможно передать конкретные единицы NAL, называемые сообщениями SEI разных типов. Сообщения SEI содержат информацию, относящуюся к процессу отображения, и вследствие этого являются опциональными.
Фигура 3 показывает структуру кодирования, используемую в HEVC. Согласно HEVC и одному из его предыдущих предшественников, первоначальная видеопоследовательность 301 является рядом цифровых изображений "изображения i". Как известно специалистам в данной области техники, цифровое изображение представляется посредством одной или более матриц, коэффициенты которых представляют собой пиксели.
Изображения 302 делятся на слайсы (вырезки) 303. Слайс является частью изображения или целым изображением. В HEVC эти слайсы поделены на неперекрывающиеся блоки 304 дерева кодирования (CTB), обычно блоки с размером 64 пикселя × 64 пикселя. Каждый блок дерева кодирования может в свою очередь быть итерационно поделен на единицы 305 кодирования (CU) меньшего переменного размера с использованием декомпозиции дерева квадрантов. Единицы кодирования являются элементарными элементами кодирования и образованы двумя подединицами, которыми являются единица предсказания (PU) и единица преобразования (TU) с максимальным размером, равным размеру единицы кодирования. Единица предсказания соответствует разделу единицы кодирования для предсказания значений пикселей. Каждая единица кодирования может быть дополнительно разделена на максимум 4 квадратных единицы раздела или 2 прямоугольные единицы 306 раздела. Единицы преобразования используются для представления элементарных единиц, которые пространственно преобразуют с помощью DCT. Единица кодирования может быть разделена на TU, на основе представления 307 дерева квадрантов.
Каждый слайс осуществлен в одной единице NAL. В дополнение, параметры кодирования видеопоследовательности хранятся в выделенных единицах NAL, называемых наборами параметров. В HEVC и H.264/AVC используются два вида единиц NAL: первая, единица NAL "набор параметров последовательности (SPS)", которая собирает все параметры, которые неизменны в течение всей видеопоследовательности. Обычно, она имеет дело с профилем кодирования, размером видеокадров и другими параметрами. Во-вторых, набор параметров картинки (PPS) кодирует разные значения, которые могут изменяться от одного кадра к другому. HEVC включают в себя также набор параметров видео (VPS), который содержит параметры, описывающие общую структуру потока.
Для реализации в реальном времени или быстрой реализации, часто необходимо распараллеливать некоторые процессы кодирования и декодирования. Стандарт HEVC предлагает некоторый высокий уровень параллельности, как волновой фронт или мозаику или слайсы, для параллельности кадров и гибкого управления опорными кадрами для внешней параллельности. Эти инструменты не являются обязательными, пока, декодер должен декодировать относящийся к ним синтаксис, даже если они необязательны.
Данное изобретение предназначается для обработки волновых фронтов, когда она объединяется с инструментами копирования внутреннего блока из расширения контекста экрана для HEVC. Принцип обработки волновых фронтов представлен на Фигуре 4. Принцип состоит в распараллеливании процесса декодирования нескольких линий блока дерева кодирования. В противоположность мозаике или классическим слайсам, которые избегают некоторых предсказаний, чтобы предлагать параллельность, но генерируют некоторые потери в эффективности кодирования, волновой фронт сохраняет огромную часть предсказаний. Волновой фронт вносит задержку между каждой линией для распараллеливания. В примере по Фигуре 4, 4 потока выполняются параллельно. Так, 4 текущих блока дерева кодирования декодируются параллельно. Есть задержка между потоками; например, второму потоку требуется некоторая информация, декодированная первым потоком. Так это выполняется с задержкой в один блок дерева кодирования для энтропийного декодирования. Таким же образом, потоку 3 требуется некоторая декодирования информация из потока 2 и т.д. Если считается, что синтаксический анализ и реконструкция каждого блока дерева кодирования является в точности одинаковой, задержка должна быть на декодере в 2 блока дерева кодирования, как представлено на Фигуре 4. На самом деле, для реконструкции, верхняя правая единица кодирования верхнего правого блока дерева кодирования может быть нужна для декодирования текущего блока дерева кодирования. Так, для того, чтобы предотвратить ожидание потоком своего предыдущего потока, следует учитывать задержку в 2 блока дерева кодирования.
В стандарте HEVC, обработка волновых фронтов не задана явным образом. Явным образом описаны только некоторые повторные задания CABAC. Когда активирован флаг entropy_coding_sync_enabled_flag, и когда декодируется первый пиксель первого блока дерева кодирования из линии блоков дерева кодирования, контекстная переменная CABAC инициализируется с помощью пространственно соседнего блока T, как изображено на Фигуре 5. Более точно, контекстная переменная из CABAC принимает те же значения, что и значения блока T. Этот блок является первым блоком верхнего правого блока дерева кодирования. Если этот блок T не доступен, контекстные переменные инициализируются как первый блок дерева кодирования кадра.
Так, для волнового фронта HEVC только зависимости CABAC для первого блока каждого блока дерева кодирования отличаются от классического процесса декодирования. Для классического процесса декодирования, значения контекстных переменных первого блока дерева кодирования линии блоков дерева кодирования задаются равными значениям контекстных переменных последнего блока последнего блока дерева кодирования из предыдущей линии блоков дерева кодирования. Когда обеспечена возможность волнового фронта, эти контекстные переменные инициализируются с помощью волнового фронта верхнего правого блока дерева кодирования (T).Это единственное изменение, которое требуется на стороне декодера для использования волнового фронта и на кодере, и на декодере.
Более того, возможно повторно задать контекстные переменные CABAC как первый блок дерева кодирования кадра согласно некоторым синтаксическим элементам точки входа. Еще, эти конкретные точки входа не нужны для текущего решения.
Расширение кодирования контента экрана для HEVC при определении содержит дополнительные инструменты для эффективного кодирования последовательностей кодирования экрана. Добавленными в настоящее время инструментами являются режим копирования внутреннего блока, режим палитры и преобразование остаточного цвета. Текущее изобретение предназначено только для режима копирования внутреннего блока, так что только этот режим описывается ниже.
Еще, следует отметить, что режим палитры и режим копирования внутреннего блока являются новыми внутренними режимами и следовательно добавляются в модули 103 и 205 соответственно по Фигуре 1 и 2.
Копирование внутреннего блока (IBC) было добавлено как дополнительный режим для расширения кодирования контента экрана для HEVC. Этот способ предсказания особенно хорошо подходит для крайне повторяющихся шаблонов. В частности, известно, что он помогает при кодировании графических элементов, таких как глифы (т.е. графическое представление символа) или обыкновенные GUI-элементы, которые очень трудно кодировать с использованием обыкновенных способов внутреннего предсказания.
Фигура 6 иллюстрирует, как работает это режим предсказания с копированием внутреннего блока.
На высоком уровне, изображение делится на единицы кодирования, которые кодируются в порядке растрового сканирования. Таким образом, при кодировании блока 601, все блоки области 603 уже были кодированы/декодированы и могут считаться доступными для кодера/декодера. Область 603 называется казуальной областью единицы 601 кодирования. Как только единица 601 кодирования кодирована/декодирована, она будет принадлежать казуальной области для следующей единицы кодирования. Эта следующая единица кодирования, также как и все следующие единицы кодирования, принадлежит к области 604, проиллюстрированной как область с точками, и не может быть использована для кодирования текущей единицы 601 кодирования. Следует отметить, что казуальная область образована необработанными реконструированными блоками. Информация, используемая для кодирования заданной единицы кодирования, не является первоначальными блоками изображения по причине, что эта информация недоступна при декодировании. Единственно доступной информацией при декодировании является реконструированная версия блоков пикселей в казуальной области, а именно, декодированная версия этих блоков. По этой причине, при кодировании, ранее кодированные блоки казуальной области декодируются для предоставления этой реконструированной версии этих блоков.
Копирование внутреннего блока работает посредством сигнализации блока 602 в казуальной области, который должен быть использован для произведения предсказания блока 601. Например, блок 602 может найден посредством использования алгоритма сопоставления. В расширении контента экрана для HEVC, этот блок указан вектором 605 блока, и остаток этого вектора согласно предиктору передается в битовом потоке.
Предиктор копирования внутреннего блока происходит из всей реконструированной казуальной области текущего кадра. Для других внутренних режимов, казуальная область не обрабатывается контурным фильтром.
Этот вектор блока является разницей в координатах между конкретной точкой единицы 601 кодирования и эквивалентной точкой в блоке-предикторе 602. Хотя будет возможно использовать подпиксельную точность как для внешних блоков, это смещение осуществляется обычно в целых единицах пикселей, вследствие этого не требуется затратная подпиксельная интерполяции.
При текущей структуре копирования внутреннего блока, единица кодирования с копированием внутреннего блока может быть разбита на одну или 2 PU, как изображено на Фигуре 3. Для наименьшего размера единицы кодирования, 8×8, единица кодирования может быть также разбита на 4 PU по 4×4 пикселя каждая.
Для внешнего режима раздел N×N не доступен. Это значит, что размер блока 4×4 не может быть использован для внешнего режима. Нижеследующая таблица приводит размер блока для обоих режимов.
Размеры блоков Режим IBC Внешний режим
64×64 (2N×2N) X X
64×32 (2N×N) X X
32×64 (N×2N) X X
32×32 (2N×2N) X X
32×16 (2N×N) X X
16×32 (N×2N) X X
16×16 (2N×2N) X X
16×8 (2N×N) X X
8×16 (N×2N) X X
8×8 (2N×2N) X X
8×4 (2N×N) X X
4×8 (N×2N) X X
4×4 (N×N) X
В текущей реализации режима предсказания с копированием внутреннего блока, область поиска на стороне кодера зависит от размеров блоков. Это представлено в нижеследующей таблице:
Размер блока Поиск по всему диапазону
(Вне области 2 CTB)
Поиск в диапазоне 2 CTB Другое
64×64 Нет поиска
32×32 Нет поиска
16×16 Классический IBC-поиск Классический IBC-поиск
8×8 На основе хэша Классический IBC-поиск
4×8 Классический IBC-поиск
8×4 Классический IBC-поиск
4×4 Классический IBC-поиск
Следует отметить, что размеры PU 2N×N и N×2N протестированы только для единиц кодирования 8×8 в текущей реализации кодера. Эти размеры не изображены в этой таблице. Есть 2 типа оценки вектора блока с копированием внутреннего блока. Первым типом является классический поиск с копированием внутреннего блока, и он соответствует предназначенному алгоритму сопоставления блоков. Второй тип основан на алгоритме хэш-поиска. Также задаются два диапазона поиска.
Как изображено на Фигуре 7, для кадра 701, диапазон поиска из двух блоков дерева кодирования соответствует левому блоку 703 дерева кодирования и уже кодированным/декодированным блокам текущего блока 702 дерева кодирования 702. Уже кодированные блоки текущего блока дерева кодирования изображены в области с точками на Фигуре 7. Полнокадровый поиск соответствует всем уже кодированным/декодированным блокам 704 дерева кодирования.
В режиме копирования внутреннего блока вектор "блока" является разницей в координатах между конкретной точкой в блоке 601 для кодирования и эквивалентной точкой в блоке-предикторе 602 по Фигуре 6. Хотя будет возможно использовать подпиксельную точность как для внешних блоков, это смещение осуществляется в целых единицах пикселей, вследствие этого не требуется затратная подпиксельная интерполяции.
Этот вектор блока (BV) сам предсказывается с использованием предиктора, который может быть слева, выше BV или последним декодированным вектором блока текущего блока дерева кодирования или последним из последнего декодированного BV. Эти предикторы векторов происходят конечно из декодированного блока с копированием внутреннего блока. С помощью этих способов передается индекс предиктора.
Как упомянуто ранее, копирование внутреннего блока является внутренним режимом, так его предикторы происходят из необработанных реконструированных данных до какой-либо обработки контурным фильтром. Следовательно, реализации декодера с использованием обработки волновых фронтов должно быть уменьшено при декодировании. На самом деле, как изображено на Фигуре 8, предиктор блока с копированием внутреннего блока может происходить из блока дерева кодирования, который не был реконструирован. Так, это значит, что декодер может в полной мере ожидать процесса декодирования для предиктора копирования внутреннего блока. Так, рассматривая худший случай, который состоит в том, что каждый первый блок каждой линии блоков дерева кодирования указывает на последний блок каждой предыдущей линии блоков дерева кодирования, процесс декодирования с помощью волнового фронта не может быть существенно быстрее, чем классическое декодирование.
В первом варианте осуществления данного изобретения, для текущего блока дерева кодирования, диапазон поиска копирования внутреннего блока ограничен всеми левыми, верхним левым и верхним блоками дерева кодирования, и конечно, реконструированными блоками текущего блока дерева кодирования. Диапазоном поиска копирования внутреннего блока является область в изображении, где можно искать блок-предиктор для кодирования заданной единицы кодирования согласно режиму копирования внутреннего блока. Это значит, что верхний правый блок дерева кодирования считается недоступным для предсказания с копированием внутреннего блока на стороне кодера, и следовательно ни один предиктор блока с копированием внутреннего блока для текущего блока дерева кодирования не может указывать на какой-либо верхний правый блок дерева кодирования на стороне декодера. Фигура 9 показывает этот вариант осуществления для текущего блока дерева кодирования потока 4.
А именно, диапазон поиска для режима копирования внутреннего блока определяется как область, образованная блоками дерева кодирования с координатами (X,Y), такими что:
Y≤Y0 и X≤X0
где X представляет собой горизонтальную координату, Y представляет собой вертикальную координату, причем начало координат находится в верхнем левом углу изображения, и где (X0,Y0) являются координатами текущего блока дерева кодирования. Естественно, для текущего блока дерева кодирования, область содержит только уже реконструированные блоки.
Это решение является очень простым в том, что касается реализации, и значительно упрощает процесс с волновыми фронтами.
В других вариантах осуществления, для того, чтобы повысить эффективность кодирования, больше реконструированных блоков доступно для предсказания с копированием внутреннего блока или для текущего блока дерева кодирования.
В одном варианте осуществления, все блоки дерева кодирования (CTB), размещающиеся слева от диагонали, которая начинается в верхней правой части текущего блока дерева кодирования и заканчивается в верхнем крае изображения, доступны для предсказания с копированием внутреннего блока. Упомянутая диагональ следует ступенчатому (т.е. в форме лестницы) пути, который следует линии, которая проходит один CTB в положительном направлении вдоль оси x, за которым следует один CTB в отрицательном направлении вдоль оси y, и т.д., пока линия не достигнет верхнего края изображения. В дополнение, любые уже реконструированные CTB текущего ряда (потока) CTB и любые реконструированные блоки текущего CTB также доступны для предсказания с копированием внутреннего блока. Фигура 10 показывает этот вариант осуществления для текущего блока дерева кодирования 4го потока. На стороне декодера предикторы копирования внутреннего блока для текущего блока дерева кодирования происходят только из этой области. Это соответствует кодеру, использующему задержку в один блок дерева кодирования между потоками.
А именно, в этом варианте осуществления, диапазон поиска для режима копирования внутреннего блока определяется как область, образованная блоками дерева кодирования с координатами (X,Y), такими что:
Y≤Y0 и (X-X0)≤-(Y-Y0).
В другом варианте осуществления, все блоки дерева кодирования слева от диагонали с задержкой в 2 блока дерева кодирования доступны для предсказания с копированием внутреннего блока в дополнение к реконструированным блокам текущего блока дерева кодирования. Фигура 11 показывает этот вариант осуществления для текущего блока дерева кодирования 4го потока.
А именно, в этом варианте осуществления, диапазон поиска для режима копирования внутреннего блока определяется как область, образованная блоками дерева кодирования с координатами (X,Y), такими что:
Y≤Y0 и (X-X0)≤-2*(Y-Y0)
Этот вариант осуществления увеличивает эффективность кодирования в сравнении с первым вариантом осуществления, но как показано на Фигуре 11, потенциально этот диапазон поиска увеличивает задержку между потоками.
В другом варианте осуществления, все блоки дерева кодирования слева от диагонали с задержкой в 1 блок дерева кодирования для предыдущей линии блоков дерева кодирования и в 2 блока дерева кодирования для всех предыдущих линий блоков дерева кодирования доступны для предсказания с копированием внутреннего блока в дополнение к реконструированным блокам текущего блока дерева кодирования. Фигура 12 показывает этот вариант осуществления для текущего блока дерева кодирования 4го потока. Он соответствует декодеру, который декодирует кадр с задержкой в 2 блока дерева кодирования между потоками, для того, чтобы иметь верхнюю правую единицу кодирования доступной для декодирования текущего блока дерева кодирования. Эта область наиболее предназначена для обработки волновых фронтов декодером.
А именно, в этом варианте осуществления, диапазон поиска для режима копирования внутреннего блока определяется как область, образованная блоками дерева кодирования с координатами (X,Y), такими что:
Y≤Y0 и (X-X0)≤-2*(Y-Y0)
В одном варианте осуществления, каждый блок с копированием внутреннего блока потока может осуществлять доступ только к блокам, реконструированным тем же самым потоком. Это соответствует использованию области поиска линии блоков дерева кодирования для копирования внутреннего блока на стороне кодера. Этот вариант осуществления предлагает гибкое декодирование для обработки волновых фронтов. На самом деле, нет дополнительных зависимостей между линиями блоков дерева кодирования в сравнении с реализацией без копирования внутреннего блока, но это уменьшает эффективность кодирования.
А именно, в этом варианте осуществления, диапазон поиска для режима копирования внутреннего блока определяется как область, образованная блоками дерева кодирования с координатами (X,Y), такими что:
X≤X0 и Y=Y0.
В конкретном варианте осуществления, когда волновой фронт активирован, и кодер и декодер используют параллельность волнового фронта с требуемым числом потоков. Более того, для этого варианта осуществления, потоки синхронизируются. Это значит, что каждый поток, перед началом декодирования следующего блока дерева кодирования, ожидает окончания декодирования всех блоков дерева кодирования других потоков. В этом случае, в кодере и декодере, реконструкция всех блоков синхронизируется на уровне блока дерева кодирования. В этом варианте осуществления, блок с копированием внутреннего блока потока может обработать все доступные реконструированные блоки дерева кодирования, даже если блок дерева кодирования находится ниже линий блоков дерева кодирования. Например, на Фигуре 12 каждый блок с копированием внутреннего блока каждого декодированного блока дерева кодирования (обозначенного X) может осуществить доступ ко всем доступным данным потока 4 в классической реализации. Дополнительно, каждый блок блока дерева кодирования может осуществить доступ ко всем реконструированным блокам своего собственного блока дерева кодирования. Преимущество этого варианта осуществления состоит в том, что он увеличивает среднее число блоков для каждого блока дерева кодирования и он увеличивает область поиска для первой линии блоков дерева кодирования, для которой скорость передачи битов в общем выше из-за нехватки возможных предсказаний в сравнении с другими следующими линиями блоков дерева кодирования. Следует отметить, что в этом варианте осуществления, однопоточный декодер может получить те же результаты декодирования, как и многопоточный декодер. На самом деле, обязательной является только синхронизация блоков дерева кодирования.
Фигура 13 показывает порядок декодирования CTB, реализация с однопоточным декодером реализация используется для задержки в 2 CTB. Требуется другой порядок, если рассматриваемая задержка составляет 1 CTB.
Фигура 14 принципиальной блок-схемой вычислительного устройства 1400 для реализации одного или более вариантов осуществления данного изобретения. Вычислительным устройством 1400 может быть устройство, такое как микрокомпьютер, рабочая станция или легкое портативное устройство. Вычислительное устройство 1400 содержит шину связи, соединенную с:
- центральным процессором 1401, таким как микропроцессор, обозначенным CPU;
- оперативной памятью 1402, обозначенной RAM, для хранения исполняемого кода способа вариантов осуществления данного изобретения, также как и регистров, адаптированных для записи переменных и параметров, необходимых для реализации способа кодирования или декодирования по меньшей мере части изображения согласно вариантам осуществления данного изобретения, емкость ее памяти может быть расширена посредством опциональной RAM, соединенной с портом расширения, например;
- постоянной памятью 1403, обозначенной ROM, для хранения компьютерных программ для реализации вариантов осуществления данного изобретения;
- сетевой интерфейс 1404 обычно соединен с сетью связи, по которой передаются или принимаются цифровые данные, которые должны быть обработаны. Сетевой интерфейс 1404 может быть одиночным сетевым интерфейсом, или состоять из набора разных сетевых интерфейсов (например, проводных и беспроводных интерфейсов, или разных видов проводных или беспроводных интерфейсов). Пакеты данных пишутся в сетевой интерфейс для передачи или считываются из сетевого интерфейса для приема под управлением программного приложения, выполняющегося в CPU 1401;
- пользовательский интерфейс 1405 может быть использован для приема вводов от пользователя или для отображения информации пользователю;
- жесткий диск 1406, обозначенный HD, может предусматриваться как устройство хранения большой емкости;
- модуль 1407 I/O может быть использован для приема/отправки данных от/на внешние устройства, такие как источник видео или дисплей.
Исполняемый код может храниться либо в постоянной памяти 1403, на жестком диске 1406, либо в съемной цифровой среде, такой как, например, диск. Согласно варианту, исполняемый код программ может быть принят посредством сети связи, через сетевой интерфейс 1404, для того, чтобы быть сохраненным в одном из средств хранения устройства 1400 связи, таком как жесткий диск 1406, перед исполнением.
Центральный процессор 1401 адаптирован для управления и руководства исполнением инструкций или участков программного кода программы или программ согласно вариантам осуществления данного изобретения, чьи инструкции хранятся в одном из вышеупомянутых средств хранения. После подачи питания, CPU 1401 имеет возможность исполнения инструкций из главной оперативной памяти 1402, относящихся к программному приложению, после загрузки этих инструкций из ROM 1403 для программ или жесткого диска (HD) 1406, например. Такое программное приложение, при исполнении посредством CPU 1401, вызывает выполнение этапов из схем последовательности операций, описанных в настоящем документе.
Любой этап алгоритма, описанного в настоящем документе, может быть реализован программно посредством исполнения набора инструкций или программы посредством программируемой вычислительной машины, такой как PC ("персональный компьютер"), DSP ("процессор цифровой обработки сигналов") или микроконтроллер; или в ином случае реализован аппаратно посредством машины или выделенного компонента, такого как FPGA ("программируемая пользователем вентильная матрица") или ASIC ("специализированная интегральная микросхема").
Хотя настоящее изобретение было описано выше со ссылкой на конкретные варианты осуществления, настоящее изобретение не ограничивается конкретными вариантами осуществления, и модификации будут понятны специалистам в данной области техники, которые лежат в рамках объема настоящего изобретения.
Многие дополнительные модификации и вариации предложат себя сведущим в данной области техники после обращения к вышеприведенным иллюстративным вариантам осуществления, которые даны только в качестве примера, и которые не предназначены для ограничения объема данного изобретения, которые определяются лишь прилагаемой формулой изобретения. В частности, разные признаки из разных вариантов осуществления могут взаимозаменяться, где необходимо.
В формуле изобретения, слово "содержащий" не исключает других элементов или этапов, и указание единственного числа не исключает их множественности. Сам факт, что разные признаки перечислены в обоюдно разных зависимых пунктах формулы изобретения, не указывает на то, что комбинации этих признаков нельзя использовать с пользой.

Claims (18)

1. Способ кодирования изображения, причем изображение содержит множество блоков дерева кодирования, состоящих из блоков пикселей, причем каждый блок пикселей кодируется согласно режиму из множества режимов, причем один такой режим является режимом, в котором блок кодируется на основе блока-предиктора, являющегося блоком текущего изображения, причем способ содержит этап, на котором:
определяют область поиска для вышеуказанного одного режима как область, образованную доступными реконструированными блоками текущего блока дерева кодирования, причем доступность реконструированных блоков определяется на основе порядка сканирования, и блоками дерева кодирования, имеющими координаты (X,Y), где
Y≤Y0 и (X-X0)≤-(Y-Y0),
где X представляет собой горизонтальную координату, Y представляет собой вертикальную координату, причем начало координат находится в верхнем левом углу изображения, и (X0,Y0) являются координатами текущего блока дерева кодирования.
2. Способ декодирования изображения, причем изображение содержит множество блоков дерева кодирования, состоящих из блоков пикселей, причем каждый блок пикселей кодируется согласно режиму из множества режимов, причем один такой режим является режимом, в котором блок декодируется на основе блока-предиктора, являющегося блоком текущего изображения, причем способ содержит этап, на котором ограничивают область, из которой вышеуказанный блок-предиктор может быть получен для вышеуказанного одного режима, областью, образованной доступными реконструированными блоками текущего блока дерева кодирования, причем доступность реконструированных блоков определяется на основе порядка сканирования, и блоками дерева кодирования, имеющими координаты (X,Y), где
Y≤Y0 и (X-X0)≤-(Y-Y0),
где X представляет собой горизонтальную координату, Y представляет собой вертикальную координату, причем начало координат находится в верхнем левом углу изображения, и (X0,Y0) являются координатами текущего блока дерева кодирования.
3. Устройство для кодирования изображения, причем изображение содержит множество блоков дерева кодирования, состоящих из блоков пикселей, причем каждый блок пикселей кодируется согласно режиму из множества режимов, причем один такой режим является режимом, в котором блок кодируется на основе блока-предиктора, являющегося блоком текущего изображения, причем устройство содержит:
средство для определения области поиска для вышеуказанного одного режима как области, образованной доступными реконструированными блоками текущего блока дерева кодирования, причем доступность реконструированных блоков определяется на основе порядка сканирования, и блоками дерева кодирования, имеющими координаты (X,Y), где
Y≤Y0 и (X-X0)≤-(Y-Y0),
где X представляет собой горизонтальную координату, Y представляет собой вертикальную координату, причем начало координат находится в верхнем левом углу изображения, и (X0,Y0) являются координатами текущего блока дерева кодирования.
4. Устройство для декодирования изображения, причем изображение содержит множество блоков дерева кодирования, состоящих из блоков пикселей, причем каждый блок пикселей декодируется согласно режиму из множества режимов, причем один такой режим является режимом, в котором блок декодируется на основе блока-предиктора, являющегося блоком текущего изображения, причем устройство содержит:
средство для ограничения области, из которой может быть получен вышеуказанный блок-предиктор, областью, образованной доступными реконструированными блоками текущего блока дерева кодирования, причем доступность реконструированных блоков определяется на основе порядка сканирования, и блоками дерева кодирования, имеющими координаты (X,Y), где
Y≤Y0 и (X-X0)≤-(Y-Y0),
где X представляет собой горизонтальную координату, Y представляет собой вертикальную координату, причем начало координат находится в верхнем левом углу изображения, и (X0,Y0) являются координатами текущего блока дерева кодирования.
5. Система для кодирования и декодирования изображения, причем система содержит устройство для кодирования изображения по п. 3 и устройство для декодирования изображения по п. 4.
6. Компьютерно-читаемый носитель информации, хранящий компьютерную программу для программируемого устройства, которая при исполнении предписывает программируемому устройству осуществлять способ по п. 1.
7. Компьютерно-читаемый носитель информации, хранящий компьютерную программу для программируемого устройства, которая при исполнении предписывает программируемому устройству осуществлять способ по п. 2.
RU2018126868A 2014-10-06 2015-10-06 Способ и устройство для кодирования вектора при кодировании и декодировании видео RU2684200C2 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
GB1417634.1 2014-10-06
GB1417634.1A GB2531001B (en) 2014-10-06 2014-10-06 Method and apparatus for vector encoding in video coding and decoding

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
RU2017115409A Division RU2663348C1 (ru) 2014-10-06 2015-10-06 Способ и устройство для кодирования вектора при кодировании и декодировании видео

Publications (3)

Publication Number Publication Date
RU2018126868A RU2018126868A (ru) 2019-03-13
RU2018126868A3 RU2018126868A3 (ru) 2019-03-13
RU2684200C2 true RU2684200C2 (ru) 2019-04-04

Family

ID=51946909

Family Applications (2)

Application Number Title Priority Date Filing Date
RU2018126868A RU2684200C2 (ru) 2014-10-06 2015-10-06 Способ и устройство для кодирования вектора при кодировании и декодировании видео
RU2017115409A RU2663348C1 (ru) 2014-10-06 2015-10-06 Способ и устройство для кодирования вектора при кодировании и декодировании видео

Family Applications After (1)

Application Number Title Priority Date Filing Date
RU2017115409A RU2663348C1 (ru) 2014-10-06 2015-10-06 Способ и устройство для кодирования вектора при кодировании и декодировании видео

Country Status (8)

Country Link
US (1) US11051037B2 (ru)
EP (1) EP3205091B1 (ru)
JP (1) JP6590918B2 (ru)
KR (1) KR102076398B1 (ru)
CN (1) CN106797464B (ru)
GB (1) GB2531001B (ru)
RU (2) RU2684200C2 (ru)
WO (1) WO2016055484A1 (ru)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016165623A1 (en) * 2015-04-13 2016-10-20 Mediatek Inc. Methods of constrained intra block copy for reducing worst case bandwidth in video coding
WO2018076336A1 (zh) * 2016-10-31 2018-05-03 富士通株式会社 视频解码方法、视频解码装置和电子设备
FR3068558A1 (fr) 2017-07-05 2019-01-04 Orange Procede de codage et decodage d'images,dispositif de codage et decodage et programmes d'ordinateur correspondants
FR3062010A1 (fr) 2017-07-05 2018-07-20 Orange Procedes et dispositifs de codage et de decodage d'un flux de donnees representatif d'une sequence d'images
FR3068557A1 (fr) * 2017-07-05 2019-01-04 Orange Procede de codage et decodage d'images,dispositif de codage et decodage et programmes d'ordinateur correspondants
EP3806471A4 (en) * 2018-06-01 2022-06-08 Sharp Kabushiki Kaisha PICTURE DECODING DEVICE AND PICTURE CODING DEVICE
MX2023002949A (es) * 2018-07-18 2023-11-07 Beijing Dajia Internet Information Tech Co Ltd Métodos y aparato de codificación de video que usa el campo técnico de predicción de vectores de movimiento basado en el historial.
US11159788B2 (en) * 2018-08-03 2021-10-26 Mediatek Inc. Method and apparatus of enhanced Intra Block Copying mode for video coding
WO2020108574A1 (en) * 2018-11-28 2020-06-04 Beijing Bytedance Network Technology Co., Ltd. Improving method for transform or quantization bypass mode
WO2020125798A1 (en) 2018-12-22 2020-06-25 Beijing Bytedance Network Technology Co., Ltd. Intra block copy mode with dual tree partition
JP7409320B2 (ja) 2018-12-21 2024-01-09 ソニーグループ株式会社 画像処理装置および方法
CA3127848A1 (en) 2019-02-02 2020-08-06 Beijing Bytedance Network Technology Co., Ltd. Buffer management for intra block copy in video coding
EP3900349A4 (en) 2019-02-02 2023-08-02 Beijing Bytedance Network Technology Co., Ltd. BUFFER MANAGEMENT FOR INTRA BLOCK COPY IN VIDEO CODING
EP3915265A4 (en) 2019-03-01 2022-06-22 Beijing Bytedance Network Technology Co., Ltd. DIRECTION-BASED PREDICTION FOR INTRA BLOCK COPY IN VIDEO CODING
CN117640927A (zh) 2019-03-04 2024-03-01 北京字节跳动网络技术有限公司 视频编解码中的帧内块复制中的实施方式方面
US11252442B2 (en) * 2019-04-08 2022-02-15 Tencent America LLC Method and apparatus for video coding
MX2022000102A (es) 2019-07-06 2022-02-03 Beijing Bytedance Network Tech Co Ltd Bufer de prediccion virtual para la copia intra-bloque en codificacion de video.
MX2022000110A (es) 2019-07-10 2022-02-10 Beijing Bytedance Network Tech Co Ltd Identificacion de muestras para la copia intra-bloque en codificacion de video.
CN114097221B (zh) 2019-07-11 2024-01-12 北京字节跳动网络技术有限公司 用于视频编解码中的帧内块复制的比特流一致性约束
CA3148207A1 (en) * 2019-07-25 2021-01-28 Beijing Bytedance Network Technology Co., Ltd. Mapping restriction for intra-block copy virtual buffer
EP4018664A4 (en) 2019-09-23 2022-11-16 Beijing Bytedance Network Technology Co., Ltd. SETTING THE VIRTUAL BLOCK COPY BUFFER BASED ON A VIRTUAL PIPELINE DATA UNIT
CN115362674A (zh) 2020-03-18 2022-11-18 抖音视界有限公司 帧内块复制缓冲区和调色板预测值更新

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2350040C1 (ru) * 2002-04-23 2009-03-20 Нокиа Корпорейшн Способ и устройство для указания параметров квантователя в системе видеокодирования
WO2012008608A1 (en) * 2010-07-15 2012-01-19 Sharp Kabushiki Kaisha Parallel video coding based on prediction type
US20120082238A1 (en) * 2010-10-01 2012-04-05 General Instrument Corporation Coding and decoding utilizing picture boundary variability in flexible partitioning
US20130121417A1 (en) * 2011-11-16 2013-05-16 Qualcomm Incorporated Constrained reference picture sets in wave front parallel processing of video data
US20130182774A1 (en) * 2012-01-18 2013-07-18 Qualcomm Incorporated Indication of use of wavefront parallel processing in video coding
US20130272370A1 (en) * 2012-04-11 2013-10-17 Qualcomm Incorporated Wavefront parallel processing for video coding

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101064849A (zh) 2006-04-29 2007-10-31 鲁海宁 动态图像编码方法、装置和计算机可读记录介质
CN102781559B (zh) 2010-03-23 2014-12-17 东丽株式会社 分离膜及其制造方法
US8837592B2 (en) 2010-04-14 2014-09-16 Mediatek Inc. Method for performing local motion vector derivation during video coding of a coding unit, and associated apparatus
US10390034B2 (en) * 2014-01-03 2019-08-20 Microsoft Technology Licensing, Llc Innovations in block vector prediction and estimation of reconstructed sample values within an overlap area
US10477232B2 (en) * 2014-03-21 2019-11-12 Qualcomm Incorporated Search region determination for intra block copy in video coding
CN106576176B (zh) * 2014-06-20 2020-10-02 索尼公司 图像编码设备和方法以及图像解码设备和方法
JP6446070B2 (ja) * 2014-07-07 2018-12-26 寰發股▲ふん▼有限公司HFI Innovation Inc. イントラブロックコピー検索と補償範囲の方法
US10812817B2 (en) * 2014-09-30 2020-10-20 Microsoft Technology Licensing, Llc Rules for intra-picture prediction modes when wavefront parallel processing is enabled
CN107409220B (zh) * 2015-01-29 2020-07-24 Vid拓展公司 块内拷贝搜索

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2350040C1 (ru) * 2002-04-23 2009-03-20 Нокиа Корпорейшн Способ и устройство для указания параметров квантователя в системе видеокодирования
WO2012008608A1 (en) * 2010-07-15 2012-01-19 Sharp Kabushiki Kaisha Parallel video coding based on prediction type
US20120082238A1 (en) * 2010-10-01 2012-04-05 General Instrument Corporation Coding and decoding utilizing picture boundary variability in flexible partitioning
US20130121417A1 (en) * 2011-11-16 2013-05-16 Qualcomm Incorporated Constrained reference picture sets in wave front parallel processing of video data
US20130182774A1 (en) * 2012-01-18 2013-07-18 Qualcomm Incorporated Indication of use of wavefront parallel processing in video coding
US20130272370A1 (en) * 2012-04-11 2013-10-17 Qualcomm Incorporated Wavefront parallel processing for video coding

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
GORDON CLARE et al. "Wavefront Parallel Processing for HEVC Encoding and Decoding", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 6th Meeting: Torino, IT, 14-22 July, 2011, 16 c., Document: *
GORDON CLARE et al. "Wavefront Parallel Processing for HEVC Encoding and Decoding", Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, 6th Meeting: Torino, IT, 14-22 July, 2011, 16 c., Document: JCTVC-F274, опубл. 01.07.2011. *

Also Published As

Publication number Publication date
GB2531001B (en) 2019-06-05
RU2018126868A (ru) 2019-03-13
JP2017535150A (ja) 2017-11-24
JP6590918B2 (ja) 2019-10-16
WO2016055484A1 (en) 2016-04-14
US11051037B2 (en) 2021-06-29
CN106797464A (zh) 2017-05-31
EP3205091B1 (en) 2023-05-17
US20180302645A1 (en) 2018-10-18
RU2018126868A3 (ru) 2019-03-13
CN106797464B (zh) 2020-10-30
GB201417634D0 (en) 2014-11-19
EP3205091A1 (en) 2017-08-16
GB2531001A (en) 2016-04-13
KR20170063808A (ko) 2017-06-08
KR102076398B1 (ko) 2020-02-11
RU2663348C1 (ru) 2018-08-03

Similar Documents

Publication Publication Date Title
RU2684200C2 (ru) Способ и устройство для кодирования вектора при кодировании и декодировании видео
JP6882560B2 (ja) 画像予測方法および装置
US10555006B2 (en) Deriving bilateral filter information based on a prediction mode in video coding
US11044473B2 (en) Adaptive loop filtering classification in video coding
US20180184127A1 (en) Determining neighboring samples for bilateral filtering in video coding
US20190238845A1 (en) Adaptive loop filtering on deblocking filter results in video coding
US20190306513A1 (en) Position dependent intra prediction combination extended with angular modes
US11647214B2 (en) Multiple transforms adjustment stages for video coding
Alvarez-Mesa et al. Parallel video decoding in the emerging HEVC standard
US20160373745A1 (en) Grouping palette bypass bins for video coding
CN111373752A (zh) 用于在视频译码中自适应的环路滤波的线路缓冲减少
AU2013228045A1 (en) Method, apparatus and system for encoding and decoding video data
TW201444350A (zh) 方形區塊預測
US10484721B2 (en) Method for motion estimation of non-natural video data
GB2533905A (en) Method and apparatus for video coding and decoding
WO2015145504A1 (ja) 画像復号装置、画像復号方法、及び集積回路
US10356422B2 (en) Fast rate-distortion optimized quantization
NZ737096B2 (en) Grouping palette bypass bins for video coding