Кодирование параметра квантования (qp) при кодировании видео

Иллюстрации

Показать все

Изобретение относится к вычислительной технике. Технический результат заключается в возможности избежать потенциальных рассогласований кодера/декодера. Способ декодирования видеоданных, в котором принимают синтаксический элемент кодирования без потерь для текущего блока видеоданных, причем синтаксический элемент кодирования без потерь указывает, что текущий блок видеоданных кодирован с использованием режима кодирования без потерь, и причем синтаксический элемент кодирования без потерь является отдельным от значения параметра квантования (QP); определяют, что текущий блок видеоданных является текущим квантуемым блоком на основе размера текущего блока видеоданных; присваивают значение ноль дельта-параметра квантования (dQP) для текущего квантуемого блока, причем значение dQP представляет собой разницу между значением QP и значением предиктора QP; определяют значение QP для текущего квантуемого блока на основе присвоенного значения dQP и предиктора QP; и декодируют текущий квантуемый блок в соответствии с режимом кодирования без потерь и определенным значением QP. 8 н. и 12 з.п. ф-лы, 9 ил.

Реферат

[0001] Эта заявка испрашивает приоритет по:

патентной заявке США № 61/639,015, поданной 26 апреля, 2012; патентной заявке США № 61/643,821, поданной 7 мая, 2012; и патентной заявке США № 61/656,953, поданной 7 июня, 2012, все содержимое каждой из которых включено в настоящий документ посредством ссылки.

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

[0002] Это раскрытие относится к кодированию видео, и более конкретно к способам кодирования параметра квантования.

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

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

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

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

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

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

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

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

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

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

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

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

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

[0013] Фиг. 1 является блок-схемой, иллюстрирующей пример системы кодирования и декодирования видео.

[0014] Фиг. 2 является концептуальной схемой, иллюстрирующей пример группы квантования.

[0015] Фиг. 3 является концептуальной схемой, иллюстрирующей пример способа предсказания параметра квантования.

[0016] Фиг. 4 является концептуальной схемой, иллюстрирующей пример сигнализации дельта-параметра квантования, когда предиктор параметра квантования равен нулю.

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

[0018] Фиг. 6 является блок-схемой, иллюстрирующей пример видеокодера.

[0019] Фиг. 7 является блок-схемой, иллюстрирующей пример видеодекодера.

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

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

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

[0022] В общем, это раскрытие описывает способы кодирования видеоданных. В частности, это раскрытие описывает способы кодирования параметра квантования (QP) в процессе кодирования и/или декодирования видео.

[0023] В соответствии с некоторыми предложениями для стандарта HEVC, видеоблок может содержать наибольшую единицу кодирования (LCU), которая сама может быть подразделена на меньшие единицы кодирования (CU) согласно схеме разделения дерева квадрантов и возможно дополнительно разделена на единицы предсказания (PU) в целях оценки движения и компенсации движения. Это раскрытие описывает способы кодирования изменений (т.е. дельт) в параметре квантования (т.е. дельта-QP или dQP) для LCU, CU или группы квантования (или некоторого другого блока или группы блоков с достаточно большим размером, чтобы поддерживались изменения квантования). В этом случае, дельта-QP может задать изменение в QP для группы квантования относительно предсказанного значения QP для LCU. Например, предсказанным значением QP для LCU может просто быть QP предыдущей группы квантования (т.е. ранее кодированный в битовом потоке). В качестве альтернативы, предсказанное значение QP может быть определено на основе правил. Например, правила могут идентифицировать одно или более других значений QP других групп квантования, или среднее значение QP, которое должно быть использовано.

[0024] Текущие способы сигнализирования dQP в стандарте HEVC представляют определенные проблемы, когда используются совместно с сигнализацией и осуществлением анализа режимов кодирования без потерь. Как будет рассмотрено более подробно ниже, в определенных ситуациях, может возникнуть рассогласование кодера/декодера, особенно когда используется кодирование без потерь. В этой связи, это раскрытие представляет способы кодирования dQP и кодирования в режиме кодирования без потерь, чтобы избежать таких рассогласований кодера/декодера.

[0025] Фиг. 1 является блок-схемой, иллюстрирующей пример системы 10 кодирования и декодирования видео, которая может быть сконфигурирована с возможностью использования способов кодирования QP в соответствии с примерами этого раскрытия. Как показано на Фиг. 1, система 10 включает в себя устройство-источник 12, который передает кодированное видео на устройство-адресат 14 через канал 16 связи. Кодированные видеоданные могут также быть сохранены на носитель 34 информации или файл-сервер 36, и если потребуется к ним может быть осуществлен доступ устройством-адресатом 14. При сохранении на носитель 34 информации или файл-сервер 36, видеокодер 20 может предоставить кодированные видеоданные другому устройству, такому как сетевой интерфейс, компакт-диск (CD), устройство для записи Blu-ray или цифрового видеодиска (DVD), или штамповочное устройство, или другим устройствам, для сохранения видеоданных на носитель информации. Аналогично, устройство, отдельное от видеодекодера 30, такое как сетевой интерфейс, устройство считывания CD или DVD, или подобные, может извлечь кодированные видеоданные из носителя информации и предоставить извлеченные данные видеодекодеру 30.

[0026] Устройство-источник 12 и устройство-адресат 14 могут содержать любые из широкого диапазона устройств, включающих в себя настольные компьютеры, компьютеры типа ноутбук (т.е. переносные компьютеры), планшетные компьютеры, телеприставки, телефонные трубки, такие как так называемые "интеллектуальные" телефоны, телевизоры, камеры, устройства отображения, цифровые медиапроигрыватели, игровые видеоконсоли или подобные. Во многих случаях, такие устройства могут быть оборудованы для беспроводной связи. Поэтому, канал 16 связи может содержать беспроводной канал, проводной канал, или комбинацию беспроводного и проводного каналов, подходящую для передачи кодированных видеоданных. Аналогичным образом, к файл-серверу 36 может быть осуществлен доступ устройством-адресатом 14 посредством соединения передачи данных любого стандарта, включающего в себя Интернет-соединение. Оно может включать в себя беспроводной канал (например, соединение по Wi-Fi), проводное соединение (например, DSL, кабельный модем, и т.д.), или их комбинацию, которая подходит для осуществления доступа к кодированным видеоданным, хранящимся на файл-сервере.

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

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

[0029] Захваченное, предварительно захваченное, или сгенерированное компьютером видео может быть кодировано видеокодером 20. Кодированная видеоинформация может быть модулирована посредством модема 22 согласно стандарту связи, такому как протокол проводной или беспроводной связи, и передана на устройство-адресат 14 посредством передатчика 24. Модем 22 может включать в себя различные смесители, фильтры, усилители или другие компоненты, спроектированные для модуляции сигнала. Передатчик 24 может включать в себя схемы, спроектированные для передачи данных, включающие в себя усилители, фильтры, и, в случае беспроводной связи, одну или более антенн.

[0030] Захваченное, предварительно захваченное, или сгенерированное компьютером видео, которое кодировано видеокодером 20, может также быть сохранено на носитель 34 информации или файл-сервер 36 для дальнейшего использования. Носитель 34 информации может включать в себя диски Blu-ray, DVD, CD-ROM, флэш-память или любые другие подходящие цифровые носители данных для хранения кодированного видео. К кодированному видео, хранящемуся на носителе 34 информации, может быть затем осуществлен доступ посредством устройства-адресата 14 для декодирования и проигрывания. Хотя на Фиг. 1 не показано, в некоторых примерах, носитель 34 информации и/или файл-сервер 36 могут хранить выход передатчика 24.

[0031] Файл-сервер 36 может быть любым типом сервера, способным хранить кодированное видео и передавать это кодированное видео на устройство-адресат 14. Примерные файловые серверы включают в себя веб-серверы (например, для веб-сайта), FTP-серверы, устройства подключаемых к сети хранилищ (NAS), локальные дисковые накопители или любой другой тип устройства, способного хранить кодированные видеоданные и передавать их на устройство-адресат. Передача кодированных видеоданных из файл-сервера 36 может быть потоковой передачей, передачей на загрузку или их комбинацией. К файл-серверу 36 может быть осуществлен доступ устройством-адресатом 14 посредством соединения передачи данных любого стандарта, включающего в себя Интернет-соединение. Оно может включать в себя беспроводной канал (например, соединение по Wi-Fi), проводное соединение (например, DSL, кабельный модем, Ethernet, USB и т.д.), или их комбинацию, которая подходит для осуществления доступа к кодированным видеоданным, хранящимся на файл-сервере.

[0032] Устройство-адресат 14, в примере по Фиг. 1, включает в себя приемник 26, модем 28, видеодекодер 30 и устройство 32 отображения. Приемник 26 устройства-адресата 14 принимает информацию по каналу 16, и модем 28 демодулирует информацию, чтобы произвести демодулированный битовый поток для видеодекодера 30. Информация, пересылаемая по каналу 16, может включать в себя разнообразие синтаксической информации, сгенерированной видеокодером 20 для использования видеодекодером 30 при декодировании видеоданных. Такой синтаксис может также быть включен с кодированными видеоданными, хранящимися на носителе 34 информации или файл-сервере 36. Каждый из видеокодера 20 и видеодекодера 30 может образовать часть соответствующего кодера-декодера (кодека), который способен кодировать или декодировать видеоданные.

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

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

[0035] Видеодекодер 20 и видеодекодер 30 могут функционировать согласно стандарту сжатия видео, такому как стандарт Высокоэффективного кодирования видео (HEVC), в настоящий момент в разработке, посредством Объединенной команды по кодированию видео (JCT-VC) Экспертной группы по кодированию видео (VCEG) ITU-T и Экспертной группы по кинематографии (MPEG) ISO/IEC. Один черновой проект стандарта HEVC, названный "HEVC Working Draft 7" или "WD7", описан в документе JCTVC-I1003, Brass et al., "High efficiency video coding (HEVC) Text Specification Draft 7", Объединенной команды по кодированию видео (JCT-VC) ITU-T SGI6 WP3 и ISO/IEC JTC1/SC29/WG11, 9ая встреча: Женева, Швейцария, 27 апреля 2012 по 7 мая 2012, который, по состоянию на 25 апреля 2013, можно загрузить по адресу http://phenix.it-sudparis.cu/jct/doc_end_user/documents/9_Geneva/wg11/JCTVC-I1003-v3.zip, все содержимое которого включено в настоящий документ посредством ссылки.

[0036] Самый последний черновой проект стандарта HEVC, названный "HEVC Working Draft 10" или "WD10", описан в документе JCTVC-L1003v34, Brass et al., "High efficiency video coding (HEVC) text specification draft 10", Объединенной команды по кодированию видео (JCT-VC) ITU-T SGI6 WP3 и ISO/IEC JTC1/SC29/WG11, 12ая встреча: Женева, CH, 14-23 января 2013, который, по состоянию на 25 апреля 2013, можно загрузить по адресу http://phenix.int-evry.fr/jct/doc_end_user/documents/12 Geneva/wg11/JCTVC-L1003-v34.zip. Все содержимое HEVC WD10 настоящим включено в настоящий документ посредством ссылки.

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

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

[0039] Видеокодер 20 может реализовать любой или все из способов этого раскрытия для кодирования QP в процессе кодирования видео. Аналогично, видеодекодер 30 может реализовать любой или все из этих способов для кодирования QP в процессе кодирования видео. Видеокодер, который описан в этом раскрытии, может относиться к видеокодеру или видеодекодеру. Аналогичным образом, блок кодирования видео может относиться к видеокодеру или видеодекодеру. Аналогично, кодирование видео может относиться к кодированию видео или декодированию видео.

[0040] В одном примере настоящего раскрытия, как будет разъяснено более подробно ниже, видеокодер 20 может быть сконфигурирован с возможностью определения значения параметра квантования (QP) для текущего квантуемого блока, определения значения дельта-параметра квантования (dQP) для текущего квантуемого блока видеоданных на основе QP и предиктора QP, сигнализирования значения dQP, при этом значение dQP сигнализируется независимо от того, есть ли в текущем квантуемом блоке ненулевые коэффициенты преобразования или нет, и кодирования текущего квантуемого блока с использованием определенного значения QP.

[0041] В другом примере, видеокодер 20 может быть сконфигурирован с возможностью сигнализирования значения dQP для текущего квантуемого блока видеоданных только в случае, когда предиктор QP для текущего квантуемого блока имеет значение ноль, и предположения, что значение dQP должно быть равно нулю в случае, когда предиктор QP для текущего квантуемого блока имеет ненулевое значение, и в текущем квантуемом блоке нет ненулевых коэффициентов преобразования.

[0042] Аналогично, видеодекодер 30 может быть сконфигурирован с возможностью приема значения dQP для текущего квантуемого блока видеоданных, при этом значение dQP принимается независимо от того, есть ли в текущем квантуемом блоке ненулевые коэффициенты преобразования или нет, определения значения QP для текущего квантуемого блока на основе принятого значения dQP и предиктора QP, и декодирования текущего квантуемого блока с использованием определенного значения QP.

[0043] В другом примере, видеодекодер 30 может быть сконфигурирован с возможностью приема значения dQP для текущего квантуемого блока видеоданных только в случае, когда предиктор QP для текущего квантуемого блока имеет значение ноль, и предположения, что значение dQP должно быть равно нулю в случае, когда предиктор QP для текущего квантуемого блока имеет ненулевое значение, и в текущем квантуемом блоке нет ненулевых коэффициентов преобразования.

[0044] Цифровые видеоустройства реализуют способы сжатия видео для более эффективного кодирования и декодирования цифровой видеоинформации. Сжатие видео может применять способы пространственного (внутрикадрового) предсказания и/или временного (межкадрового) предсказания для уменьшения или удаления избыточности, свойственной видеопоследовательностям.

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

[0046] Для кодирования видео согласно стандарту HEVC, в текущий момент в разработке, видеокадр может разделен на единицы кодирования. Единица кодирования (CU) в общем относится к области изображения, которая служит в качестве базовой единицы, к которой различные инструменты кодирования применяются для сжатия видео. CU обычно имеет компонент яркости, обозначенный как Y, и два компонента цветности, обозначенных как U и V. В зависимости от формата сэмплирования видео, размер компонентов U и V, в том, что касается числа выборок, может быть таким же как размер компонента Y или отличным от него.

[0047] CU обычно квадратная и, может считаться, аналогичной так называемому макроблоку, например, используемому в других стандартах кодирования видео, таких как H.264 ITU-T. Кодирование согласно некоторым из предложенных в настоящий момент аспектам разработки стандарта HEVC будет описано в этой заявке в целях иллюстрации. Однако способы, описанные в этом раскрытии, могут быть полезны для других процессов кодирования видео, таких как процессы, заданные согласно H.264 или другому стандарту, или проприетарные процессы кодирования видео.

[0048] Согласно HM, CU может включать в себя одну или более единиц предсказания (PU) и/или одну или более единиц преобразования (TU). Синтаксические данные внутри битового потока могут задавать наибольшую единицу кодирования (LCU), которая является наибольшей CU, в том, что касается числа пикселей. В общем, CU имеет назначение, аналогичное макроблоку из H.264, кроме того, что CU не имеет различия по размеру. Таким образом, CU может быть разбита на под-CU. В общем, ссылки в этом раскрытии на CU могут ссылаться на наибольшую единицу кодирования изображения или под-CU из LCU. LCU может быть разбита на под-CU, и каждая под-CU может быть дополнительно разбита на под-CU. Синтаксические данные для битового потока могут задавать максимальное число раз, которое может быть разбита LCU, называемое глубиной CU. Соответственно, битовый поток может также задавать наименьшую единицу кодирования (SCU). Это раскрытие также использует термин "блок" или "участок" для ссылки на любую из CU, PU или TU. В общем, "участок" может относиться к любому поднабору видеокадра.

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

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

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

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

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

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

[0055] Чтобы кодировать блок (например, единицу предсказания видеоданных), сначала получают предиктор для блока. Предсказатель, также называемый предсказательным блоком, может быть получен либо посредством внутреннего (I) предсказания (т.е. пространственного предсказания) или внешнего (P или B) предсказания (т.е. временного предсказания). Поэтому, некоторые единицы предсказания могут быть кодированы посредством внутреннего кодирования (I) с использованием пространственного предсказания по отношению к опорным выборкам в соседних опорных блоках в одном и том же кадре (или слайсе), и другие единицы предсказания могут быть кодированы посредством внешнего кодирования с однонаправленным предсказанием (P) или кодированы посредством внешнего кодирования с двунаправленным предсказанием (B) по отношению к блокам опорных выборок в других ранее кодированных кадрах (или слайсах). В каждом случае, опорные выборки могут быть использованы для образования предсказательного блока для блока, который должен быть кодирован.

[0056] После идентификации предсказательного блока, определяется разность между пикселями в первоначальном блоке видеоданных и пикселями в его предсказательном блоке. Эта разность может называться остаточными данными предсказания и указывает разности пикселей между значениями пикселей в блоке, который должен быть кодирован, и значениями пикселей в предсказательном блоке, выбранном для представления кодированного блока. Для достижения лучшего сжатия, остаточные данные предсказания могут быть преобразованы, например, с использованием дискретного косинусного преобразования (DCT), целочисленного преобразования, преобразования Карунена-Лоэва (K-L) или другого преобразования, чтобы произвести коэффициенты преобразования.

[0057] Остаточные данные в блоке преобразования, таком как TU, могут быть размещены в двухмерном массиве (2D) массиве значений разности пикселей, находящихся в пространственной, пиксельной области.

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

[0058] Квантование может быть применено к коэффициентам преобразования, и в общем предусматривает процесс, который ограничивает число битов, ассоциированных с любым заданным коэффициентом преобразования. Более конкретно, квантование может быть применено согласно параметру квантования (QP). Вместо передачи самого QP, изменение (т.е. дельта) в QP может быть сигнализировано с LCU. Дельта-QP задает изменение в параметре квантования для LCU относительно предсказанного значения для QP для LCU, такого как QP ранее пересланной CU или QP, заданной предыдущими QP и/или одним или более правилами. Это раскрытие касается генерирования и сигнализации дельта-QP внутри кодированного битового потока, способом, который может улучшить качество (и возможно сжатие) в стандарте HEVC.

[0059] Для дополнительного сжатия, коэффициенты преобразования могут быть квантованы до энтропийного кодирования. Энтропийный кодер затем применяет энтропийное кодирование, такое как контекстно-адаптированное кодирование с переменной длиной кодового слова (CAVLC), контекстно-зависимое адаптивное двоичное арифметическое кодирование (CABAC), энтропийное кодирование с разбиением по вероятностному интервалу (PIPE) или подобное, к квантованным коэффициентам преобразования. В некоторых примерах, видеокодер 20 может использовать предварительно заданный порядок сканирования для сканирования квантованных коэффициентов преобразования, чтобы произвести последовательный вектор, который может быть энтропийно кодирован. В других примерах, видеокодер 20 может выполнять адаптивное сканирование. После сканирования квантованных коэффициентов преобразования для образования одномерного вектора, видеокодер 20 может энтропийно кодировать одномерный вектор, видеокодер 20 может также энтропийно кодировать синтаксические элементы, ассоциированные с кодированными видеоданными, для использования видеодекодером 30 при декодировании видеоданных.

[0060] Как рассмотрено выше, дельта-QP (также отмеченная как dQP) может быть сигнализирован в кодированном видеопотоке, чтобы кодировать QP для блока вид