EA201791429A1 20171130 Номер и дата охранного документа [PDF] EAPO2017\PDF/201791429 Полный текст описания [**] EA201791429 20160127 Регистрационный номер и дата заявки US62/108,465 20150127 Регистрационные номера и даты приоритетных заявок US2016/015034 Номер международной заявки (PCT) WO2016/123169 20160804 Номер публикации международной заявки (PCT) EAA1 Код вида документа [PDF] eaa21711 Номер бюллетеня [**] КОНТЕКСТЫ ДЛЯ БОЛЬШИХ ЭЛЕМЕНТОВ КОДОВОГО ДЕРЕВА Название документа [8] H04N 19/13, [8] H04N 19/119, [8] H04N 19/196, [8] H04N 19/96 Индексы МПК [US] Ли Сян, [US] Чжан Ли, [US] Чэнь Цзяньлэ, [US] Карчевич Марта Сведения об авторах [US] КВЭЛКОММ ИНКОРПОРЕЙТЕД Сведения о заявителях
 

Патентная документация ЕАПВ

 
Запрос:  ea201791429a*\id

больше ...

Термины запроса в документе

Реферат

[RU]

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


Полный текст патента

(57) Реферат / Формула:

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


Евразийское (21) 201791429 (13) A1
патентное
ведомство
(12) ОПИСАНИЕ ИЗОБРЕТЕНИЯ К ЕВРАЗИЙСКОЙ ЗАЯВКЕ
(43) Дата публикации заявки 2017.11.30
(22) Дата подачи заявки 2016.01.27
(51) Int. Cl.
H04N 19/13 (2014.01) H04N19/119 (2014.01) H04N19/196 (2014.01) H04N19/96 (2014.01)
(54) КОНТЕКСТЫ ДЛЯ БОЛЬШИХ ЭЛЕМЕНТОВ КОДОВОГО ДЕРЕВА
(31) 62/108,465; 15/007,060
(32) 2015.01.27; 2016.01.26
(33) US
(86) PCT/US2016/015034
(87) WO 2016/123169 2016.08.04
(71) Заявитель:
КВЭЛКОММ ИНКОРПОРЕЙТЕД
(US)
(72) Изобретатель:
Ли Сян, Чжан Ли, Чэнь Цзяньлэ, Карчевич Марта (US)
(74) Представитель:
Медведев В.Н. (RU)
(57) В примере способ кодирования видеоданных может включать в себя выбор в качестве части процесса энтропийного кодирования, контекста для синтаксического элемента, связанного с текущим элементом кодирования (CU), на основе информации, относящейся к глубине CU у одного или более соседних CU относительно текущего CU. Синтаксический элемент может представлять, разбит ли текущий CU на под-CU. Способ может включить в себя энтропийное кодирование синтаксического элемента на основе выбранного контекста.
ВЫБРАТЬ В КАЧЕСТВЕ ЧАСТИ ПРОЦЕССА ЭНТРОПИЙНОГО КОДИРОВАНИЯ КОНТЕКСТ ДЛЯ СИНТАКСИЧЕСКОГО ЭЛЕМЕНТА, СВЯЗАННОГО С ТЕКУЩИМ ЭЛЕМЕНТОМ КОДИРОВАНИЯ (CU), НА ОСНОВЕ ИНФОРМАЦИИ, ОТНОСЯЩЕЙСЯ К ГЛУБИНЕ CU У ОДНОГО ИЛИ БОЛЕЕ СОСЕДНИХ CU ОТНОСИТЕЛЬНО ТЕКУЩЕГО CU
ОПИСАНИЕ ИЗОБРЕТЕНИЯ
2420-543853ЕА/011
КОНТЕКСТЫ ДЛЯ БОЛЬШИХ ЭЛЕМЕНТОВ КОДОВОГО ДЕРЕВА
[0001] Настоящая заявка испрашивает приоритет согласно предварительной заявке на патент США № 62/108,465, поданной 27 января 2015 года, содержание которой полностью включено в настоящую заявку посредством ссылки. ОБЛАСТЬ ТЕХНИКИ
[0002] Это раскрытие относится к видеокодированию. УРОВЕНЬ ТЕХНИКИ
[0003] Возможности цифрового видео могут быть включены в
широкий диапазон устройств, в том числе в цифровые телевизоры,
системы цифрового прямого вещания, беспроводные системы вещания,
карманные персональные компьютеры (PDA), ноутбуки или настольные
компьютеры, планшетные компьютеры, устройства для чтения
электронных книг, цифровые фотоаппараты, устройства цифровой
записи, проигрыватели цифровых данных, видеоигровые устройства,
игровые приставки, сотовые или спутниковые радио-телефоны, так
называемые "смартфоны", устройства организации видеоконференций,
устройства потоковой передачи видеоинформации и т.п. Цифровые
видеоустройства реализуют методики сжатия видеоинформации,
например, описанные в стандартах MPEG 2, MPEG 4, ITU-T Н.2 63,
ITU-T H.264/MPEG-4 Часть 10, усовершенствованное
видеокодирование (AVC), ITU-T Н., высокоэффективное
видеокодирование (HEVC) и в расширениях таких стандартов. Видеоустройства могут передавать, принимать, кодировать, декодировать и/или сохранять информацию цифрового видео более эффективно посредством реализации таких методик сжатия видеоинформации.
[0004] Методики сжатия видеоинформации включают в себя
пространственное (внутри изображения) предсказание и/или
временное (между изображениями) предсказание для уменьшения или
удаления избыточности, свойственной последовательностям
видеокадров. Для основанного на блоках видеокодирования видеослой (то есть, видеокадр или часть видеокадра) может быть разделен на видеоблоки. Видеоблоки в интра-кодированном (I) слое
изображения кодируются с использованием пространственного предсказания относительно опорных отсчетов в соседних блоках в том же самом изображении. Видеоблоки в интер-кодированном (Р или В) слое изображения могут использовать пространственное предсказание относительно опорных отсчетов в соседних блоках в одном и том же изображении или временное предсказание относительно опорных отсчетов в других опорных изображениях. Изображения могут называться кадрами, и опорные изображения могут называться опорными кадрами.
[0005] Пространственное или временное предсказание дает в
результате блок предсказания для блока, который должен быть
закодирован. Разностные данные представляют различия в пикселях
между первоначальным блоком, который должен быть закодирован, и
блоком предсказания. Интер-кодированный блок кодируется в
соответствии с вектором движения, который указывает блок опорных
отсчетов, формирующих блок предсказания, и разностные данные
указывают различие между закодированным блоком и блоком
предсказания. Интра-кодированный блок кодируется в соответствии
с режимом интра-кодирования и разностными данными. Для
дополнительного сжатия разностные данные могут быть
преобразованы из области пикселей в область преобразования, что
приводит к разностным коэффициентам, которые затем могут быть
квантованы. Квантованные коэффициенты, первоначально
расположенные в двухмерном массиве, могут быть просканированы, чтобы получить одномерный вектор коэффициентов, и может быть применено статистическое кодирование для достижения еще большего сжатия.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ
[0006] Методики этого раскрытия относятся к
видеокодированию. Например, методики, описанные в этом
раскрытии, могут включать в себя одну или более методик для
кодирования или декодирования блока видеоданных посредством
выполнения процесса энтропийного кодирования. Например, одна или
более методик, описанных в настоящем документе, могут включать в
себя выполнение моделирования контекста контекстно-адаптивного
двоичного арифметического кодирования (САВАС) для
синтаксического элемента, связанного с элементом кодирования (CU) , на основе по меньшей мере одной информации из информации соседнего в пространстве CU относительно CU или информации соседнего во времени CU относительно CU.
[0007] В одном примере это раскрытие описывает способ кодирования видеоданных, содержащий выбор, в качестве части процесса энтропийного кодирования, контекста для синтаксического элемента, связанного с текущим элементом кодирования (CU), на основе информации, относящейся к глубине CU у одного или более соседних CU относительно текущего CU, причем синтаксический элемент представляет, разбит ли текущий CU на под-CU; и энтропийное кодирование синтаксического элемента на основе выбранного контекста.
[0008] В другом примере это раскрытие описывает устройство для кодирования видеоданных, содержащее память, выполненную с возможностью хранить видеоданные; и устройство видеокодирования, сконфигурированное с возможностью связи с памятью, причем устройство видеокодирования выполнено с возможностью: выбирать, в качестве части процесса энтропийного кодирования, контекст для синтаксического элемента, связанного с текущим элементом кодирования (CU), сохраненным в памяти, на основе информации, относящейся к глубине CU у одного или более соседних CU относительно текущего CU, причем синтаксический элемент представляет, разбит ли текущий CU на под-CU; и выполнять энтропийное кодирование синтаксического элемента на основе выбранного контекста.
[0009] В другом примере это раскрытие описывает устройство для кодирования видеоданных, содержащее средство для выбора, в качестве части процесса энтропийного кодирования, контекст для синтаксического элемента, связанного с текущим элементом кодирования (CU), на основе информации, относящейся к глубине CU у одного или более соседних CU относительно текущего CU, причем синтаксический элемент представляет, разбит ли текущий CU на под-CU; и средство для энтропийного кодирования синтаксического элемента на основе выбранного контекста.
[0010] В другом примере это раскрытие описывает
долговременный считываемый компьютером запоминающий носитель, хранящий инструкции, которые при их исполнении, заставляют один или более процессоров выбирать, в качестве части процесса энтропийного кодирования, контекст для синтаксического элемента, связанного с текущим элементом кодирования (CU), на основе информации, относящейся к глубине CU у одного или более соседних CU относительно текущего CU, причем синтаксический элемент представляет, разбит ли текущий CU на под-CU; и выполнять энтропийное кодирование синтаксического элемента на основе выбранного контекста.
[ООН] Подробности одного или более примеров раскрытия изложены на прилагаемых чертежах и в приведенном ниже описании. Другие признаки, задачи и преимущества раскрытия будут очевидны из описания и чертежей, а также из формулы изобретения.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0012] Фиг. 1 - блок-схема, демонстрирующая иллюстративную систему видеокодирования, которая может использовать методики, описанные в этом раскрытии.
[0013] Фиг. 2 - блок-схема, демонстрирующая иллюстративный видеокодер, который может реализовать методики, описанные в этом раскрытии.
[0014] Фиг. 3 - блок-схема, демонстрирующая иллюстративный видеодекодер, который может реализовать методики, описанные в этом раскрытии.
[0015] Фиг. 4 - блок-схема последовательности этапов, демонстрирующая иллюстративный процесс для кодирования видеоданных, согласующийся с методиками этого раскрытия.
[0016] Фиг. 5 - блок-схема последовательности этапов, демонстрирующая иллюстративный процесс для декодирования видеоданных, согласующийся с методиками этого раскрытия.
[0017] Фиг. б - блок-схема последовательности этапов, демонстрирующая иллюстративный процесс для кодирования видеоданных, согласующийся с методиками этого раскрытия.
ПОДРОБНОЕ ОПИСАНИЕ
[0018] Методики этого раскрытия в целом относятся к кодированию и сжатию видеоинформации. В частности, это раскрытие
относится к сигнализации синтаксических элементов в блочном видеокодировании, когда, например, поддерживается кодирование больших элементов кодового дерева (CTU). Например, это раскрытие описывает методики для кодирования синтаксических элементов, относящихся к элементам CTUs. В качестве другого примера это раскрытие описывает методики для синтаксических элементов энтропийного кодирования. В качестве другого примера это раскрытие описывает методики, относящиеся к бинаризации, моделированию контекста и арифметическому кодированию синтаксических элементов. В качестве еще одного примера это раскрытие описывает методики, относящиеся к бинаризации, моделированию контекста и арифметическому кодированию синтаксических элементов с использованием процесса энтропийного кодирования, такого как контекстно-адаптивное двоичное арифметическое кодирование (САВАС). Методики этого раскрытия могут быть применены к существующему видеокодеку или стандарту видеокодирования (например, ITU-T Н.2 65, HEVC) или могут быть применены в будущем видеокодеке или стандарте видеокодирования.
[0019] Контекстно-адаптивное двоичное арифметическое кодирование (САВАС) представляет собой способ энтропийного кодирования, первоначально внедренный в стандарте H.2 64/AVC и теперь используемый в новейшем стандарте HEVC. Кодирование САВАС обычно включает в себя три главных функции: бинаризацию, моделирование контекста и арифметическое кодирование. Бинаризация отображает синтаксические элементы на двоичные символы ("бины"), которые можно назвать двоичными строками. Моделирование контекста оценивает вероятность двоичных символов. Как часть процесса моделирования контекста, устройство видеокодирования выбирает модель контекста для каждого двоичного символа. Модель контекста представляет вероятность. Разные модели контекста могут быть выбраны для разных двоичных символов. Арифметическое кодирование сжимает двоичные символы в биты на основе оцененной вероятности. Иначе говоря, арифметическое кодирование сжимает двоичные символы в биты на основе выбранной модели контекста, соответствующей каждому двоичному символу.
[0020] Методики этого раскрытия могут повысить
эффективность битового потока синтаксических элементов
кодирования. Например, методики этого раскрытия могут повысить
эффективность битового потока синтаксических элементов
кодирования, относящихся к элементам CTU и элементам кодирования
(CU) . В качестве другого примера методики этого раскрытия могут,
в частности, повысить эффективность кодирования САВАС. В
качестве другого примера методики этого раскрытия могут, в
частности, повысить эффективность кодирования САВАС
синтаксических элементов, относящихся к элементам CTU и элементам CU, когда, например, разрешены большие размеры элементов CTU.
[0021] Фиг. 1 является блок-схемой, демонстрирующей иллюстративную систему 10 видеокодирования, которая может использовать методики этого раскрытия. Используемый в настоящем документе термин "устройство видеокодирования" относится в целом и к видеокодерам, и к видеодекодерам. В этом раскрытии термин "видеокодирование" может относиться в целом к кодированию видеоинформации или декодированию видеоинформации. Аналогичным образом, термин "кодирование" может относиться в целом к кодированию или декодированию. Например, ссылка на энтропийное кодирование может относиться к энтропийному кодированию или энтропийному декодированию. Видеокодер 20 и видеодекодер, 30 из системы 10 видеокодирования представляют примеры устройств, которые могут быть выполнены с возможностью выполнять одну или более методик этого раскрытия. Например, видеокодер 2 0 и видеодекодер 3 0 могут быть выполнены с возможностью выполнять методики для кодирования данных, относящихся к элементам CTU и элементам CU, в соответствии с различными примерами, описанными в этом раскрытии. В качестве одного примера, видеокодер 2 0 и видеодекодер 3 0 могут быть выполнены с возможностью ограничивать размер элемента CTU и/или выполнять моделирование контекста САВАС для синтаксических элементов, относящихся к элементам CTU и/или элементам CU.
[0022] Видеокодер 20 и/или видеодекодер 30 могут быть выполнены с возможностью работать в соответствии с методиками,
описанными в этом раскрытии. Видеодекодер 3 0 может быть выполнен с возможностью выполнять процесс, в целом взаимный по отношению к процессу видеокодера 20, описанному в настоящем документе. Аналогичным образом, видеокодер 2 0 может быть выполнен с возможностью выполнять процесс, в целом взаимный по отношению к процессу видеодекодера 30, описанному в настоящем документе.
[0023] Методики, описанные в настоящем документе, могут быть выполнены видеокодером 2 0 и/или видеодекодером 30, которые соответственно проиллюстрированы на фиг. 1-3. Следует понимать, что все методики, описанные в настоящем документе, могут использоваться индивидуально или в любой комбинации. Например, видеокодер 2 0 и/или один или более его компонентов и видеодекодер 3 0 и/или один или более его компонентов могут выполнять методики, описанные в этом раскрытии, в любой комбинации. В качестве другого примера видеокодер 2 0 и/или видеодекодер 3 0 могут быть выполнены с возможностью выбирать, в качестве части процесса энтропийного кодирования, контекст для синтаксического элемента, связанного с текущим элементом кодирования (CU), на основе информации, относящейся к глубине CU у одного или более соседних CU относительно текущего CU. Синтаксический элемент может представлять, разбит ли текущий CU на под-CU. В этом примере видеокодер 20 и/или видеодекодер 30 могут быть выполнены с возможностью выполнять энтропийное кодирование синтаксического элемента на основе выбранного контекста. Как используется в настоящем документе, глубина CU может относиться к глубине дерева квадрантов CU. Например, глубина CU текущего CU может относиться к глубине дерева квадрантов текущего CU, и глубина CU соседнего блока (например, соседнего CU) может относиться к глубине дерева квадрантов соседнего блока. В качестве другого примера видеокодер 2 0 и/или видеодекодер 30, соответственно показанные на фиг. 1-3, могут быть выполнены с возможностью соответственно выполнять один или более этапов в любой комбинации, показанных на фиг. 4-6, и/или любой этап, описанный относительно фиг. 4-6, который может быть не изображен.
[0024] Как показано на фиг. 1, система 10 видеокодирования
включает в себя устройство 12 источника и устройство 14 назначения. Устройство 12 источника формирует закодированные видеоданные. В соответствии с этим устройство 12 источника может упоминаться как устройство кодирования видеоинформации. Устройство 14 назначения может декодировать закодированные видеоданные, сформированные устройством 12 источника. В соответствии с этим устройство 14 назначения может упоминаться как устройство декодирования видеоинформации. Устройство 12 источника и устройство 14 назначения могут представлять собой примеры устройств видеокодирования.
[0025] Устройство 12 источника и устройство 14 назначения могут содержать широкий диапазон устройств, в том числе настольные компьютеры, мобильные вычислительные устройства, переносные компьютеры (например, ноутбуки), планшетные компьютеры, телеприставки, телефонные гарнитуры, например, так называемые "смартфоны", телевизоры, камеры, устройства отображения, цифровые медиапроигрыватели, консоли видеоигр, компьютеры в автомобилях и т.п.
[0026] Устройство 14 назначения может принимать закодированные видеоданные от устройства 12 источника через канал 16. Канал 16 может содержать носитель любого типа и/или один или несколько носителей или устройств, которые могут перемещать закодированные видеоданные от устройства 12 источника к устройству 14 назначения. В одном примере канал 16 может содержать один или несколько коммуникационных носителей, которые дают возможность устройству 12 источника передавать закодированные видеоданные непосредственно устройству 14 назначения в реальном времени. В этом примере устройство 12 источника может модулировать закодированные видеоданные в соответствии со стандартом связи, таким как протокол беспроводной связи, и может передавать модулированные видеоданные устройству 14 назначения. Один или более коммуникационных носителей могут включать в себя беспроводные и/или проводные коммуникационные носители, такие как радиочастотный (RF) спектр или одна или более физических линий передачи. Один или более коммуникационных носителей могут
являться частью пакетной сети, такой как локальная сеть, широкомасштабная сеть или глобальная сеть (например, Интернет). Один или более коммуникационных носителей могут включать в себя маршрутизаторы, переключатели, базовые станции или другое оборудование, которое обеспечивает возможность связи от устройства 12 источника до устройства 14 назначения.
[0027] В другом примере канал 16 может включать в себя запоминающий носитель, который хранит закодированные видеоданные, сформированные устройством 12 источника. В этом примере устройство 14 назначения может получить доступ к запоминающему носителю, например, через диск или карту. Запоминающий носитель может включать в себя множество локально доступных носителей данных, таких как диски Blu-ray, универсальные цифровые диски (DVD), компакт-диски (CD-ROM), флэш-память или другие подходящие цифровые запоминающие носители для хранения закодированных видеоданных.
[0028] В дополнительном примере канал 16 может включать в себя файловый сервер или другое промежуточное устройство хранения, которое хранит закодированные видеоданные, сформированные устройством 12 источника. В этом примере устройство 14 назначения может получать доступ к закодированным видеоданным, сохраненным на файловом сервере или в другом промежуточном устройстве хранения, через потоковую передачу или загрузку. Файловый сервер может представлять собой тип сервера, который может хранить закодированные видеоданные и передавать закодированных видеоданные устройству 14 назначения. Иллюстративные файловые серверы включают в себя веб-серверы (например, для веб-сайта), серверы протокола передачи файлов (FTP), сетевые хранилища данных (NAS) и локальные накопители на дисках.
[0029] Устройство 14 назначения может получить доступ к закодированным видеоданным посредством стандартного соединения передачи данных, такого как Интернет-соединение. Иллюстративные типы соединений передачи данных могут включать в себя беспроводные каналы (например, соединения Wi-Fi), проводные соединения (например, DSL, кабельный модем и т.д.) или их
комбинации, которые являются подходящими для получения доступа к закодированным видеоданным, хранящимся на файловом сервере. Передача закодированных видеоданных от файлового сервера может представлять собой потоковую передачу, передачу загрузки или их комбинацию.
[0030] Методики этого раскрытия не ограничены приложениями или конфигурациями беспроводной связи. Методики могут быть применены к видеокодированию при поддержке любых из множества мультимедийных приложений, таких как эфирное телевещание, передача кабельного телевидения, передача спутникового телевидения, передача потокового видео, например, через Интернет, кодирование видеоданных для хранения на носителе данных, декодирование закодированных видеоданных, сохраненных на носителе данных, или другие приложения. В некоторых примерах система 10 видеокодирования может быть выполнена с возможностью поддерживать одностороннюю или двухстороннюю передачу видео для поддержки таких приложений, как потоковая передача видеоинформации, воспроизведение видео, видеовещание и/или видеотелефония.
[0031] Система 10 видеокодирования, проиллюстрированная на фиг. 1, является лишь примером, и методики этого раскрытия могут применяться к конфигурациям видеокодирования (например, к кодированию видеоинформации или декодированию видеоинформации), которые не обязательно включают в себя какую-либо передачу данных между устройствами кодирования и декодирования. В других примерах данные извлекаются из локальной памяти, передаются в виде потока по сети и т.п. Устройство видеокодирования может закодировать и сохранить данные в запоминающем устройстве, и/или устройство видеодекодирования может извлечь и декодировать данные из памяти. Во многих примерах кодирование и декодирование выполняются устройствами, которые не осуществляют связь друг с другом, а просто кодируют данные в запоминающем устройстве и/или извлекают и декодируют данные из запоминающего устройства.
[0032] В примере на фиг. 1 устройство 12 источника включает в себя источник 18 видео, видеокодер 20 и выходной интерфейс 22. В некоторых примерах выходной интерфейс 22, может включать в
себя модулятор/демодулятор (модем) и/или передатчик. Источник 18 видео может включать в себя устройство видеосъемки, например, видеокамеру, видеоархив, содержащий ранее отснятые видеоданные, интерфейс видеоканала для приема видеоданных от провайдера видеоконтента и/или систему компьютерной графики для формирования видеоданных или комбинацию таких источников видеоданных.
[0033] Видеокодер 20 может закодировать видеоданные из источника 18 видео. В некоторых примерах устройство 12 источника непосредственно передает закодированные видеоданные устройству 14 назначения через выходной интерфейс 22. В других примерах закодированные видеоданные также могут быть сохранены на запоминающий носитель или файловый сервер для более позднего доступа посредством устройства 14 назначения для декодирования и/или воспроизведения.
[0034] В примере на фиг. 1 устройство 14 назначения включает в себя входной интерфейс 28, видеодекодер 30 и устройство 32 отображения. В некоторых примерах входной интерфейс 2 8 включает в себя приемник и/или модем. Входной интерфейс 2 8 может принимать закодированные видеоданные по каналу 16. Закодированные видеоданные, переданные по каналу 16 или обеспеченные посредством запоминающего устройства 2 6, могут включать в себя множество синтаксических элементов, сформированных видеокодером 2 0 для использования видеодекодером, таким как видеодекодер 30, при декодировании видеоданных. Такие синтаксические элементы могут быть включены вместе с закодированными видеоданными, передаваемыми на коммуникационном носителе, сохраненными на запоминающем носителе или сохраненными на файловом сервере.
[0035] Устройство отображения 32 может быть интегрировано с устройством 14 назначения или может являться внешним по отношению к нему. В общем случае устройство 32 отображения отображает декодированные видеоданные. Устройство 32 отображения может содержать множество устройств отображения, таких как жидкокристаллический дисплей (LCD), плазменный дисплей, органический светодиодный (OLED) дисплей или устройство
отображения другого типа.
[0036] Видеокодер 20 и видеодекодер 30 могут быть
реализован как любое множество подходящих схем, таких как один
или несколько микропроцессоров, процессоров цифровых сигналов
(DSP), специализированных интегральных схем (ASIC),
программируемых пользователем вентильных матриц (DSP), дискретных логических схем, аппаратных средств, или любая их комбинация. Если методики реализованы частично в программном обеспечении, устройство может хранить команды для программного обеспечения в подходящем непереходном считываемом компьютером запоминающем носителе и может исполнять команды в аппаратных средствах с использованием одного или нескольких процессоров для выполнения методик этого раскрытия. Любой из упомянутых выше элементов (в том числе аппаратные средства, программное обеспечение, комбинация аппаратного и программного обеспечения и т.д.) может рассматриваться как один или несколько процессоров. Видеокодер 2 0 и видеодекодер 3 0 могут быть включены в один или несколько кодеров или декодеров, каждый из которых может быть интегрирован как часть объединенного кодера/декодера (кодека; CODEC) в соответствующем устройстве.
[0037] Это раскрытие может в целом ссылаться на то, что видеокодер 2 0 "сигнализирует" или "передает" определенную информацию другому устройству, такому как видеодекодер 30. Термин "сигнализация" или "передача" может в целом относиться к передаче синтаксических элементов и/или других данных, используемых для декодирования сжатых видеоданных. Такая передача может происходить в реальном времени или почти в реальном времени. В качестве альтернативы, такая передача может происходить в промежутке времени, например, может происходить при сохранении синтаксических элементов на считываемом компьютером запоминающем носителе в закодированном битовом потоке во время кодирования, который затем может быть извлечен устройством декодирования в любое время после сохранения на этом носителе. Таким образом, хотя видеодекодер 30 может упоминаться как "принимающий" определенную информацию, прием информации не обязательно происходит в реальном или почти в реальном времени и
может быть извлечен из носителя в некоторое время после сохранения.
[0038] В некоторых примерах видеокодер 20 и видеодекодер 30 работают в соответствии со стандартом сжатия видео, таким как стандарт HEVC, упомянутый выше и описанный в документе HEVC Draft 10. В дополнение к основному стандарту HEVC имеются продолжающиеся усилия произвести расширения масштабируемого видеокодирования, многоракурсного видеокодирования и трехмерного (3D) кодирования для HEVC.
[0039] В стандарте HEVC и других стандартах видеокодирования видеопоследовательность, как правило, включает в себя последовательность изображений. Изображения также могут упоминаться как "кадры". Изображение может включить в себя три массива отсчетов, обозначаемых SL, SCb и SCr- SL представляет собой двухмерную матрицу (т.е., блок) отсчетов яркости. Scb представляет собой двумерную матрицу отсчетов цветовой составляющей Cb. SCr представляет собой двумерную матрицу отсчетов цветовой составляющей Сг. Отсчеты цветовой составляющей также могут упоминаться в настоящем документе как отсчеты "цветности". В других случаях изображение может являться монохромом и может включить в себя только массив отсчетов яркости.
[0040] Чтобы формировать закодированное представление изображения, видеокодер 2 0 может сформировать множество элементов CTU. Каждый из элементов CTU может представлять собой блок кодового дерева отсчетов яркости, два соответствующих блока кодового дерева отсчетов цветности и синтаксические структуры, используемые для кодирования отсчетов блоков кодового дерева. Блок кодового дерева может представлять собой блок из NxN отсчетов. Элемент CTU также может упоминаться как "блок кодового дерева" или "наибольший элемент кодирования" (LCU). Элементы CTU стандарта HEVC могут быть во многом аналогичны макроблокам других стандартов, таких как H.2 64/AVC. Однако элемент CTU не обязательно ограничен конкретным размером и может включать в себя один или более CU. В монохромных изображениях или
изображениях, имеющих три отдельных цветных плоскости, CU может содержать единственный кодовый блок, и синтаксические структуры, используемые для кодирования отсчетов кодового блока. Слой может включать в себя целое число элементов CTU, упорядоченных последовательно при развертке растра.
[0041] В некоторых примерах CU может включать в себя узел кодирования и один или более элементов предсказания (PU) и/или элементов преобразования (TU), связанных с узлом кодирования. Размер CU может соответствовать размеру узла кодирования и может иметь квадратную форму. Размер CU может варьировать, например, от 8x8 пикселей до максимального размера блока кодового дерева 64x64 пикселей или больше. Каждый CU может содержать один или более элементов PU и один или более элементов TU. Синтаксические данные, связанные с CU, могут описывать, например, разбиение CU на один или более элементов PU. Режимы разбиения могут отличаться тем, является ли CU закодированным с пропуском или с прямым кодированием, закодирован в режиме интра-предсказания или закодирован в режиме интер-предсказания. Элементы PU могут быть разбиты с квадратной или не квадратной формой. Синтаксические данные, связанные с CU, также могут описывать, например, разбиение CU на один или более элементов TU в соответствии с деревом квадрантов. Элемент TU может иметь квадратную или не квадратную форму.
[0 042] В целом элемент PU может включать в себя данные, относящиеся к процессу предсказания. Например, когда элемент PU закодирован в режиме интра-предсказания, элемент PU может включать в себя данные, описывающие режим интра-предсказания для элемента PU. В качестве другого примера, когда элемент PU закодирован в режиме интер-предсказания, элемент PU может включать в себя данные, определяющие вектор движения для элемента PU. Данные, определяющие вектор движения для элемента PU, могут описывать, например, горизонтальную составляющую вектора движения, вертикальную составляющую вектора движения, разрешение для вектора движения (например, точность с четвертью пикселя или точность с одной восьмой пикселя), опорное
изображение, на которое указывает вектор движения, и/или список опорных изображений (например, список 0, список 1 или список С) для вектора движения.
[0043] В целом элемент TU может использоваться для процессов преобразования и квантования. Заданный CU, имеющий один или более элементов PU, может также включать в себя один или более элементов преобразования (TU). После предсказания видеокодер 2 0 может вычислить разностные значения, соответствующие элементу PU. Разностные значения могут содержать значения различия в пикселях, которые могут быть преобразованы в коэффициенты преобразования, квантованы и сканированы с использованием элементов TU, чтобы произвести преобразованные в последовательную форму коэффициенты преобразования для энтропийного кодирования.
[0044] Это раскрытие может использовать термин "видеоблок", "кодовый блок" или "блок" для обозначения одного или более блоков отсчетов и синтаксических структур, используемых для кодирования отсчетов одного или более блоков отсчетов. Иллюстративные типы видеоблоков могут включать в себя элементы кодового дерева (CTU), элементы кодирования (CU), элементы предсказания (PU), элементы преобразования (TU), макроблоки (MB), разделы макроблока и так далее. В некоторых контекстах обсуждение элементов PU может чередоваться с обсуждением макроблоков или разделов макроблоков.
[0045] В некоторых примерах множество информации движения может быть доступно для каждого блока видеоданных. Множество информации движения может включать в себя информацию движения для прямого и обратного направлений предсказания. Прямое и обратное направления предсказания могут представлять собой два направления предсказания режима двунаправленного предсказания. Прямое и обратное направления предсказания могут представлять собой одно из двух направлений предсказания однонаправленного режима предсказания. Термины "прямой" и "обратный" не обязательно имеют геометрическое значение, вместо этого они соответствуют, например, списку 0 опорных изображений (RefPicList0) и списку 1 опорных изображений (RefPicList1)
текущего изображения. Когда только один список опорных изображений доступен для изображения или слоя, только список RefPicListO может являться доступным, и информация движения каждого блока изображения или слоя может являться прямой.
[0046] Для каждого направления предсказания (например, прямого или обратного) информация движения может содержать направление предсказания, опорный индекс и вектор движения. В некоторых примерах для простоты сам вектор движения может упоминаться таким образом, что предполагается, что он имеет соответствующий опорный индекс. Опорный индекс используется для идентификации опорного изображения в текущем списке опорных изображений (например, RefPicListO или RefPicListl). Вектор движения может иметь горизонтальную и вертикальную составляющую.
[0047] Видеоблоки, описанные в настоящем документе могут иметь фиксированные или переменные размеры и могут отличаться по размеру в соответствии с заданным стандартом кодирования. В качестве примера размер конкретного CU может составлять 2Nx2N. В таком примере видеокодер 2 0 может быть выполнен с возможностью выполнять интра-предсказание для элементов PU, имеющих размеры 2Nx2N или NxN, и может быть выполненным с возможностью выполнять интер-предсказание для элементов PU, имеющих размеры 2Nx2N, 2NxN, Nx2N или NxN. В других примерах доступные размеры элемента PU могут быть такими же или отличаться.
[0048] В этом раскрытии "NxN" и "N на N" могут использоваться взаимозаменяемым образом для обозначения пиксельных размеров видеоблока с точки зрения измерений по вертикали и по горизонтали, например, 16x16 пикселей или 16 на 16 пикселей. В целом блок 16x16 будет иметь 16 пикселей в вертикальном направлении (у=1б) и 16 пикселей в горизонтальном направлении (х=1б). Аналогичным образом, блок NxN обычно имеет N пикселей в вертикальном направлении и N пикселей в горизонтальном направлении, где N представляет положительное целочисленное значение. Пиксели в блоке могут быть размещены в строках и столбцах. Кроме того, блоки не обязательно должны иметь одинаковое количество пикселей в горизонтальном
направлении и в вертикальном направлении. Например, блоки могут содержать NxM пикселей, где М равно или не равно N, и где М -положительное целочисленное значение.
[0049] Согласно фиг. 1, чтобы формировать закодированный элемент CTU, видеокодер 2 0 может рекурсивно выполнить разбиение дерева квадрантов на блоках кодового дерева элемента CTU, чтобы разделить блоки кодового дерева на кодовые блоки, отсюда название "элементы кодового дерева". Кодовый блок может иметь NxN (или NxM) отсчетов. CU может представлять собой кодовый блок отсчетов яркости и два соответствующих кодовых блока отсчетов цветности изображения, которые имеют массив отсчетов яркости, массив отсчетов СЬ и массив отсчетов Сг, и синтаксические структуры, используемые для кодирования отсчетов кодовых блоков. Видеокодер 2 0 может разбить кодовый блок CU на один или более элементов PU. Элемент PU может являться квадратным или не квадратным блоком отсчетов, к которым применяется одинаковая методика предсказания. Элемент PU CU может представлять собой блок предсказания отсчетов яркости, два соответствующих блока предсказания отсчетов цветности изображения и синтаксические структуры, используемые для предсказания отсчетов блока предсказания. Видеокодер 2 0 может формировать блоки предсказания яркости, СЬ и Сг для блоков предсказания яркости, СЬ и Сг каждого элемента PU CU.
[0050] Видеокодер 20 может использовать интра-предсказание или интер-предсказание для формирования блоков предсказания для элемента PU. Если видеокодер 2 0 использует интра-предсказание для формирования блоков предсказания элемента PU, видеокодер 2 0 может сформировать блоки предсказания элемента PU на основе декодированных отсчетов изображения, связанного с элементом PU.
[0051] Если видеокодер 20 использует интер-предсказание для формирования блоков предсказания элемента PU, видеокодер 2 0 может сформировать блоки предсказания элемента PU на основе декодированных отсчетов одного или более изображений, кроме изображения, связанного с элементом PU. Видеокодер 2 0 может использовать предсказание по одному изображению или предсказание по двум изображениям, чтобы сформировать блоки предсказания
элемента PU. Когда видеокодер 2 0 использует предсказание по одному изображению, чтобы сформировать блоки предсказания для элемента PU, элемент PU может иметь единственный вектор движения (MV) . Когда видеокодер 2 0 использует предсказание по двум изображениям, чтобы сформировать блоки предсказания для элемента PU, элемент PU может иметь два вектора MV.
[0052] После того, как видеокодер 20 формирует блоки предсказания (например, блоки предсказания яркости, СЬ и Сг) для одного или более элементов PU CU, видеокодер 2 0 может сформировать разностные блоки для CU. Каждый отсчет в разностном блоке CU может указывать разность между отсчетом в блоке предсказания элемента PU CU и соответствующим отсчетом в кодовом блоке CU. Например, видеокодер 2 0 может сформировать разностный блок яркости для CU. Каждый отсчет в разностном блоке яркости CU указывает разность между отсчетом яркости в одном из блоков предсказания яркости CU и соответствующим отсчетом в первоначальном кодовом блоке яркости CU. Кроме того, видеокодер 2 0 может сформировать разностный блок СЬ для CU. Каждый отсчет в разностном блоке Cb CU может указывать разность между отсчетом СЬ в одном из блоков предсказания Cb CU и соответствующим отсчетом в первоначальном кодовом блоке Cb CU. Видеокодер 2 0 также может сформировать разностный блок Сг для CU. Каждый отсчет в разностном блоке Сг CU может указывать разность между отсчетом Сг в одном из блоков предсказания Сг CU и соответствующим отсчетом в первоначальном кодовом блоке Сг CU.
[0053] Видеокодер 20 может использовать разбиение дерева квадрантов для декомпозиции разностных блоков (например, разностных блоков яркости, СЬ и Сг) CU на один или более блоков преобразования (например, блоки преобразования яркости, СЬ и Сг). Используемый в настоящем документе термин "глубина CU" может относиться к глубине дерева квадрантов CU. Например, глубина CU текущего CU может относиться к глубине дерева квадрантов текущего CU, и глубина CU соседнего блока (например, соседнего CU) может относиться к глубине дерева квадрантов соседнего блока. Блок преобразования может представлять собой блок отсчетов, к которым применяется одинаковое преобразование.
Элемент преобразования (TU) CU может представлять собой блок преобразования отсчетов яркости, два соответствующих блока преобразования отсчетов цветности и синтаксические структуры, используемые для преобразования отсчетов блока преобразования. Таким образом, каждый элемент TU из CU может быть связан с блоком преобразования яркости, блоком преобразования СЬ и блоком преобразования Сг. Блок преобразования яркости, связанный с элементом TU, может являться подблоком разностного блока яркости CU. Блок преобразования СЬ может являться подблоком разностного блока Cb CU. Блок преобразования Сг может являться подблоком разностного блока Сг CU.
[0054] Видеокодер 20 может применить одно или более
преобразований к блоку преобразования, чтобы сформировать блок
коэффициентов для элемента TU. Блок коэффициентов может
представлять собой двухмерную матрицу коэффициентов
преобразования. Коэффициент преобразования может являться скаляром. Например, видеокодер 2 0 может применить одно или более преобразований к блоку преобразования яркости элемента TU, чтобы сформировать блок коэффициентов яркости для элемента TU. Видеокодер 2 0 может применить одно или более преобразований к блоку преобразования СЬ элемента TU, чтобы сформировать блок коэффициентов СЬ для элемента TU. Видеокодер 2 0 может применить одно или более преобразований к блоку преобразования Сг элемента TU, чтобы сформировать блок коэффициентов Сг для элемента TU.
[0055] В некоторых примерах после кодирования с интра-предсказанием или интер-предсказанием с использованием элементов PU CU видеокодер 2 0 может вычислить разностные данные для элементов TU из CU. Элементы PU могут содержать пиксельные данные в пространственной области (также называемый областью пикселей), и элементы TU могут содержать коэффициенты в области преобразования после применения преобразования, например, дискретного косинусного преобразования (DCT), целочисленного преобразования, вейвлетного преобразования или концептуально подобного преобразования к разностным видеоданным. Разностные данные могут соответствовать различиям пикселей между пикселями незакодированного изображения и значениями предсказания,
соответствующими элементам PU. Видеокодер 2 0 может сформировать элементы TU, включающие в себя разностные данные для CU, и затем преобразовать элементы TU, чтобы произвести коэффициенты преобразования для CU.
[0056] После формирования блока коэффициентов (например, блока коэффициентов яркости, блока коэффициентов СЬ или блока коэффициентов Сг) видеокодер 20 может квантовать коэффициенты в блоке. Квантование обычно относится к процессу, в котором коэффициенты преобразования квантуются для возможного сокращения объема данных, используемого для представления коэффициентов преобразования, обеспечивая дополнительное сжатие. После того, как видеокодер 20 квантует блок коэффициентов, видеокодер 20 может быть выполнен с возможностью выполнить энтропийное кодирование синтаксических элементов, указывающих квантованные коэффициенты преобразования. Например, видеокодер 2 0 может выполнить контекстно-адаптивное двоичное арифметическое кодирование (САВАС) над синтаксическими элементами, указывающими квантованные коэффициенты преобразования. Видеокодер 2 0 может выдать подвергнутые энтропийному кодированию синтаксические элементы в потоке битов.
[0057] Видеокодер 20 может выдать битовый поток, который включает в себя подвергнутые энтропийному кодированию синтаксические элементы. Битовый поток может включать в себя последовательность битов, которая формирует представление кодированных изображений и связанных данных. Битовый поток может содержать последовательность элементов сетевого уровня абстракции (NAL). Каждый из элементов NAL включает в себя заголовок элемента NAL и заключает в себе полезную нагрузку последовательности необработанных байтов (RBSP). Заголовок элемента NAL может включать в себя синтаксический элемент, который указывает код типа элемента NAL. Код типа элемента NAL, определенный заголовком элемента NAL, указывает тип элемента NAL. Нагрузка RBSP может являться синтаксической структурой, содержащей целое число байтов, которое заключено в элемент NAL. В некоторых случаях нагрузка RBSP включает в себя нулевые биты.
[0 058] Различные типы элементов NAL могут заключить в себя
разные типы RBSP. Например, первый тип элемента NAL может заключить в себя RBSP для множества параметров изображений (PPS), второй тип элемента NAL может заключить в себя RBSP для кодированного слоя, третий тип элемента NAL может заключать в себя RBSP для SEI, и так далее. Элементы NAL, которые заключают в себя RBSP для данных видеокодирования (в противоположность RBSP для множеств параметров и сообщений SEI), могут упоминаться как элементы NAL уровня видеокодирования (VCL).
[0059] Видеодекодер 30 может принять битовый поток, сформированный видеокодером 20. Кроме того, видеодекодер 30 может выполнить синтаксический разбор битового потока, чтобы декодировать синтаксические элементы из битового потока. Видеодекодер 30 может воссоздать изображения видеоданных по меньшей мере частично на основе синтаксических элементов, декодируемых из битового потока. Процесс воссоздания видеоданных может быть в целом взаимным по отношению к процессу, выполняемому видеокодером 20. Например, видеодекодер 30 может использовать векторы MV элементов PU для определения блоков предсказания для кодированных с интер-предсказанием элементов PU текущего CU. Аналогичным образом, видеодекодер 3 0 может сформировать кодированные с интра-предсказанием блоки для элемента PU текущего CU. Кроме того, видеодекодер 3 0 может выполнить обратное квантование блоков коэффициентов преобразования, связанных с элементами TU текущего CU. Видеодекодер 3 0 может выполнить обратные преобразования над блоками коэффициентов преобразования, чтобы воссоздать блоки преобразования, связанные с элементами TU текущего CU. Видеодекодер 30 может воссоздать кодовые блоки текущего CU посредством добавления отсчетов блоков предсказания для элементов PU текущего CU к соответствующим разностным значениям, полученным из обратного квантования и обратного преобразования блоков преобразования элементов TU текущего CU. Посредством воссоздания кодовых блоков для каждого CU изображения видеодекодер 30 может воссоздать изображение.
[0060] В некоторых примерах видеокодер 2 0 может использовать предопределенный порядок сканирования (например,
горизонтальный, вертикальный или любой другой порядок
сканирования) для сканирования квантованных коэффициентов
преобразования, чтобы произвести преобразованный в
последовательную форму вектор, который может закодирован посредством энтропийного кодирования. В других примерах видеокодер 2 0 может выполнить адаптивное сканирование. После сканирования квантованных коэффициентов преобразования для формирования одномерного вектора видеокодер 2 0 может выполнить энтропийное кодирование одномерного вектора, например, в соответствии с контекстно-адаптивным кодированием переменной длины (CAVLC), контекстно-адаптивным двоичным арифметическим кодированием (САВАС), основанным на синтаксисе контекстно-адаптивным двоичным арифметическим кодированием (SBAC), энтропийным кодированием с разделением на интервалы вероятности (PIPE) или другой методологией энтропийного кодирования. Видеокодер 2 0 также может выполнить энтропийное кодирование синтаксических элементов, связанных с закодированными видеоданными, для использования видеодекодером 30 при декодировании видеоданных.
[00 61] Для выполнения кодирования САВАС видеокодер 2 0 может присвоить символу, который должен быть передан, контекст в модели контекста. Контекст может относиться, например, к тому, отличны ли соседние значения символа от нуля. Для выполнения кодирования CAVLC видеокодер 2 0 может выбрать для символа, который должен быть передан, код с переменной длиной. Кодовые слова в кодировании VLC могут быть построены таким образом, что относительно более короткие коды соответствуют более вероятным символам, в то время как более длинные коды соответствуют менее вероятным символам. Таким образом, использование кодирования VLC может достигнуть экономии битов, например, по сравнению с использованием кодовых слов равной длины для каждого символа, который должен быть передан. Определение вероятности может быть основано на контексте, присвоенном символу.
[00 62] Видеокодер 2 0 и/или видеодекодер 3 0 могут быть выполнены с возможностью работать в соответствии с методиками, описанными в этом раскрытии. В целом видеокодер 2 0 и/или
видеодекодер 3 0 могут быть выполнены с возможностью выполнять одну или более методик, описанных в настоящем документе, в любой комбинации. В некоторых примерах видеокодер 2 0 и видеодекодер 3 0 могут быть выполнены с возможностью выполнять методики этого раскрытия, относящиеся к кодированию информации, связанной с элементами CTU и элементами CU. Например, видеокодер 2 0 и видеодекодер 3 0 могут быть выполнены с возможностью выполнять моделирование контекста контекстно-адаптивного двоичного арифметического кодирования (САВАС) синтаксического элемента, связанного с элементом кодирования (CU), на основе по меньшей мере одной информации из информации соседнего в пространстве CU относительно CU или информации соседнего во времени CU относительно CU, и выполнять кодирование САВАС синтаксического элемента на основе смоделированного контекста. В другом примере видеокодер 2 0 и видеодекодер 3 0 могут быть выполнены с возможностью: в ответ на определение, что размер элемента CTU больше, чем 64x64, определять группу ограничений, содержащих: максимальную глубину CU и минимальную глубину CU элемента CTU, и кодировать элемент CTU на основе по меньшей мере некоторых из группы ограничений.
[0063] Подразумевается, что методики этого раскрытия могут использовать терминологию стандарта HEVC или терминологию другого видеостандарта для простоты объяснения. Однако подразумевается, что методики этого раскрытия не ограничены стандартом HEVC или другими видеостандартами. Методики этого раскрытия могут быть реализованы в стандартах преемника стандарта HEVC и его расширениях, а также в других прошлых, настоящих или будущих видеостандартах.
[00 64] Фиг. 2 является блок-схемой, демонстрирующей иллюстративный видеокодер 20, который может реализовать методики этого раскрытия. Фиг. 2 обеспечена в целях объяснения и не должна рассматриваться как ограничивающая методики, широко проиллюстрированные и описанные в этом раскрытии. В целях объяснения это раскрытие описывает видеокодер 2 0 в контексте кодирования HEVC. Однако методики этого раскрытия могут быть
применимы к другим стандартам или способам кодирования.
[0065] Видеокодер 20 представляет пример устройства, которое может быть выполнено с возможностью выполнять методики, относящиеся к кодированию элементов CTU и CU, включающие в себя кодирование САВАС элементов CTU и CU, в соответствии с различными примерами, описанными в этом раскрытии.
[00 66] Например, видеокодер 2 0 может быть выполнен с возможностью выполнять моделирование контекста контекстно-адаптивного двоичного арифметического кодирования (САВАС) синтаксического элемента, связанного с элементом кодирования (CU) , на основе по меньшей мере одной информации из информации соседнего в пространстве CU относительно CU или информации соседнего во времени CU относительно CU, и выполнять кодирование САВАС синтаксического элемента на основе смоделированного контекста.
[00 67] В другом примере видеокодер 2 0 может быть выполнен с возможностью: в ответ на определение, что размер элемента CTU больше, чем 64x64, определять группу ограничений, содержащих: максимальную глубину CU и минимальную глубина CU элемента CTU, и кодировать элемент CTU на основе по меньшей мере некоторых из группы ограничений.
[0068] В примере на фиг. 2 видеокодер 20 включает в себя модуль 100 обработки предсказания, память 101 видеоданных, модуль 102 формирования разности, модуль 104 обработки преобразования, модуль 106 квантования, модуль 108 обратного квантования, модуль 110 обработки обратного преобразования, модуль 112 воссоздания, модуль 114 фильтра, буфер 116 декодированных изображений и модуль 118 энтропийного кодирования. Модуль 100 обработки предсказания включает в себя модуль 12 0 обработки интер-предсказания и модуль 12 6 обработки интра-предсказания. Модуль 12 0 обработки интер-предсказания включает в себя модуль оценки движения и модуль компенсации движения (не показаны). В других примерах видеокодер 2 0 может включать в себя больше, меньше функциональных компонентов или другие функциональные компоненты.
[00 69] Память 101 видеоданных может хранить видеоданные, которые должны быть закодированы компонентами видеокодера 20. Видеоданные, сохраненные в памяти 101 видеоданных, могут быть получены, например, из источника 18 видеоданных 18. Буфер 116 декодированных изображений может представлять собой память опорного изображения, которая хранит опорные видеоданные для использования при кодировании видеоданных видеокодером 20, например, в режимах интра- или интер-кодирования. Память 101 видеоданных и буфер 116 декодированных изображений могут быть сформированы посредством любых из множества запоминающих устройств, таких как динамическая оперативная память (DRAM), в том числе синхронная DRAM (SDRAM), магнитоустойчивая RAM (MRAM), резистивная RAM (RRAM) или другие типы запоминающих устройств. Память 101 видеоданных и буфер 116 декодированных изображений могут быть обеспечены посредством одного и того же запоминающего устройства или посредством отдельных запоминающих устройств. В различных примерах память 101 видеоданных может находиться на микросхеме с другими компонентами видеокодера 2 0 или вне микросхемы относительно этих компонентов.
[0070] Видеокодер 20 может принимать видеоданные. Видеокодер 2 0 может закодировать каждый элемент CTU в слое изображения видеоданных. Каждый из элементов CTU может быть связан с блоками кодового дерева (СТВ) яркости одинаковых размеров и соответствующими блоками СТВ изображения. Как часть кодирования элемента CTU, процессор предсказания 100 может выполнить разбиение дерева квадрантов, чтобы разделить блоки СТВ элемента CTU на последовательно более малые блоки. Более малый блок может представлять собой кодовые блоки CU. Например, блок 100 обработки предсказания может разбить блок СТВ, связанный с элементом CTU, на четыре подблока одинаковых размеров, разбить один или более подблоков на четыре под-подблока одинаковых размеров и так далее.
[0071] Видеокодер 20 может закодировать элементы CU элемента CTU, чтобы сформировать закодированные представления CU (т.е., закодированные элементы CU) . Как часть кодирования CU, процессор предсказания 100 может разбить кодовые блоки,
связанные с CU среди одного или более элементов PU CU. Таким образом, каждый элемент PU может быть связан с блоком предсказания яркости и соответствующим блокам предсказания цветности. Видеокодер 20 и видеодекодер 30 могут поддерживать элементы PU, имеющие разные размеры. Как указано выше, размер CU может относиться к размеру кодового блока яркости CU, и размер элемента PU может относиться к размеру блока предсказания яркости элемента PU. В предположении, что размер конкретного CU составляет 2Nx2N, видеокодер 20 и видеодекодер 30 могут поддерживать размеры элемента PU 2Nx2N или NxN для интра-предсказания и симметричные размеры элемента PU 2Nx2N, 2NxN, Nx2N, NxN и т.п. для интер-предсказания. Видеокодер 2 0 и видеодекодер 3 0 также могут поддерживать асимметричное разбиение для размеров элемента PU 2NxnU, 2NxnD, nLx2N и nRx2N для интерпредсказания .
[0072] Модуль 120 обработки интер-предсказания может
сформировать данные предсказания для элемента PU посредством
выполнения интер-предсказания над каждым элементом PU CU. Данные
предсказания для элемента PU могут включить в себя блоки
предсказания элемента PU и информацию движения для элемента PU.
Модуль 121 интер-предсказания может выполнить различные операции
для элемента PU CU в зависимости от того, находится ли элемент
PU в I-слое, Р-слое или В-слое. В I-слое все элементы PU
являются кодированными с интра-предсказанием. Следовательно,
если элемент PU находится в I-слое, модуль 121 интер-
предсказания не выполняет интер-предсказание над элементом PU.
Таким образом, для блоков, закодированных в I-режиме,
предсказанный блок формируется с использованием
пространственного предсказания на основе ранее закодированных соседних блоков в том же кадре.
[0073] Если элемент PU находится в Р-слое, модуль оценки движения модуля 12 0 обработки интер-предсказания может осуществить поиск среди опорных изображений в списке опорных изображений (например, в списке RefPicListO) опорной области для элемента PU. Опорная область для элемента PU может представлять собой область в опорном изображении, которое содержит блоки
отсчетов, которые наиболее близко соответствуют блокам отсчетов элемента PU. Модуль оценки движения модуля 12 0 обработки интерпредсказания может сформировать опорный индекс, который указывает в списке RefPicListO позицию опорного изображения, содержащего опорную область для элемента PU. Кроме того, модуль оценки движения может сформировать вектор MV, который указывает пространственное смещение между кодовым блоком элемента PU и опорным местоположением, связанным с опорной областью. Например, вектор MV может представлять собой двумерный вектор, который обеспечивает смещение от координат в текущем декодируемом изображении к координатам в опорном изображении. Модуль оценки движения может выдать опорный индекс и вектор MV в качестве информации движения элемента PU. Модуль компенсации движения модуля 12 0 обработки интер-предсказания может сформировать блоки предсказания элемента PU на основе фактических или интерполированных отсчетов в опорном местоположении, указанном вектором движения элемента PU.
[0074] Если элемент PU находится в В-слое, модуль оценки движения может выполнить предсказание по одному изображению или предсказание по двум изображениям для элемента PU. Чтобы выполнить предсказание по одному изображению для элемента PU, модуль оценки движения может осуществить поиск среди опорных изображений списка RefPicListO или второго списка опорных изображений (RefPicList1) опорной области для элемента PU. Модуль оценки движения может выдать в качестве информации движения элемента PU опорный индекс, который указывает в списке RefPicListO или в списке RefPicListl позицию опорного изображения, которое содержит опорную область, вектор MV, который указывает пространственное смещение между блоком предсказания элемента PU и опорным местоположением, связанным с опорной областью, и один или более индикаторов направления предсказания, которые указывают, находится ли опорное изображение в списке RefPicListO или в списке RefPicListl. Модуль компенсации движения модуля 12 0 обработки интерпредсказания может сформировать блоки предсказания элемента PU по меньшей мере частично на основе фактических или
интерполированных отсчетов в опорной области, указанной вектором движения элемента PU.
[0075] Чтобы выполнить двунаправленное интер-предсказание для элемента PU, модуль оценки движения может осуществить поиск среди опорных изображений в списке RefPicListO опорной области для элемента PU и также может осуществить поиск среди опорных изображений в списке RefPicListl другой опорной области для элемента PU. Модуль оценки движения может сформировать индексы опорного изображения, которые указывают в списках RefPicListO и RefPicListl позиции опорных изображений, которые содержат опорные области. Кроме того, модуль оценки движения может сформировать векторы MV, которые указывают пространственные смещения между опорным местоположением, связанным с опорными областями, и блоком отсчетов элемента PU. Информация движения элемента PU может включать в себя опорные индексы и векторы MV элемента PU. Модуль компенсации движения может сформировать блоки предсказания элемента PU по меньшей мере частично на основе фактических или интерполированных отсчетов в опорных областях, указанных векторами движения элемента PU.
[0076] Модуль 126 обработки интра-предсказания может формировать данные предсказания для элемента PU посредством выполнения интра-предсказания над элементом PU. Данные предсказания для элемента PU могут включать в себя блоки предсказания для элемента PU и различные синтаксические элементы. Модуль 12 6 обработки интра-предсказания может выполнить интра-предсказание над элементами PU в I-слоях, Р-слоях и В-слоях.
[0077] Чтобы выполнить интра-предсказание над элементом PU, модуль 12 6 обработки интра-предсказания может использовать несколько режимов интра-предсказания для формирования нескольких множеств данных предсказания для элемента PU. Модуль 12 6 обработки интра-предсказания может использовать отсчеты из блоков отсчетов соседних элементов PU, чтобы сформировать блок предсказания для элемента PU. Соседние элементы PU могут находиться выше, выше и справа, выше и слева или слева от элемента PU в предположении порядка кодирования слева направо и
сверху вниз для элементов PU, CU и элементов CTU. Модуль 12 6 обработки интра-предсказания может использовать различные количества режимов интра-предсказания, например, 33 направленных режима интра-предсказания. В некоторых примерах количество режимов интра-предсказания может зависеть от размера области, связанной с элементом PU.
[0078] Модуль 100 обработки предсказания может выбрать данные предсказания для элементов PU CU из числа данных предсказания, сформированных модулем 12 0 обработки интерпредсказания для элементов PU, или данных предсказания, сформированных модулем 12 6 обработки интра-предсказания для элементов PU. В некоторых примерах модуль 100 обработки предсказания выбирает данные предсказания для элементов PU CU на основе метрик скорости/искажения множеств данных предсказания. Блоки предсказания выбранных данных предсказания могут упоминаться в настоящем документе как выбранные блоки предсказания.
[0079] Модуль 102 формирования разности может формировать на основе кодового блока яркости, СЬ и Сг CU и выбранных блоков предсказания яркости, СЬ и Сг элементов PU CU разностные блоки яркости, СЬ и Сг CU. Например, модуль 102 формирования разности может формировать разностные блоки CU таким образом, что каждый отсчет в разностных блоках имеет значение, равное разности между отсчетом в кодовом блоке CU и соответствующим отсчетом в соответствующем выбранном блоке предсказания элемента PU CU.
[0080] Модуль 104 обработки преобразования может выполнить разбиение дерева квадрантов, чтобы разбить разностные блоки, связанные с CU, на блоки преобразования, связанные с элементами TU из CU. Таким образом, в некоторых примерах элемент TU может быть связан с блоком преобразования яркости и двумя блоками преобразования цветности. Размеры и позиции блоков преобразования яркости и цветности элементов TU из CU могут быть или могут не быть основаны на размерах и позициях блоков предсказания элементов PU CU. Структура дерева квадрантов, известная как "разностное дерево квадрантов" (RQT), может
включать в себя узлы, связанные с каждой из областей. Элементы TU из CU могут соответствовать концевым узлам дерева RQT.
[0081] Модуль 104 обработки преобразования может
формировать блоки коэффициентов преобразования для каждого
элемента TU из CU посредством применения одного или более
преобразований к блокам преобразования элемента TU. Модуль 104
обработки преобразования может применить различные
преобразования к блоку преобразования, связанному с элементом TU. Например, модуль 104 обработки преобразования может применить дискретное косинусное преобразование (DCT), направленное преобразование или концептуально подобное преобразование к блоку преобразования. В некоторых примерах модуль 104 обработки преобразования не применяет преобразование к блоку преобразования. В таких примерах блок преобразования можно рассматривать как блок коэффициентов преобразования.
[0082] Модуль 106 квантования может квантовать коэффициенты преобразования в блоке коэффициентов. Процесс квантования может сократить битовую глубину, связанную с некоторыми или всеми коэффициентами преобразования. Например, во время квантования п-битовый коэффициент преобразования может быть округлен в меньшую сторону до m-битового коэффициента преобразования, где п больше т. Модуль 106 квантования может квантовать блок коэффициентов, связанный с элементом TU из CU, на основе значения параметра квантования (QP), связанного с CU. Видеокодер 20 может корректировать степень квантования, связанную с блоками коэффициентов, связанными с CU, корректируя значение параметра QP, связанное с CU. Квантование может внести потерю информации, таким образом, квантованные коэффициенты преобразования могут иметь более низкую точность, чем первоначальные.
[0083] Модуль 108 обратного квантования и модуль 110 обработки обратного преобразования могут применить обратное квантование и обратные преобразования к блоку коэффициентов, соответственно, чтобы воссоздать разностный блок из блока коэффициентов. Модуль 112 воссоздания может добавить воссозданный разностный блок к соответствующим отсчетам из одного или более блоков предсказания, сформированных модулем 100
обработки предсказания, чтобы произвести воссозданный блок преобразования, связанный с элементом TU. Посредством воссоздания блоков преобразования для каждого элемента TU из CU, таким образом, видеокодер 2 0 может воссоздать кодовые блоки CU.
[0084] Модуль 114 фильтра может выполнить одну или более операций удаления блочности, чтобы сократить артефакты блочности в кодовых блоках, связанных с CU. Буфер 116 декодированных изображений может сохранить воссозданные кодовые блоки после того, как модуль 114 фильтра выполнит одну или более операций удаления блочности над воссозданными кодовыми блоками. Модуль 120 обработки интер-предсказания может использовать опорное изображение, которое содержит воссозданные кодовые блоки, чтобы выполнить интер-предсказание над элементами PU других изображений. Кроме того, модуль 12 6 обработки интра-предсказания может использовать воссозданные кодовые блоки в буфере 116 декодированных изображений, чтобы выполнить интра-предсказание над другими элементами PU в том же самом изображении, как и CU.
[0085] Модуль 118 энтропийного кодирования может принять данные из других функциональных компонентов видеокодера 20. Например, модуль 118 энтропийного кодирования может принять блоки коэффициентов от модуля 106 квантования и может принять синтаксические элементы от модуля 100 обработки предсказания. Такие синтаксические элементы могут включать в себя синтаксические элементы, относящиеся к размеру и разбиению элементов CTU и CU. Модуль 118 энтропийного кодирования может выполнить одну или более операций энтропийного кодирования над данными, чтобы сформировать подвергнутые энтропийному кодированию данные. Например, модуль 118 энтропийного кодирования может выполнить операцию контекстно-адаптивного кодирования, такую как операция кодирования САВАС, операция контекстно-адаптивного кодирования переменной длины (CAVLC), операция кодирования САВАС, операция перекодирования из кода с переменной длиной в код с переменной длиной (V2V), операция основанного на синтаксисе контекстно-адаптивного двоичного арифметического кодирования (SBAC), операция энтропийного кодирования с разделением на интервалы вероятности (PIPE),
операция экспоненциального кодирования Голомба или другой тип операции энтропийного кодирования данных. Видеокодер 2 0 может выдать битовый поток, который включает в себя подвергнутые энтропийному кодированию данные, сформированные модулем 118 энтропийного кодирования. Например, битовый поток может включать в себя данные, которые представляют дерево RQT для CU.
[0086] Некоторые методики этого раскрытия относятся к кодированию САВАС информации, относящейся, например, к элементам CTU и элементам CU. Кодирование САВАС, которое выполняет модуль 118 энтропийного кодирования, обычно включает в себя три главные функции: бинаризацию, моделирование контекста и арифметическое кодирование. Бинаризация отображает синтаксические элементы на двоичные символы ("бины"), которые могут назваться двоичными строками. Моделирование контекста оценивает вероятность двоичных символов. Как часть процесса моделирования контекста, устройство видеокодирования выбирает модель контекста для каждого двоичного символа. Модель контекста представляет вероятность. Разные модели контекста могут быть выбраны для разных двоичных символов. Арифметическое кодирование сжимает двоичные символы в биты на основе оцененной вероятности. Иначе говоря, арифметическое кодирование сжимает двоичные символы в биты на основе выбранной модели контекста, соответствующей каждому двоичному символу.
[0087] В некоторых примерах бинаризация может относиться ко множеству процессов бинаризации, таких как одноместная бинаризация, усеченная одноместная бинаризация, экспоненциальная бинаризация Голомба k-го порядка (EGk) и бинаризация фиксированной длины. Во время моделирования контекста модуль 118 энтропийного кодирования выводит оценку вероятности (например, модель контекста) для каждого двоичного символа в процессе, называемом моделированием контекста. Процесс моделирования контекста может быть в высокой степени адаптивным.
[008 8] Модуль 118 энтропийного кодирования может использовать разные модели контекста для разных двоичных символов. Модуль 118 энтропийного кодирования может обновлять вероятность моделей контекста на основе значений ранее
закодированных двоичных символов. Двоичные символы с аналогичными распределениями часто совместно используют одну и ту же модель контекста. Модуль 118 энтропийного кодирования может выбрать модель контекста для каждого двоичного символа на основе типа синтаксического элемента, позиции двоичного символа в синтаксическом элементе (binldx), яркости/цветности, соседней информации и других синтаксических элементах.
[008 9] Во время энтропийного кодирования энтропийный кодер или энтропийный декодер (например, модуль 118 энтропийного кодирования и модуль 150 энтропийного декодирования) могут поместить биты символа, который должен быть закодирован или декодирован, в один или несколько двоичных символов. В некоторых примерах двоичные символы указывают, равно ли значение символа нулю. Энтропийный кодер или энтропийный декодер могут использовать значения двоичных символов, чтобы корректировать процесс энтропийного кодирования. В других примерах энтропийный кодер или энтропийный декодер также могут использовать двоичные символы, чтобы указать, больше ли значение, чем заданное значение, например, больше 0, больше 1 и т.д.
[0090] Модуль 118 энтропийного кодирования может быть выполнен с возможностью выполнять процесс, называемый "переключением контекста". Например, модуль 118 энтропийного кодирования может быть выполнен с возможностью выполнять переключение контекста после кодирования каждого двоичного символа. В некоторых примерах модуль 118 энтропийного кодирования сохраняет вероятностные модели (например, модели контекста) как 7-битные записи (б битов для состояния вероятности и 1 бит для наиболее вероятного символа (MPS)) в памяти контекста. В таких примерах модуль 118 энтропийного кодирования адресуется к вероятностным моделям (например, к модели контекста) с использованием индекса контекста, вычисленного логической схемой выбора контекста.
[0091] Прежде чем закодировать видеоданные (например, слой видеоданных) , модуль 118 энтропийного кодирования инициализирует вероятностные модели (например, модели контекста) на основе некоторых предопределенных значений. Например, при заданном
входном параметре квантования, обозначенном как qp, и предопределенном значении, обозначенном как initVal, модуль 118 энтропийного кодирования может получить 7-битный элемент вероятностной модели (обозначенный значениями state и MPS) следующим образом:
qp=Clip3(0, 51, qp) ;
slope=( initVal "4)*5-45;
offset= ( (initVal &15)"3)-16;
initState= min ( max ( 1, ( ( ( slope * qp ) > > 4 )+of f set ) ), 12 6 );
MPS=(initState > = 64 );
state=( (mpState? (initState - 64): (63 - initState)) "1) +mpState;
[0092] Модуль 118 энтропийного кодирования может быть выполнен с возможностью выполнять арифметическое кодирование на основе, например, рекурсивного процесса разделения интервала. Как часть процесса арифметического кодирования, модуль 118 энтропийного кодирования может быть выполнен с возможностью разделять диапазон на два подынтервала на основе вероятности двоичного символа. В некоторых примерах диапазон может первоначально варьировать от 0 до 1. Модуль 118 энтропийного кодирования может быть выполнен с возможностью выбирать один из этих двух подынтервалов на основе смещения, которое преобразовано в двоичную дробь. Смещение выводится из закодированного двоичного символа, и выбранный подынтервал указывается посредством значения двоичного символа.
[0093] Модуль 118 энтропийного кодирования может быть выполнен с возможностью обновлять диапазон после каждого двоичного символа таким образом, что обновленный диапазон равен выбранному подынтервалу. Модуль 118 энтропийного кодирования может быть выполнен с возможностью повторять процесс подразделения интервала. Диапазон и смещение ограничили битовую точность, таким образом, модуль 118 энтропийного кодирования может быть выполнен с возможностью выполнять повторную нормализацию каждый раз, когда диапазон падает ниже некоторого значения, чтобы предотвратить потерю порядка.
[0094] Модуль 118 энтропийного кодирования может выполнять повторную нормализацию после того, как будет закодирован каждый двоичный символ. Аналогичным образом, модуль 150 энтропийного декодирования может выполнять повторную нормализацию после того, как будет закодирован каждый двоичный символ. Модуль 118 энтропийного кодирования может выполнять арифметическое кодирование с использованием оцененной вероятности (контекстное кодирование) или приняв равную вероятность 0,5 (кодирование в обход). Для кодированных в обход двоичных символов модуль 118 энтропийного кодирования может выполнить разделение диапазона на подынтервалы с использованием арифметического сдвига, тогда как для контекстно кодированных двоичных символов может использоваться таблица поиска.
[0095] Во время компенсации движения и оценки движения
модуль 100 обработки предсказания определяет, должен ли CU быть
разделен на подблоки (например, элементы предсказания (элементы
PU) или меньше). Например, модуль 100 обработки предсказания
может выполнить множество проходов кодирования, во время которых
элементы кодового дерева (элементы CTU) разбиваются по-разному,
и затем характеристики скорости/искажения каждого прохода могут
быть сравнены с другими проходами, чтобы определить, какая схема
разбиения для элемента CTU приводит к наилучшим метрикам
скорости/искажения. Значение синтаксического элемента
split_cu_flag (флаг) указывает, разбит ли CU на элементы кодирования пополам по горизонтали и по вертикали относительно родительского CU. Для каждого типа слоя (например, I-, Р- и В-слоев) модуль 118 энтропийного кодирования может быть выполнен с возможностью кодировать синтаксический элемент split_cu_flag с использованием кодирования САВАС с помощью трех контекстов на основе информации соседних в пространстве слоев.
[0096] Как определено в спецификации стандарта HEVC, модуль 118 энтропийного кодирования может быть выполнен с возможностью выводить смещение индекса контекста (например, ctxlnc) на основе доступности блока слева и блока сверху от текущего блока (например, availableL, который определяет доступность блока, расположенного непосредственно слева от текущего блока, или
availableA, который определяет доступность блока, расположенного непосредственно сверху текущего блока) и информации разбиения (т.е., CtDepth[ xNbL/A ][ yNbL/A ] > cqtDepth) соседних слева/сверху блоков. Таблица 9-38, скопированная из стандарта HEVC, описывает выведение синтаксического элемента ctxlnc следующим образом.
[0097] Другой синтаксический элемент inter_pred_idc, указывает, используется ли список listO, список listl или двунаправленное предсказание для текущего элемента предсказания. Синтаксический элемент имеет до двух двоичных символов, оба из которых являются контекстно закодированным посредством кодирования САВАС. Преобразованная в двоичную форму двоичная строка определена в соответствии с таблицей 9-36, скопированная из стандарта HEVC, следующим образом, где nPbW и пРЬН представляют текущую ширину и высоту блока предсказания яркости, соответственно:
выполнен с возможностью выполнять упомянутое выше выведение выбора контекста преобразованной в двоичную форму двоичной строки на основе определения, выполняется ли условие (nPbW+nPbH)
!= 12, или выполняется ли условие (nPbW+nPbH) != 12. Например, если (nPbW+nPbH) не равно 12, модуль 118 энтропийного кодирования может быть выполнен с возможностью закодировать первый двоичный символ с использованием четырех контекстов
(например, 0, 1, 2, и 3) и закодировать второй двоичный символ с одним контекстом. В некоторых примерах выбор контекста первого двоичного символа находится в соответствии с глубиной CU текущего блока. В стандарте HEVC глубина CU находится в диапазоне от 0 до 3, включительно. В качестве другого примера, если (nPbW+nPbH) равно 12, модуль 118 энтропийного кодирования может быть выполнен с возможностью закодировать первый двоичный символ и второй двоичный символ с тем же самым контекстом, как контекст, используемый вторым двоичным символом в упомянутом выше примере.
[0099] Хотя модуль 118 энтропийного кодирования и модуль 150 энтропийного декодирования могут быть выполнены с возможностью выполнять один или несколько аспектов энтропийного кодирования в соответствии со стандартом HEVC, как описано выше, например, существует много проблем с моделированием контекста в стандарте HEVC. Моделирование контекста в стандарте HEVC специально разработано для элемента CTU не больше, чем 64x64. В соответствии с этим, когда используются большие размеры элемента CTU (например, 128x128, 256x256 или еще больше), непосредственное использование текущих процессов моделирования контекста, таких как описаны посредством стандарта HEVC, менее эффективно или приводит к проблемам синтаксического разбора.
[0100] В качестве одного примера, когда элемент CTU больше, чем 64x64, непосредственное использование текущих процессов моделирования контекста флага split_cu_flag, как определено посредством стандарта HEVC, является не эффективным. В качестве другого примера, когда элемент CTU больше, чем 64x64, максимальная глубина CU действительно увеличивается таким
образом, что необходимо больше контекстов для inter_pred_idc. Однако дополнительные контексты не обязательно приносят дополнительную эффективность кодирования. В соответствии с этим некоторые методики в этом раскрытии относятся к ограничению количества контекстов, тогда как другие методики в этом раскрытии относятся к увеличению количества контекстов.
[0101] Это раскрытие описывает несколько разных методик, которые описаны более подробно ниже, и которые могут преодолеть проблемы, связанные с энтропийным кодированием элементов CTU, как пояснено выше. Эти методики могут использоваться отдельно или в любой комбинации. Следующие методики могут быть применимы для кодирования больших элементов CTU, а также для кодирования элементов CTU с размером 64x64 или меньше. Следующие методики могут быть применены индивидуально или в любой комбинации.
[0102] В одном примере в соответствии с методиками этого раскрытия модуль 118 энтропийного кодирования может принять во внимание информацию максимальной и/или минимальной глубины CU соседей в пространстве и/или во времени текущего CU при выполнении моделирования контекста split_cu_flag и/или синтаксического элемента с такой же семантикой.
[0103] В этом примере модуль 118 энтропийного кодирования может быть выполнен с возможностью определять возможность (например, вероятность или правдоподобность) того, разбит ли CU далее на под-CU, на основе максимальной и/или минимальной глубин CU или размеров CU соседей в пространстве и/или во времени текущего CU, и это означает, что глубины CU соответствуют всем соседям в пространстве и/или во времени текущего CU в некоторых примерах, и одна или более глубин CU соответствуют одному или более соседям в пространстве и/или во времени текущего CU в других примерах. На основе определения, что глубина текущего CU меньше минимальной глубины CU одного или более соседей в пространстве и/или во времени текущего CU (например, всех таких соседей), модуль 118 энтропийного кодирования может быть выполнен с возможностью определять, что вероятно, что CU должен быть далее разбит. На основе определения, что глубина текущего
CU больше максимальной глубины CU одного или более соседей в пространстве и/или во времени текущего CU (например, всех таких соседей), модуль 118 энтропийного кодирования может быть выполнен с возможностью определять, что очень маловероятно, что CU должен быть далее разбит.
[0104] В одном примере модуль 118 энтропийного кодирования может быть выполнен с возможностью использовать выделенную модель контекста для кодирования синтаксического элемента split_cu_flag после определения, что текущий CU очень вероятно будет далее разбит (например, когда глубина текущего CU будет меньше минимальной глубины CU соседей в пространстве и/или во времени текущего CU) . В качестве альтернативы или дополнительно модуль 118 энтропийного кодирования может быть выполнен с возможностью устанавливать начальную вероятность значения двоичного символа, равной '1', связанной с моделью контекста, равной 1, или значению, очень близкому к 1. Например, с помощью представленного выше способа инициализации модуль 118 энтропийного кодирования может быть выполнен с возможностью использовать значение "0" (initVal=0) для инициализации модели контекста как "очень маловероятной" (initState=l) и значение "255" для инициализации контекста как "вероятного" (initstate=126).
[0105] В другом примере модуль 118 энтропийного кодирования может быть выполнен с возможностью использовать выделенную модель контекста для кодирования синтаксического элемента split_cu_flag после определения, что текущий CU очень маловероятно будет далее разбит (например, когда глубина CU у текущего CU больше максимальной глубины CU соседей в пространстве и/или во времени текущего CU) . В качестве альтернативы или дополнительно модуль 118 энтропийного кодирования может быть выполнен с возможностью устанавливать начальную вероятность значения двоичного символа, равной '1', связанной с контекстом, равным 0, или значению, очень близкому к 0.
[0106] В некоторых примерах в соответствии с методиками
этого раскрытия модуль 118 энтропийного кодирования может быть выполнен с возможностью определять смещение индекса контекста на основе однородного или неоднородного квантования глубины текущего CU для синтаксического элемента inter_pred_idc вместо того, чтобы устанавливать смещение индекса контекста равным глубине CU. Например, модуль 118 энтропийного кодирования может быть выполнен с возможностью устанавливать смещение индекса контекста равным: min (CU depth, М) , где М - положительное целочисленное значение и функция min возвращает минимальное значение из двух аргументов. В некоторых примерах модуль 118 энтропийного кодирования может установить, что М равно 3. Поскольку каждое смещение индекса контекста соответствует контексту, модуль 118 энтропийного кодирования может быть выполнен с возможностью ограничивать количество контекстов, используемых для энтропийного кодирования элемента CTU с размером больше 64x64 посредством ограничения смещения индекса контекста, как описано выше. Например, когда М равно 3, количество контекстов ограничено четырьмя. В качестве другого примера, когда М равно 5, количество контекстов ограничено шестью.
[0107] Максимальный размер CU (размер элемента CTU) и максимальное разделение CU обычно сигнализируется во множестве параметров последовательности (SPS) или множестве параметров изображения (PPS). Видеокодер 20 или видеодекодер 30 определяет размер CU для заданного битового потока соответствующим образом. В некоторых примерах в соответствии с методиками этого раскрытия, в которых допускается элемент CTU с размером больше 64x64, видеокодер 20 может подвергнуть максимальные и минимальные размеры CU дополнительным ограничениям, в результате чего глубина CU ограничена некоторым диапазоном. Теперь описываются различные примеры элемента CTU и ограничений размера CU. В некоторых примерах одно или более описанных ниже ограничений могут применяться только к интер-кодированным элементам CU.
[0108] В одном примере видеокодер 2 0 может быть выполнен с возможностью устанавливать, что максимальный размер CU меньше
или равен размеру, который меньше разрешенного максимального размера элемента CTU. Например, максимальный размер CU может быть предопределен, как 64x64. Посредством установления, что максимальный размер CU меньше или равен размеру, который меньше максимального размера элемента CTU, некоторые модули видеокодека, такие как адаптивные петлевые фильтры и процессы адаптивного смещения отсчетов, могут быть применены на уровне элемента CTU.
[0109] В другом примере видеокодер 2 0 может быть выполнен с возможностью сигнализировать максимальный размер CU вместе с размером элемента CTU и максимальную глубину CU в множестве PPS или любом другом множестве синтаксических параметров высокого уровня.
[ОНО] В другом примере, когда текущий CU имеет размер больше максимального размера CU, видеокодер 2 0 может быть выполнен с возможностью не сигнализировать синтаксический элемент split_cu_flag текущего CU. В таком примере видеодекодер 3 0 может быть выполнен с возможностью выводить заключение, что split_cu_flag равен 1.
[0111] Теперь описываются различные примеры ограничений на максимальный размер CU в соответствии с методиками этого раскрытия. В одном примере видеокодер 2 0 и видеодекодер 3 0 могут ограничить глубину CU, чтобы она была меньше М, где М равно 4 в некоторых примерах. В другом примере видеокодер 2 0 и видеодекодер 3 0 могут ограничить размер CU, чтобы он был меньше (1 < <(N-M)), где самый большой размер элемента CTU равен (1 < демонстрирует четыре иллюстративных глубины CU (первая 32x32, вторая 16x16, третья 8x8 и четвертая 4x4) . В некоторых примерах ограничение размера CU может быть применено только к интер-кодированным элементам CU. В некоторых примерах максимальная глубина CU или минимальный размер CU для интра- и интер-кодированных CU могут отличаться.
[0112] В различных примерах в соответствии с методиками этого раскрытия модуль 118 энтропийного кодирования может добавить два дополнительных контекста для кодирования split_cu_flag или синтаксического элемента с такой же семантикой. Первый дополнительный контекст указывает, что дальнейшее разделение текущего CU имеет высокую возможность (например, очень вероятно). Второй дополнительный контекст указывает, что дальнейшее разделение текущего CU имеет низкую возможность (например, очень маловероятно). В этих примерах модуль 118 энтропийного кодирования видеокодера 2 0 может быть выполнен с возможностью определять максимальную и минимальную глубины соседних в пространстве (например, слева, слева внизу, сверху и справа сверху) CU текущего CU как max_depth и min_depth, соответственно. Модуль 118 энтропийного кодирования может быть выполнен с возможностью выбирать контексты САВАС для кодирования split_cu_flag в соответствии со следующим псевдокодом:
if (cur_cu_depth < max(0, min_depth-l) ) {Выбрать контекст для дальнейшего разбиения с высокой вероятностью}
else if (cur_cu_depth > min(g_max_cu_depth, max_depth+l)) {Выбрать контекст для дальнейшего разбиения с низкой вероятностью}
else {Использовать выбор контекста split_cu_flag в стандарте HEVC}
[0113] В приведенном выше псевдокоде cur_cu_depth указывает глубину текущего CU, и g_max_cu_depth обозначает максимальную глубину CU, разрешенную в битовом потоке. В одном примере, когда соседний в пространстве CU не доступен, видеокодер 2 0 может быть выполнен с возможностью устанавливать глубину соседнего CU,
равной 0 при вычислении min_depth и может быть выполнен с возможностью устанавливать глубину соседнего CU равной g_max_cu_depth при вычислении max_depth. В примерах, включающих в себя два дополнительных контекста, видеокодер 2 0 может быть выполнен с возможностью устанавливать начальное значение (например, описанное выше initVal) равным 255 для контекста дальнейшего разбиения с высокой вероятностью. В таких примерах видеокодер 2 0 может установить начальное значение (например, описанное выше initVal) равным 0 для контекста дальнейшего разбиения с низкой вероятностью.
[0114] Для элементов CTU с размером больше, чем 64x64, глубина CU может быть больше 3. Например, когда элемент CTU имеет размер 256x256, глубина CU может быть равна 0, 1, 2, 3, 4 или 5. В некоторых примерах модуль 118 энтропийного кодирования может по-прежнему использовать четыре контекста (например, 0, 1, 2 и 3) для первого двоичного символа inter_pred_idc. Тогда модуль 118 энтропийного кодирования может выбрать контекст с использованием min(3, cur_cu_depth), где cur_cu_depth указывает глубину текущего CU.
[0115] Фиг. 3 является блок-схемой, демонстрирующей иллюстративный видеодекодер 30, который может реализовать методики этого раскрытия. Фиг. 3 обеспечена в целях объяснения и не должна рассматриваться как ограничивающая методики, широко проиллюстрированные и описанные в этом раскрытии. В целях объяснения это раскрытие описывает видеодекодер 30 в контексте кодирования HEVC. Однако методики этого раскрытия могут быть применимы к другим стандартам или способам кодирования.
[0116] Видеодекодер 30 представляет пример устройства, которое может быть выполнено с возможностью выполнять методики для эффективного кодирования элементов CTU и элементы CU в соответствии с различными примерами, описанными в этом раскрытии. Например, видеодекодер 3 0 может быть выполнен с возможностью выполнять моделирование контекста контекстно-адаптивного двоичного арифметического кодирования (САВАС) синтаксического элемента, связанного с элементом кодирования
(CU) , на основе по меньшей мере одной информации из информации соседнего в пространстве CU относительно CU или информации соседнего во времени CU относительно CU, и выполнять декодирование САВАС синтаксического элемента на основе смоделированного контекста.
[0117] В другом примере видеодекодер 3 0 может быть выполнен с возможностью: в ответ на определение, что размер элемента CTU больше, чем 64x64, определять группу ограничений, содержащих: максимальную глубину CU и минимальную глубину CU элемента CTU, и декодировать элемент CTU на основе по меньшей мере некоторых из группы ограничений.
[0118] В примере на фиг. 3 видеодекодер 3 0 включает в себя модуль 150 энтропийного декодирования, память 151 видеоданных, модуль 152 обработки предсказания, модуль 154 обратного квантования, модуль 156 обработки обратного преобразования, модуль 158 воссоздания, модуль 160 фильтра и буфер 162 декодированных изображений. Модуль 152 обработки предсказания включает в себя модуль 164 компенсации движения и модуль 166 обработки интра-предсказания. В других примерах видеодекодер 30 может включать в себя больше, меньше функциональных компонентов или другие функциональные компоненты.
[0119] Память 151 видеоданных может хранить видеоданные, такие как закодированный видеопоток, который должен быть декодирован компонентами видеодекодера 30. Видеоданные, сохраненные в памяти видеоданных 151, могут быть получены, например, из считываемого компьютером носителя, например, из локального источника видеосигнала, такого как камера, через сеть проводной или беспроводной связи видеоданных, или посредством осуществления доступа к физическим носителям данных. Память видеоданных 151 может формировать буфер закодированных изображений (СРВ), который хранит закодированные видеоданные из закодированного видеопотока. Буфер 162 декодированных изображений может представлять собой память опорного изображения, которая хранит опорные видеоданные для использования при декодировании видеоданных видеодекодером 30,
например, в режимах интра- или интер-кодирования. Память 151 видеоданных и буфер 162 декодированных изображений могут быть сформированы посредством любых из множества запоминающих устройств, таких как динамическая оперативная память (DRAM), в том числе синхронная DRAM (SDRAM), магнитоустойчивая RAM (MRAM), резистивная RAM (RRAM) или другие типы запоминающих устройств. Память 151 видеоданных и буфер 162 декодированных изображений могут быть обеспечены посредством одного и того же запоминающего устройства или посредством отдельных запоминающих устройств. В различных примерах память 101 видеоданных может находиться на микросхеме с другими компонентами видеодекодера 3 0 или вне микросхемы относительно этих компонентов.
[0120] Буфер закодированных изображений (СРВ) может принять
и сохранить закодированные видеоданные (например, элементы NAL)
битового потока. Модуль 150 энтропийного декодирования может
принять закодированные видеоданные (например, элементы NAL) из
буфера СРВ и выполнить синтаксический разбор элементов NAL,
чтобы декодировать синтаксические элементы. Модуль 150
энтропийного декодирования может выполнить энтропийное
декодирование подвергнутых энтропийному кодированию
синтаксических элементов в элементах NAL. Модуль 152 обработки предсказания, модуль 154 обратного квантования, модуль 156 обработки обратного преобразования, модуль 158 воссоздания и модуль 160 фильтра могут формировать декодированные видеоданные на основе синтаксических элементов, извлеченных из битового потока. Модуль 150 энтропийного декодирования может выполнить процесс, в целом взаимный по отношению к процессу модуля 118 энтропийного кодирования, описанному выше.
[0121] Элементы NAL битового потока могут включать в себя элементы NAL закодированного слоя. Как часть декодирования битового потока, модуль 150 энтропийного декодирования может извлечь и выполнить энтропийное декодирование синтаксических элементов из элементов NAL закодированного слоя. Каждый из закодированных слоев может включать в себя заголовок слоя и данные слоя. Заголовок слоя может содержать синтаксические элементы, имеющие отношение к слою. Синтаксические элементы в
заголовке слоя могут включать в себя синтаксический элемент, который идентифицирует множество PPS, связанное с изображением, которое содержит слой.
[0122] ВВ дополнение к декодированию синтаксических элементов из битового потока видеодекодер 30 может выполнить операцию воссоздания над неразбитым CU. Чтобы выполнить операцию воссоздания над неразбитым CU, видеодекодер 3 0 может выполнить операцию воссоздания на каждом элементе TU из CU. Выполняя операцию воссоздания для каждого элемента TU из CU, видеодекодер 30 может воссоздать разностные блоки CU.
[0123] Как часть выполнения операции воссоздания над элементом TU из CU, модуль 154 обратного квантования может выполнить обратное квантование, т.е., деквантование блоков коэффициентов, связанных с элементом TU. Модуль 154 обратного квантования может использовать значение параметра QP, связанное с CU элемента TU, чтобы определить степень квантования и, аналогичным образом, степень обратного квантования для применения модулем 154 обратного квантования. Таким образом, коэффициентом сжатия, т.е., отношением количества битов, используемых для представления первоначальной последовательности и сжатой последовательности, можно управлять посредством корректировки значения параметра QP, используемого при квантовании коэффициентов преобразования. Коэффициент сжатия также может зависеть от способа используемого энтропийного кодирования.
[0124] После того, как модуль 154 обратного квантования выполняет обратное квантование блока коэффициентов, модуль 156 обработки обратного преобразования может применить одно или более обратных преобразований к блоку коэффициентов, чтобы сформировать разностный блок, связанный с элементом TU. Например, модуль 156 обработки обратного преобразования может применить к блоку коэффициентов обратное преобразование DCT, обратное целочисленное преобразование, обратное преобразование Карунена-Лоэва (KLT), обратное преобразование вращения, обратное направленное преобразование или другое обратное преобразование.
[0125] Если элемент PU закодирован с использованием интра
предсказания, модуль 166 обработки интра-предсказания может выполнить интра-предсказание, чтобы сформировать блоки предсказания для элемента PU. Модуль 166 обработки интра-предсказания может использовать режим интра-предсказания, чтобы сформировать блоки предсказания яркости, СЬ и Сг для элемента PU на основе блоков предсказания соседних в пространстве элементов PU. Модуль 166 обработки интра-предсказания может определить режим интра-предсказания для элемента PU на основе одного или более синтаксических элементов, декодированных из битового потока.
[0126] Модуль 152 обработки предсказания может построить первый список опорных изображений (RefPicListO) и второй список опорных изображений (RefPicListl) на основе синтаксических элементов, извлеченных из битового потока. Кроме того, если элемент PU закодирован с использованием интер-предсказания, модуль 150 энтропийного декодирования может извлечь информацию движения для элемента PU. Модуль 164 компенсации движения может определить на основе информации движения элемента PU одну или более опорных областей для элемента PU. Модуль 164 компенсации движения может сформировать на основе блоков отсчетов в одном или более опорных блоках для элемента PU блоки предсказания яркости, СЬ и Сг для элемента PU.
[0127] Модуль 158 воссоздания может использовать блоки преобразования яркости, СЬ и Сг, связанные с элементами TU из CU, и блоки предсказания яркости, СЬ и Сг элементов PU CU, т.е., либо данные интра-предсказания, либо данные интер-предсказания, по мере необходимости, чтобы воссоздать кодовые блоки яркости, СЬ и Сг CU. Например, модуль 158 воссоздания может добавить отсчеты блоков преобразования яркости, СЬ и Сг к соответствующим отсчетам блоков предсказания яркости, СЬ и Сг, чтобы воссоздать кодовые блоки яркости, СЬ и Сг CU.
[0128] Видеодекодер 30 может быть выполнен с возможностью выполнять процесс, в целом взаимный по отношению к процессу видеокодера 20, описанному в настоящем документе. Аналогичным образом, видеокодер 2 0 может быть выполнен с возможностью выполнять процесс, в целом взаимный по отношению к процессу
видеодекодера 30, описанному в настоящем документе. Например, раскрытие того, что видеодекодер 3 0 может быть выполнен с возможностью декодировать закодированный синтаксический элемент в битовом потоке, аналогичным образом обязательно раскрывает то, что видеокодер 2 0 может быть выполнен с возможностью закодировать синтаксический элемент в битовый поток.
[0129] В качестве другого примера модуль 150 энтропийного декодирования может быть выполнен с возможностью выполнять процесс, в целом взаимный по отношению к процессу модуля 118 энтропийного кодирования, описанному в настоящем документе. В соответствии с аспектами этого раскрытия, модуль 150 энтропийного декодирования может быть выполнен с возможностью выполнять энтропийное декодирование любых кодовых слов, сформированных модулем 118 энтропийного кодирования.
[0130] Модуль 160 фильтра может выполнить операцию удаления блочности для сокращения артефактов блочности, связанных с кодовыми блоками яркости, СЬ и Сг CU. Видеодекодер 3 0 может сохранить кодовые блоки яркости, СЬ и Сг CU в буфере 162 декодированных изображений. Буфер 162 декодированных изображений может обеспечить опорные изображения для последующей компенсации движения, интра-предсказания и представления на устройстве отображения, таком как устройство 32 отображения на фиг. 1. Например, видеодекодер 30 может выполнить на основе блоков яркости, СЬ и Сг в буфере 162 декодированных изображений операции интра-предсказания или интер-предсказания над элементами PU других CU.
[0131] Фиг. 4 является блок-схемой последовательности этапов, демонстрирующей иллюстративный процесс для кодирования (например, кодирования и/или декодирования) видеоданных, согласующийся с методиками этого раскрытия. Процесс на фиг. 4 в целом описывается как выполняемый устройством видеокодирования в целях иллюстрации, хотя множество других процессоров также могут выполнять процесс, показанный на фиг. 4. Используемый в настоящем документе термин "устройство видеокодирования" может относиться к видеокодеру и/или видеодекодеру, такому как, например, видеокодер 20 и/или видеодекодер 30, описанные
относительно фиг. 1-3. В некоторых примерах память 101 видеоданных, модуль 100 обработки предсказания и/или модуль 118 энтропийного кодирования могут выполнять один или более процессов, показанных на фиг. 4. В некоторых примерах память 151 видеоданных, модуль 150 энтропийного декодирования и/или модуль 152 обработки предсказания могут выполнять один или более процессов, показанных на фиг. 4.
[0132] В примере на фиг. 4 устройство видеокодирования (например, видеокодер 20 и/или видеодекодер 30) может быть выполнено с возможностью выбирать в качестве части процесса энтропийного кодирования контекст для синтаксического элемента, связанного с текущим элементом кодирования (CU), на основе информации, относящейся к глубине CU у одного или более соседних CU относительно текущего CU (200) . В некоторых примерах устройство видеокодирования может быть выполнено с возможностью выбирать контекст для синтаксического элемента на основе информации, относящейся к глубине CU у одного или более соседних в пространстве CU относительно текущего CU. В других примерах устройство видеокодирования может быть выполнено с возможностью выбирать контекст для синтаксического элемента на основе информации, относящейся к глубине CU у одного или более соседних во времени CU относительно текущего CU. Например, один или более соседних CU относительно текущего CU может представлять собой соседний а в пространстве элемент, и/или один или более соседних элементы CU относительно текущего CU могут представлять собой соседний во времени элемент.
[0133] В некоторых примерах синтаксический элемент может представлять, разбит ли текущий CU на под-CU. В таких примерах синтаксический элемент может являться синтаксическим элементом split_cu_flag. В некоторых примерах CTU, связанный с текущим CU, может иметь размер, больше чем 64x64.
[0134] В некоторых примерах одна или более глубин CU, относящихся к одному или более соседним CU, могут быть равными и/или не равными глубине текущего CU. Например, одна или более глубин CU, относящихся к одному или более соседних в
пространстве CU, могут быть равны и/или не равны глубине CU у текущего CU. В качестве другого примера одна или более глубин CU, относящихся к одному или более соседних во времени CU, могут быть равны и/или не равны глубине CU у текущего CU.
[0135] Устройство видеокодирования может быть выполнено с возможностью выполнять энтропийное кодирование синтаксического элемента на основе выбранного контекста (202) . В некоторых примерах процесс энтропийного кодирования может содержать процесс контекстно-адаптивного двоичного арифметического кодирования (САВАС), и энтропийное кодирование может содержать кодирование САВАС. В таких примерах кодирование САВАС может содержать кодирование САВАС или декодирование САВАС.
[013 6] В некоторых примерах устройство видеокодирования может быть выполнено с возможностью определять, меньше ли глубина CU у текущего CU, чем минимальная глубина CU у одного или более соседних CU. Устройство видеокодирования может быть выполнено с возможностью выбирать контекст на основе определения, что глубина текущего CU меньше, чем минимальная глубина CU у одного или более соседних CU. Устройство видеокодирования может быть выполнено с возможностью устанавливать начальное значение, соответствующее выбранному контексту, равным 255 на основе определения, что глубина текущего CU меньше, чем минимальная глубина CU у одного или более соседних CU. Выбранный контекст может соответствовать значению вероятности, равному одному для синтаксического элемента, когда глубина CU у текущего CU меньше, чем минимальная глубина CU у одного или более соседних CU. В таких примерах выбранный контекст может содержать один из выделенного контекста или адаптивного контекста с начальным значением, которое равно или очень близко к одному.
[0137] В некоторых примерах устройство видеокодирования может быть выполнено с возможностью определять, больше ли глубина CU у текущего CU, чем максимальная глубина CU у одного или более соседних CU. Устройство видеокодирования может быть выполнено с возможностью выбирать контекст на основе определения, что глубина текущего CU больше, чем максимальная
глубина CU у одного или более соседних CU. Устройство видеокодирования может быть выполнено с возможностью устанавливать начальное значение, соответствующее выбранному контексту, равным нулю на основе определения, что глубина текущего CU больше, чем максимальная глубина CU у одного или более соседних CU. Выбранный контекст может соответствовать значению вероятности, равному нулю для синтаксического элемента, когда глубина CU у текущего CU больше, чем максимальная глубина CU у одного или более соседних CU. В таких примерах выбранный контекст может содержать один из выделенного контекста или адаптивного контекста с начальным значением, которое равно или очень близко к нулю.
[0138] В других примерах устройство видеокодирования может быть выполнено с возможностью выбирать в качестве части процесса энтропийного кодирования контекст для синтаксического элемента, связанного с текущим элементом кодирования (CU), на основе по меньшей мере одной информации из информации, относящейся к глубине CU у одного или более соседних в пространстве CU относительно текущего CU, или информации, относящейся к глубине CU у одного или более соседних во времени CU относительно текущего CU. В таких примерах устройство видеокодирования может быть выполнено с возможностью определять, меньше ли глубина CU у текущего CU, чем минимальная глубина CU по меньшей мере одного из одного или более соседних в пространстве CU или одного или более соседних во времени CU. Устройство видеокодирования может быть выполнено с возможностью выбирать контекст на основе определения, что глубина текущего CU меньше, чем минимальная глубина CU по меньшей мере одного из одного или более соседних в пространстве CU или одного или более соседних во времени CU. Устройство видеокодирования может быть выполнено с возможностью устанавливать начальное значение, соответствующее выбранному контексту, равным 255 на основе определения, что глубина текущего CU меньше, чем минимальная глубина CU по меньшей мере одного из одного или более соседних в пространстве CU или одного или более соседних во времени CU.
[0139] В некоторых примерах выбранный контекст может
соответствовать значению вероятности, равному или очень близкому к одному, для синтаксического элемента, когда глубина CU у текущего CU меньше, чем минимальная глубина CU по меньшей мере одного из одного или более соседних в пространстве CU или одного или более соседних во времени CU. В таких примерах выбранный контекст может содержать один из выделенного контекста или адаптивного контекста с начальным значением, которое равно или очень близко к одному. В других примерах выбранный контекст может соответствовать значению вероятности, равному или очень близкому нулю, для синтаксического элемента, когда глубина CU текущего CU больше, чем максимальная глубина CU по меньшей мере одного из одного или более соседних в пространстве CU или одного или более соседних во времени CU. В таких примерах выбранный контекст может содержать один из выделенного контекста или адаптивного контекста с начальным значением, которое равно или очень близко к нулю.
[014 0] В некоторых примерах устройство видеокодирования может быть выполнено с возможностью определять, больше ли глубина CU у текущего CU, чем максимальная глубина CU по меньшей мере одного из одного или более соседних в пространстве CU или одного или более соседних во времени CU. Устройство видеокодирования может быть выполнено с возможностью выбирать контекст на основе определения, что глубина текущего CU больше, чем максимальная глубина CU по меньшей мере одного из одного или более соседних в пространстве CU или одного или более соседних во времени CU. Устройство видеокодирования может быть выполнено с возможностью устанавливать начальное значение, соответствующее выбранному контексту, равным нулю на основе определения, что глубина текущего CU больше, чем максимальная глубина CU по меньшей мере одного из одного или более соседних в пространстве CU или одного или более соседних во времени CU.
[0141] В некоторых примерах устройство видеокодирования может быть выполнено с возможностью выбирать контекст из группы, состоящей из по меньшей мере четырех возможных контекстов. В таких примерах группа, состоящая из по меньшей мере из четырех возможных контекстов, содержит шесть возможных контекстов.
[0142] Фиг. 5 является блок-схемой последовательности этапов, демонстрирующей иллюстративный процесс для декодирования видеоданных, согласующийся с методиками этого раскрытия. Процесс фиг. 5 в целом описывается как выполняемый видеодекодером (например, видеодекодером 30) в целях иллюстрации, хотя множество других процессоров также могут выполнять процесс, показанный на фиг. 5. В некоторых примерах память 151 видеоданных, модуль 150 энтропийного декодирования и/или модуль 152 обработки предсказания могут выполнять один или более процессов, показанных на фиг. 5.
[0143] В примере на фиг. 5 видеодекодер 3 0 может быть выполнен с возможностью принимать элемент кодового дерева (CTU), представляющий текущий CU (210). Видеодекодер 3 0 может быть выполнен с возможностью принимать синтаксический элемент для текущего CU, указывающий, разбит ли текущий CU на множество под-CU (212) . В некоторых примерах синтаксический элемент может являться синтаксическим элементом split_cu_flag. Видеодекодер 30 может быть выполнен с возможностью определять контекст для энтропийного декодирования принятого синтаксического элемента на основе по меньшей мере одной информации из информации, относящейся к глубине CU у одного или более соседних в пространстве CU относительно текущего CU, или информации, относящейся к глубине CU у одного или более соседних во времени CU относительно текущего CU (214) . Видеодекодер 30 может быть выполнен с возможностью выполнять энтропийное декодирование синтаксического элемента с использованием определенного контекста (216).
[0144] Видеодекодер 3 0 может быть выполнен с возможностью определять на основе декодированного синтаксического элемента, разбит ли текущий CU на множество под-CU (218) . Если текущий CU разбит на множество CU, видеодекодер 3 0 может быть выполнен с возможностью принимать синтаксический элемент для каждого под-CU, указывающий, разбит ли каждый подСи далее на множество под-CU (219) . Видеодекодер 3 0 может быть выполнен с возможностью определять контекст для каждого синтаксического элемента для каждого под-CU и может быть выполнен с возможностью выполнять
энтропийное декодирование каждого синтаксического элемента для каждого под-CU с использованием каждого определенного контекста для каждого синтаксического элемента, как описано относительно этапов 214 и 216.
[0145] Если видеодекодер 30 определяет на этапе 218, что текущий CU (или подСЪ1) далее не разбит на множество под-CU, то видеодекодер 30 может быть выполнен с возможностью выполнять энтропийное декодирование информации предсказания и разностной информации (220) . Видеодекодер 30 может быть выполненным с возможностью формировать каждый CU и/или подСи (например, элемент PU) с использованием декодированной информации предсказания (222). Видеодекодер 30 может быть выполнен с возможностью формировать элемент (элементы) преобразования для элемента (элементов) CU и/или подэлемента (подэлементов) CU с использованием декодированной разностной информации (224) . Видеодекодер 3 0 может быть выполнен с возможностью декодировать каждый CU посредством объединения соответствующих подблоков (например, элементов PU) и элементов TU (22 6) .
[0146] Фиг. 6 является блок-схемой последовательности этапов, демонстрирующей иллюстративный процесс для кодирования видеоданных, согласующийся с методиками этого раскрытия. Процесс на фиг. 6 в целом описывается как выполняемый видеокодером (например, видеокодером 20) в целях иллюстрации, хотя множество других процессоров также могут выполнять процесс, показанный на фиг. 6. В некоторых примерах память 101 видеоданных, модуль 100 обработки предсказания и/или модуль 118 энтропийного кодирования могут выполнять один или более процессов, показанных на фиг. 6.
[0147] В примере фиг. 6, видеокодер 2 0 может быть выполнен с возможностью разбивать (например, разделять) элемент CTU на множество CU (240) . Видеокодер 20 может быть выполнен с возможностью назначать значение синтаксическому элементу для каждого CU, указывающее, разбит ли далее каждый CU (242) . В некоторых примерах синтаксический элемент для каждого CU может являться синтаксическим элементом split_cu_flag. Видеокодер 2 0 может быть выполнен с возможностью определять контекст для энтропийного кодирования каждого синтаксического элемента для
каждого CU на основе по меньшей мере одной информации из информации, относящейся к глубине CU у одного или более соседних в пространстве CU относительно текущего CU (например, CU, с которым связан синтаксический элемент), или информации, относящейся к глубине CU у одного или более соседних во времени CU относительно текущего CU (244) . Видеокодер 2 0 может быть выполнен с возможностью выполнять энтропийное кодирование каждого синтаксического элемента для каждого CU с использованием определенного контекста для каждого синтаксического элемента для каждого CU (24 6).
[014 8] Видеокодер 2 0 может быть выполнен с возможностью формировать информацию предсказания и разностную информацию для каждого CU и каждого под-CU (например, элемент PU) (248). Видеокодер 2 0 может быть выполнен с возможностью закодировать информацию предсказания и разностную информацию для каждого CU и каждого под-CU (250).
[014 9] Пример 1: способ обработки видеоданных в соответствии с любой из методик или любой комбинацией или перестановкой методик, раскрытых в настоящем документе.
[0150] Пример 2: способ кодирования видеоданных, способ содержит: выполнение моделирования контекста контекстно-адаптивного двоичного арифметического кодирования (САВАС) синтаксического элемента, связанного с элементом кодирования (CU) , на основе по меньшей мере одной информации из информации соседнего в пространстве CU относительно CU или информации соседнего во времени CU относительно CU, и выполнение кодирования САВАС синтаксического элемента на основе смоделированного контекста.
[0151] Пример 3: способ из примера 2, в котором кодирование САВАС содержит кодирование САВАС.
[0152] Пример 4: способ из примера 2, в котором кодирование САВАС содержит декодирование САВАС.
[0153] Пример 5: способ из любого из примеров 2-4, в котором синтаксический элемент представляет, разбит ли CU на под-CU, и в котором кодирование САВАС содержит кодирование САВАС синтаксического элемента на основе определения, что CU,
вероятно, будет разбит, когда текущая глубина CU будет меньше минимальной глубины CU для соседнего в пространстве CU или соседнего во времени CU.
[0154] Пример 6: способ из любого из примеров 2-5, в котором синтаксический элемент представляет, разбит ли CU на под-CU, причем кодирование САВАС содержит кодирование САВАС синтаксического элемента с использованием модели контекста, которая назначает значение вероятности, равное или очень близкое к одному, для синтаксического элемента, когда текущая глубина CU для CU меньше, чем минимальная глубина CU для соседнего в пространстве CU или соседнего во времени CU, и причем модель контекста содержит одну из выделенной модели контекста или адаптивной модели контекста с начальным значением, которое равно или очень близко к одному.
[0155] Пример 7: способ из любого из примеров 2-6, в котором синтаксический элемент представляет, разбит ли CU на под-CU, и в котором кодирование САВАС содержит кодирование САВАС синтаксического элемента на основе определения, что CU маловероятно будет разбит, когда текущая глубина CU больше, чем максимальная глубина CU для соседнего в пространстве CU или соседнего во времени CU.
[0156] Пример 8: способ из любого из примеров 2-7, в котором синтаксический элемент представляет, разбит ли CU на под-CU, причем кодирование САВАС содержит кодирование САВАС синтаксического элемента с использованием модели контекста, которая назначает значение вероятности, равное или очень близкое к нулю, для синтаксического элемента, когда текущая глубина CU для CU больше, чем максимальная глубина CU для соседнего в пространстве CU или соседнего во времени CU, и причем модель контекста содержит одну из выделенной модели контекста или адаптивной модели контекста с начальным значением, которое равно или очень близко к нулю.
[0157] Пример 9: способ из любого из примеров 2-8, в котором синтаксический элемент содержит синтаксический элемент split_cu_flag.
[0158] Пример 10: в ответ на определение, что CU не очень
вероятно будет разбит, и в ответ на определение, что CU очень не очень невероятно будет разбит, выполнение моделирования контекста синтаксического элемента с использованием выбора контекста split_cu_flag, как определено в стандарте HEVC.
[0159] Пример 11: способ из любого из примеров 2-10, дополнительно содержащий, в ответ на определение, что CU вероятно будет разбит, установление контекста, связанного с далее разбиваемым CU, равным 255, и в ответ на определение, что CU маловероятно будет разбит, установление контекста, связанного с маловероятно далее разбиваемым CU, равным 0.
[0160] Пример 12: способ из любого из примеров 2-11, в котором CTU, связанный с CU, имеет размер, больше чем 64x64, способ дополнительно содержит: использование одного из четырех возможных контекстов для моделирования синтаксического элемента.
[0161] Пример 13: способ из примера 12, дополнительно содержащий выбор контекста для кодирования САВАС синтаксического элемента в соответствии с: min(3, cur_cu_depth), причем cur_cu_depth указывает текущую глубину CU, и min является функцией, которая указывает минимум из 3 и cur_cu_depth.
[0162] Пример 14: способ из примера 2, в котором синтаксический элемент содержит inter_pred_idc, способ дополнительно содержит: определение индекса контекста для inter_pred_idc на основе того, является ли квантование для CU однородным или неоднородным.
[0163] Пример 15: способ из примера 14, в котором индекс контекста равен:
min(глубина CU, М), причем глубина CU представляет собой глубину CU, М - положительное целочисленное значение, и min -функция, которая возвращает минимум из М и глубины CU.
[0164] Пример 16: способ из примера 15, в котором М равно
[0165] Пример 17: способ кодирования видеоданных, способ содержит: в ответ на определение, что размер элемента CTU больше чем 64x64, определение группы ограничений, содержащих: максимальную глубину CU и минимальную глубину CU элемента CTU и
кодирование элемента CTU на основе по меньшей мере части группы ограничений.
[0166] Пример 18: способ из примера 17, в котором максимальная глубина CU ограничена размером 64x64.
[0167] Пример 19: способ из любого из примеров 17-18, дополнительно содержащий: кодирование максимального размера CU элемента CTU, размера элемента CTU и максимальной глубины CU во множестве параметров.
[0168] Пример 20: способ из любого из примеров 17-19, дополнительно содержащий: в ответ на определение, что CU элемента CTU имеет размер больше, чем максимальный размер CU, вывод заключения, что значение split_cu_flag равно одному, без кодирования элемента split_cu_flag.
[0169] Пример 21: способ из любого из примеров 17-20, в котором максимальная глубина CU меньше, чем переменная М.
[0170] Пример 22: способ из любого из примеров 17-21, дополнительно содержащий: ограничение размера CU элемента CTU, чтобы он был не меньше, чем (1 < <(N-M)), причем максимальный размер элемента CTU равен (1 < [0171] Пример 23: способ из любого из примеров 17-22, в котором ограниченные значения применяются только к интер-кодированным элементам CU элемента CTU.
[0172] Пример 24: способ из любого из примеров 17-22, в котором по меньшей мере один из максимального размера CU или минимального CU отличаются для интра-кодированного CU элемента CTU и интер-кодированного CU элемента CTU.
[0173] Пример 25: способ из примера 21, в котором М равно
4 .
[0174] Следует понимать, что все методики, описанные в настоящем документе, могут использоваться индивидуально или в комбинации. Это раскрытие включает в себя несколько способов сигнализации, которые могут изменяться в зависимости от некоторых факторов, таких как размер блока, размер палитры, тип слоя и т.д. Такое изменение в сигнализации или выводе заключения
о синтаксических элементах может быть известно кодеру и декодеру априорно или может быть сообщено явно в множестве видеопараметров (VPS), множестве параметров последовательности (SPS), множестве параметров изображения (PPS), заголовке слоя, на уровне плитки или в другом месте.
[0175] Следует понимать, что в зависимости от примера
некоторые действия или события любой из методик, описанных в
настоящем документе, могут выполняться в разной
последовательности, могут быть добавлены, слиты или не опущены в целом (например, не все описанные действия или события являются необходимыми для осуществления методик на практике). Кроме того, в некоторых примерах действия или события могут быть выполнены одновременно, например, посредством многопоточной обработки, обработки с прерыванием или нескольких процессоров, а не последовательно. Кроме того, хотя определенные аспекты этого раскрытия в целях ясности описаны как выполняемые единственным модулем или блоком, следует понимать, что методики этого раскрытия могут быть выполнены посредством комбинации блоков или модулей, связанных с устройством видеокодирования.
[017 6] Определенные аспекты этого раскрытия в целях
иллюстрации были описаны относительно развития стандарта HEVC.
Однако методики, описанные в этом раскрытии, могут быть полезны
для других процессов видеокодирования, в том числе других еще не
реализованных стандартных или являющихся чьей-либо
собственностью процессов видеокодирования.
[0177] Описанные выше методики могут быть выполнены видеокодером 20 (фиг. 1 и 2) и/или видеодекодером 30 (фиг. 1 и 3), оба из которых могут в целом упоминаться как устройство видеокодирования. Аналогичным образом, видеокодирование может по мере необходимости относиться к кодированию видеоинформации или декодированию видеоинформации.
[017 8] Следует понимать, что все методики, описанные в настоящем документе, могут использоваться индивидуально или в комбинации. Например, видеокодер 2 0 и/или один или более его компонентов и видеодекодер 30 и/или один или более его компонентов могут выполнять методики, описанные в этом
раскрытии, в любой комбинации. В качестве другого примера методики, описанные в настоящем документе, могут быть выполнены видеокодером 20 (фиг. 1 и 2) и/или видеодекодером 30 (фиг. 1 и 3), оба из которых могут в целом упоминаться как устройство видеокодирования. Аналогичным образом, видеокодирование может по мере необходимости относиться к кодированию видеоинформации или декодированию видеоинформации.
[017 9] Следует понимать, что в зависимости от примера
некоторые действия или события любой из методик, описанных в
настоящем документе, могут выполняться в разной
последовательности, могут быть добавлены, слиты или не опущены в целом (например, не все описанные действия или события являются необходимыми для осуществления методик на практике). Кроме того, в некоторых примерах действия или события могут быть выполнены одновременно, например, посредством многопоточной обработки, обработки с прерыванием или нескольких процессоров, а не последовательно. Кроме того, хотя определенные аспекты этого раскрытия в целях ясности описаны как выполняемые единственным модулем или блоком, следует понимать, что методики этого раскрытия могут быть выполнены посредством комбинации блоков или модулей, связанных с устройством видеокодирования.
[0180] Определенные аспекты этого раскрытия были описаны
относительно одного или более стандартов видеокодирования - либо
выпущенных, либо разрабатываемых и т.п. - в целях иллюстрации.
Однако методики, описанные в этом раскрытии, могут быть полезны
для других процессов видеокодирования, в том числе других еще не
реализованных стандартных или являющихся чьей-либо
собственностью процессов видеокодирования.
[0181] В соответствии с этим раскрытием термин "или" может быть интерпретирован как "и/или", когда контекст не предписывает иначе. Кроме того, хотя такие фразы, как "один или более" или "по меньшей мере один" и т.п., могут использоваться для некоторых признаков, раскрытых в настоящем документе, но не для других; признаки, для которых такие фразы не использовались, могут быть интерпретированы как имеющие такое подразумеваемое значение,
когда контекст не предписывает иначе.
[0182] Хотя выше описаны конкретные комбинации различных аспектов методик, эти комбинации обеспечены лишь для иллюстрации примеров методик, описанных в этом раскрытии. В соответствии с этим методики этого раскрытия не должны быть ограничены этими иллюстративными комбинациями и могут охватывать любую мыслимую комбинацию различных аспектов методик, описанных в этом раскрытии.
[0183] В одном или нескольких примерах описанные функции могут быть реализованы в аппаратных средствах, программном обеспечении, программируемом оборудовании или любой их комбинации. Если функции реализованы в программном обеспечении, они могут быть сохранены или переданы как одна или несколько команд или код, считываемый компьютером носитель и исполнены аппаратным блоком обработки. Считываемые компьютером носители могут включать в себя считываемые компьютером запоминающие носители, которые соответствуют материальным носителям, таким как носители данных, или средства связи, включающие в любую среду, которая обеспечивает возможность передачи компьютерной программы от одного места на другое, например, в соответствии с протоколом связи. Таким образом, считываемые компьютером носители обычно могут соответствовать (1) материальным считываемым компьютером запоминающим носителям, которые являются непереходными, или (2) среде связи, такой как сигнал или несущая. Запоминающие носители данных могут быть любыми доступными носителями, к которым могут получить доступ один или несколько компьютеров или один или несколько процессоров для извлечения команд, кода и/или структур данных для реализации методик, описанных в этом раскрытии. Компьютерный программный продукт может включать в себя считываемый компьютером носитель.
[0184] В качестве примера, но без ограничения, такие считываемые компьютером носители могут содержать оперативное запоминающее устройство (ОЗУ; RAM), постоянное запоминающее устройство (ПЗУ; ROM), электрически стираемое программируемое постоянное запоминающее устройство (ЭСППЗУ; EEPROM), компакт-диск (CD-ROM) или другую память на оптическом диске, память на
магнитном диске или другие магнитные устройства хранения, флэш-память или любой другой носитель, который может использоваться для хранения желаемого программного кода в виде команд или структур данных, и к которому может получить доступ компьютер. Кроме того, любое соединение правильно называть считываемым компьютером носителем. Например, если команды переданы с вебсайта, сервера или другого удаленного источника с использованием коаксиального кабеля, волоконно-оптического кабеля, витой пары, цифровой абонентской линии (DSL) или беспроводной технологии, такой как инфракрасное, радиочастотное и микроволновое излучение, то коаксиальный кабель, волоконно-оптический кабель, витая пара, DSL или беспроводные технологии, такие как инфракрасное, радиочастотное и микроволновое излучение включены в определение носителя. Однако следует понимать, что считываемые компьютером запоминающие носители данных не включают в себя соединения, несущие, сигналы или другие переходные носители, но вместо этого направлены на непереходные, материальные носители. Используемый здесь термин "диск" включает в себя компакт-диск (CD) , лазерный диск, оптический диск, цифровой универсальный диск (DVD), гибкий диск и диск Blu-ray, причем диски обычно воспроизводят данные магнитным способом или оптическим способом с помощью лазера. Комбинации упомянутого выше также должны быть включены в контекст считываемых компьютером носителей.
[0185] Команды могут быть исполнены одним или несколькими
процессорами, такими как один или несколько процессоров цифровых
сигналов (DSP), микропроцессоров общего назначения,
специализированных интегральных схем (ASIC), программируемых пользователем вентильных матриц (FPGA) или других эквивалентных интегрированных или дискретных логических схем. В соответствии с этим используемый здесь термин "процессор" может относиться к любой упомянутой структуре или любой другой структуре, подходящей для реализации описанных здесь методик. Кроме того, в некоторых аспектах описанная здесь функциональность может быть обеспечена в пределах специализированных аппаратных средств и/или программных модулей, сконфигурированных для кодирования и декодирования или встроенных в объединенный кодек. Кроме того,
методики могут быть полностью реализованы в одной или нескольких схемах или логических элементах.
[018 6] Методики этого раскрытия могут быть реализованы в широком разнообразии устройств, в том числе в беспроводном телефоне, интегральной схеме (1С) или множестве интегральных схем (например, в чипсете). Различные компоненты, модули или элементы описаны в этом раскрытии, чтобы подчеркнуть функциональные аспекты устройств, выполненных с возможностью выполнять раскрытые методики, но не обязательно требуют реализации разными аппаратными элементами. Вместо этого, как описано выше, различные элементы могут быть объединены в аппаратном модуле кодека или обеспечены посредством набора взаимодействующих аппаратных модулей, включающих в себя один или несколько процессоров, как описано выше, вместе с подходящим программным обеспечением и/или программируемым оборудованием.
[0187] Различные примеры были описаны в настоящем документе. Предусматривается любая комбинация описанных систем, операций, функций или примеров. Эти и другие примеры находятся в рамках объема следующей формулы изобретения.
ФОРМУЛА ИЗОБРЕТЕНИЯ
1. Способ кодирования видеоданных, способ содержит этапы, на которых:
выбирают, в качестве части процесса энтропийного кодирования, контекст для синтаксического элемента, связанного с текущим элементом кодирования (CU) на основе информации, относящейся к глубине CU у одного или более соседних CU относительно текущего CU, причем синтаксический элемент представляет, разбит ли текущий CU на под-CU; и
выполняют энтропийное кодирование синтаксического элемента на основе выбранного контекста.
2. Способ по п. 1, в котором процесс энтропийного кодирования содержит процесс контекстно-адаптивного двоичного арифметического кодирования (САВАС), и в котором энтропийное кодирование содержит кодирование САВАС.
3. Способ по п. 2, в котором кодирование САВАС содержит кодирование САВАС или декодирование САВАС.
4. Способ по п. 1, в котором одна или более глубин CU, относящихся к одному или более соседним CU, равны глубине CU у текущего CU.
5. Способ по п. 1, в котором одна или более глубин CU, относящихся к одному или более соседним CU, не равны глубине CU у текущего CU.
6. Способ по п. 1, дополнительно содержащий этапы, на которых:
определяют, меньше ли глубина CU у текущего CU, чем минимальная глубина CU у одного или более соседних CU; и
выбирают контекста на основе определения, что глубина текущего CU меньше, чем минимальная глубина CU у одного или более соседних CU.
7. Способ по п. 6, дополнительно содержащий этап, на котором:
устанавливают начальное значение, соответствующее
выбранному контексту, равным 255 на основе определения, что глубина текущего CU меньше, чем минимальная глубина CU у одного или более соседних CU.
8. Способ по п. 1, в котором выбранный контекст
соответствует значению вероятности, равному одному, для
синтаксического элемента, когда глубина CU у текущего CU меньше,
чем минимальная глубина CU у одного или более соседних CU.
9. Способ по п. 8, в котором выбранный контекст содержит
один из выделенного контекста или адаптивного контекста с
начальным значением, которое равно одному.
10. Способ по п. 1, дополнительно содержащий этапы, на которых:
определяют, больше ли глубина CU у текущего CU, чем максимальная глубина CU у одного или более соседних CU; и
выбирают контекст на основе определения, что глубина текущего CU больше, чем максимальная глубина CU у одного или более соседних CU.
11. Способ по п. 10, дополнительно содержащий этап, на котором:
устанавливают начальное значение, соответствующее
выбранному контексту, равным нулю на основе определения, что глубина текущего CU больше, чем максимальная глубина CU у одного или более соседних CU.
12. Способ по п. 1, в котором выбранный контекст соответствует значению вероятности, равному нулю, для синтаксического элемента, когда глубина CU у текущего CU больше, чем максимальная глубина CU у одного или более соседних CU.
13. Способ по п. 12, в котором выбранный контекст содержит один из выделенного контекста или адаптивного контекста с начальным значением, которое равно нулю.
14. Способ по п. 1, в котором синтаксический элемент содержит синтаксический элемент split_cu_flag.
15. Способ по п. 1, в котором CTU, связанный с текущим CU, имеет размер больше, чем 64x64.
16. Способ по п. 15, дополнительно содержащий этап, на котором:
выбирают контекст из группы, состоящей из по меньшей мере четырех возможных контекстов.
17. Способ по п. 16, в котором группа, состоящая из по меньшей мере из четырех возможных контекстов, содержит шесть возможных контекстов.
18. Способ по п. 1, в котором выбор контекста для синтаксического элемента основан на информации, относящейся к глубине CU у одного или более соседних в пространстве CU относительно текущего CU.
19. Способ по п. 1, в котором выбор контекста для синтаксического элемента основан на информации, относящейся к глубине CU у одного или более соседних во времени CU относительно текущего CU.
20. Устройство для кодирования видеоданных, устройство содержит:
память, выполненную с возможностью хранить видеоданные; и
устройство видеокодирования, сконфигурированное с
возможностью связи с памятью, причем устройство видеокодирования выполнено с возможностью:
выбирать, в качестве части процесса энтропийного кодирования, контекст для синтаксического элемента, связанного с текущим элементом кодирования (CU), сохраненным в памяти, на основе информации, относящейся к глубине CU у одного или более соседних CU относительно текущего CU, причем синтаксический элемент представляет, разбит ли текущий CU на под-CU; и
выполнять энтропийное кодирование синтаксического элемента на основе выбранного контекста.
21. Устройство по п. 20, в котором процесс энтропийного кодирования содержит процесс контекстно-адаптивного двоичного арифметического кодирования (САВАС), и в котором устройство видеокодирования, выполненное с возможностью выполнения энтропийного кодирования, является устройством видеокодирования, выполненным с возможностью выполнения кодирования САВАС.
22. Устройство по п. 21, в котором устройство
видеокодирования, выполненное с возможностью кодирования САВАС,
является устройством видеокодирования, выполненным с
возможностью закодировать посредством САВАС или декодировать
посредством САВАС.
23. Устройство по п. 20, в котором одна или более глубин CU, относящихся к одному или более соседним CU, равны глубине CU у текущего CU.
24. Устройство по п. 20, в котором одна или более глубин CU, относящихся к одному или более соседним CU, не равны глубине CU у текущего CU.
25. Устройство по п. 20, в котором устройство видеокодирования дополнительно выполнено с возможностью:
определять, меньше ли глубина CU у текущего CU, чем минимальная глубина CU у одного или более соседних CU; и
выбирать контекст на основе определения, что глубина текущего CU меньше, чем минимальная глубина CU у одного или более соседних CU.
26. Устройство по п. 25, в котором устройство видеокодирования дополнительно выполнено с возможностью:
устанавливать начальное значение, соответствующее
выбранному контексту, равным 255 на основе определения, что глубина текущего CU меньше, чем минимальная глубина CU у одного или более соседних CU.
27. Устройство по п. 20, в котором выбранный контекст соответствует значению вероятности, равному одному, для синтаксического элемента, когда глубина CU у текущего CU меньше, чем минимальная глубина CU у одного или более соседних CU.
28. Устройство по п. 27, в котором выбранный контекст содержит один из выделенного контекста или адаптивного контекста с начальным значением, которое равно одному.
29. Устройство по п. 20, в котором устройство видеокодирования дополнительно выполнено с возможностью:
определять, больше ли глубина CU у текущего CU, чем максимальная глубина CU у одного или более соседних CU; и
выбирать контекст на основе определения, что глубина текущего CU больше, чем максимальная глубина CU у одного или более соседних CU.
30. Устройство по п. 29, в котором устройство видеокодирования дополнительно выполнено с возможностью:
устанавливать начальное значение, соответствующее
выбранному контексту, равным нулю на основе определения, что глубина текущего CU больше, чем максимальная глубина CU у одного или более соседних CU.
31. Устройство по п. 20, в котором выбранный контекст соответствует значению вероятности, равному нулю, для синтаксического элемента, когда глубина CU у текущего CU больше, чем максимальная глубина CU у одного или более соседних CU.
32. Устройство по п. 31, в котором выбранный контекст содержит один из выделенного контекста или адаптивного контекста с начальным значением, которое равно нулю.
33. Устройство по п. 20, в котором синтаксический элемент содержит синтаксический элемент split_cu_flag.
34. Устройство по п. 20, в котором CTU, связанный с текущим CU, имеет размер больше, чем 64x64.
35. Устройство по п. 34, в котором устройство
видеокодирования дополнительно выполнено с возможностью:
выбирать контекст из группы, состоящей из по меньшей мере четырех возможных контекстов.
36. Устройство по п. 35, в котором группа, состоящая из по
меньшей мере из четырех возможных контекстов, содержит шесть
возможных контекстов.
37. Устройство по п. 20, в котором устройство видеокодирования выполнено с возможностью выбирать контекст для синтаксического элемента на основе информации, относящейся к глубине CU у одного или более соседних в пространстве CU относительно текущего CU.
38. Устройство по п. 20, в котором устройство видеокодирования выполнено с возможностью выбирать контекст для синтаксического элемента на основе информации, относящейся к глубине CU у одного или более соседних во времени CU относительно текущего CU.
39. Устройство для кодирования видеоданных, устройство содержит:
средство для выбора, в качестве части процесса энтропийного кодирования, контекста для синтаксического элемента, связанного
с текущим элементом кодирования (CU), на основе информации, относящейся к глубине CU у одного или более соседних CU относительно текущего CU, причем синтаксический элемент представляет, разбит ли текущий CU на под-CU; и
средство для энтропийного кодирования синтаксического элемента на основе выбранного контекста.
40. Долговременный считываемый компьютером запоминающий носитель, хранящий инструкции, которые при их исполнении заставляют один или более процессоров:
выбирать, в качестве части процесса энтропийного кодирования, контекст для синтаксического элемента, связанного с текущим элементом кодирования (CU), на основе информации, относящейся к глубине CU у одного или более соседних CU относительно текущего CU, причем синтаксический элемент представляет, разбит ли текущий CU на под-CU; и
выполнять энтропийное кодирование синтаксического элемента на основе выбранного контекста.
ИЗМЕНЕННАЯ ФОРМУЛА ИЗОБРЕТЕНИЯ (ПО СТ. 34 РСТ)
1. Способ кодирования видеоданных, способ содержит этапы, на которых:
определяют, меньше ли глубина элемента кодирования (CU) у текущего CU, чем минимальная глубина CU у одного или более соседних CU, или больше ли глубина CU у текущего CU, чем максимальная глубина CU у одного или более соседних CU;
выбирают, в качестве части процесса энтропийного кодирования, контекст для синтаксического элемента, связанного с текущим CU на основе информации, относящейся к глубине CU у одного или более соседних CU относительно текущего CU, причем информация, относящаяся к глубине CU у одного или более соседних CU относительно текущего CU, включает в себя то, меньше ли глубина CU у текущего CU, чем минимальная глубина CU у одного или более соседних CU, или больше ли глубина CU у текущего CU, чем максимальная глубина CU у одного или более соседних CU, причем синтаксический элемент представляет, разбит ли текущий CU на под-CU; и
выполняют энтропийное кодирование синтаксического элемента на основе выбранного контекста.
2. Способ по п. 1, в котором процесс энтропийного кодирования содержит процесс контекстно-адаптивного двоичного арифметического кодирования (САВАС), и в котором энтропийное кодирование содержит кодирование САВАС.
3. Способ по п. 2, в котором кодирование САВАС содержит кодирование САВАС или декодирование САВАС.
4. Способ по п. 1, в котором одна или более глубин CU, относящихся к одному или более соседним CU, равны глубине CU у текущего CU.
5. Способ по п. 1, в котором одна или более глубин CU, относящихся к одному или более соседним CU, не равны глубине CU у текущего CU.
6. Способ по п. 1, дополнительно содержащий этап, на котором:
устанавливают начальное значение, соответствующее выбранному
контексту, равным 255, когда глубина CU у текущего CU меньше, чем минимальная глубина CU у одного или более соседних CU.
7. Способ по п. 1, в котором выбранный контекст соответствует значению вероятности, равному одному, для синтаксического элемента, когда глубина CU у текущего CU меньше, чем минимальная глубина CU у одного или более соседних CU.
8. Способ по п. 7, в котором выбранный контекст содержит один из выделенного контекста или адаптивного контекста с начальным значением, которое равно одному.
9. Способ по п. 1, дополнительно содержащий этап, на котором:
устанавливают начальное значение, соответствующее выбранному
контексту, равным нулю, когда глубина CU у текущего CU больше, чем максимальная глубина CU у одного или более соседних CU.
10. Способ по п. 1, в котором выбранный контекст соответствует значению вероятности, равному нулю, для синтаксического элемента, когда глубина CU у текущего CU больше, чем максимальная глубина CU у одного или более соседних CU.
11. Способ по п. 10, в котором выбранный контекст содержит один из выделенного контекста или адаптивного контекста с начальным значением, которое равно нулю.
12. Способ по п. 1, в котором синтаксический элемент содержит синтаксический элемент split_cu_flag.
13. Способ по п. 1, в котором CTU, связанный с текущим CU, имеет размер больше, чем 64x64.
14. Способ по п. 13, дополнительно содержащий этап, на котором:
выбирают контекст из группы, состоящей из по меньшей мере четырех
возможных контекстов.
15. Способ по п. 14, в котором группа, состоящая из по меньшей мере из четырех возможных контекстов, содержит шесть возможных контекстов.
16. Способ по п. 1, в котором выбор контекста для синтаксического элемента основан на информации, относящейся к глубине CU у одного или более соседних в пространстве CU относительно текущего CU.
17. Способ по п. 1, в котором выбор контекста для синтаксического
элемента основан на информации, относящейся к глубине CU у одного или более соседних во времени CU относительно текущего CU.
18. Устройство для кодирования видеоданных, устройство содержит:
память, выполненную с возможностью хранить видеоданные; и
устройство видеокодирования, сконфигурированное с возможностью
связи с памятью, причем устройство видеокодирования выполнено с возможностью:
определять, меньше ли глубина элемента кодирования (CU) у текущего CU, чем минимальная глубина CU у одного или более соседних CU, или больше ли глубина CU у текущего CU, чем максимальная глубина CU у одного или более соседних CU;
выбирать, в качестве части процесса энтропийного кодирования, контекст для синтаксического элемента, связанного с текущим CU, сохраненным в памяти, на основе информации, относящейся к глубине CU у одного или более соседних CU относительно текущего CU, причем информация, относящаяся к глубине CU у одного или более соседних CU относительно текущего CU, включает в себя то, меньше ли глубина CU у текущего CU, чем минимальная глубина CU у одного или более соседних CU, или больше ли глубина CU у текущего CU, чем максимальная глубина CU у одного или более соседних CU, причем синтаксический элемент представляет, разбит ли текущий CU на под-CU; и
выполнять энтропийное кодирование синтаксического элемента на основе выбранного контекста.
19. Устройство по п. 18, в котором процесс энтропийного
кодирования содержит процесс контекстно-адаптивного двоичного
арифметического кодирования (САВАС), и в котором устройство
видеокодирования, выполненное с возможностью выполнения энтропийного
кодирования, является устройством видеокодирования, выполненным с
возможностью выполнения кодирования САВАС.
20. Устройство по п. 19, в котором устройство видеокодирования,
выполненное с возможностью кодирования САВАС, является устройством
видеокодирования, выполненным с возможностью закодировать
посредством САВАС или декодировать посредством САВАС.
21. Устройство по п. 18, в котором одна или более глубин CU,
относящихся к одному или более соседним CU, равны глубине CU у текущего CU.
22. Устройство по п. 18, в котором одна или более глубин CU, относящихся к одному или более соседним CU, не равны глубине CU у текущего CU.
23. Устройство по п. 18, в котором устройство видеокодирования дополнительно выполнено с возможностью:
устанавливать начальное значение, соответствующее выбранному контексту, равным 255, когда глубина CU у текущего CU меньше, чем минимальная глубина CU у одного или более соседних CU.
24. Устройство по п. 18, в котором выбранный контекст
соответствует значению вероятности, равному одному, для
синтаксического элемента, когда глубина CU у текущего CU меньше, чем
минимальная глубина CU у одного или более соседних CU.
25. Устройство по п. 24, в котором выбранный контекст содержит один из выделенного контекста или адаптивного контекста с начальным значением, которое равно одному.
26. Устройство по п. 18, в котором устройство видеокодирования дополнительно выполнено с возможностью:
устанавливать начальное значение, соответствующее выбранному контексту, равным нулю, когда глубина CU у текущего CU больше, чем максимальная глубина CU у одного или более соседних CU.
27. Устройство по п. 18, в котором выбранный контекст
соответствует значению вероятности, равному нулю, для
синтаксического элемента, когда глубина CU у текущего CU больше, чем
максимальная глубина CU у одного или более соседних CU.
28. Устройство по п. 27, в котором выбранный контекст содержит один из выделенного контекста или адаптивного контекста с начальным значением, которое равно нулю.
29. Устройство по п. 18, в котором синтаксический элемент содержит синтаксический элемент split_cu_flag.
30. Устройство по п. 18, в котором CTU, связанный с текущим CU, имеет размер больше, чем 64x64.
31. Устройство по п. 30, в котором устройство видеокодирования
28.
дополнительно выполнено с возможностью:
выбирать контекст из группы, состоящей из по меньшей мере четырех возможных контекстов.
32. Устройство по п. 31, в котором группа, состоящая из по меньшей мере из четырех возможных контекстов, содержит шесть возможных контекстов.
33. Устройство по п. 18, в котором устройство видеокодирования выполнено с возможностью выбирать контекст для синтаксического элемента на основе информации, относящейся к глубине CU у одного или более соседних в пространстве CU относительно текущего CU.
34. Устройство по п. 18, в котором устройство видеокодирования выполнено с возможностью выбирать контекст для синтаксического элемента на основе информации, относящейся к глубине CU у одного или более соседних во времени CU относительно текущего CU.
35. Устройство для кодирования видеоданных, устройство содержит:
средство для определения, меньше ли глубина элемента кодирования
(CU) у текущего CU, чем минимальная глубина CU у одного или более соседних CU, или больше ли глубина CU у текущего CU, чем максимальная глубина CU у одного или более соседних CU;
средство для выбора, в качестве части процесса энтропийного кодирования, контекста для синтаксического элемента, связанного с текущим элементом CU, на основе информации, относящейся к глубине CU у одного или более соседних CU относительно текущего CU, причем информация, относящаяся к глубине CU у одного или более соседних CU относительно текущего CU, включает в себя то, меньше ли глубина CU у текущего CU, чем минимальная глубина CU у одного или более соседних CU, или больше ли глубина CU у текущего CU, чем максимальная глубина CU у одного или более соседних CU, причем синтаксический элемент представляет, разбит ли текущий CU на под-CU; и
средство для энтропийного кодирования синтаксического элемента на основе выбранного контекста.
36. Долговременный считываемый компьютером запоминающий
носитель, хранящий инструкции, которые при их исполнении заставляют
один или более процессоров:
определять, меньше ли глубина элемента кодирования (CU) у текущего CU, чем минимальная глубина CU у одного или более соседних CU, или больше ли глубина CU у текущего CU, чем максимальная глубина CU у одного или более соседних CU;
выбирать, в качестве части процесса энтропийного кодирования, контекст для синтаксического элемента, связанного с текущим CU, на основе информации, относящейся к глубине CU у одного или более соседних CU относительно текущего CU, причем информация, относящаяся к глубине CU у одного или более соседних CU относительно текущего CU, включает в себя то, меньше ли глубина CU у текущего CU, чем минимальная глубина CU у одного или более соседних CU, или больше ли глубина CU у текущего CU, чем максимальная глубина CU у одного или более соседних CU, причем синтаксический элемент представляет, разбит ли текущий CU на под-CU; и
выполнять энтропийное кодирование синтаксического элемента на основе выбранного контекста.
УСТРОЙСТВО ИСТОЧНИКА 12
ИСТОЧНИК ВИДЕО 18
ВИДЕОКОДЕР 20
ВЫХОДНОЙ ИНТЕРФЕЙС 22
УСТРОЙСТВО НАЗНАЧЕНИЯ
УСТРОЙСТВО
ОТОБРАЖЕНИЯ
ВИДЕОДЕКОДЕР
ВХОДНОЙ
ИНТЕРФЕЙС 28
ФИГ. 1
ПАМЯТЬ ВИДЕОДАННЫХ 101
МОДУЛЬ ОБРАБОТКИ ПРЕДСКАЗАНИЯ 100
ВИДЕОКОДЕР 20
МОДУЛЬ ОБРАБОТКИ ПРЕОБРАЗОВАНИЯ 104
102
СИНТАКСИЧЕСКИЕ ЭЛЕМЕНТЫ
--> у
МОДУЛЬ ОБРАБОТКИ ИНТЕР-ПРЕДСКАЗАНИЯ
120
МОДУЛЬ ОБРАБОТКИ ИНТРА-ПРЕДСКАЗАНИЯ 126
_' ' J
МОДУЛЬ ОБРА-
БОТКИ ОБРАТ-
НОГО ПРЕОБРА-
ЗОВАНИЯ
110
МОДУЛЬ ФИЛЬТРА 114
БУФЕР ДЕКОДИРОВАННЫХ ИЗОБРАЖЕНИЙ 116
МОДУЛЬ ОБРАТНОГО КВАНТОВАНИЯ 108
МОДУЛЬ ЭНТРОПИЙНОГО КОДИРОВАНИЯ 118
БИТОВЫЙ ПОТОК
ФИГ. 2
БИТОВЫЙ ПОТОК С ЗАКОДИРОВАННЫМИ ВИДЕОДАННЫМИ
МОДУЛЬ ОБРАБОТКИ ПРЕДСКАЗАНИЯ 152
ВИДЕОДЕКОДЕР 30
ПАМЯТЬ ВИДЕОДАННЫХ 151
МОДУЛЬ КОМПЕНСАЦИИ ДВИЖЕНИЯ
164
МОДУЛЬ ЭНТРОПИЙНОГО ДЕКОДИРОВАНИЯ
150
МОДУЛЬ ОБРАБОТКИ ИНТРА-ПРЕДСКАЗАНИЯ
166
МОДУЛЬ ОБРАТНОГО КВАНТОВАНИЯ
154
МОДУЛЬ ОБРАБОТКИ ОБРАТНОГО ПРЕОБРАЗОВАНИЯ
156
158
БУФЕР ДЕКОДИРОВАННЫХ ИЗОБРАЖЕНИЙ 162
ДЕКОДИРОВАННЫЕ ВИДЕОДАННЫЕ
ВЫБРАТЬ В КАЧЕСТВЕ ЧАСТИ ПРОЦЕССА ЭНТРОПИЙНОГО КОДИРОВАНИЯ КОНТЕКСТ ДЛЯ СИНТАКСИЧЕСКОГО ЭЛЕМЕНТА, СВЯЗАННОГО С ТЕКУЩИМ ЭЛЕМЕНТОМ КОДИРОВАНИЯ (CU), НА ОСНОВЕ ИНФОРМАЦИИ, ОТНОСЯЩЕЙСЯ К ГЛУБИНЕ CU У ОДНОГО ИЛИ БОЛЕЕ СОСЕДНИХ CU ОТНОСИТЕЛЬНО ТЕКУЩЕГО CU
ВЫПОЛНИТЬ ЭНТРОПИЙНОЕ КОДИРОВАНИЕ СИНТАКСИЧЕСКОГО ЭЛЕМЕНТА НА ОСНОВЕ ВЫБРАННОГО КОНТЕКСТА
202
ФИГ. 4
ПРИНЯТЬ ЭЛЕМЕНТ КОДОВОГО ДЕРЕВА (CTU), ПРЕДСТАВЛЯЮЩИЙ ТЕКУЩИЙ CU
ПРИНЯТЬ СИНТАКСИЧЕСКИЙ ЭЛЕМЕНТ ДЛЯ ТЕКУЩЕГО си,
УКАЗЫВАЮЩИЙ, РАЗБИТ ЛИ ТЕКУЩИЙ CU НА МНОЖЕСТВО
под-си
212
ОПРЕДЕЛИТЬ КОНТЕКСТ ДЛЯ ЭНТРОПИЙНОГО ДЕКОДИРОВАНИЯ ПРИНЯТОГО СИНТАКСИЧЕСКОГО ЭЛЕМЕНТА НА ОСНОВЕ ПО МЕНЬШЕЙ МЕРЕ ОДНОЙ ИНФОРМАЦИИ ИЗ ИНФОРМАЦИИ, ОТНОСЯЩЕЙСЯ К ГЛУБИНЕ CU У ОДНОГО ИЛИ БОЛЕЕ СОСЕДНИХ В ПРОСТРАНСТВЕ
CU ОТНОСИТЕЛЬНО ТЕКУЩЕГО CU (ИЛИ ПОД-CU), ИЛИ ИНФОРМАЦИИ, ОТНОСЯЩЕЙСЯ К ГЛУБИНЕ CU У ОДНОГО ИЛИ БОЛЕЕ СОСЕДНИХ ВО ВРЕМЕНИ CU ОТНОСИТЕЛЬНО ТЕКУЩЕГО CU (ИЛИ ПОД-CU)
ВЫПОЛНИТЬ ЭНТРОПИЙНОЕ ДЕКОДИРОВАНИЕ СИНТАКСИЧЕСКОГО ЭЛЕМЕНТА С ИСПОЛЬЗОВАНИЕМ ОПРЕДЕЛЕННОГО КОНТЕКСТА
216
219
ПРИНЯТЬ СИНТАКСИЧЕСКИЙ ЭЛЕМЕНТ ДЛЯ КАЖДОГО ПОД-CU, УКАЗЫВАЮЩИЙ, РАЗБИТ
ЛИ КАЖДЫЙ ПОДЭЛЕМЕНТ CU ДАЛЕЕ НА МНОЖЕСТВО ПОД-CU
218
ОПРЕДЕЛИТЬ НА ОСНОВЕ ДЕКОДИРОВАННОГО СИНТАКСИЧЕСКОГО ЭЛЕМЕНТА, РАЗБИТ ЛИ ТЕКУЩИЙ, CU (ИЛИ ПОДЭЛЕМЕНТ CU) НА МНОЖЕСТВО ПОД-CU
222.
224
226
СФОРМИРОВАТЬ КАЖДЫЙ ЭЛЕМЕНТ CU И/ ИЛИ ПОДЭЛЕМЕНТ CU С ИСПОЛЬЗОВАНИЕМ ДЕКОДИРОВАННОЙ ИНФОРМАЦИИ ПРЕДСКАЗАНИЯ
СФОРМИРОВАТЬ ЭЛЕМЕНТ (ЭЛЕМЕНТЫ) ПРЕОБРАЗОВАНИЯ Р ЭЛЕМЕНТА (ЭЛЕМЕНТОВ) CU И/ИЛИ ПОДЭЛЕМЕНТА(ПОДЭЛЕМЕНТОВ) CU С ИСПОЛЬЗОВАНИЕМ ДЕКОДИРОВАННОЙ РАЗНОСТНОЙ ИНФОРМАЦИИ
ФИГ. 5
ДЕКОДИРОВАТЬ КАЖДЫЙ ЭЛЕМЕНТ CU ПОСРЕДСТВОМ ОБЪЕДИНЕНИЯ СООТВЕТСТВУЮЩИХ ПОДБЛОКОВ (НАПРИМЕР, ЭЛЕМЕНТОВ PU) И ЭЛЕМЕНТОВ TU
РАЗБИТЬ ЭЛЕМЕНТ CTU НА МНОЖЕСТВО CU
НАЗНАЧИТЬ ЗНАЧЕНИЕ СИНТАКСИЧЕСКОМУ ЭЛЕМЕНТУ ДЛЯ КАЖДОГО CU, УКАЗЫВАЮЩЕЕ, РАЗБИТ ЛИ ДАЛЕЕ КАЖДЫЙ ЭЛЕМЕНТ CU
ОПРЕДЕЛИТЬ КОНТЕКСТ ДЛЯ ЭНТРОПИЙНОГО КОДИРОВАНИЯ КАЖДОГО СИНТАКСИЧЕСКОГО ЭЛЕМЕНТА ДЛЯ КАЖДОГО CU НА ОСНОВЕ ПО МЕНЬШЕЙ МЕРЕ ОДНОЙ ИНФОРМАЦИИ ИЗ ИНФОРМАЦИИ, ОТНОСЯЩЕЙСЯ К ГЛУБИНЕ CU У ОДНОГО ИЛИ БОЛЕЕ СОСЕДНИХ В ПРОСТРАНСТВЕ CU ОТНОСИТЕЛЬНО ТЕКУЩЕГО CU, ИЛИ ИНФОРМАЦИИ, ОТНОСЯЩЕЙСЯ К ГЛУБИНЕ CU У ОДНОГО ИЛИ БОЛЕЕ СОСЕДНИХ ВО ВРЕМЕНИ CU ОТНОСИТЕЛЬНО ТЕКУЩЕГО CU
ВЫПОЛНИТЬ ЭНТРОПИЙНОЕ КОДИРОВАНИЕ КАЖДОГО СИНТАКСИЧЕСКОГО ЭЛЕМЕНТА ДЛЯ КАЖДОГО CU С ИСПОЛЬЗОВАНИЕМ ОПРЕДЕЛЕННОГО КОНТЕКСТА ДЛЯ КАЖДОГО СИНТАКСИЧЕСКОГО ЭЛЕМЕНТА ДЛЯ КАЖДОГО CU
СФОРМИРОВАТЬ ИНФОРМАЦИЮ ПРЕДСКАЗАНИЯ И РАЗНОСТНУЮ ИНФОРМАЦИЮ ДЛЯ КАЖДОГО CU И КАЖДОГО
под-си
ЗАКОДИРОВАТЬ ИНФОРМАЦИЮ ПРЕДСКАЗАНИЯ И РАЗНОСТНУЮ ИНФОРМАЦИЮ ДЛЯ КАЖДОГО CU И КАЖДОГО
под-си
ФИГ. 6
(19)
(19)
(19)
(19)
(19)
(19)
1/6
1/6
4/6
210
5/6
4/6
210
5/6
4/6
210
5/6
4/6
210
5/6
4/6
210
5/6
4/6
210
5/6
4/6
210
5/6
4/6
210
5/6
6/6
210
5/6