Кодирование видео с улучшенными поведениями картинок точки произвольного доступа

Иллюстрации

Показать все

Изобретение относится к технологиям обработки видеоданных, а именно раскрывает картинки произвольного доступа, используемые в видеоданных. Техническим результатом является повышение эффективности кодирования изображений. Предложен способ обработки видеоданных для определения буфера кодированных картинок (СРВ). Способ содержит этап, на котором осуществляют прием видеоданных в потоке битов, представляющем множество картинок, включая одну или более картинок чистого произвольного доступа (CRA) или одну или более картинок доступа с разорванной ссылкой (BLA). Далее, согласно способу, осуществляют прием, от внешнего устройства, сообщения, указывающего значение переменной UseAltCpbParamsFlag, причем переменная UseAltCpbParamsFlag указывает, использовать ли альтернативный набор параметров буфера кодированных картинок (СРВ) для по меньшей мере одной из одной или более картинок CRA или одной или более картинок BLA. 4 н. и 39 з.п. ф-лы, 9 ил., 1 табл.

Реферат

[0001] Настоящая заявка испрашивает приоритет предварительной заявки на патент США Номер 61/703,695, поданной 20 сентября 2012, все содержимое которой включено в настоящее описание по ссылке.

ОБЛАСТЬ ТЕХНИКИ

[0002] Настоящее раскрытие в целом относится к обработке видео данных и, более подробно, картинкам произвольного доступа, используемым в видео данных.

ОПИСАНИЕ УРОВНЯ ТЕХНИКИ

[0003] Цифровые видео способности могут быть включены в широкий диапазон устройств, включающий в себя цифровые телевизоры, цифровые системы прямого вещания, беспроводные системы вещания, персональные цифровые помощники (PDAs), ноутбуки или настольные компьютеры, планшетные компьютеры, электронные книги, цифровые камеры, цифровые устройства записи, цифровые медиаплееры, устройства видео игр, пульты видеоигр, сотовые или спутниковые радио-телефоны, так называемые «смартфоны», устройства организации видео телеконференций, устройства потоковой передачи видео, и т.п.. Цифровые видео устройства реализуют способы кодирования видео, такие как описанные в стандартах, определенных MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, Часть 10, Усовершенствованное видео кодирование (AVC), развивающийся стандарт высокоэффективного кодирования видео (HEVC), и расширениях таких стандартов. Видео устройства могут передавать, принимать, кодировать, декодировать и/или хранить цифровую видео информацию более эффективно, реализовывая такие способы кодирования видео.

[0004] Способы кодирования видео включают в себя пространственное (внутри картинки) предсказание и/или временное (между картинками) предсказание, чтобы уменьшить или удалить избыточность, присущую видео последовательностям. Для основанного на блоке кодирования видео вырезка видео (например, видео кадр или часть видео кадра) может быть разделена в блоки видео, которые могут также упоминаться как блоки дерева, единицы кодирования (CUs) и/или узлы кодирования. Блоки видео во внутренне кодированной (I) вырезке картинки закодированы, используя пространственное предсказание относительно опорных выборок в соседних блоках в той же самой картинке. Блоки видео во внешне кодированной (P или B) вырезке картинки могут использовать пространственное предсказание относительно опорных выборок в соседних блоках в той же самой картинке или временное предсказание относительно опорных выборок в других опорных картинках. Картинки могут упоминаться как кадры, и опорные картинки могут упоминаться как опорные кадры.

[0005] Пространственное или временное предсказание приводит к предсказывающему блоку для блока, который должен быть закодирован. Остаточные данные представляют пиксельные разности между первоначальным блоком, который должен быть закодирован, и предсказывающим блоком. Внешне кодированный блок закодирован согласно вектору движения, который указывает на блок опорных выборок, формирующих предсказывающий блок, и остаточным данным, указывающим разность между закодированным блоком и предсказывающим блоком. Внутренне кодированный блок закодирован согласно режиму внутреннего кодирования и остаточным данным. Для дальнейшего сжатия остаточные данные могут быть преобразованы из пиксельной области в область преобразования, приводя к остаточным коэффициентам преобразования, которые затем могут квантоваться. Квантованные коэффициенты преобразования, первоначально размещенные в двумерном массиве, могут сканироваться, чтобы сформировать одномерный вектор коэффициентов преобразования, и энтропийное кодирование может быть применено, чтобы достигнуть даже большей величины сжатия.

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

[0006] В целом настоящее раскрытие описывает способы, чтобы обеспечить улучшенную поддержку картинок точки произвольного доступа (RAP), включая картинки чистого произвольного доступа (CRA) и картинки с доступом с разорванной ссылкой (BLA), при кодировании видео. В некоторых случаях картинки RAP могут альтернативно упоминаться как внутренние картинки точки произвольного доступа (IRAP). В частности, настоящее раскрытие описывает способы для выбора параметров буфера закодированных картинок (CPB), использованных для определения CPB для устройства кодирования видео для картинок CRA или картинок BLA в потоке битов видео. Или набор по умолчанию или альтернативный набор параметров CPB могут быть использованы для определения CPB. Если используется набор по умолчанию, когда альтернативный набор должен был быть выбран, CPB может переполниться.

[0007] В одном примере раскрытие направлено на способ обработки видео данных, содержащий прием потока битов, представляющего множество картинок, включающее в себя одну или более картинок CRA или картинок BLA, и прием сообщения, указывающего, использовать ли альтернативный набор параметров CPB для по меньшей мере одной из картинок CRA или картинок BLA. Способ далее содержит установку переменной, определенной, чтобы указывать набор параметров CPB для этой одной из картинок CRA или картинок BLA на основании принятого сообщения, и выбор набора параметров CPB для этой одной из картинок CRA или картинок BLA на основании переменной для картинки.

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

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

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

[0011] Подробности одного или более примеров сформулированы в сопроводительных чертежах и описании ниже. Другие признаки, объекты, и преимущества будут очевидны из описания и чертежей, и из формулы изобретения.

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

[0012] ФИГ. 1 является блок-схемой, иллюстрирующей примерную систему кодирования и декодирования видео, которая может использовать способы, описанные в настоящем раскрытии.

[0013] ФИГ. 2 является блок-схемой, иллюстрирующей примерный кодер видео, который может реализовать способы, описанные в настоящем раскрытии.

[0014] ФИГ. 3 является блок-схемой, иллюстрирующей примерный декодер видео, который может реализовать способы, описанные в настоящем раскрытии.

[0015] ФИГ. 4 является блок-схемой, иллюстрирующей примерное устройство назначения, сконфигурированное, чтобы работать согласно гипотетическому опорному декодеру (HRD).

[0016] ФИГ. 5 является последовательностью операций, иллюстрирующей примерную операцию выбора набора параметров буфера закодированных картинок (CPB) на основании переменной, которая указывает набор параметров CPB для конкретной картинки точки произвольного доступа (RAP) в потоке битов.

[0017] ФИГ. 6 является последовательностью операций, иллюстрирующей примерную операцию установки типа единицы уровня абстракции сети (NAL) для конкретной картинки RAP на основании переменной, которая указывает набор параметров CPB для картинки.

[0018] ФИГ. 7 является последовательностью операций, иллюстрирующей примерную операцию выбора набора параметров CPB для конкретной картинки RAP на основании типа единицы NAL для картинки и переменной, которая указывает набор параметров CPB для картинки.

[0019] ФИГ. 8 является последовательностью операций, иллюстрирующей примерную операцию выбора набора параметров CPB на основании переменной, определенной, чтобы указывать тип единицы уровня абстракции сети (NAL) для конкретной картинки RAP в потоке битов.

[0020] ФИГ. 9 является блок-схемой, иллюстрирующей примерный набор устройств, которые являются частью сети.

ПОДРОБНОЕ ОПИСАНИЕ

[0021] Настоящее раскрытие описывает способы, чтобы оказать улучшенную поддержку картинок точки произвольного доступа (RAP), включая картинки чистого произвольного доступа (CRA) и картинки с доступом с разорванной ссылкой (BLA), при кодировании видео. В некоторых случаях картинки RAP могут альтернативно упоминаться как внутренние картинки точки произвольного доступа (IRAP). В частности, настоящее раскрытие описывает способы для выбора параметров буфера закодированных картинок (CPB), использованных для определения CPB для устройства кодирования видео для картинок CRA или картинок BLA в потоке битов видео. Гипотетический опорный декодер (HRD) полагается на параметры HRD, которые включают в себя информацию периода буферизации и информацию тактирования картинки. Информация периода буферизации определяет параметры CPB, а именно, начальные задержки удаления CPB и начальные смещения задержки удаления CPB. Или набор по умолчанию или альтернативный набор параметров CPB могут быть использованы для определения CPB на основании типа картинки, использованной для инициализации HRD. Если используется набор по умолчанию, когда альтернативный набор должен был быть выбран, CPB в устройстве кодирования видео, которое соответствует HRD, может переполниться.

[0022] Согласно способам, устройство кодирования видео принимает поток битов, представляющий множество картинок, включающее в себя одну или более картинок CRA или картинок BLA, и также принимает сообщение, указывающее, использовать ли альтернативный набор параметров CPB для каждой из картинок CRA или картинок BLA. Сообщение может быть принято от внешнего средства, такого как средство обработки, включенное в сервер потоковой передачи, промежуточный элемент сети, или другой объект сети.

[0023] Устройство кодирования видео устанавливает переменную, определенную, чтобы указывать набор параметров CPB для заданной одной из картинок CRA или картинок BLA на основании принятого сообщения. Устройство кодирования видео затем выбирает набор параметров CPB для заданной одной из картинок CRA или картинок BLA на основании переменной для картинки. Выбранный набор параметров CPB применяют к CPB, включенному в видео кодер или видео декодер, чтобы гарантировать, что CPB не будет переполняться во время кодирования видео. В некоторых случаях устройство кодирования видео может установить тип единицы уровня абстракции сети (NAL) для заданной одной из картинок CRA или картинок BLA. Устройство кодирования видео может установить тип единицы NAL для картинки как сигнализировано, или устройство кодирования видео может установить тип единицы NAL на основании переменной для картинки. Устройство кодирования видео может выбрать набор параметров CPB для заданной картинки на основании типа единицы NAL и переменной для этой картинки.

[0024] ФИГ. 1 является блок-схемой, иллюстрирующей примерную систему 10 кодирования и декодирования видео, которая может использовать способы, описанные в настоящем раскрытии. Как показано на фиг. 1, система 10 включает в себя исходное устройство 12, который обеспечивает закодированные видео данные, которые должны быть декодированы в более позднее время устройством 14 назначения. В частности, исходное устройство 12 выдает видео данные устройству 14 назначения с помощью считываемого компьютером носителя 16. Исходное устройство 12 и устройство 14 назначения могут содержать любое из широкого диапазона устройств, включающего в себя настольные компьютеры, портативные компьютеры (то есть, ноутбуки), планшетные компьютеры, телевизионные приставки, телефонные телефонные трубки, такие как так называемые «смарт» телефоны, так называемые «смарт» клавиатуры, телевизоры, камеры, устройства отображения, цифровые медиаплееры, пульты видео игр, устройство потоковой передачи видео, или подобное. В некоторых случаях исходное устройство 12 и устройство 14 назначения может быть оборудовано для беспроводной связи.

[0025] Устройство 14 назначения может принять закодированные видео данные, которые должны быть декодированы с помощью считываемого компьютером носителя 16. Считываемый компьютером носитель 16 может содержать любой тип носителя или устройства, способного к перемещению закодированных видео данных от исходного устройства 12 к устройству 14 назначения. В одном примере считываемый компьютером носитель 16 может содержать коммуникационный носитель, чтобы разрешить исходному устройству 12 передать закодированные видео данные непосредственно к устройству 14 назначения в реальном времени. Закодированные видео данные могут быть модулированными согласно стандарту связи, такому как протокол беспроводной связи, и переданы к устройству 14 назначения. Коммуникационный носитель может содержать любой беспроводной или проводной коммуникационный носитель, такой как радиочастотный (RF) спектр или одна или более физических линий передачи. Коммуникационный носитель может быть частью основанной на пакетной передаче сети, такой как локальная сеть, региональная сеть, или глобальная сеть, такая как Интернет. Коммуникационный носитель может включать в себя маршрутизаторы, коммутаторы, базовые станции, или любое другое оборудование, которое может быть полезным, чтобы облегчить связь от исходного устройства 12 к устройству 14 назначения.

[0026] В некоторых примерах закодированные данные могут быть выведены из интерфейса 22 вывода на устройство хранения. Аналогично, к закодированным данным может получить доступ из устройства хранения интерфейс ввода. Устройство хранения может включать в себя любой из множества распределенных или локально доступных запоминающих носителей данных, таких как накопитель на жестких дисках, диски Blu-ray, DVD, CD-ROM, флэш-память, энергозависимая или энергонезависимая память, или любые другие подходящие цифровые запоминающие носители для того, чтобы хранить закодированные видео данные. В другом примере устройство хранения может соответствовать файловому серверу или другому промежуточному устройству хранения, которое может сохранить закодированное видео, генерируемое исходным устройством 12. Устройство 14 назначения может получить доступ к сохраненным видео данным из устройства хранения с помощью потоковой передачи или загрузки. Файловый сервер может быть любым типом сервера, способного к тому, чтобы хранить закодированные видео данные и передавать эти закодированные видео данные к устройству 14 назначения. Файловые серверы примера включают в себя web-сервер (например, для вебсайта), сервер FTP, устройства подсоединенных к сети запоминающих устройств (NAS), или локальный дисковод. Устройство 14 назначения может получить доступ к закодированным видео данным через любое стандартное соединение данных, включая интернет-соединение. Это может включать в себя беспроводный канал (например, соединение Wi-Fi), проводное соединение (например, DSL, кабельный модем, и т.д.), или комбинацию обоих, которая является подходящей для того, чтобы получить доступ к закодированным видео данным, хранящимся на файловом сервере. Передача закодированных видео данных из устройства хранения может быть потоковой передачей, передачей загрузки, или их комбинацией.

[0027] Способы настоящего раскрытия не обязательно ограничены беспроводными приложениями или параметрами настройки. Способы могут быть применены к кодированию видео в поддержку любого из множества мультимедийных приложений, таких как эфирное телевидение, передачи кабельного телевидения, передачи спутникового телевидения, потоковой передачи видео через Интернет, такие как динамическая адаптивная потоковая передача по HTTP (DASH), цифровое видео, которое закодировано на запоминающем носителе данных, декодирование цифрового видео, сохраненного на запоминающем носителе данных, или других приложений. В некоторых примерах система 10 может конфигурироваться, чтобы поддерживать одностороннюю или двухстороннюю передачу видео, чтобы поддерживать приложения, такие как потоковая передача видео, воспроизведение видео, вещание видео, и/или видео телефония.

[0028] В примере на ФИГ. 1, исходное устройство 12 включает в себя видео источник 18, видео кодер 20, и интерфейс 22 вывода. Устройство 14 назначения включает в себя интерфейс 28 ввода, видео декодер 30, и устройство 32 отображения. В других примерах исходное устройство и устройство назначения могут включать в себя другие компоненты или компоновки. Например, исходное устройство 12 может принять видео данные из внешнего видео источника 18, такого как внешняя камера. Аналогично, устройство 14 назначения может осуществлять взаимодействие с внешним устройством отображения, вместо включения интегрированного устройства отображения.

[0029] Иллюстрированная система 10 на фиг. 1 является просто одним примером. Способы настоящего раскрытия могут быть выполнены любым цифровым устройством кодирования и/или декодирования видео. Хотя в целом способы выполнены видео устройством кодирования, способы могут также быть выполнены видео кодером/декодером, типично называемым "кодек". Кроме того, способы настоящего раскрытия могут также быть выполнены видео препроцессором. Исходное устройство 12 и устройство 14 назначения являются просто примерами таких устройств кодирования, в которых исходное устройство 12 генерирует закодированные видео данные для передачи к устройству 14 назначения. В некоторых примерах устройства 12, 14 могут работать по существу симметричным способе таким образом, что каждое из устройств 12, 14 включают в себя видео компоненты кодирования и декодирования. Следовательно, система 10 может поддерживать одностороннюю или двухстороннюю передачу видео между видео устройствами 12, 14, например, для потоковой передачи видео, воспроизведения видео, вещания видео, или видео телефонии.

[0030] Видео источник 18 из исходного устройства 12 может включать в себя устройство захвата видео, такое как видео камера, видео архив, содержащий ранее захваченное видео, и/или интерфейс подачи видео, чтобы принять видео от поставщика видео контента. В качестве еще одной альтернативы, видео источник 18 может генерировать основанные на компьютерной графике данные в качестве исходного видео или комбинацию живого видео, заархивированного видео, и машинно-генерируемого видео. В некоторых случаях, если видео источник 18 является видео камерой, исходное устройство 12 и устройство 14 назначения может сформировать так называемые камерофоны или видео телефоны. Как упомянуто выше, однако, способы, описанные в настоящем раскрытии, могут быть применимыми к кодированию видео вообще, и могут быть применены к беспроводным и/или проводным приложениям. В каждом случае захваченное, предварительно захваченное, или машинно-генерируемое видео может быть закодировано видео кодером 20. Закодированная видео информация может затем быть выведена интерфейсом 22 вывода на считываемый компьютером носитель 16.

[0031] Считываемый компьютером носитель 16 может включать в себя временный носитель, такой как беспроводное вещание или передача по проводной сети, или запоминающие носители (то есть, невременные запоминающие носители), такие как жесткий диск, флэш-накопитель, компакт-диск, цифровой видео диск, диск Blu-ray, или другой считываемый компьютером носитель. В некоторых примерах сетевой сервер (не показан) может принять закодированные видео данные от исходного устройства 12 и выдать закодированные видео данные устройству 14 назначения, например, через передачу по сети. Аналогично, вычислительное устройство фабрики по производству носителей, такой фабрики штамповки дисков, может принять закодированные видео данные от исходного устройства 12 и произвести диск, содержащий закодированные видео данные. Поэтому, считываемый компьютером носитель 16, как можно понимать, включает в себя один или более считываемых компьютером носителей различных форм, в различных примерах.

[0032] Интерфейс 28 ввода из устройства 14 назначения принимает информацию из считываемого компьютером носителя 16. Информация считываемого компьютером носителя 16 может включать в себя информацию синтаксиса, определенную видео кодером 20, которая также используется видео декодером 30, которая включает в себя элементы синтаксиса, которые описывают характеристики и/или обработку блоков и других закодированных блоков, например, GOPs. Устройство 32 отображения отображает декодированные видео данные пользователю, и может содержать любое из множества устройств отображения, таких как электронно-лучевая трубка (CRT), жидкокристаллический дисплей (LCD), плазменный дисплей, дисплей на органических светоизлучающих диодах (OLED), или другой тип устройства отображения.

[0033] Видео кодер 20 и видео декодер 30 могут работать согласно стандарту кодирования видео, такому как развивающийся стандарт высокоэффективного кодирования видео (HEVC), и могут соответствовать тестовой модели HEVC (HM). Альтернативно, видео кодер 20 и видео декодер 30 могут работать согласно другим составляющим собственность стандартам или стандартам промышленности, таким как Стандарт ITU-T H.264, альтернативно названный MPEG-4, Часть 10, Усовершенствованное видео кодирование (AVC), или расширения таких стандартов. Способы настоящего раскрытия, однако, не ограничены никаким конкретным стандартом кодирования. Другие примеры стандартов кодирования видео включают в себя MPEG-2 и ITU-T H.263. Хотя не показано на фиг. 1, в некоторых аспектах, видео кодер 20 и видео декодер 30 могут каждый интегрироваться с аудио кодером и декодером, и могут включать в себя соответствующие блоки MUX-DEMUX (мультиплексора-демультиплексора), или другое аппаратное обеспечение и программное обеспечение, чтобы обрабатывать кодирование и аудио и видео в общем потоке данных или отдельных потоках данных. Если применимо, блоки MUX-DEMUX могут соответствовать протоколу ITU H.223 мультиплексора, или другим протоколам, таким как протокол дейтаграмм пользователя (UDP).

[0034] Стандарт ITU-T H.264/MPEG-4 (AVC) был сформулирован Группой Экспертов по Кодированию видео ITU-T (VCEG) вместе с ISO/IEC Группой экспертов по движущимся изображениям (MPEG) как продукт коллективного товарищества, известного как Объединенная Видео Команда (JVT). В некоторых аспектах, способы, описанные в настоящем раскрытии, могут быть применены к устройствам, которые в целом соответствуют стандарту H.264. Стандарт H.264 описан в Рекомендации H.264 ITU-T, Усовершенствованное видео кодировании для общих аудиовизуальных услуг, Группой по изучению ITU-T, и датирован мартом 2005, который может быть упомянут здесь как стандарт H.264 или спецификация H.264, или стандарт H.264/AVC или спецификация. Объединенная Видео Команда (JVT) продолжает работать над расширениями к H.264/MPEG-4 AVC.

[0035] Видео кодер 20 и видео декодер 30 каждый может быть реализован как любая из множества подходящих схем кодера, таких как один или более микропроцессоров, цифровые сигнальные процессоры (DSPs), специализированные интегральные схемы (ASICs), программируемые пользователем вентильные матрицы (FPGAs), дискретная логика, программное обеспечение, аппаратное обеспечение, программно-аппаратные средства или любые их комбинации. Когда способы реализованы частично в программном обеспечении, устройство может сохранить инструкции для программного обеспечения в подходящем, невременном считываемом компьютером носителе и выполнить инструкции в аппаратном обеспечении, используя один или более процессоров, чтобы выполнить способы настоящего раскрытия. Каждый из видео кодера 20 и видео декодера 30 может быть включен в один или более кодеров или декодеров, любой из которых может интегрироваться как часть объединенного кодера/декодера (кодек) в соответствующем устройстве.

[0036] JCT-VC работает над развитием стандарта HEVC. Усилия по стандартизации HEVC основаны на развивающейся модели устройства кодирования видео, называемой тестовой моделью HEVC (HM). HM предполагает несколько дополнительных способностей устройств кодирования видео относительно существующих устройств согласно, например, ITU-T H.264/AVC. Например, тогда как H.264 обеспечивает девять режимов кодирования с внутренним предсказанием, HM может обеспечить целых тридцать три режима кодирования с внутренним предсказанием.

[0037] Вообще, рабочая модель HM описывает, что видео кадр или картинка могут быть разделены на последовательность блоков дерева или наибольших единиц кодирования (LCU), которые включают в себя выборки как яркость так и цветности. Данные синтаксиса в пределах потока битов могут определить размер для LCU, которая является наибольшей единицей кодирования в терминах количества пикселей. Вырезка включает в себя множество последовательных блоков дерева в порядке кодирования. Видео кадр или картинка могут быть разделены на одну или более вырезок. Каждый блок дерева может быть разделен на единицы кодирования (CUs) согласно квадродереву. Вообще, структура данных квадродерева включает в себя один узел в CU, с корневым узлом, соответствующим блоку дерева. Если CU разделена на четыре суб-единицы CU, узел, соответствующий CU, включает в себя четыре листовых узла, каждый из которых соответствует одной из суб-единиц CU.

[0038] Каждый узел структуры данных квадродерева может обеспечить данные синтаксиса для соответствующей CU. Например, узел в квадродереве может включать в себя флаг разделения, указывая, разделена ли CU, соответствующий узлу, в суб-единицы CU. Элементы синтаксиса для CU могут быть определены рекурсивно, и могут зависеть от того, разделена ли CU в суб-единицы CU. Если CU не разделена далее, она называется как листовая CU. В настоящем раскрытии четыре суб-единицы CU листовой CU будут также упоминаться как листовые CU, даже если не будет никакого явного разделения первоначальной листовой CU. Например, если CU с размером 16x16 не будет разделена далее, то четыре 8x8 суб-единицы CU будут также упоминаться как листовые CU, хотя 16x16 CU никогда не разделялась.

[0039] CU имеют цель, подобную макроблоку стандарта H.264, за исключением того, что CU не имеет различия в размерах. Например, блок дерева может быть разделен на четыре дочерних узла (также называемый суб-единицы CU), и каждый дочерний узел может в свою очередь быть родительским узлом и быть разделен еще на четыре дочерних узла. Заключительный, неразделенный дочерний узел, называемый листовой узел квадродерева, содержит узел кодирования, также называемый листовой CU. Данные синтаксиса, ассоциированные с закодированным потоком битов, могут определить максимальное количество раз, сколько блок дерева может быть разделен, называемое максимальной глубиной CU, и может также определить минимальный размер узлов кодирования. Соответственно, поток битов может также определить наименьшую единицу кодирования (SCU). Настоящее раскрытие использует термин «блок», чтобы ссылаться на любую из CU, PU, или TU, в контексте HEVC, или подобные структуры данных в контексте других стандартов (например, макроблоки и его суб-блоки в H.264/AVC).

[0040] CU включает в себя узел кодирования и единицы предсказания (PUs), и единицы преобразования (TUs), ассоциированные с узлом кодирования. Размер CU соответствует размеру узла кодирования и должен быть квадратным по форме. Размер CU может ранжироваться от 8x8 пикселей до размера блока дерева с максимумом 64x64 пикселей или более. Каждая CU может содержать одну или более единиц PU и одну или более единиц TU. Данные синтаксиса, ассоциированные с CU, могут описывать, например, разделение CU в одну или более единиц PU. Режимы разделения могут отличаться между тем, является ли CU закодированной в режиме пропуска или прямом режиме, закодированной в режиме внутреннего предсказания или режиме внешнего предсказания. Единицы PU могут быть разделены, чтобы быть неквадратными по форме. Данные синтаксиса, ассоциированные с CU, могут также описывать, например, разделение CU в одну или более единиц TU согласно квадродереву. TU может быть квадратной или неквадратной (например, прямоугольной) по форме.

[0041] Стандарт HEVC обеспечивает преобразования согласно единицам TU, которые могут быть различными для различных единиц CU. Единицы TU типично имеют размеры на основании размера единиц PU в пределах заданной CU, определенного для разделенной LCU, хотя это может не всегда иметь место. Единицы TU типично имеют тот же размер или меньший, чем единицы PU. В некоторых примерах остаточные выборки, соответствующие CU, могут быть подразделены на меньшие блоки, используя структуру квадродерева, известную как "остаточное квадродерево" (RQT). Листовые узлы RQT могут упоминаться как единицы преобразования (TUs). Значения пиксельной разности, ассоциированные с единицами TU, могут быть преобразованы, чтобы сформировать коэффициенты преобразования, которые могут быть квантованы.

[0042] Листовая CU может включать в себя одну или более единиц предсказания (единиц PU). Вообще, PU представляет пространственную область, соответствующую всем или части соответствующей CU, и может включать в себя данные для того, чтобы извлечь опорную выборку для PU. Кроме того, PU включает в себя данные, относящиеся к предсказанию. Например, когда PU является закодированной во внутреннем режиме, данные для PU могут быть включены в остаточное квадродерево (RQT), которое может включать в себя данные, описывающие режим внутреннего предсказания для TU, соответствующей PU. В качестве другого примера, когда PU является закодированной во внешнем режиме, PU может включать в себя данные, определяющие один или более векторов движения для PU. Данные, определяющие вектор движения для PU, могут описывать, например, горизонтальный компонент вектора движения, вертикальный компонент вектора движения, разрешения для вектора движения (например, пиксельную точность в одну четверть или пиксельную точность в одну восьмую), опорную картинку, на которую вектор движения указывает, и/или список опорных картинок (например, Список 0, Список 1, или Список C) для вектора движения.

[0043] Листовая CU, имеющая одну или более единиц PU, может также включать в себя один или более единиц преобразования (TUs). Единицы преобразования могут быть определены, используя RQT (также называемой структурой квадродерева TU), как описано выше. Например, флаг разделения может указывать, разделена ли листовая CU на четыре единицы преобразования. Затем, каждая единица преобразования может быть разделена далее в дополнительные суб-единицы TU. Когда TU не разделена далее, она может упоминаться как листовая TU. Вообще, для внутреннего кодирования, все листовые единицы TU, принадлежащие листовой CU, совместно использую один и тот же режим внутреннего предсказания. Таким образом, один и тот же режим внутреннего предсказания в целом применяется, чтобы вычислить предсказанные значения для всех единиц TU листовой CU. Для внутреннего кодирования видео кодер может вычислить остаточное значение для каждой листовой TU, используя режим внутреннего предсказания, как разность между частью CU, соответствующей TU, и первоначальным блоком. TU не обязательно ограничена размером PU. Таким образом, Единицы TU могут быть больше или меньше, чем PU. Для внутреннего кодирования PU может быть совместно расположенной с соответствующей листовой TU для одной и той же CU. В некоторых примерах максимальный размер листовой TU может соответствовать размеру соответствующей листовой CU.

[0044] Кроме того, единицы TU листовых CU могут также быть ассоциированы с соответствующими структурами данных квадродерева, называемых остаточными квадродеревьями (RQTs). Таким образом, листовая CU может включать в себя квадродерево, указывающее, как листовая CU разделена на единицы TU. Корневой узел квадродерева TU вообще соответствует листовой CU, в то время как корневой узел квадродерева CU вообще соответствует блоку дерева (или LCU). Единицы TU в RQT, которые не разделены, упоминается как листовые TU. В целом настоящее раскрытие использует термины CU и TU, чтобы ссылаться на листовые CU и листовые TU, соответственно, если не отмечено иначе.

[0045] Видео последовательность типично включает в себя последовательность видео кадров или картинок. Группа картинок (GOP) обычно содержит последовательность из одной или более видео картинок. GOP может включать данные синтаксиса в заголовок GOP, заголовок одной или более картинок или в другое место, которое описывает множество картинок, включенные в GOP. Каждая вырезка картинки может включать в себя данные синтаксиса вырезки, которые описывают режим кодирования для соответствующей вырезки. Видео кодер 20 типично оперирует над блоками видео в пределах индивидуальных видео вырезок, чтобы закодировать видео данные. Блок видео может соответствовать узлу кодирования в пределах CU. Блоки видео могут иметь фиксированный или переменный размеры, и могут отличаться по размеру согласно указанному стандарту кодирования.

[0046] В качестве примера, HM поддерживает предсказание в PU различных размеров. Предполагая, что размер конкретной CU равен 2Nx2N, HM поддерживает внутреннее предсказание в размерах PU 2Nx2N или NxN, и внешнее предсказание в симметричных размерах PU 2Nx2N, 2NxN, Nx2N, или NxN. HM также поддерживает асимметричное разделение для внешнего предсказания в размерах PU 2NxnU, 2NxnD, nLx2N, и nRx2N. При асимметричном разделении одно направление CU не разделяется, в то время как другое направление разделяется на 25% и 75%. Часть CU, соответствующая 25%-ому разделению, обозначена «n», с последующей индикацией «верхний» «нижний», «левый, или «правый». Таким образом, например, «2NxnU» относится к 2Nx2N CU, которая разделена горизонтально с 2Nx0.5N PU сверху и 2Nx1.5N PU внизу.

[0047] В настоящем раскрытии «NxN» и «N на N» может использоваться взаимозаменяемо, чтобы ссылаться на пиксельные измерения блока видео в терминах вертикальных и горизонтальных измерений, например, 16x16 пикселей или 16 на 16 пикселей. Вообще, блок 16x16 имеет 16 пикселей в вертикальном направлении (y=16) и 16 пикселей в горизонтальном направлении (x=16). Аналогично, блок NxN обычно имеет N пикселей в вертикальном направлении и N пикселей в горизонтальном направлении, где N представляет неотрицательное целочисленное значение. Пиксели в блоке могут быть размещены в рядах и колонках. Кроме того, блоки не обязательно должны иметь то же самое количество пикселей в горизонтальном направлении как в вертикальном направлении. Например, блоки могут содержать NxM пикселей, где М не обязательно равно N.

[0048] После кодирования с внутренним предсказанием или внешним предсказанием, используя единицы PU в CU, видео кодер 20 может вычислить остаточные данные для единиц TU в CU. Единицы PU могут содержать данные синтаксиса, описывающие способ, или режим генерирования предсказывающих пиксельных данных в пространственной области (также называемой пиксельной областью), и единицы TU могут содержать коэффициенты в области преобразования после применения преобразования, такого как дискретное косинусное преобразование (DCT), целочисленное преобразование, вейвлет преобразование, или концептуально подобное преобразование остаточным видео данным. Остаточные данные могут соответствовать пиксельным разностям между пикселями незакодированной картинки и значениями предсказания, соответствующих единицам PU. Вид