Видеокодирование интра-режима

Иллюстрации

Показать все

Изобретение относится к вычислительной технике. Технический результат заключается в увеличении вычислительной эффективности устройства видеокодирования за счет уменьшения сложности процесса кодирования. Способ кодирования видеоданных, в котором определяют интра-режим для предсказания текущего блока видеоданных; определяют наиболее вероятные режимы (МРМ) для предсказания текущего блока видеоданных, при этом МРМ являются интра-режимами, связанными с соответствующими соседними блоками видеоданных, кодируемыми перед текущим блоком; генерируют список МРМ на основе позиции соответствующих соседних блоков видеоданных, связанных с МРМ; назначают индекс каждому из МРМ в списке без пересортировки МРМ в списке на основе индекса режима МРМ; и кодируют данные интра-режима текущего блока, в том числе, когда один из МРМ согласуется с интра-режимом для предсказания текущего блока, кодируют данные, которые представляют индекс согласующегося МРМ в списке, в кодируемом битовом потоке. 8 н. и 53 з.п. ф-лы, 10 ил., 1 табл.

Реферат

Эта заявка испрашивает приоритет предварительной заявки на патент США №61/556,029, поданной 4 ноября 2011 года, содержание которой включено в настоящий документ по ссылке во всей своей полноте.

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

Раскрытие имеет отношение к видеокодированию и, в частности, к способам и устройству для кодирования и декодирования видеоданных.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Фиг. 5 - концептуальная схема, иллюстрирующая предсказание интра-режима.

Фиг. 6 - другая концептуальная схема, иллюстрирующая предсказание интра-режима.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Видеокодер 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) или другое аппаратное и программное обеспечение для обработки кодирования как аудиоинформации, так и видеоинформации в общем потоке данных или отдельных потоках данных. В соответствующих случаях в некоторых примерах модули мультиплексора-демультиплексора могут соответствовать протоколу мультиплексора ITU H.223 или другим протоколам, таким как протокол пользовательских датаграмм (UDP).

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

Это раскрытие может в целом ссылаться на то, что видеокодер 20 "сигнализирует" некоторую информацию другому устройству, такому как видеодекодер 30. Однако следует понимать, что видеокодер 20 может сигнализировать информацию посредством, привязки некоторых синтаксических элементов к различным закодированным слайсам видеоданных. Таким образом, видеокодер 20 может "сигнализировать" данные посредством сохранения некоторых синтаксических элементов в заголовках различных закодированных слайсов видеоданных. В некоторых случаях такие синтаксические элементы могут быть закодированы и сохранены (например, сохранены на носителе 34 или файловом сервере 36) перед тем, как они будут приняты и декодированы видеодекодером 30. Таким образом, термин "сигнализация" может в целом относиться к передаче синтаксиса или других данных для декодирования сжатых видеоданных, происходит ли такая передача в (почти) реальном времени, или через промежуток времени, как может произойти, когда синтаксические элементы сохраняются на носителе во время кодирования, и затем они могут быть извлечены устройством декодирования в любое время после сохранения на носителе.

Совместная группа по видеокодированию (JCT-VC) работает над разработкой стандарта HEVC. Работы по стандартизации HEVC основаны на развивающейся модели устройства видеокодирования, называемой тестовой моделью HEVC (HM). Последний рабочий проект (WD) стандарта HEVC, называемый в дальнейшем HEVC WD7, доступен по адресу http://phenix.int-evry.fr/jct/doc_end_user/documents/9_Geneva/wgll/JCTVC-I1003-v5.zip, более свежая версия доступна по адресу http://phenix.int-evry.fr/jct/doc_end_user/documents/9_Geneva/wgll/JCTVC-I1003-v6.zip, оба документа тем самым включены по ссылке в настоящий документ во всей своей полноте. Модель HM предполагает несколько дополнительных возможностей устройств видеокодирования относительно существующих устройств в соответствии, например, со стандартом ITU-T H.264/AVC. Например, тогда как стандарт H.264 обеспечивает девять режимов кодирования с интра-предсказанием, модель HM может обеспечить целых тридцать три режима кодирования с интра-предсказанием.

В целом рабочая модель HM описывает, что видеокадр или изображение могут быть разделены на последовательность иерархических блоков или наибольших элементов кодирования (элементов 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. В некоторых конкретных случаях это раскрытие также может использовать термин "видеоблок", чтобы называть иерархический блок, например, LCU или CU, который включает в себя узел кодирования и PU и TU.

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

В качестве примера, модель НМ поддерживает предсказание с различными размерами PU. Предполагая, что размер конкретного CU составляет 2N×2N, модель НМ поддерживает интра-предсказание с размерами 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 пикселей, где М не обязательно равно N.

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

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

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