Инициализация контекста на основе буфера картинок декодера

Иллюстрации

Показать все

Изобретение относится к кодированию видео и инициализации контекста. Технический результат – повышение эффективности декодирования видеокадра. Способ декодирования видеокадра содержит этапы, на которых принимают слайс, принимают флаг, который используется в определении одного из трех способов инициализации, и инициализируют контекст контекстно-зависимого адаптивного двоичного арифметического кодирования (CABAC), ассоциированный с типом слайса, при этом в случае, когда тип слайса указывает тип слайса B и значение флага равно первому значению, контекст CABAC, ассоциированный с типом слайса B, инициализируется первым способом инициализации из трех способов инициализации, в случае, когда тип слайса указывает тип слайса B и значение флага равно второму значению, контекст CABAC, ассоциированный с типом слайса B, инициализируется вторым способом инициализации из трех способов инициализации, при этом второй способ инициализации используется для инициализации контекста CABAC, ассоциированного с типом слайса P, в случае когда тип слайса указывает тип слайса P и значение флага равно первому значению, и в случае, когда тип слайса указывает тип слайса I, контекст CABAC, ассоциированный с типом слайса I, инициализируется третьим способом инициализации из трех способов инициализации без использования флага. 6 н.п. ф-лы, 43 ил.

Реферат

ОБЛАСТЬ ТЕХНИКИ, К КОТОРОЙ ОТНОСИТСЯ ИЗОБРЕТЕНИЕ

Варианты осуществления настоящего изобретения относятся в основном к кодированию видео и, в частности, некоторые варианты осуществления настоящего изобретения относятся к методам для инициализации контекста.

ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ

Способы и методы кодирования видео существующего уровня техники, например, H.264/MPEG-4 AVC (H.264/AVC) и опытная модель на рассмотрении (TMuC) JCT-VC, могут предоставить более высокую эффективность кодирования, чем более старые способы и стандарты, за счет более высокой сложности. Увеличение требований качества и требований разрешения к способам и стандартам кодирования видео может также увеличить их сложность. Декодеры, которые поддерживают параллельное декодирование, могут улучшить скорости декодирования и уменьшить требования к памяти. Дополнительно, усовершенствования в многоядерных процессорах могут сделать желательными кодеры и декодеры, которые поддерживают параллельное декодирование.

H.264/MPEG-4 AVC [Joint Video Team ITU-T VCEG и ISO/IEC MPEG, "H.264: Advanced video coding for generic audiovisual services", ITU-T Rec. H.264 и ISO/IEC 14496-10 (MPEG4 - часть 10), ноябрь 2007], которая настоящим включена в настоящий документ посредством ссылки в полном объеме, является спецификацией видеокодека (кодера/декодера), которая использует предсказание макроблоков, за которым следует кодирование остатка, чтобы уменьшить временную и пространственную избыточность в видеопоследовательности для эффективного сжатия.

Опытная модель на рассмотрении (TMuC) [JCT-VC A205, "Test Model under Consideration," июнь 16, 2010], которая настоящим включена посредством ссылки в полном объеме, является первоначальной опытной моделью JCT-VC. TMuC, использующая базовую единицу кодирования, называемую блоком дерева кодирования (CTB), которая может иметь переменные размеры, может предоставить больше гибкости, чем H.264/AVC.

СУЩНОСТЬ ИЗОБРЕТЕНИЯ

Некоторые варианты осуществления настоящего изобретения содержат способы и системы для параллельного энтропийного кодирования. Некоторые варианты осуществления настоящего изобретения могут содержать способы и системы для параллельного энтропийного декодирования.

Один вариант осуществления настоящего изобретения раскрывает способ декодирования видеокадра видеопоследовательности, содержащий этапы, на которых:

(a) принимают слайс в видеодекодере;

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

(c) инициализируют контекст, ассоциированный с вышеуказанного слайса, с использованием способа инициализации контекста, соответствующего вышеуказанному типу слайса;

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

Один вариант осуществления настоящего изобретения раскрывает способ для декодирования видеокадра в видеопоследовательности, содержащий этапы, на которых:

(a) принимают слайс в видеодекодере;

(b) идентифицируют, является ли вышеуказанный слайс предсказанным B-слайсом;

(c) инициализируют, с использованием метода, отличного от используемого для B-слайса, контекст, ассоциированный с вышеуказанным слайсом.

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

Фиг.1 является картинкой, показывающей H.264/AVC-видеокодер (известный уровень техники);

Фиг.2 является картинкой, показывающей H.264/AVC-видеодекодер (известный уровень техники);

Фиг.3 является картинкой, показывающей примерную структуру слайса (известный уровень техники);

Фиг.4 является картинкой, показывающей примерную структуру группы слайсов (известный уровень техники);

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

Фиг.6 является схемой, показывающей примерные варианты осуществления настоящего изобретения, содержащие энтропийный слайс;

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

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

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

Фиг.10 является схемой, показывающей примерные варианты осуществления настоящего изобретения, содержащие транскодирование битового потока посредством энтропийного декодирования, образующего энтропийные слайсы, и энтропийное кодирование;

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Фиг.25 является картинкой, показывающей примерное разделение реконструированного блока на множество энтропийных слайсов, в которых макроблоки внутри энтропийного слайса являются смежными;

Фиг.26 является картинкой, показывающей примерное разделение реконструированного блока на множество энтропийных слайсов, в которых макроблоки внутри энтропийного слайса не являются смежными;

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

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

Фиг.29 является графическим представлением примерного участка примерного битового потока, изображающим ограничения размещения заголовка энтропийного слайса;

Фиг.30 является графическим представлением примерного участка примерного битового потока, изображающим ограничения размещения заголовка энтропийного слайса;

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

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

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

Фиг.34 является картинкой, иллюстрирующей примерную схему инициализации таблицы контекста внутри энтропийных слайсов, согласно вариантам осуществления настоящего изобретения;

Фиг.35 является картинкой иллюстрирующей адаптацию сканирования в примерных вариантах осуществления настоящего изобретения;

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

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

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

Фиг.39 является картинкой, иллюстрирующей примерное разделение без пересечения некоторого числа обработанных двоичных элементов;

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

Фиг.41 иллюстрирует метод инициализации контекста;

Фиг.42 иллюстрирует другой метод инициализации контекста; и

Фиг.43 иллюстрирует метод инициализации контекста.

ОПИСАНИЕ ВАРИАНТОВ ОСУЩЕСТВЛЕНИЯ

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

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

Элементы вариантов осуществления настоящего изобретения могут быть осуществлены в виде аппаратных средств, программно-аппаратных средств (firmware) и/или программного обеспечения. Тогда как примерные варианты осуществления, показанные в настоящем документе, могут только описывать одну из этих форм, следует понимать, что специалист в данной области техники будет способен привести в исполнение эти элементы в любой из этих форм, пока держатся в пределах объема настоящего изобретения.

Тогда как любой видеокодер/декодер (кодек), который использует энтропийное кодирование/декодирование, может быть приспособлен посредством вариантов осуществления настоящего изобретения, многие примерные варианты осуществления настоящего изобретения будут проиллюстрированы относительно H.264/AVC-кодера и H.264/AVC-декодера. Это предназначено для иллюстрации вариантов осуществления настоящего изобретения, а не в качестве ограничения.

Многие примерные варианты осуществления настоящего изобретения могут быть описаны относительно макроблока, как элементарной единицы. Это предназначено для иллюстрации, а не в качестве ограничения.

Патентная заявка США № 12/058301, озаглавленная "Methods and Systems for Parallel Video Encoding and Decoding", поданная 28 марта 2008 года, настоящим включена в настоящий документ посредством ссылки в полном объеме. Патентная заявка США № 12/579236, озаглавленная "Methods and Systems for Parallel Video Encoding and Decoding", поданная 14 октября 2009 года, настоящим включена в настоящий документ посредством ссылки в полном объеме.

Способы и стандарты кодирования видео существующего уровня техники, например, H.264/AVC и TMuC, могут обеспечить более высокую эффективность кодирования, чем другие способы и стандарты за счет более высокой сложности. Увеличение требований по качеству и требований по разрешению к способам и стандартам кодирования видео может также увеличить их сложность. Декодеры, которые поддерживают параллельное декодирование, могут улучшить скорости декодирования и уменьшить требования к памяти. Дополнительно, усовершенствования в многоядерных процессорах могут сделать желательными кодеры и декодеры, которые поддерживают параллельное декодирование.

H.264/AVC и многие другие стандарты и способы кодирования видео основаны на подходе гибридного кодирования видео на основе блоков, в котором алгоритмом кодирования источника является гибрид предсказания между картинками, также считающегося межкадровым, предсказания внутри картинки, также считающегося внутрикадровым, и кодирования с преобразованием остатка предсказания. Межкадровое предсказание может использовать временную избыточность, и внутрикадровое кодирование и кодирование с преобразованием остатка предсказания могут использовать пространственную избыточность.

Фиг.1 показывает блок-схему примерного H.264/AVC-видеокодера 2. Входная картинка 4, также считающаяся кадром, может быть представлена для кодирования. Могут быть произведены предсказанный сигнал 6 и остаточный сигнал 8, при этом предсказанный сигнал 6 может быть основан либо на межкадровом предсказании 10, либо на внутрикадровом предсказании 12.

Межкадровое предсказание 10 может быть определено посредством секции 14 компенсации движения с использованием хранящейся опорной картинки 16, также считающейся опорным кадром, и информации 19 движения, определенной посредством процесса секции 18 оценки движения между входным кадром 4 и опорным кадром 16. Внутрикадровое предсказание 12 может быть определено посредством секции 20 внутрикадрового предсказания с использованием декодированного сигнала 22. Остаточный сигнал 8 может быть определен посредством вычитания входа 4 из предсказания 6. Остаточный сигнал 8 преобразуется, масштабируется и квантуется посредством секции 24 преобразования/масштабирования/квантования, тем самым производя квантованные коэффициенты 26 преобразования. Декодированный сигнал 22 может быть сгенерирован посредством прибавления сигнала 6 к сигналу 28, сгенерированному секцией 30 обратного (преобразования/масштабирования/квантования) с использованием квантованных коэффициентов 26 преобразования. Информация 19 движения и квантованные коэффициенты 26 преобразования могут быть энтропийно кодированы посредством секции 32 энтропийного кодирования и записаны в битовый поток 34 сжатого видео. Зона 38 выходного изображения, например, участок опорного кадра, может быть сгенерирована в кодере 2 посредством фильтра 36 удаления блочности с использованием реконструированного предварительно фильтрованного сигнала 22.

Фиг.2 показывает блок-схему примерного H.264/AVC-видеодекодера 50. Входной сигнал 52, также считающийся битовым потоком, может быть представлен для декодирования. Принятые символы могут быть энтропийно декодированы посредством секции 54 энтропийного декодирования, тем самым производя информацию 56 движения и квантованные, масштабированные коэффициенты 58 преобразования. Информация 56 движения может быть объединена посредством секции 60 компенсации движения с участком опорного кадра 84, который может находиться в памяти 64 кадров, и может быть сгенерировано межкадровое предсказание 68. Квантованные, масштабированные коэффициенты 58 преобразования могут быть подвергнуты обратному квантованию, масштабированию и обратному преобразованию посредством секции 62 обратного (преобразования/масштабирования/квантования), тем самым производя декодированный остаточный сигнал 70. Остаточный сигнал 70 может быть прибавлен к сигналу 78 предсказания: либо сигналу 68 межкадрового предсказания либо сигналу 76 внутрикадрового предсказания. Сигнал 76 внутрикадрового предсказания может быть предсказан посредством секции 74 внутрикадрового предсказания исходя из ранее предсказанной информации в текущем кадре 72. Объединенный сигнал может быть фильтрован фильтром 80 удаления блочности, и затем фильтрованный сигнал 82 может быть записан в память 64 кадров.

В H.264/AVC, входная картинка разделяется на макроблоки фиксированного размера, при этом каждый макроблок покрывает прямоугольную область картинки из 16x16 выборок составляющей яркости и 8x8 выборок каждой из двух составляющих цветности. В других кодеках и стандартах может быть использована элементарная единица, или базовая единица кодирования, отличная от макроблока, например, блок дерева кодирования. Процесс декодирования по стандарту H.264/AVC точно определен для единиц обработки, которыми являются макроблоки. Энтропийный декодер 54 посредством анализа выявляет синтаксические элементы битового потока 52 сжатого видео и демультиплексирует их. H.264/AVC точно определяет два альтернативных способа энтропийного декодирования: метод с низкой сложностью, который основан на использовании контексто-адаптировано переключаемых наборов кодов переменной длины, называемых как CAVLC, и вычислительно более требовательный алгоритм контекстно-зависимого адаптивного двоичного арифметического кодирования, называемого как CABAC. В обоих способах энтропийного декодирования, декодирование текущего символа может полагаться на ранее корректно декодированные символы и адаптивно обновляемые модели контекста. В дополнение, информация разных данных, например, информация данных предсказания, информация остаточных данных и разных цветовых плоскостей, могут быть мультиплексированы вместе. Демультиплексирование может быть не сделано, пока элементы не будут энтропийно декодированы.

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

Аналогично, в кодеках, в которых может быть обеспечена возможность альтернативных механизмом предсказания, например, межуровневое предсказание в H.264/AVC или межуровневое предсказание в других масштабируемых кодеках, энтропийное декодирование может быть необходимым перед всей обработкой в декодере, тем самым делая энтропийное декодирование потенциальным узким местом.

В H.264/AVC, входная картинка, содержащая множество макроблоков, может быть разделен на один или несколько слайсов. Значения выборок в области картинки, которую представляет слайс, могут быть корректно декодированы без использования данных из других слайсов, при условии, что опорные картинки, используемые в кодере и декодере являются идентичными. Вследствие этого, энтропийное декодирование и реконструкция макроблока для слайса не зависят от других слайсов. В частности, состояние энтропийного кодирования сбрасывается в начале каждого слайса. Данные в других сайсах помечаются как недоступные при задании доступности окрестности, как для энтропийного декодирования, так и реконструкции. В H.264/AVC, слайсы могут быть энтропийно декодированы и реконструированы параллельно. На границе слайса не обеспечивается возможность внутреннего предсказания и предсказания вектора движения. Фильтрация для удаления блочности может использовать информацию на границах слайса.

Фиг.3 показывает примерную видеокартинку 90, содержащую одиннадцать макроблоков в горизонтальном направлении и девять макроблоков в вертикальном направлении (девять примерных макроблоков, с отметками 91-99). Фиг.3 показывает три примерных слайса: первый слайс 100, обозначенный как "СЛАЙС № 0", второй слайс 101, обозначенный как "СЛАЙС № 1", и третий слайс 102, обозначенный как "СЛАЙС № 2". H.264/AVC-декодер может декодировать и реконструировать три слайса 100, 101, 102 параллельно. В начале процесса декодирования/реконструкции для каждого слайса, модели контекста инициализируются или сбрасываются в исходное состояние, и макроблоки в других слайсах помечаются как недоступные и для энтропийного декодирования, и реконструкции макроблока. Таким образом, для макроблока, например, макроблока с отметкой 93, в "СЛАЙСЕ № 1", макроблоки (например, макроблоки с отметками 91 и 92) в "СЛАЙСЕ № 0" могут быть не использованы для выбора модели контекста или реконструкции. Тогда как, для макроблока, например, макроблока с отметкой 95, в "СЛАЙСЕ № 1", другие макроблоки (например, макроблоки с отметками 93 и 94) в "СЛАЙСЕ № 1" могут быть использованы для выбора модели контекста или реконструкции. Вследствие этого, энтропийное декодирование и реконструкция макроблока должны происходить последовательно внутри слайса. Пока слайсы не будут заданы с использованием гибкого упорядочивания макроблоков, макроблоки внутри слайса обрабатываются в порядке растрового сканирования.

Гибкое упорядочивание макроблоков задает группу слайсов для модификации того, как картинка разделяется на слайсы. Макроблоки в группе слайсов заданы картой макроблок-группа слайсов, которая сигнализируется посредством содержимого набора параметров картинки и дополнительной информации в заголовках слайсов. Карта макроблок-группа слайсов состоит из идентификационного номера группы слайсов для каждого макроблока в картинке. Идентификационный номер группы слайсов точно определяет, к какой группе слайсов принадлежит ассоциированный макроблок. Каждая группа слайсов может быть разделена на одну или более слайсов, при этом слайс является последовательностью макроблоков внутри той же группы слайсов, которая обрабатывается в порядке растрового сканирования внутри набора макроблоков конкретной группы слайсов. Энтропийное декодирование и реконструкция макроблока должны происходить последовательно внутри слайса.

Фиг.4 изображает примерное выделение макроблока в три группы: первую группу 103 слайсов, обозначенную как "ГРУППА СЛАЙСОВ № 0", вторую группу 104 слайсов, обозначенную как "ГРУППА СЛАЙСОВ № 1", и третью группу 105 слайсов, обозначенную как "ГРУППА СЛАЙСОВ № 2". Эти группы 103, 104, 105 слайсов могут быть ассоциированы с двумя зонами переднего плана и зоной заднего плана, соответственно, на картинке 90.

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

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

Сектор стандартизации электросвязи ITU, рабочая группа 16 - доклад 405, озаглавленный "Entropy slices for parallel entropy decoding", апрель 2008 года, настоящим включен в настоящий документ посредством ссылки в полном объеме.

Некоторые варианты осуществления настоящего изобретения могут содержать CABAC-кодирование/декодирование. Процесс CABAC-кодирования включает в себя следующие четыре элементарных шага: бинаризацию; выбор модели контекста; двоичное арифметическое кодирование; и обновление вероятности.

Бинаризация: Символ с недвоичным значением (например, коэффициент преобразования, вектор движения или другие данные кодирования) преобразуется в двоичный код, также называемый строкой двоичных элементов или бинаризованным символом. Когда дан синтаксический элемент с двоичным значением, первоначальный этап бинаризации может быть пропущен. Синтаксический элемент с двоичным значением или элемент бинаризованного символа может быть назван двоичным элементом.

Для каждого двоичного элемента может быть выполнено следующее:

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

Двоичное арифметическое кодирование: Арифметический кодер кодирует каждый двоичный элемент согласно выбранной вероятностной модели и основывается на рекурсивном подразбиении интервала.

Обновление вероятности: Выбранная модель контекста обновляется на основе фактического кодированного значения.

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

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

Некоторые варианты осуществления настоящего изобретения могут быть поняты относительно Фиг.5. Фиг.5 показывает примерный видеокадр 110, содержащий одиннадцать макроблоков в горизонтальном направлении и девять макроблоков в вертикальном направлении (девять примерных макроблоков, с отметками 115-123). Фиг.5 показывает три примерные слайсы для реконструкции: первый слайс 111 для реконструкции, обозначенный как "R_SLICE № 0", второй слайс 112 для реконструкции, обозначенный как "R_SLICE № 1", и третий слайс 113 для реконструкции, обозначенный как "R_SLICE № 2". Фиг.5 дополнительно показывает разделение второго слайса 112 для реконструкции "R_SLICE №1" на три энтропийных слайса: первый энтропийный слайс 114, обозначенный как "E_SLICE № 0", показанный перекрестной штриховкой, второй энтропийный слайс 115, обозначенный как "E_SLICE №1", показанный вертикальной штриховкой, и третий энтропийный слайс 116, обозначенный как "E_SLICE № 2", показанный наклонной штриховкой. Каждый энтропийный слайс 114, 115, 116 может энтропийно декодирован параллельно.

В некоторых вариантах осуществления настоящего изобретения, только данные из макроблоков внутри энтропийного слайса могут быть доступны для выбора модели контекста, во время энтропийного декодирования энтропийного слайса. Все другие макроблоки могут быть помечены как недоступные. Для этого примерного разделения, макроблоки с отметками 117 и 118 являются недоступными для выбора модели контекста при декодировании символов, соответствующих области макроблока с отметкой 119, так как макроблоки с отметками 117 и 118 находятся снаружи энтропийного слайса, содержащей макроблок 119. Однако, эти макроблоки 117, 118 доступны когда макроблок 119 реконструирован.

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

Некоторые варианты осуществления декодера по настоящему изобретению могут быть описаны относительно Фиг.6. В этих вариантах осуществления, флаг энтропийного слайса может быть проверен 130, и если флаг энтропийного слайса указывает, что нет 132 энтропийных слайсов, ассоциированных с картинкой, или слайсом для реконструкции, то заголовок может быть выявлен, посредством синтаксического анализа 134, как заготовок обычного слайса. Состояние энтропийного декодера может быть сброшено 136, и может быть задана 138 информация соседних элементов для энтропийного декодирования и реконструкции. Данные слайса могут затем быть энтропийно декодированы 140, и слайс может быть реконструирован 142. Если флаг энтропийного слайса указывает, что есть 146 энтропийные слайсы, ассоциированные с картинкой, или слайсом для реконструкции, то заголовок может быть выявлен, посредством синтаксического анализа 148, как заголовок энтропийного слайса. Состояние энтропийного декодера может быть сброшено 150, и может быть задана 152 информация соседних элементов для энтропийного декодирования, и данные энтропийного слайса могут быть энтропийно декодированы 154. Затем может быть задана 156 информация соседних элементов для реконструкции, и слайс может быть реконструирован 142. После реконструкции 142 слайса, может быть проверен 158 следующий слайс, или картинка.

Некоторые варианты осуществления декодера по настоящему изобретению могут быть описаны относительно Фиг.7. В этих вариантах осуществления, декодер может быть способен параллельно декодировать и может задавать свою собственную степень параллельности, например, рассмотрим декодер, содержащий способность декодировать N энтропийных слайсов параллельно. Декодер может идентифицировать 170 N энтропийных слайсов. В некоторых вариантах осуществления настоящее изобретение, если меньше, чем N энтропийных слайсов доступны в текущей картинке, или слайсе для реконструкции, декодер может декодировать энтропийные слайсы из последовательных картинок, или слайсов для реконструкции, если они доступны. В альтернативных вариантах осуществления, декодер может ждать, пока текущая картинка, или слайс для реконструкции, не будет полностью обработан, прежде чем декодировать участки последовательной картинки, или слайсы для реконструкции. После идентификации 170 до N энтропийных слайсов, каждая из идентифицированных энтропийных слайсов может быть независимо энтропийно декодирована. Первый энтропийный слайс может быть декодирован 172-176. Декодирование 172-176 первого энтропийного слайса может содержать сброс 172 состояния декодера. В некоторых вариантах осуществления, содержащих энтропийное CABAC-декодирование, состояние CABAC может быть сброшено. Может быть задана 174 информация соседних элементов для энтропийного декодирования первого энтропийного слайса, и данные первого энтропийного слайса могут быть декодированы 176. Для каждой из до N энтропийных слайсов могут быть выполнены эти этапы (178-182 для N-ого энтропийного слайса). В некоторых вариантах осуществления настоящего изобретения, декодер может реконструировать 184 энтропийные слайсы, когда все энтропийные слайсы энтропийно декодированы. В альтернативных вариантах осуществления настоящего изобретения, декодер может начать реконструкцию 184 после того, как декодированы одна или более энтропийных слайсов.

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