Прогрессивное кодирование позиции последнего значимого коэффицента

Иллюстрации

Показать все

Изобретение относится к технологиям кодирования/декодирования видеоданных. Техническим результатом является повышение эффективности кодирования/декодирования видеоданных за счет использования последнего значимого коэффициента на основе схемы усеченного унарного кодирования, определяемой максимальной длиной в битах. Предложен способ кодирования видеоданных. Способ включает в себя этап, на котором получают значение, указывающее позицию последнего значимого коэффициента внутри видеоблока размера T. Далее согласно способу определяют первую двоичную строку для значения, указывающего позицию последнего значимого коэффициента, на основе схемы усеченного унарного кодирования, определяемой максимальной длиной в битах, определяемой посредством 2log2(Т)-1. А также определяют вторую двоичную строку для значения, указывающего позицию последнего значимого коэффициента. 8 н. и 48 з.п. ф-лы, 14 табл., 11 ил.

Реферат

По настоящей заявке на патент испрашивается приоритет:

предварительной заявки США № 61/557317, поданной 8 ноября 2011 г., и

предварительной заявки США № 61/561909, поданной 20 ноября 2011 г.,

каждая из которых полностью включена в этот документ по ссылке.

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

Это раскрытие относится к кодированию видео.

УРОВЕНЬ ТЕХНИКИ

Возможности цифрового видео могут быть включены в широкий диапазон устройств, включающих в себя цифровые телевизоры, системы прямого цифрового вещания, беспроводные вещательные системы, персональные цифровые секретари (PDA), портативные или настольные компьютеры, планшетные компьютеры, устройства для чтения электронных книг, цифровые камеры, цифровые записывающие устройства, цифровые медиаплееры, видеоигровые устройства, видеоигровые консоли, сотовые или спутниковые радиотелефоны, так называемые "смартфоны", устройства видеоконференцсвязи, устройства потокового видео и т.п. Цифровые видеоустройства реализуют способы сжатия видео, например, способы, описанные в стандартах, определяемых MPEG-2, MPEG-4, ITU-T H.263, ITU-T H.264/MPEG-4, Часть 10, Advanced Video Coding (AVC, усовершенствованное кодирование видео), в настоящее время разрабатываемом стандарте High Efficiency Video Coding (HEVC, высокоэффективное кодирование видео) и расширениях этих стандартов. С реализацией этих способов сжатия видео видеоустройства могут более эффективно передавать, принимать, кодировать, декодировать и/или сохранять цифровую видеоинформацию.

В способах сжатия видео выполняется пространственное (внутрикадровое) предсказание и/или временное (межкадровое) предсказание для уменьшения или удаления избыточности, свойственной видеопоследовательностям. Для блочного кодирования видео видеослайс (то есть видеокадр или часть видеокадра) может быть разделен на видеоблоки, которые также могут называться древовидными блоками (treeblock), единицами кодирования (CU) и/или узлами кодирования. Видеоблоки в слайсе с интракодированием (I-слайс) картинки кодируются с использованием пространственного предсказания относительно опорных отсчетов в соседних блоках в той же самой картинке. Видеоблоки в слайсах с интеркодированием (P-слайс или B-слайс) картинки могут использовать пространственное предсказание относительно опорных отсчетов в соседних блоках в той же картинке или временное предсказание относительно опорных отсчетов в других опорных картинках. Картинки могут называться кадрами, а опорные картинки могут называться опорными кадрами.

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

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

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

На Фиг. 2A-2D изображены иллюстративные порядки сканирования значений коэффициентов.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В этом раскрытии обеспечены способы сокращения длины строки битов, используемой для указания позиции последнего значимого коэффициента внутри блока коэффициентов преобразования. Упомянутая строка битов может быть, в частности, полезной для контекстно-адаптивного двоичного арифметического кодирования (context adaptive binary arithmetic coding, CABAC). В одном примере для указания позиции последнего значимого коэффициента может быть использована прогрессивная структура кодового слова с сокращенным количеством бинов (bin) и более короткими усеченными унарными кодами. Кроме того, в одном примере с сокращением максимальной длины усеченного унарного кода количество контекстных моделей CABAC для позиции последнего значимого коэффициента может также быть сокращено.

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

Фиг. 1 является структурной схемой, которая иллюстрирует пример системы 10 кодирования и декодирования видео, которая может использовать способы, описанные в этом раскрытии. Как представлено на Фиг. 1, система 10 включает в себя устройство-источник 12, которое генерирует закодированные видеоданные, которые впоследствии должны быть декодированы устройством-адресатом 14. Устройство-источник 12 и устройство-адресат 14 могут содержать любое из широкого диапазона устройств, включающих в себя настольные компьютеры, компьютеры-ноутбуки (то есть переносные компьютеры), планшетные компьютеры, телевизионные приставки, микротелефонные трубки, например, так называемые "смартфоны", так называемые "смартпады", телевизоры, камеры, устройства отображения, цифровые медиаплееры, видеоигровые консоли, устройство потокового видео и т.п. В некоторых случаях устройство-источник 12 и устройство-адресат 14 могут быть оснащены беспроводной связью.

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

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

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

В примере по Фиг. 1 устройство-источник 12 включает в себя видеоисточник 18, видеокодер 20 и выходной интерфейс 22. В некоторых случаях выходной интерфейс 22 может включать в себя модулятор/демодулятор (модем) и/или передатчик. В устройстве-источнике 12 видеоисточник 18 может включать в себя такой источник, как устройство видеозахвата, например, видеокамеру, видеоархив, содержащий ранее захваченное видео, интерфейс для внешнего видео для приема видео от провайдера видеоконтента и/или систему компьютерной графики для генерации данных компьютерной графики как исходного видео, или комбинацию таких источников. В качестве одного примера, если видеоисточник 18 является видеокамерой, то устройство-источник 12 и устройство-адресат 14 могут являться так называемыми камерофонами или видеотелефонами. Однако способы, описанные в этом раскрытии, могут быть применены к кодированию видео вообще и могут быть применены к беспроводным и/или проводным приложениям.

Захваченное, предварительно захваченное или генерируемое компьютером видео может быть закодировано посредством видеокодера 12. Закодированные видеоданные из устройства-источника 20 могут передаваться непосредственно в устройство-адресат 14 через выходной интерфейс 22. Закодированные видеоданные могут также (или в качестве альтернативы) быть сохранены на запоминающем устройстве 32 для последующей выборки устройством-адресатом 14 или другими устройствами для декодирования и/или воспроизведения.

Устройство-адресат 14 включает в себя входной интерфейс 28, видеодекодер 30 и устройство 32 отображения. В некоторых случаях входной интерфейс 28 может включать в себя приемник и/или модем. Входной интерфейс 28 устройства-адресата 14 принимает закодированные видеоданные по линии 16 связи. Закодированные видеоданные, передаваемые по линии 16 связи или обеспечиваемые на запоминающем устройстве 32, могут включать в себя множество синтаксических элементов, генерируемых видеокодером 20 для использования видеодекодером, например, видеодекодером 30, при декодировании видеоданных. Такие синтаксические элементы могут быть включены в закодированные видеоданные, передаваемые по среде связи, хранящиеся на накопителе информации или хранящиеся на файловом сервере.

Устройство 32 отображения может быть интегрировано с устройством-адресатом 14 или являться внешним по отношению к нему. В некоторых примерах устройство-адресат 14 может включать в себя интегрированное устройство отображения, а также быть выполнено с возможностью обеспечения интерфейса с внешним устройством отображения. В других примерах устройство-адресат 14 может являться устройством отображения. В общем, устройство 32 отображения выводит на экран декодированные видеоданные пользователю и может содержать любое из множества устройств отображения, например, жидкокристаллическое устройство отображения (LCD), плазменное устройство отображения, устройство отображения на основе органического светодиода (OLED) или другой тип устройства отображения.

Видеокодер 20 и видеодекодер 30 могут функционировать согласно стандарту сжатия видео, например, разрабатываемому в настоящее время стандарту высокоэффективного кодирования видео (HEVC), и могут отвечать Тестовой модели HEVC (HEVC Test Model) (HM). В качестве альтернативы, видеокодер 20 и видеодекодер 30 могут функционировать согласно другим частным или отраслевым стандартам, например, стандарту ITU-T H.264, в качестве альтернативы называемому MPEG-4, Часть 10, Усовершенствованному кодированию видео (Advanced Video Coding, AVC) или расширениям таких стандартов. Способы этого раскрытия, однако, не ограничиваются каким-либо конкретным стандартом кодирования. Другие примеры стандартов сжатия видео включают в себя MPEG-2 и ITU-T H.263.

Несмотря на то, что на Фиг. 1 не изображено, согласно некоторым аспектам каждый из видеокодера 20 и видеодекодера 30 может быть интегрирован с аудиокодером и аудиодекодером и может включать в себя надлежащие блоки MUX-DEMUX или другие аппаратные и программные средства, оперировать кодированием как аудио, так и видео в общем потоке данных или отдельных потоках данных. В соответствующих случаях, в некоторых примерах, блоки MUX-DEMUX могут отвечать протоколу мультиплексора ITU H.223 или другим протоколам, например, протоколу передачи дейтаграмм пользователя (UDP).

Каждый из видеокодера 20 и видеодекодера 30 может быть реализован как любая из множества подходящих схем кодера, например, один или несколько микропроцессоров, цифровые сигнальные процессоры (DSP), специализированные интегральные схемы (ASIC), программируемые пользователем вентильные матрицы (FPGA), дискретная логика, программные средства, аппаратные средства, программно-аппаратные средства или любые их комбинации. Для выполнения способов этого раскрытия, при частичной реализации этих способов в программных средствах, устройство может сохранять инструкции для этих программных средств на подходящем не промежуточном считываемом компьютером носителе и исполнять эти инструкции в аппаратных средствах с использованием одного или нескольких процессоров. Каждый из видеокодера 20 и видеодекодера 30 может быть включен в один или несколько кодеров или декодеров, любой из которых может быть интегрирован как часть объединенного кодера/декодера (КОДЕК) в соответствующее устройство.

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

В общем, рабочая модель HM описывает то, что видеокадр или картинка могут быть разделены на последовательность древовидных блоков или наибольших единиц кодирования (largest coding unit, LCU), которые включают в себя отсчеты как цветности, так и яркости. Назначение древовидного блока является аналогичным назначению макроблока в стандарте H.264. Слайс включает в себя несколько последовательных древовидных блоков в порядке кодирования. Видеокадр или картинка может быть разделена на один или несколько слайсов. Каждый древовидный блок может быть разделен на единицы кодирования (CU) согласно квадрадереву. Например, древовидный блок, как корневой узел квадрадерева, может быть разделен на четыре дочерних узла, и каждый дочерний узел в свою очередь может являться родительским узлом и быть разделен еще на четыре дочерних узла. Конечный, неразделенный дочерний узел, как листовой узел квадрадерева, содержит узел кодирования, то есть закодированный видеоблок. Синтаксические данные, ассоциированные с закодированным битовым потоком, могут определять максимально возможное число делений древовидного блока и могут также определять минимальный размер узлов кодирования.

CU включает в себя узел кодирования и единицы предсказания (PU) и единицы преобразования (TU), ассоциированные с упомянутым узлом кодирования. Размер CU соответствует размеру узла кодирования и должен иметь квадратную форму. Размер CU может измениться в пределах от 8Ч8 пикселов до размера древовидного блока с максимумом 64Ч64 пикселов или больше. Каждый CU может содержать один или несколько PU и один или несколько TU. Синтаксические данные, ассоциированные с CU, могут описывать, например, разделение CU на одну или несколько PU. Режимы разделения могут отличаться в зависимости от того, кодируется ли CU в прямом режиме или с пропуском, в режиме с интрапредсказанием или в режиме с интерпредсказанием. PU могут быть разделены на блоки неквадратной формы. Синтаксические данные, ассоциированные с CU, также могут описывать, например, разделение CU на одну или несколько TU в соответствии с квадрадеревом. TU может иметь квадратную или неквадратную форму.

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

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

В общем, TU используется для процессов квантования и преобразования. Данная CU, имеющая одну или несколько PU, также может включать в себя одну или несколько TU. После предсказания видеокодер 20 может вычислять остаточные значения, соответствующие PU. Остаточные значения содержат значения разности пикселов, которые могут преобразовываться в коэффициенты преобразования, квантоваться и сканироваться с использованием TU для создания преобразованных в последовательную форму коэффициентов преобразования для энтропийного кодирования. Термин "видеоблок" в этом раскрытии может относиться к узлу кодирования CU или блоку коэффициентов преобразования. Один или несколько блоков коэффициентов преобразования могут определять TU. В некоторых конкретных случаях в этом раскрытии термин "видеоблок" также может использоваться для ссылки на древовидный блок, то есть LCU или CU, которая включает в себя узел кодирования и блоки PU и TU.

Видеопоследовательность обычно включает в себя ряд видеокадров или картинок. Группа картинок (group of pictures, GOP) обычно содержит ряд из одного или нескольких видеокадров. GOP может включать в себя синтаксические данные в своем заголовке, заголовке одной или нескольких упомянутых картинок или в каком-либо другом месте, которые описывают несколько картинок, включенных в эту GOP. Каждый слайс картинки может включать в себя синтаксические данные слайса, которые описывают режим кодирования для соответствующего слайса. Видеокодер 20 обычно выполняет ряд операций над видеоблоками внутри отдельных видеослайсов для кодирования видеоданных. Видеоблок может включать в себя одну или несколько TU или PU, которые соответствуют узлу кодирования внутри CU. Видеоблки могут иметь фиксированные или переменные размеры и могут отличаться по размеру согласно заданному стандарту кодирования.

В качестве примера, HM поддерживает предсказание при различных размерах PU. С предположением того, что размер конкретной CU равен 2N×2N, HM поддерживает интрапредсказание при размерах PU 2N×2N или N×N и интерпредсказание при симметричных размерах PU 2N×2N, 2N×N, N×2N или N×N. HM также поддерживает асимметричное разделение для интерпредсказания при размерах PU 2N×nU, 2N×nD, nL×2N и nR×2N. При асимметричном разделении CU в одном направлении не делится, тогда как в другом направлении делится на 25% и 75%. Часть CU, соответствующая сегменту в 25%, обозначена "n", за которым следует обозначение "Up" ("Вверху"), "Down" ("Внизу"), "Left" ("Слева") или "Right" ("Справа"). Соответственно, например, "2N×nU" относится к CU 2N×2N, которая разделена по горизонтали с PU 2N×0,5N наверху и PU 2N×1,5N внизу.

В этом раскрытии "N×N" и "N на N" являются взаимозаменяемыми и относятся к размерам видеоблоков в пикселах в отношении размеров по вертикали и по горизонтали, например, 16×16 пикселов или 16 на 16 пикселов. В общем, блок 16×16 содержит 16 пикселов в вертикальном направлении (y=16) и 16 пикселов в горизонтальном направлении (x=16). Аналогично, блок N×N обычно содержит N пикселов в вертикальном направлении и N пикселов в горизонтальном направлении, где N представляет неотрицательное целочисленное значение. Пикселы в блоке могут быть организованы в строки и столбцы. Кроме того, блоки не обязательно должны иметь одинаковое количество пикселов в горизонтальном направлении и в вертикальном направлении. Например, блоки могут содержать N×M пикселов, где M не обязательно равно N.

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

После любых преобразований для создания коэффициентов преобразования видеокодер 20 может выполнять квантование этих коэффициентов преобразования. Квантование обычно относится к процессу, в котором коэффициенты преобразования квантуются с целью максимально возможного сокращения объема данных, используемых для представления коэффициентов, с обеспечением дополнительного сжатия. Процесс квантования может сокращать битовую глубину, ассоциированную с некоторыми или всеми коэффициентами. Например, во время квантования n-битовое значение может округляться в меньшую сторону до m-битового значения, где n больше, чем m.

В некоторых примерах видеокодер 20 может использовать предопределенный порядок сканирования для сканирования квантованных коэффициентов преобразования для создания преобразованного в последовательную форму вектора, который может быть закодирован с использованием энтропийного кодирования. В других примерах видеокодер 20 может выполнять адаптивное сканирование. На Фиг. 2A-2D изображены некоторые разные иллюстративные порядки сканирования. Также могут использоваться другие определенные порядки сканирования или адаптивные (изменяющиеся) порядки сканирования. На Фиг. 2A изображен зигзагообразный порядок сканирования, на Фиг. 2B изображен горизонтальный порядок сканирования, на Фиг. 2C изображен вертикальный порядок сканирования и на Фиг. 2D изображен диагональный порядок сканирования. Также могут быть определены и использоваться комбинации этих порядков сканирования. В некоторых примерах способы этого раскрытия могут конкретно применяться в процессе кодирования видео во время кодирования так называемой карты значимости.

Для указания позиции последнего значимого коэффициента (то есть ненулевого коэффициента), который может зависеть от порядка сканирования, ассоциированного с блоком коэффициентов, могут быть определены один или неск